V4.0.1 of the ARM CMSIS DSP libraries. Note that arm_bitreversal2.s, arm_cfft_f32.c and arm_rfft_fast_f32.c had to be removed. arm_bitreversal2.s will not assemble with the online tools. So, the fast f32 FFT functions are not yet available. All the other FFT functions are available.
Dependents: MPU9150_Example fir_f32 fir_f32 MPU9150_nucleo_noni2cdev ... more
ComplexFFT
[Transform Functions]
Functions | |
void | arm_cfft_radix2_f32 (const arm_cfft_radix2_instance_f32 *S, float32_t *pSrc) |
Radix-2 CFFT/CIFFT. | |
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. | |
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. | |
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. | |
void | arm_cfft_radix2_q15 (const arm_cfft_radix2_instance_q15 *S, q15_t *pSrc) |
Processing function for the fixed-point CFFT/CIFFT. | |
void | arm_cfft_radix2_q31 (const arm_cfft_radix2_instance_q31 *S, q31_t *pSrc) |
Processing function for the fixed-point CFFT/CIFFT. | |
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. | |
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. | |
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. | |
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. | |
void | arm_cfft_radix4_q15 (const arm_cfft_radix4_instance_q15 *S, q15_t *pSrc) |
Processing function for the Q15 CFFT/CIFFT. | |
void | arm_cfft_radix4_q31 (const arm_cfft_radix4_instance_q31 *S, q31_t *pSrc) |
Processing function for the Q31 CFFT/CIFFT. |
Function Documentation
void arm_cfft_radix2_f32 | ( | const arm_cfft_radix2_instance_f32 * | S, |
float32_t * | pSrc | ||
) |
Radix-2 CFFT/CIFFT.
- Parameters:
-
[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.
- Returns:
- none.
Definition at line 82 of file arm_cfft_radix2_f32.c.
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.
- Parameters:
-
[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 forward (ifftFlag=0) or inverse (ifftFlag=1) transform. [in] bitReverseFlag flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output.
- Returns:
- The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if
fftLen
is not a supported value.
- Description:
- The parameter
ifftFlag
controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT is calculated
- The parameter
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.
- The parameter
fftLen
Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024.
- This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
Definition at line 76 of file arm_cfft_radix2_init_f32.c.
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.
- Parameters:
-
[in,out] *S points to an instance of the Q15 CFFT/CIFFT structure. [in] fftLen length of the FFT. [in] ifftFlag flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. [in] bitReverseFlag flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output.
- Returns:
- The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if
fftLen
is not a supported value.
- Description:
- The parameter
ifftFlag
controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT is calculated
- The parameter
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.
- The parameter
fftLen
Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024.
- This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
Definition at line 75 of file arm_cfft_radix2_init_q15.c.
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.
- Parameters:
-
[in,out] *S points to an instance of the Q31 CFFT/CIFFT structure. [in] fftLen length of the FFT. [in] ifftFlag flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. [in] bitReverseFlag flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output.
- Returns:
- The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if
fftLen
is not a supported value.
- Description:
- The parameter
ifftFlag
controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT is calculated
- The parameter
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.
- The parameter
fftLen
Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024.
- This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
Definition at line 77 of file arm_cfft_radix2_init_q31.c.
void arm_cfft_radix2_q15 | ( | const arm_cfft_radix2_instance_q15 * | S, |
q15_t * | pSrc | ||
) |
Processing function for the fixed-point CFFT/CIFFT.
- Parameters:
-
[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.
- Returns:
- none.
Definition at line 79 of file arm_cfft_radix2_q15.c.
void arm_cfft_radix2_q31 | ( | const arm_cfft_radix2_instance_q31 * | S, |
q31_t * | pSrc | ||
) |
Processing function for the fixed-point CFFT/CIFFT.
- Parameters:
-
[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.
- Returns:
- none.
Definition at line 79 of file arm_cfft_radix2_q31.c.
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.
- Parameters:
-
[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.
- Returns:
- none.
Definition at line 1181 of file arm_cfft_radix4_f32.c.
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.
- Parameters:
-
[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 forward (ifftFlag=0) or inverse (ifftFlag=1) transform. [in] bitReverseFlag flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output.
- Returns:
- The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if
fftLen
is not a supported value.
- Description:
- The parameter
ifftFlag
controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT is calculated
- The parameter
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.
- The parameter
fftLen
Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024.
- This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
Definition at line 77 of file arm_cfft_radix4_init_f32.c.
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.
- Parameters:
-
[in,out] *S points to an instance of the Q15 CFFT/CIFFT structure. [in] fftLen length of the FFT. [in] ifftFlag flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. [in] bitReverseFlag flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output.
- Returns:
- The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if
fftLen
is not a supported value.
- Description:
- The parameter
ifftFlag
controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT is calculated
- The parameter
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.
- The parameter
fftLen
Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024.
- This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
Definition at line 76 of file arm_cfft_radix4_init_q15.c.
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.
- Parameters:
-
[in,out] *S points to an instance of the Q31 CFFT/CIFFT structure. [in] fftLen length of the FFT. [in] ifftFlag flag that selects forward (ifftFlag=0) or inverse (ifftFlag=1) transform. [in] bitReverseFlag flag that enables (bitReverseFlag=1) or disables (bitReverseFlag=0) bit reversal of output.
- Returns:
- The function returns ARM_MATH_SUCCESS if initialization is successful or ARM_MATH_ARGUMENT_ERROR if
fftLen
is not a supported value.
- Description:
- The parameter
ifftFlag
controls whether a forward or inverse transform is computed. Set(=1) ifftFlag for calculation of CIFFT otherwise CFFT is calculated
- The parameter
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.
- The parameter
fftLen
Specifies length of CFFT/CIFFT process. Supported FFT Lengths are 16, 64, 256, 1024.
- This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
Definition at line 75 of file arm_cfft_radix4_init_q31.c.
void arm_cfft_radix4_q15 | ( | const arm_cfft_radix4_instance_q15 * | S, |
q15_t * | pSrc | ||
) |
Processing function for the Q15 CFFT/CIFFT.
- Parameters:
-
[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.
- Returns:
- none.
- Input and output formats:
- Internally input is downscaled by 2 for every stage to avoid saturations inside CFFT/CIFFT process. Hence the output format is different for different FFT sizes. The input and output formats for different FFT sizes and number of bits to upscale are mentioned in the tables below for CFFT and CIFFT:
Input and Output Formats for Q15 CFFT
Input and Output Formats for Q15 CIFFT
Definition at line 90 of file arm_cfft_radix4_q15.c.
void arm_cfft_radix4_q31 | ( | const arm_cfft_radix4_instance_q31 * | S, |
q31_t * | pSrc | ||
) |
Processing function for the Q31 CFFT/CIFFT.
- Parameters:
-
[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.
- Returns:
- none.
- Input and output formats:
- Internally input is downscaled by 2 for every stage to avoid saturations inside CFFT/CIFFT process. Hence the output format is different for different FFT sizes. The input and output formats for different FFT sizes and number of bits to upscale are mentioned in the tables below for CFFT and CIFFT:
Input and Output Formats for Q31 CFFT
Input and Output Formats for Q31 CIFFT
Definition at line 89 of file arm_cfft_radix4_q31.c.
Generated on Tue Jul 12 2022 19:48:46 by 1.7.2