![]() |
CMSIS-DSP
CMSIS DSP Software Library
|
Content | |
| Real FFT Tables | |
Functions | |
| void | arm_rfft_f32 (const arm_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst) |
| Processing function for the floating-point RFFT/RIFFT. Source buffer is modified by this function. More... | |
| void | arm_rfft_fast_f16 (const arm_rfft_fast_instance_f16 *S, float16_t *p, float16_t *pOut, uint8_t ifftFlag) |
| Processing function for the floating-point real FFT. More... | |
| void | arm_rfft_fast_f32 (const arm_rfft_fast_instance_f32 *S, float32_t *p, float32_t *pOut, uint8_t ifftFlag) |
| Processing function for the floating-point real FFT. More... | |
| void | arm_rfft_fast_f64 (arm_rfft_fast_instance_f64 *S, float64_t *p, float64_t *pOut, uint8_t ifftFlag) |
| Processing function for the Double Precision floating-point real FFT. More... | |
| arm_status | arm_rfft_fast_init_f16 (arm_rfft_fast_instance_f16 *S, uint16_t fftLen) |
| Initialization function for the floating-point real FFT. More... | |
| arm_status | arm_rfft_fast_init_f32 (arm_rfft_fast_instance_f32 *S, uint16_t fftLen) |
| Initialization function for the floating-point real FFT. More... | |
| arm_status | arm_rfft_fast_init_f64 (arm_rfft_fast_instance_f64 *S, uint16_t fftLen) |
| Initialization function for the Double Precision floating-point real FFT. More... | |
| 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. More... | |
| arm_status | arm_rfft_init_q15 (arm_rfft_instance_q15 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
| Initialization function for the Q15 RFFT/RIFFT. More... | |
| arm_status | arm_rfft_init_q31 (arm_rfft_instance_q31 *S, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) |
| Initialization function for the Q31 RFFT/RIFFT. More... | |
| void | arm_rfft_q15 (const arm_rfft_instance_q15 *S, q15_t *pSrc, q15_t *pDst) |
| Processing function for the Q15 RFFT/RIFFT. More... | |
| void | arm_rfft_q31 (const arm_rfft_instance_q31 *S, q31_t *pSrc, q31_t *pDst) |
| Processing function for the Q31 RFFT/RIFFT. More... | |
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 is the length of the real transform; fftLenBy2 length of the internal complex transform (fftLenReal/2). ifftFlagR Selects forward (=0) or inverse (=1) transform. bitReverseFlagR Selects bit reversed output (=0) or normal order output (=1). twidCoefRModifier stride modifier for the twiddle factor table. The value is based on the FFT length; pTwiddleARealpoints to the A array of twiddle coefficients; pTwiddleBRealpoints to the B array of twiddle coefficients; pCfft points to the CFFT Instance structure. The CFFT structure must also be initialized. | void arm_rfft_f32 | ( | const arm_rfft_instance_f32 * | S, |
| float32_t * | pSrc, | ||
| float32_t * | pDst | ||
| ) |
| [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 |
| void arm_rfft_fast_f16 | ( | const arm_rfft_fast_instance_f16 * | S, |
| float16_t * | p, | ||
| float16_t * | pOut, | ||
| uint8_t | ifftFlag | ||
| ) |
| [in] | S | points to an arm_rfft_fast_instance_f16 structure |
| [in] | p | points to input buffer (Source buffer is modified by this function.) |
| [in] | pOut | points to output buffer |
| [in] | ifftFlag |
|
| void arm_rfft_fast_f32 | ( | const arm_rfft_fast_instance_f32 * | S, |
| float32_t * | p, | ||
| float32_t * | pOut, | ||
| uint8_t | ifftFlag | ||
| ) |
| [in] | S | points to an arm_rfft_fast_instance_f32 structure |
| [in] | p | points to input buffer (Source buffer is modified by this function.) |
| [in] | pOut | points to output buffer |
| [in] | ifftFlag |
|
| void arm_rfft_fast_f64 | ( | arm_rfft_fast_instance_f64 * | S, |
| float64_t * | p, | ||
| float64_t * | pOut, | ||
| uint8_t | ifftFlag | ||
| ) |
| [in] | S | points to an arm_rfft_fast_instance_f64 structure |
| [in] | p | points to input buffer (Source buffer is modified by this function.) |
| [in] | pOut | points to output buffer |
| [in] | ifftFlag |
|
| arm_status arm_rfft_fast_init_f16 | ( | arm_rfft_fast_instance_f16 * | S, |
| uint16_t | fftLen | ||
| ) |
| [in,out] | S | points to an arm_rfft_fast_instance_f16 structure |
| [in] | fftLen | length of the Real Sequence |
fftLen is not a supported lengthfftLen specifies the length of RFFT/CIFFT process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096. | arm_status arm_rfft_fast_init_f32 | ( | arm_rfft_fast_instance_f32 * | S, |
| uint16_t | fftLen | ||
| ) |
| [in,out] | S | points to an arm_rfft_fast_instance_f32 structure |
| [in] | fftLen | length of the Real Sequence |
fftLen is not a supported lengthfftLen specifies the length of RFFT/CIFFT process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096. | arm_status arm_rfft_fast_init_f64 | ( | arm_rfft_fast_instance_f64 * | S, |
| uint16_t | fftLen | ||
| ) |
| [in,out] | S | points to an arm_rfft_fast_instance_f64 structure |
| [in] | fftLen | length of the Real Sequence |
fftLen is not a supported lengthfftLen specifies the length of RFFT/CIFFT process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096. | 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 | ||
| ) |
| [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 transform direction
|
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output
|
fftLenReal is not a supported lengthfftLenRealspecifies 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. | arm_status arm_rfft_init_q15 | ( | arm_rfft_instance_q15 * | S, |
| uint32_t | fftLenReal, | ||
| uint32_t | ifftFlagR, | ||
| uint32_t | bitReverseFlag | ||
| ) |
| [in,out] | S | points to an instance of the Q15 RFFT/RIFFT structure |
| [in] | fftLenReal | length of the FFT |
| [in] | ifftFlagR | flag that selects transform direction
|
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output
|
fftLenReal is not a supported lengthfftLenReal specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192. 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. | arm_status arm_rfft_init_q31 | ( | arm_rfft_instance_q31 * | S, |
| uint32_t | fftLenReal, | ||
| uint32_t | ifftFlagR, | ||
| uint32_t | bitReverseFlag | ||
| ) |
| [in,out] | S | points to an instance of the Q31 RFFT/RIFFT structure |
| [in] | fftLenReal | length of the FFT |
| [in] | ifftFlagR | flag that selects transform direction
|
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output
|
fftLenReal is not a supported lengthfftLenReal specifies length of RFFT/RIFFT Process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192. 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. | void arm_rfft_q15 | ( | const arm_rfft_instance_q15 * | S, |
| q15_t * | pSrc, | ||
| q15_t * | pDst | ||
| ) |
| [in] | S | points to an instance of the Q15 RFFT/RIFFT structure |
| [in] | pSrc | points to input buffer (Source buffer is modified by this function.) |
| [out] | pDst | points to output buffer |
| RFFT Size | Input Format | Output Format | Number of bits to upscale |
|---|---|---|---|
| 32 | 1.15 | 5.11 | 5 |
| 64 | 1.15 | 6.10 | 6 |
| 128 | 1.15 | 7.9 | 7 |
| 256 | 1.15 | 8.8 | 8 |
| 512 | 1.15 | 9.7 | 9 |
| 1024 | 1.15 | 10.6 | 10 |
| 2048 | 1.15 | 11.5 | 11 |
| 4096 | 1.15 | 12.4 | 12 |
| 8192 | 1.15 | 13.3 | 13 |
| RIFFT Size | Input Format | Output Format | Number of bits to upscale |
|---|---|---|---|
| 32 | 1.15 | 5.11 | 0 |
| 64 | 1.15 | 6.10 | 0 |
| 128 | 1.15 | 7.9 | 0 |
| 256 | 1.15 | 8.8 | 0 |
| 512 | 1.15 | 9.7 | 0 |
| 1024 | 1.15 | 10.6 | 0 |
| 2048 | 1.15 | 11.5 | 0 |
| 4096 | 1.15 | 12.4 | 0 |
| 8192 | 1.15 | 13.3 | 0 |
| void arm_rfft_q31 | ( | const arm_rfft_instance_q31 * | S, |
| q31_t * | pSrc, | ||
| q31_t * | pDst | ||
| ) |
| [in] | S | points to an instance of the Q31 RFFT/RIFFT structure |
| [in] | pSrc | points to input buffer (Source buffer is modified by this function) |
| [out] | pDst | points to output buffer |
| RFFT Size | Input Format | Output Format | Number of bits to upscale |
|---|---|---|---|
| 32 | 1.31 | 5.27 | 5 |
| 64 | 1.31 | 6.26 | 6 |
| 128 | 1.31 | 7.25 | 7 |
| 256 | 1.31 | 8.24 | 8 |
| 512 | 1.31 | 9.23 | 9 |
| 1024 | 1.31 | 10.22 | 10 |
| 2048 | 1.31 | 11.21 | 11 |
| 4096 | 1.31 | 12.20 | 12 |
| 8192 | 1.31 | 13.19 | 13 |
| RIFFT Size | Input Format | Output Format | Number of bits to upscale |
|---|---|---|---|
| 32 | 1.31 | 5.27 | 0 |
| 64 | 1.31 | 6.26 | 0 |
| 128 | 1.31 | 7.25 | 0 |
| 256 | 1.31 | 8.24 | 0 |
| 512 | 1.31 | 9.23 | 0 |
| 1024 | 1.31 | 10.22 | 0 |
| 2048 | 1.31 | 11.21 | 0 |
| 4096 | 1.31 | 12.20 | 0 |
| 8192 | 1.31 | 13.19 | 0 |