当前位置:首页 > 实验四 利用FFT实现快速卷积
实验报告
实验中心 实验课程 实验名称 提交日期 一、实验目的
1.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT进行数字信号处理。
2.掌握循环卷积和线性卷积两者之间的关系。
实验中心1303 数字信号处理实验 实验四 利用FFT实现快速卷积 专业年级 姓 名 学 号 成 绩 08级电子信息科学与技术 冯 财 强 200807031149 2011年5月20日 二、实验设备
微型计算机、Matlab7.0教学版
三、实验原理
数字滤波器根据系统的单位脉冲响应h(n)是有限长还是无限长可分为有限长单位脉冲响应系统(简记为FIR系统)和无限长单位脉冲响应系统(简记为IIR系统)。
一个信号序列x(n)通过FIR滤波器时,其输出应该是x(n)与h(n)的卷积:
y(n)?x(n)*h(n)??x(m)h(n?m)
m?????当h(n)是一个有限长序列,即h(n)是FIR滤波器,且0?n?N?1时,
y(n)??h(m)x(n?m)
m?0N?1在数字网络类的FIR滤波器中,普遍使用的横截型结构就是按这个卷积公式构成的。应用FFT实现数字滤波器实际上就是用FFT来快速计算有限长度序列的线性卷积。
这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n)。
1
四、实验内容
1.用Matlab编制信号产生子程序, 产生典型信号供谱分析用; 2.画对给出信号逐个进行谱分析,绘出序列和幅频特性曲线; 3.设计利用快速傅里叶变换FFT计算线性卷积的程序;
4.用FFT和IFFT实现序列x=[-2,0,1,-1,3,5,-4]和序列h=[1,2,0,-1,6,3,-5]的线性卷积;
5.对结果进行分析。
五、实验数据
序列x和序列h线性卷积的程序为:
图1 序列x和序列h线性卷积的程序
2
图2 序列x和序列h线性卷积的结果
六、实验总结
实验进一步验证了理论的正确性,要充分理解两个序列在频域的乘积相当于时域的卷积,同时,两个序列在时域的乘积相当于频域的卷积。
通过实验,加深了我对FFT在实现数字滤波中的重要作用的理解和掌握,也基本掌握了循环卷积和线性卷积两者之间的关系。FFT是DFT的快速算法,一定要很好地掌握它,其在现实科技等的应用中有绝对性的优势。
同时,我进一步熟悉了Matlab软件的编程环境、功能和编程方法,并掌握了利用Matlab软件做简单仿真实验的基本方法,提高了我分析实验结果的能力。
3
共分享92篇相关文档