基2FFT算法比较

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

脑与认知科学小班讨论6—基2FFT算法1.推导N=16点的基2--FFT表达式,并按时间抽取流程图。‘2.编写N点的基2--按时间抽取的FFT算法(fft_m.m),并与系统自带的FFT函数、采用dft直接算法比较,画出不同点数所需要的时间对比图(main.m)。要求用matlab语言编写,提交到课程中心。1.系统自带的fft函数clear,closeall,clcFs=8000;T=1/Fs;N=4096;t=(0:N-1)*T;y=1*sin(2*pi*500*t)+2*sin(2*pi*3000*t);Y=fft(y);plot(abs(Y));v*dt*cosx;2.基2—FFT算法functiony=fft_m(x)%disp([xr;xi]);disp('\n')Np=length(x);Mp=ceil(log2(Np));if(power(2,Mp))Npx=[xzeros(1,(2^Mp-Np))];%error('ÐòÁÐxµÄ³¤¶ÈÓ¦¸ÃÊÇ2µÄÕûÊý´ÎÃÝ');endN=length(x);M=log2(N);xr=real(x);xi=imag(x);%Np=N/2+1;%calculaterotatefactorfori=1:Nprcf(i)=cos((i-1)*2*pi/Np);icf(i)=sin((i-1)*2*pi/Np);end%fororiginallocationcalculation%changeorder[xr,xi]=daoxu(xr,xi);%xi=daoxu(xi);%disp([xr;xi]);disp('\n')forL=1:MB=power(2,L-1);P1=power(2,M-L);k1=power(2,L);forJ=0:B-1P=J*P1;fork=J+1:k1:NrPartKB=xr(k+B)*rcf(P+1)+xi(k+B)*icf(P+1);iPartKB=xi(k+B)*rcf(P+1)-xr(k+B)*icf(P+1);xr(k+B)=xr(k)-rPartKB;xi(k+B)=xi(k)-iPartKB;xr(k)=xr(k)+rPartKB;xi(k)=xi(k)+iPartKB;end%fprintf('%10.5g',xr)end%ifL==2%disp([xr;xi]);disp('\n')%%endendy=xr+xi*j;y=y(1:Np);3.对模拟信号y(t)[=sin(2*pi*1000t)+sin(2*pi*3000t)+随机噪声,采样率16kHz]和数字信号z(t)[=11110011100101010,比特率为1kbps]进行频谱分析。clear,closeall,clcFs=16000;T=1/Fs;N=4096;t=(0:N-1)*T;y=1*sin(2*pi*500*t)+2*sin(2*pi*3000*t);Y=fft_m(y);Z=fft(y);figureplot(abs(Y));

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功