matlab fft简单小例子,简单fft实验报告matlab.doc

41528d3028836879cd698677c3999917.gif简单fft实验报告matlab.doc

MATLABEXAM4用语言编程实现DFT和FFT实验报告专业班级姓名学号指导教师完成时间一、实验题目1用语言编程实现DFT和FFT二、实验目的1不使用MATLAB现有的FFT函数,自己编写所有具体算法2给出流程图和理论计算结果。3设计实验,给出DFT和FFT算法差异的证明,如复杂度等。(精度、不同长度的序列等)4分析数据,得出结论。三、实验内容1不使用MATLAB现有的FFT函数,自己编写所有具体算法2给出流程图和理论计算结果。3设计实验,给出DFT和FFT算法差异的证明,如复杂度等。(精度、不同长度的序列等)4分析数据,得出结论。四、实验步骤(一)文件与文件夹管理1自行编写8点FFT流程算法下图为8点FFT的蝶形运算图,我们采用基2蝶形运算单元来实现8点FFT的变换。图18点FFT蝶形运算图2给出流程图和理论计算结果XN2NN2NAXNNBW图2基2蝶形运算单元图38点FFT架构模型利用MATLAB对已知输入数据进行DFT运算,得出其理论值假设输入数据为实现DFT算法得出其理论值3设计实验,给出DFT和FFT算法差异的证明,如复杂度等。(精度、不同长度的序列等)通过在MATLAB中对DFT和FFT的建模,计算相同点数的变换所需要的加法次数和乘法次数。以此来比较两种不同算法的差异性。首先DFT算法中,由于一次循环需要一次复数乘法和一次复数加法(第一次循环不需要加法,所以需要加法次数为计算结果减1)同理在FFT的蝶形运算中,每一次蝶形运算所消耗的复数乘法和复数加法都可以通过参数来计算出来。每次运行基2蝶形模块一次,都需要消耗两次复数加法,一次复数乘法。4分析数据,得出结论通过运行MATLAB程序我们可以得出其中的运算复杂度的数值可以看出一个8点的DFT运算需要64次复数乘法,63次复数加法,符合理论值。而一个8点FFT运算则只需要12次复数乘法和24次复数加法,而且其中12次复数乘法中还包含旋转因子为1的乘法运算,所以综上所述,我们可以看出FFT的实现复杂度相对于DFT大大降低。5实验心得通过这次MATLAB上级实验,我不仅对MATLAB这个强大的工具有了更加深入的了解,而且对DFT和FFT也有了更深的了解。通过自己的亲自动手操作,将课本上学习的FFT理论知识转化为实际的数学模型,通过MATLAB语言进行描写,并进行了辛苦的调试工作,最后成功地完成了基于2点蝶形运算的FFT模型。通过对比DFT和FFT算法中实际运行所消耗的复数加法次数和乘法次数,让我更加清楚的了解到FFT的优势所在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值