简单fft实验报告matlab

简单fft实验报告matlab

ID:20727109

大小:229.05 KB

页数:5页

时间:2018-10-15

简单fft实验报告matlab_第1页
简单fft实验报告matlab_第2页
简单fft实验报告matlab_第3页
简单fft实验报告matlab_第4页
简单fft实验报告matlab_第5页
资源描述:

《简单fft实验报告matlab》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MATLABEXAM.4用语言编程实现DFT和FFT实验报告专业班级:姓名学号指导教师:完成吋间:一、实验题目1.川语言编程实现DFT和FFT二、实验目的1.不使用MATLAB现冇的FFT函数,向己编写所冇具体算法2.给!II流程图和理论计算结果。3.设计实验,给出DFT和FFT算法差异的证明,如复杂度等。(精度、不同长度的序列等)4.分析数据,得出结论。三、实验内容1.不使用MATLAB现冇的FFT函数,自己编写所冇具体算法2.给出流程图和理论计算结果。3.设计实验,给出DFT和FFT算法差异的证明,如复杂度等。(精度、不同长度的序列

2、等)4.分析数据,得出结论。四、实验步骤(―)文件与文件夹管理1.自行编写8点FFT流程算法下图为8点FFT的蝶形运算图,我们采川菽2蝶形运算单元來实现8点FFT的变挽。DIFFFT2.给出流程阁和理论计算结果图38点FFT架构模型利川Matlab对己知输入数据进行DFT运算,得出其理论值假设输入数据为:a=[1:8];实现DFT算法:%DFT算法3form=1:N3forn=1:Nb(m)=b(m)+a(n)*exp(-1j*2*pi*(n_l)*(m~l)/N);endend得出其理论仉:田b[所选内窑田8x1complexdoub

3、le1136.0000+O.OOOOi2-4.0000+9.6569i3-4.0000+4.0000i4-4.0000+1.6569i5-4.0000-O.OOOOi6-4.0000-1.6569i7-4.0000-4.0000i8-4.0000-9.6569i1.没计实验,给出DFT和FFT算法差异的证明,如复杂度等。(精度、不同长度的序列等)通过在matlab屮对DFT和FFT的建模,计算相同点数的变换所需要的加法次数和乘法次数。以此來比较两种不同算法的差异性。首先DFT算法中,由于一次循环需耍一次复数乘法和一次笈数加法(第一次循环

4、不需耍加法,所以需要加法次数为汁算结果减1)%DFT算法form=1:Nforn=1:Nb(m)=b(m)+a(n)*exp(-1j*2*pi*(n~l)*(m-l)/N);DFTadd=DFTadd+1;DFTmult=DFTmult+1;endendDFT_add=DFT_add-1;%实际消耗的加法次数同理在FFT的蝶形运算屮,每一次蝶形运算所消耗的复数乘法和复数加法都可以通过参数来计算出來。每次运行基2蝶形模块一次,都需要消耗两次复数加法,一次S数乘法。%==^======================^1次迭代fori=l:

5、l:N/2x_in一1=a(i);x—in一2=a(i+N/2);n=i-1;%这里最小是1,所以后西[out一1,out_2]=butter_fly_2(x_in_l,x_in_2,n,N);x_out_l_tran(i)=out_l;x_out_l_tran(i+N/2)=out_2:FFTadd=FFTadd+1;FFTmulti=FFTmulti+1;end第3次迭代Iforiter_i=0:N/2"2:N_lIfori=l:l:N/(2"3)x_in_l=x_out_2(i+iter_i);x一in_2=x_out_2(i+N

6、/Z^S+iter^i);n=0;%这里最小是1,所以后面的n要减去1[out」,out_2]=butter_flv_2(x_in_l,x_in_2,n,N);x_out_3_tran(i+iter_i)=out_l;x_out_3_tran(i+N/2*3+iter_i)=out_2;FFT_add=FFT_add+2;FFT_raulti=FFT_multi+1;end•end4.分析数据,得出结论通过运行matlab程序我们可以得出芄屮的运算复杂度的数值mDR.add63zEDFT_mult64mFFT.add24ztiFFT_m

7、ulti12可以看出一个8点的DFT运算需要64次复数乘法,63次复数加法,符合理论值。而一个8点FFT运算则只需耍12次S数乘法和24次g数加法,而T1.其中12次S数乘法中还包含旋转W子为1的乘法运算,所以综上所述,我们可以看出FFT的实现复杂度相对于DFT人人降低。1.实验心得通过这次matlab上级实验,我不仅对matlab这个强大的工具冇Y更加深入的了解,而且对DFT和FFT也奋了更深的了解。通过£)己的亲£)动手操作,将课本上学习的FFT理论知识转化为实际的数学模型,通过matlab语言进行描写,并进行了辛苦的调试工作,最P

8、成功地完成了基于2点蝶形运算的FFT模型。通过对比DFT和FFT算法中实际运行所消耗的S数加法次数和乘法次数,让我更加清楚的了解到FFT的优势所在。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。