|  | CMSIS-DSP
    Version 1.10.0
    CMSIS DSP Software Library | 
| Content | |
| Complex FFT Tables | |
| Functions | |
| void | arm_cfft_f16 (const arm_cfft_instance_f16 *S, float16_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Processing function for the floating-point complex FFT.  More... | |
| void | arm_cfft_f32 (const arm_cfft_instance_f32 *S, float32_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Processing function for the floating-point complex FFT.  More... | |
| void | arm_cfft_f64 (const arm_cfft_instance_f64 *S, float64_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Processing function for the Double Precision floating-point complex FFT.  More... | |
| arm_status | arm_cfft_init_f16 (arm_cfft_instance_f16 *S, uint16_t fftLen) | 
| Initialization function for the cfft f16 function.  More... | |
| arm_status | arm_cfft_init_f32 (arm_cfft_instance_f32 *S, uint16_t fftLen) | 
| Initialization function for the cfft f32 function.  More... | |
| arm_status | arm_cfft_init_f64 (arm_cfft_instance_f64 *S, uint16_t fftLen) | 
| Initialization function for the cfft f64 function.  More... | |
| arm_status | arm_cfft_init_q15 (arm_cfft_instance_q15 *S, uint16_t fftLen) | 
| Initialization function for the cfft q15 function.  More... | |
| arm_status | arm_cfft_init_q31 (arm_cfft_instance_q31 *S, uint16_t fftLen) | 
| Initialization function for the cfft q31 function.  More... | |
| void | arm_cfft_q15 (const arm_cfft_instance_q15 *S, q15_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Processing function for Q15 complex FFT.  More... | |
| void | arm_cfft_q31 (const arm_cfft_instance_q31 *S, q31_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Processing function for the Q31 complex FFT.  More... | |
| void | arm_cfft_radix2_f16 (const arm_cfft_radix2_instance_f16 *S, float16_t *pSrc) | 
| Radix-2 CFFT/CIFFT.  More... | |
| void | arm_cfft_radix2_f32 (const arm_cfft_radix2_instance_f32 *S, float32_t *pSrc) | 
| Radix-2 CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix2_init_f16 (arm_cfft_radix2_instance_f16 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the floating-point CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix2_init_f32 (arm_cfft_radix2_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the floating-point CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix2_init_q15 (arm_cfft_radix2_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the Q15 CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix2_init_q31 (arm_cfft_radix2_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the Q31 CFFT/CIFFT.  More... | |
| void | arm_cfft_radix2_q15 (const arm_cfft_radix2_instance_q15 *S, q15_t *pSrc) | 
| Processing function for the fixed-point CFFT/CIFFT.  More... | |
| void | arm_cfft_radix2_q31 (const arm_cfft_radix2_instance_q31 *S, q31_t *pSrc) | 
| Processing function for the fixed-point CFFT/CIFFT.  More... | |
| void | arm_cfft_radix4by2_f16 (float16_t *pSrc, uint32_t fftLen, const float16_t *pCoef) | 
| void | arm_cfft_radix4_f16 (const arm_cfft_radix4_instance_f16 *S, float16_t *pSrc) | 
| Processing function for the floating-point Radix-4 CFFT/CIFFT.  More... | |
| void | arm_cfft_radix4_f32 (const arm_cfft_radix4_instance_f32 *S, float32_t *pSrc) | 
| Processing function for the floating-point Radix-4 CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix4_init_f16 (arm_cfft_radix4_instance_f16 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the floating-point CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix4_init_f32 (arm_cfft_radix4_instance_f32 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the floating-point CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix4_init_q15 (arm_cfft_radix4_instance_q15 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the Q15 CFFT/CIFFT.  More... | |
| arm_status | arm_cfft_radix4_init_q31 (arm_cfft_radix4_instance_q31 *S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) | 
| Initialization function for the Q31 CFFT/CIFFT.  More... | |
| void | arm_cfft_radix4_q15 (const arm_cfft_radix4_instance_q15 *S, q15_t *pSrc) | 
| Processing function for the Q15 CFFT/CIFFT.  More... | |
| void | arm_cfft_radix4_q31 (const arm_cfft_radix4_instance_q31 *S, q31_t *pSrc) | 
| Processing function for the Q31 CFFT/CIFFT.  More... | |
2*fftLen interleaved values as shown below. {real[0], imag[0], real[1], imag[1], ...}  The FFT result will be contained in the same array and the frequency domain values will have the same interleaving.fftLen when computing the forward transform. The inverse transform includes a scale of 1/fftLen as part of the calculation and this matches the textbook definition of the inverse FFT. arm_const_structs.h. Include this header in your function and then pass one of the constant structures as an argument to arm_cfft_f32. For example: arm_cfft_f32(arm_cfft_sR_f32_len64, pSrc, 1, 1) fftLen when computing the forward transform. The inverse transform includes a scale of 1/fftLen as part of the calculation and this matches the textbook definition of the inverse FFT. arm_const_structs.h. Include this header in your function and then pass one of the constant structures as an argument to arm_cfft_q31. For example: arm_cfft_q31(arm_cfft_sR_q31_len64, pSrc, 1, 1) | void arm_cfft_f16 | ( | const arm_cfft_instance_f16 * | S, | 
| float16_t * | p1, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in] | S | points to an instance of the floating-point CFFT structure | 
| [in,out] | p1 | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
| void arm_cfft_f32 | ( | const arm_cfft_instance_f32 * | S, | 
| float32_t * | p1, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in] | S | points to an instance of the floating-point CFFT structure | 
| [in,out] | p1 | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
| void arm_cfft_f64 | ( | const arm_cfft_instance_f64 * | S, | 
| float64_t * | p1, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in] | S | points to an instance of the Double Precision floating-point CFFT structure | 
| [in,out] | p1 | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
| arm_status arm_cfft_init_f16 | ( | arm_cfft_instance_f16 * | S, | 
| uint16_t | fftLen | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT structure | 
| [in] | fftLen | fft length (number of complex samples) | 
| arm_status arm_cfft_init_f32 | ( | arm_cfft_instance_f32 * | S, | 
| uint16_t | fftLen | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT structure | 
| [in] | fftLen | fft length (number of complex samples) | 
| arm_status arm_cfft_init_f64 | ( | arm_cfft_instance_f64 * | S, | 
| uint16_t | fftLen | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT structure | 
| [in] | fftLen | fft length (number of complex samples) | 
| arm_status arm_cfft_init_q15 | ( | arm_cfft_instance_q15 * | S, | 
| uint16_t | fftLen | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT structure | 
| [in] | fftLen | fft length (number of complex samples) | 
| arm_status arm_cfft_init_q31 | ( | arm_cfft_instance_q31 * | S, | 
| uint16_t | fftLen | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT structure | 
| [in] | fftLen | fft length (number of complex samples) | 
| void arm_cfft_q15 | ( | const arm_cfft_instance_q15 * | S, | 
| q15_t * | p1, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in] | S | points to an instance of Q15 CFFT structure | 
| [in,out] | p1 | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
| void arm_cfft_q31 | ( | const arm_cfft_instance_q31 * | S, | 
| q31_t * | p1, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in] | S | points to an instance of the fixed-point CFFT structure | 
| [in,out] | p1 | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
| void arm_cfft_radix2_f16 | ( | const arm_cfft_radix2_instance_f16 * | S, | 
| float16_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the floating-point Radix-2 CFFT/CIFFT structure | 
| [in,out] | pSrc | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| void arm_cfft_radix2_f32 | ( | const arm_cfft_radix2_instance_f32 * | S, | 
| float32_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the floating-point Radix-2 CFFT/CIFFT structure | 
| [in,out] | pSrc | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| arm_status arm_cfft_radix2_init_f16 | ( | arm_cfft_radix2_instance_f16 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT/CIFFT structure | 
| [in] | fftLen | length of the FFT | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | arm_status arm_cfft_radix2_init_f32 | ( | arm_cfft_radix2_instance_f32 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT/CIFFT structure | 
| [in] | fftLen | length of the FFT | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | arm_status arm_cfft_radix2_init_q15 | ( | arm_cfft_radix2_instance_q15 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the Q15 CFFT/CIFFT structure. | 
| [in] | fftLen | length of the FFT. | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | arm_status arm_cfft_radix2_init_q31 | ( | arm_cfft_radix2_instance_q31 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the Q31 CFFT/CIFFT structure | 
| [in] | fftLen | length of the FFT | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | void arm_cfft_radix2_q15 | ( | const arm_cfft_radix2_instance_q15 * | S, | 
| q15_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the fixed-point CFFT/CIFFT structure | 
| [in,out] | pSrc | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| void arm_cfft_radix2_q31 | ( | const arm_cfft_radix2_instance_q31 * | S, | 
| q31_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the fixed-point CFFT/CIFFT structure | 
| [in,out] | pSrc | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| void arm_cfft_radix4_f16 | ( | const arm_cfft_radix4_instance_f16 * | S, | 
| float16_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the floating-point Radix-4 CFFT/CIFFT structure | 
| [in,out] | pSrc | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| void arm_cfft_radix4_f32 | ( | const arm_cfft_radix4_instance_f32 * | S, | 
| float32_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the floating-point Radix-4 CFFT/CIFFT structure | 
| [in,out] | pSrc | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
| arm_status arm_cfft_radix4_init_f16 | ( | arm_cfft_radix4_instance_f16 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT/CIFFT structure | 
| [in] | fftLen | length of the FFT | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | arm_status arm_cfft_radix4_init_f32 | ( | arm_cfft_radix4_instance_f32 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the floating-point CFFT/CIFFT structure | 
| [in] | fftLen | length of the FFT | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | arm_status arm_cfft_radix4_init_q15 | ( | arm_cfft_radix4_instance_q15 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the Q15 CFFT/CIFFT structure | 
| [in] | fftLen | length of the FFT | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | arm_status arm_cfft_radix4_init_q31 | ( | arm_cfft_radix4_instance_q31 * | S, | 
| uint16_t | fftLen, | ||
| uint8_t | ifftFlag, | ||
| uint8_t | bitReverseFlag | ||
| ) | 
| [in,out] | S | points to an instance of the Q31 CFFT/CIFFT structure. | 
| [in] | fftLen | length of the FFT. | 
| [in] | ifftFlag | flag that selects transform direction 
 | 
| [in] | bitReverseFlag | flag that enables / disables bit reversal of output 
 | 
fftLen is not a supported lengthifftFlag controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT 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. fftLen Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024. | void arm_cfft_radix4_q15 | ( | const arm_cfft_radix4_instance_q15 * | S, | 
| q15_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the Q15 CFFT/CIFFT structure. | 
| [in,out] | pSrc | points to the complex data buffer. Processing occurs in-place. | 
 
 
| void arm_cfft_radix4_q31 | ( | const arm_cfft_radix4_instance_q31 * | S, | 
| q31_t * | pSrc | ||
| ) | 
| [in] | S | points to an instance of the Q31 CFFT/CIFFT structure | 
| [in,out] | pSrc | points to the complex data buffer of size 2*fftLen. Processing occurs in-place | 
 
 
| void arm_cfft_radix4by2_f16 | ( | float16_t * | pSrc, | 
| uint32_t | fftLen, | ||
| const float16_t * | pCoef | ||
| ) |