基于DSP的FFT的实现 - 图文 下载本文

邵阳学院课程设计

for(i=0;i

x0=x1=x2=x3=x4=x5=x6=0;

x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01; x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;x7=(i/128)&0x01; xx=x0*128+x1*64+x2*32+x3*16+x4*8+x5*4+x6*2+x7; datai[xx]=datar[i]; }

for(i=0;i

datar[i]=datai[i];datai[i]=0; }

for(L=1;L<=8;L++) {

b=1;i=L-1;

while(i>0) {

b=b*2;i--; }

for(j=0;j<=b-1;j++) { p=1;i=8-L; while(i>0) { p=p*2;i--; } p=p*j; {

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];

20

for(k=j;k<256;k=k+2*b)

邵阳学院课程设计

}

datai[k]=datai[k]-datar[k+b]*sin_tab[p]+datai[k+b]*cos_tab[p]; datar[k+b]=TR-datar[k+b]*cos_tab[p]-datai[k+b]*sin_tab[p]; datai[k+b]=TI+temp*sin_tab[p]-datai[k+b]*cos_tab[p]; } } }

for(i=0;i

w[i]=sqrt(datar[i]*datar[i]+datai[i]*datai[i]); }

21