Function Descriptions
3.11 Real Fast Fourier Transform with ADC Input (Unaligned)
Description:
This module computes a 32-bit floating-point real FFT with 12-bit ADC input including input bit
reversing. This version of the function does not have any buffer alignment requirements. If you
can align the input buffer, then use the RFFT_adc_f32 function for improved performance.
Header File:
FPU.h
Declaration:
void RFFT_adc_f32u (RFFT_F32_STRUCT
*
)
Usage:
A pointer to the following structure is passed to the RFFT_adc_f32u function:
typedef struct {
Uint16
*
InBuf;
void
*
Tail;
} RFFT_ADC_F32_STRUCT;
typedef struct {
float32
*
InBuf;
float32
*
OutBuf;
float32
*
CosSinBuf;
float32
*
MagBuf;
float32
*
PhaseBuf;
Uint16 FFTSize;
Uint16 FFTStages;
} RFFT_F32_STRUCT;
Table 3.14 describes each element of the structure RFFT_ADC_F32_STRUCT and table
3.15 describes the elements of RFFT_F32_STRUCT, but note that its InBuf pointer is not used.
Alignment Requirements:
None
Notes:
1. If you can align the input buffer to a 2*FFTSize, then consider using the
RFFT_adc_f32 function. This version of the function has input buffer alignment
requirements, but it is more cycle efficient
2. All buffers and stack are placed in internal memory (zero-wait states in data space).
Sep 10, 2012 36