Functions | |
| arm_status | arm_rfft_init_f32 (arm_rfft_instance_f32 *S, arm_cfft_radix4_instance_f32 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
| void | arm_rfft_f32 (const arm_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst) |
| arm_status | arm_rfft_init_q31 (arm_rfft_instance_q31 *S, arm_cfft_radix4_instance_q31 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
| void | arm_rfft_q31 (const arm_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst) |
| arm_status | arm_rfft_init_q15 (arm_rfft_instance_q15 *S, arm_cfft_radix4_instance_q15 *S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
| void | arm_rfft_q15 (const arm_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst) |
Variables | |
| static const float32_t | realCoefA [2048] |
| static const float32_t | realCoefB [2048] |
| const q31_t | realCoefAQ31 [1024] |
| const q31_t | realCoefBQ31 [1024] |
| static const q15_t | realCoefAQ15 [2048] |
| static const q15_t | realCoefBQ15 [2048] |
Real Fast Fourier Transform:
Real Fast Fourier Transform
fftLenR samples through the transform. pSrc points to input array containing fftLenR values. pDst points to output array containing 2*fftLenR values. {real[0], real[1], real[2], real[3], ..} Output for real FFT is complex and are in the order of {real(0), imag(0), real(1), imag(1), ...}Real Inverse Fast Fourier Transform:
Real Inverse Fast Fourier Transform
2*fftLenR samples through the transform. pSrc points to input array containing 2*fftLenR values. pDst points to output array containing fftLenR values. {real(0), imag(0), real(1), imag(1), ...} Output for real IFFT is real and in the order of {real[0], real[1], real[2], real[3], ..}arm_rfft_instance_f32 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft}; arm_rfft_instance_q31 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft}; arm_rfft_instance_q15 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft};where
fftLenReal length of RFFT/RIFFT; fftLenBy2 length of CFFT/CIFFT. ifftFlagR Flag for selection of RFFT or RIFFT(Set ifftFlagR to calculate RIFFT otherwise calculates RFFT); bitReverseFlagR Flag for selection of output order(Set bitReverseFlagR to output in normal order otherwise output in bit reversed order); twidCoefRModifier modifier for twiddle factor table which supports 128, 512, 2048 RFFT lengths with same table; pTwiddleARealpoints to A array of twiddle coefficients; pTwiddleBRealpoints to B array of twiddle coefficients; pCfft points to the CFFT Instance structure. The CFFT structure also needs to be initialized, refer to arm_cfft_radix4_f32() for details regarding static initialization of cfft structure.| arm_status arm_rfft_init_f32 | ( | arm_rfft_instance_f32 * | S, |
| arm_cfft_radix4_instance_f32 * | S_CFFT, | ||
| uint32_t | fftLenReal, | ||
| uint32_t | ifftFlagR, | ||
| uint32_t | bitReverseFlag | ||
| ) |
Initialization function for the floating-point RFFT/RIFFT.
| [in,out] | *S | points to an instance of the floating-point RFFT/RIFFT structure. |
| [in,out] | *S_CFFT | points to an instance of the floating-point CFFT/CIFFT structure. |
| [in] | fftLenReal | length of the FFT. |
| [in] | ifftFlagR | flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. |
| [in] | bitReverseFlag | flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. |
fftLenReal is not a supported value.fftLenReal Specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 128, 512, 2048. ifftFlagR controls whether a forward or inverse transform is computed. Set(=1) ifftFlagR to calculate RIFFT, otherwise RFFT is calculated. bitReverseFlag controls whether output is in normal order or bit reversed order. Set(=1) bitReverseFlag for output to be in normal order otherwise output is in bit reversed order. Definition at line 1638 of file arm_rfft_init_f32.c.
| void arm_rfft_f32 | ( | const arm_rfft_instance_f32 * | S, |
| float32_t * | pSrc, | ||
| float32_t * | pDst | ||
| ) |
Processing function for the floating-point RFFT/RIFFT.
| [in] | *S | points to an instance of the floating-point RFFT/RIFFT structure. |
| [in] | *pSrc | points to the input buffer. |
| [out] | *pDst | points to the output buffer. |
Definition at line 150 of file arm_rfft_f32.c.
| arm_status arm_rfft_init_q31 | ( | arm_rfft_instance_q31 * | S, |
| arm_cfft_radix4_instance_q31 * | S_CFFT, | ||
| uint32_t | fftLenReal, | ||
| uint32_t | ifftFlagR, | ||
| uint32_t | bitReverseFlag | ||
| ) |
Initialization function for the Q31 RFFT/RIFFT.
| [in,out] | *S | points to an instance of the Q31 RFFT/RIFFT structure. |
| [in,out] | *S_CFFT | points to an instance of the Q31 CFFT/CIFFT structure. |
| [in] | fftLenReal | length of the FFT. |
| [in] | ifftFlagR | flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. |
| [in] | bitReverseFlag | flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. |
fftLenReal is not a supported value.fftLenReal Specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 128, 512, 2048. ifftFlagR controls whether a forward or inverse transform is computed. Set(=1) ifftFlagR to calculate RIFFT, otherwise RFFT is calculated. bitReverseFlag controls whether output is in normal order or bit reversed order. Set(=1) bitReverseFlag for output to be in normal order otherwise output is in bit reversed order. Definition at line 617 of file arm_rfft_init_q31.c.
| void arm_rfft_q31 | ( | const arm_rfft_instance_q31 * | S, |
| q31_t * | pSrc, | ||
| q31_t * | pDst | ||
| ) |
Processing function for the Q31 RFFT/RIFFT.
| [in] | *S | points to an instance of the Q31 RFFT/RIFFT structure. |
| [in] | *pSrc | points to the input buffer. |
| [out] | *pDst | points to the output buffer. |
Input and Output Formats for Q31 RFFT
Input and Output Formats for Q31 RIFFT
Definition at line 80 of file arm_rfft_q31.c.
| arm_status arm_rfft_init_q15 | ( | arm_rfft_instance_q15 * | S, |
| arm_cfft_radix4_instance_q15 * | S_CFFT, | ||
| uint32_t | fftLenReal, | ||
| uint32_t | ifftFlagR, | ||
| uint32_t | bitReverseFlag | ||
| ) |
Initialization function for the Q15 RFFT/RIFFT.
| [in,out] | *S | points to an instance of the Q15 RFFT/RIFFT structure. |
| [in] | *S_CFFT | points to an instance of the Q15 CFFT/CIFFT structure. |
| [in] | fftLenReal | length of the FFT. |
| [in] | ifftFlagR | flag that selects forward (ifftFlagR=0) or inverse (ifftFlagR=1) transform. |
| [in] | bitReverseFlag | flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output. |
fftLenReal is not a supported value.fftLenReal Specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 128, 512, 2048. ifftFlagR controls whether a forward or inverse transform is computed. Set(=1) ifftFlagR to calculate RIFFT, otherwise RFFT is calculated. bitReverseFlag controls whether output is in normal order or bit reversed order. Set(=1) bitReverseFlag for output to be in normal order otherwise output is in bit reversed order. Definition at line 620 of file arm_rfft_init_q15.c.
| void arm_rfft_q15 | ( | const arm_rfft_instance_q15 * | S, |
| q15_t * | pSrc, | ||
| q15_t * | pDst | ||
| ) |
Processing function for the Q15 RFFT/RIFFT.
| [in] | *S | points to an instance of the Q15 RFFT/RIFFT structure. |
| [in] | *pSrc | points to the input buffer. |
| [out] | *pDst | points to the output buffer. |
Input and Output Formats for Q15 RFFT
Input and Output Formats for Q15 RIFFT
Definition at line 80 of file arm_rfft_q15.c.
for (i = 0; i < n; i++)
{
pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
} Definition at line 59 of file arm_rfft_init_f32.c.
for (i = 0; i < n; i++)
{
pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
} Definition at line 843 of file arm_rfft_init_f32.c.
| const q31_t realCoefAQ31[1024] |
for (i = 0; i < n; i++)
{
pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
} Definition at line 60 of file arm_rfft_init_q31.c.
| const q31_t realCoefBQ31[1024] |
for (i = 0; i < n; i++)
{
pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
} Definition at line 336 of file arm_rfft_init_q31.c.
const q15_t realCoefAQ15[2048] [static] |
for (i = 0; i < n; i++)
{
pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
} Definition at line 63 of file arm_rfft_init_q15.c.
const q15_t realCoefBQ15[2048] [static] |
for (i = 0; i < n; i++)
{
pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
} Definition at line 339 of file arm_rfft_init_q15.c.
1.7.2