我自己的一些详细标注,有利于深入了解 FFT,后面附加几位网友对 FFT 的理解及源代码,让广大朋友更迅速的掌握 FFT #include "DSP281x_Device
h" // DSP281x Headerfile Include File,添加所有头文件 #include "DSP281x_Examples
h" // DSP281x Examples Include File,条件编译而已 #include "f2812a
h" //一些变量的宏定义而已 #include"math
h" #define PI 3
1415926 //前变后常 #define SAMPLENUMBER 128 //#define SAMPLENUMBER 512 void InitForFFT(); void MakeWave(); //void FFT(float dataR[SAMPLENUMBER],float dataI[SAMPLENUMBER]); int INPUT[SAMPLENUMBER],DATA[SAMPLENUMBER]; float fWaveR[SAMPLENUMBER],fWaveI[SAMPLENUMBER],w[SAMPLENUMBER]; float sin_tab[SAMPLENUMBER],cos_tab[SAMPLENUMBER]; //逐级计算 FFT,一级一级递推 void FFT(float dataR[SAMPLENUMBER],float dataI[SAMPLENUMBER]) { int x0,x1,x2,x3,x4,x5,x6,xx; int i,j,k,b,p,L; float TR,TI,temp; /********** following code invert sequence ************///倒序