欢迎来到天天文库
浏览记录
ID:41634888
大小:113.52 KB
页数:5页
时间:2019-08-29
《实验7利用FFT实现快速卷积2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验七利用FFT实现快速卷积一、实验目的1、通过这一实验,加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT进行数字信号处理。2、进一步掌握循环卷积和线性卷积两者之间的关系。二、实验原理数字滤波器根据系统的单位脉冲响应h(n)是有限长还是无限长可分为有限长单位脉冲响应(FiniteImpulseResponse)系统(简记为FIR系统)和无限长单位脉冲响应(InfiniteImpulseResponse)系统(简记为IIR系统)。对TF1R滤波器来说,除了可以通过数字网络来实现外,也可以通过FFT的变换來实现。一个信号序列x(n)通过FIR滤波器
2、时,其输出应该是x(n)与h(n)的卷积:y(n)=x(n)*h(n)=7H=-COy(n)=x(n)=-m)或^耐=-8当h(n)是一个有限长序列,即h(n)是FIR滤波器,且时N-1y(n)=工h(m)x(n-m)m=Q在数字网络(见图7.1)类的FIR滤波器屮,普遍使用的横截型结构(见下图7.2)就是按这个卷积公式构成的。x(n)>H(Z)>y(n)h(n)图7.1滤波器的数字网络实现方法x(n)z-1z-1Z1Z1h(N-2)!h(N-l)―>y(n)图7.2FIR滤波器横截型结构应用FFT实现数字滤波器实际上就是用FFT來快速计算有限长度列间的线性卷积。粗略
3、地说,这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(ii)如图7.3所示。x(n)Y(n)图7.3数字滤波器的快速傅里叶变换实现方法现以FFT求有限长序列间的卷积及求有限长度列与较长序列间的卷积为例来讨论FFT的快速卷积方法。1、序列兀⑷和处0的列长差不多。设兀(町的列长为N、,hg的列长为“2,要求N-1(、/、A(/i)=x(n)*/1(/1)=x(r)h(n-r)y(n)
4、=x(/i)N0用FFT完成这一卷积的具体步骤如2i.为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度N>N^N2-9若采用基2-FFT完成卷积运算,要求N=2"(加为整数)。ii.用补零方法使兀⑺),⑷)变成列长为N的序列。x(n)=u02<-1N、X(k)h(n)7/7>H(k)ii.做X(Q和H(k)乘积,Y(k)=X(k)•H(Qb-1=z1心0iii.用FFT计算丫伙)的离散傅里叶反变换得N-l
5、1也)=工-Y(k)W;nkE-oL"一2、当x(n)长度很长时,即N»N2,通常不允许等x(n)全部采集齐后再进行卷积,否则使输出相对于输入有较长的延时,另外,若M+M-l太大,〃⑷要补上太多的零点,很不经济,且FFT的计算时间也要很长。为此,采用分段卷积的方法,即把x(n)分成长度与h(n)相仿的一段段,分别求出每段卷积的结杲,然后用相应的方式把在们结合起来,便是总的输出。分段卷积方法主要有两种,即重叠相加法和重叠保留法。具体内容请参考教材中“快速离散傅里叶变换”一章中的线性卷积的FFT算法部分,木实验这部分不作重点要求。三、实验方法若序列X】(n)、x,n)为
6、长度分别为Ni、N2的有限长序列,儿⑷=坷⑷胪2何,力5)=州5)*兀2(町。由DFT的性质可知:当N>N^N2-时有)血)=儿S)=IDFT[DFT[Xi(n)]•DFT[x2(n)]]。序列较长时DFT运算通常用快速算法FFT实现。在MATLAB的信号处理工具箱屮函数FFT和IFFT用于快速傅里叶变换和逆变换。函数FFT的调用格式同实验三。例7.1:用FFT实现下两序列的线性卷积。如)=]补07、.n;hn二ones(1,N2);N二N1+N2-1;XK=fft(xn,N);HK=fft(hn,N);YK二XK.*HK;yn=ifft(YK,N);ifall(imag(xn)==O)&(all(imag(hn)==O))%实序列的循环卷积仍然为实序列yn=real(yn);endx=O:N-l;stem(x,yn,「)图6.4利用EFT实现线性卷积实验内容及要求h(n)=(―)"RN2(n),N21、数字滤波器的脉冲响应为2可自定,本实验取“2=17输入序列班砒可选下列几种情况1.x(n)=RN}(h)M可取16••11.x(n)=cos——
7、.n;hn二ones(1,N2);N二N1+N2-1;XK=fft(xn,N);HK=fft(hn,N);YK二XK.*HK;yn=ifft(YK,N);ifall(imag(xn)==O)&(all(imag(hn)==O))%实序列的循环卷积仍然为实序列yn=real(yn);endx=O:N-l;stem(x,yn,「)图6.4利用EFT实现线性卷积实验内容及要求h(n)=(―)"RN2(n),N21、数字滤波器的脉冲响应为2可自定,本实验取“2=17输入序列班砒可选下列几种情况1.x(n)=RN}(h)M可取16••11.x(n)=cos——
此文档下载收益归作者所有