Function Descriptions
3.3 Complex Fast Fourier Transform Magnitude
Description:
This module computes the complex FFT magnitude. The output from CFFT_f32_mag matches
the magnitude output from the FFT found in common mathematics software and Code Com-
poser Studio FFT graphs.
If instead a normalized magnitude like that performed by the fixed-point TMS320C28x IQmath
FFT library is required, then the CFFT_f32s_mag function can be used. In fixed-point
algorithms scaling is performed to avoid overflowing data. Floating-point calculations do not
need this scaling to avoid overflow and therefore the CFFT_f32_mag function can be used
instead.
Header File:
FPU.h
Declaration:
void CFFT_f32_mag (CFFT_F32_STRUCT
*
)
Usage:
A pointer to the following structure is passed to the CFFT_f32_mag function.It is the same
structure described in the CFFT_f32 section:
typedef struct {
float32
*
InPtr;
float32
*
OutPtr;
float32
*
CoefPtr;
float32
*
CurrentInPtr;
float32
*
CurrentOutPtr;
Uint16 Stages;
Uint16 FFTSize;
} CFFT_F32_STRUCT;
Table 3.2 describes each element.
Alignment Requirements:
The Magnitude buffer requires no alignment but the input buffer to the complex FFT routine will
need alignment if using the CFFT_f32().
Notes:
1. All buffers and stack are placed in internal memory (zero-wait states in data space).
2. The magnitude calculation calls the sqrt function within the runtime-support library.
The magnitude function has not been optimized at this time.
3. The use of the sqrt function in the FPUfastRTS library will speed up this routine. The
example for the CFFT has an alternate build configuration(Debug_FASTRTS) where
the rts2800_fpu32_fast_supplement.lib is used in place of the standard runtime li-
brary rts2800_fpu32.lib.
Sep 10, 2012 17