欢迎来到天天文库
浏览记录
ID:26597199
大小:61.00 KB
页数:3页
时间:2018-11-27
《实验四 利用fft实现快速卷积》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四利用FFT实现快速卷积一、实验目的1.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT进行数字信号处理。2.掌握循环卷积和线性卷积两者之间的关系。二、实验原理数字滤波器根据系统的单位脉冲响应h(n)是有限长还是无限长可分为有限长单位脉冲响应(FiniteImpulseResponse)系统(简记为FIR系统)和无限长单位脉冲响应(InfiniteImpulseResponse)系统(简记为IIR系统)。对于FIR滤波器来说,除了可以通过数字网络来实现外,也可以通过FFT的变换来实现。首先我们知道,一个信号序列x(n)通过FIR滤波器时,
2、其输出应该是x(n)与h(n)的卷积:当h(n)是一个有限长序列,即h(n)是FIR滤波器,且时在数字网络类的FIR滤波器中,普遍使用的横截型结构就是按这个卷积公式构成的。应用FFT实现数字滤波器实际上就是用FFT来快速计算有限长度序列的线性卷积。这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n)。X(k)x(n)FFTIFFTH(k)H(k)X(k)y(n)现以FFT求有限
3、长序列间的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT的快速卷积方法。1.序列x(n)和h(n)的长差不多。设x(n)的长为N1,h(n)的长为N2,要求用FFT完成这一卷积的具体步骤如下:①为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度,若采用基2-FFT完成卷积运算,要求(为整数)。②用补零方法使x(n)和h(n)变成列长为N的序列。③用FFT计算x(n)和h(n)的N点离散傅里叶变换④完成X(k)和H(k)乘积,⑤用FFT计算Y(k)的离散傅里叶反变换得2.当x(n)长度很长时,即,通常不允许等x(n)全部采集齐后再进
4、行卷积,否则使输出相对于输入有较长的延时,另外,若太大,h(n)要补上太多的零点,很不经济,且FFT的计算时间也要很长。为此,采用分段卷积的方法,即把x(n)分成长度与h(n)相仿的一段段,分别求出每段卷积的结果,然后用相应的方式把它们结合起来,便是总的输出。分段卷积方法主要有两种,即重叠相加法和重叠保留法。具体内容请参考数字信号处理教材中“快速离散傅里叶变换”一章中的线性卷积的FFT算法部分,本实验这部分不作重点要求。三、主要实验仪器及材料微型计算机、Matlab6.5教学版、TC编程环境。四、实验内容1.数字滤波器的脉冲响应为,N2取8。输入序列x(n)可选下列
5、几种情况①,N1取8。②,N1取8。③,N1取8。2.实验前,预先计算好的值。3.实验前,预先编制一个应用FFT实现数字滤波器的通用程序。4.上机独立调试,并打印或记录实验结果。5.将实验结果与预先笔算的结果比较,验证其正确性。五、思考题1.N同时取8、16、32时,线性卷积和循环卷积的结果有何不同,为什么?2.分析直接计算线性卷积和利用FFT计算线性卷积的时间。六、实验报告要求1.简述实验原理及目的。2.记录调试运行情况及所遇问题的解决方法。3.给出实验结果,并对结果作出分析。4.简要回答思考题。
此文档下载收益归作者所有