7128点 :3.09864ms使用方法指导:1,需要两个文件,fft_fp.c和fft_fp.h2,根据需求修改fft_fp.h中的采样点数FFT_N,采样点数以宏定义的方式定义3,外部声明两个全局变量,已经在fft_fp.c中定义 extern struct compx s[FFT_N]; //FFT输入和输出:从S[0]开始存放,根据大小自己定义 extern float SIN_TAB[FFT_N/4+1]; //正弦信号表4,调用create_sin_tab(float *sin_t)函数将正弦信号数据表生成在内存中,比如这样调用create_sin_tab(SIN_TAB);5,采样数据,将ADC采样的数据按自然序列放在s的实部,虚部为06,调用FFT(struct compx *xin)函数开始计算,计算结果也存放在xin中,比如我们这样调用:FFT(s),结果存放在s中7,计算每个频点的模值,计算方法如下: for(i=1;i<FFT_N/2;i++){ //求变换后结果的模值,存入复数的实部部分 s[i].real=sqrt(s[i].real*s[i].real+s[i].imag*s[i].imag)/(i=0?FFT_N:(FFT_N/2)); }8,大功告成!
1