电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

FFT最详细的源代码和解释

FFT最详细的源代码和解释_第1页
1/40
FFT最详细的源代码和解释_第2页
2/40
FFT最详细的源代码和解释_第3页
3/40
我自己的一些详细标注,有利于深入了解 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 ************///倒序 for ( i=0;i0 ) { b=b*2; i--; } /* b= 2^(L-1) */ for ( j=0;j<=b-1;j++ ) /* for (2) */ { p=1; i=7-L; while ( i>0 ) /* p=pow(2,7-L)*j; */ { p=p*2; i--; } p=p*j; for ( k=j;k<128;k=k+2*b ) /* for (3) */ { TR=dataR[k]; TI=dataI[k]; temp=dataR[k+b]; dataR[k]=dataR[k]+dataR[k+b]*cos_tab[p]+dataI[k+b]*sin_tab[p]; dataI[k]=dataI[k]-dataR[k+b]*sin_tab[p]+dataI[k+b]*cos_tab[p]; dataR[k+b]=TR-dataR[k+...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

FFT最详细的源代码和解释

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部