您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > CCS上FFT的实现
基二的FFT的实现FFT的算法过程2①单点时域分解,也就是倒位序过程③将多个点进行频域合成②单点时域计算单点频谱代码部分3#ifndef_ZX_FFT_H#define_ZX_FFT_H#include../Headers/Global.h#defineTYPE_FFT_Efloat#ifndefPI#definePI(3.14159265f)#endiftypedefCOMPLEXTYPE_FFT;externintfft(TYPE_FFT*x,intN);externintifft(TYPE_FFT*x,intN);#endif#includezx_fft.htypedefstruct{floatreal;floatimag;}COMPLEX;代码部分4intfft(TYPE_FFT*x,intN){inti,j,l,k,ip;staticintM=0;staticintle,le2;staticTYPE_FFT_EsR,sI,tR,tI,uR,uI;M=(int)(log(N)/log(2));l=N/2;j=l;for(i=1;i=N-2;i++){if(ij){tR=x[j].real;tI=x[j].imag;x[j].real=x[i].real;x[j].imag=x[i].imag;x[i].real=tR;x[i].imag=tI;}k=l;while(k=j){j=j-k;k=k/2;}j=j+k;}代码部分5for(l=1;l=M;l++){le=(int)pow(2,l);le2=(int)(le/2);uR=1;uI=0;sR=cos(PI/le2);sI=-sin(PI/le2);for(j=1;j=le2;j++){for(i=j-1;i=N-1;i+=le){ip=i+le2;tR=x[ip].real*uR-x[ip].imag*uI;tI=x[ip].real*uI+x[ip].imag*uR;x[ip].real=x[i].real-tR;x[ip].imag=x[i].imag-tI;x[i].real+=tR;x[i].imag+=tI;}tR=uR;uR=tR*sR-uI*sI;uI=tR*sI+uI*sR;}}return0;}仿真步骤6noerror设置input和output参数bulidprojectresumenoerror在while(1)前设置断点newccsprojectselectsimulatordebug选用的芯片是TMS320C6713,仿真平台为TI公司的CCS5.5.用Graph功能得出波形图7输入信号的时域波形表示图像FFT的采样点数为128,输入信号的实数域为正弦信号。8输出信号频域波形图像
本文标题:CCS上FFT的实现
链接地址:https://www.777doc.com/doc-5684443 .html