Function Descriptions
3.12 Real Fast Fourier Transform Magnitude
Description:
This module computes the real FFT magnitude. The output from RFFT_f32_mag matches the
magnitude output from the FFT found in common mathematics software and Code Composer
Studio FFT graphs.
If instead a normalized magnitude like that performed by the fixed-point TMS320C28x IQmath
FFT library is required, then the RFFT_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 RFFT_f32_mag function can be used
instead.
Header File:
FPU.h
Declaration:
void RFFT_f32_mag (RFFT_F32_STRUCT
*
)
Usage:
A pointer to the following structure is passed to the RFFT_f32_mag function. It is the same
structure described in the RFFT_f32 section:
typedef struct {
float32
*
InBuf;
float32
*
OutBuf;
float32
*
CosSinBuf;
float32
*
MagBuf;
float32
*
PhaseBuf;
Uint16 FFTSize;
Uint16 FFTStages;
} RFFT_F32_STRUCT;
Table 3.11 describes each element.
Alignment Requirements:
None
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 38