Function Descriptions
Example:
The following sample code obtains the scaled FFT magnitude.
#include "FPU.h"
#define CFFT_STAGES 7
#define CFFT_SIZE (1 << CFFT_STAGES)
/
*
CFFTin1Buff section to 4
*
FFT_SIZE in the linker file
*
/
#pragma DATA_SECTION(CFFTin1Buff,"CFFTdata1");
float CFFTin1Buff[CFFT_SIZE
*
2];
#pragma DATA_SECTION(CFFToutBuff,"CFFTdata3");
float CFFToutBuff[CFFT_SIZE
*
2];
#pragma DATA_SECTION(CFFTF32Coef,"CFFTdata4");
float CFFTF32Coef[CFFT_SIZE];
CFFT_F32_STRUCT cfft;
main()
{
cfft.InPtr = CFFTin1Buff; /
*
Input data buffer
*
/
cfft.OutPtr = CFFToutBuff; /
*
FFT output buffer
*
/
cfft.CoefPtr = CFFTF32Coef; /
*
Twiddle factor buffer
*
/
cfft.FFTSize = CFFT_SIZE; /
*
FFT length
*
/
cfft.Stages = CFFT_STAGES; /
*
FFT Stages
*
/
CFFT_f32_sincostable(&cfft); /
*
Initialize twiddle buffer
*
/
CFFT_f32(&cfft); /
*
Calculate output
*
/
}
Benchmark Information:
The CFFT_f32_sincostable function is written in C and not optimized.
Sep 10, 2012 24