Functions

Complex FFT Magnitude Functions
[Transform Functions]

Functions

void arm_cfft_mag_f32 (const arm_cfft_radix4_instance_f32 *S, float32_t *pSrc)
void arm_cfft_mag_q15 (const arm_cfft_radix4_instance_q15 *S, q15_t *pSrc)
void arm_cfft_mag_q31 (const arm_cfft_radix4_instance_q31 *S, q31_t *pSrc)

Detailed Description

Caluclates the Magnitude of Complex Fast Fourier Transform(CFFT) output.
This set of functions implements CFFT + Magnitude for Q15, Q31, and floating-point data types.
The functions operate on block of input and output data and each call to the function processes 2*fftLen samples through the transform. pSrc points to In-place arrays containing 2*fftLen values.
The pdst points to the array of buffer of size fftLen.
 {real[0], real[1],..} 
Lengths supported by the transform:
Internally, the function utilize a radix-4 decimation in frequency(DIF) algorithm and the size of the FFT supported are of the lengths [16, 64, 256, 1024].
Refer to the function arm_cfft_radix4_f32() for a detailed description CFFT F32.
Fixed-Point Behavior
Care must be taken when using the fixed-point versions of the CFFT/CIFFT function. Refer to the function specific documentation below for usage guidelines.

Function Documentation

void arm_cfft_mag_f32 ( const arm_cfft_radix4_instance_f32 S,
float32_t *  pSrc 
)

Processing function for the floating-point CFFT Magnitude.

Parameters:
[in]*Spoints to an instance of the floating-point CFFT/CIFFT structure.
[in,out]*pSrcpoints to the complex data buffer of size 2*fftLen. Processing occurs in-place.
Returns:
none.

Definition at line 77 of file arm_cfft_mag_f32.c.

void arm_cfft_mag_q15 ( const arm_cfft_radix4_instance_q15 S,
q15_t *  pSrc 
)

Processing function for the Q15 CFFT Magnitude.

Parameters:
[in]*Spoints to an instance of the Q15 CFFT structure.
[in,out]*pSrcpoints 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_MAG 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:
CFFTQ15.gif

Input and Output Formats for Q15 CFFT Magnitude

Refer to the function arm_cfft_radix4_q15() for a detailed description of CFFT Q15.

Definition at line 58 of file arm_cfft_mag_q15.c.

void arm_cfft_mag_q31 ( const arm_cfft_radix4_instance_q31 S,
q31_t *  pSrc 
)

Processing function for the Q31 CFFT Magnitude.

Parameters:
[in]*Spoints to an instance of the Q31 CFFT structure.
[in,out]*pSrcpoints 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_MAG 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:
CFFTQ31.gif

Input and Output Formats for Q31 CFFT Magnitude

Refer to the function arm_cfft_radix4_q31() for a detailed description of CFFT Q31.

Definition at line 56 of file arm_cfft_mag_q31.c.

 All Data Structures Files Functions Variables Enumerations Enumerator Defines