杭电 数字信号处理实验报告六.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
杭电 数字信号处理实验报告六

数字信号处理 实验报告(六) 姓名:王 修 庆 学号 利用FFT实现快速卷积 一、实验目的 加深理解FFT在实现数字滤波中的重要作用,更好地利用FFT进行数字信号处理。 进一步掌握圆周卷积和线性卷积两者之间的关系。 二、实验原理 数字滤波器根据系统的单位脉冲响应h(n)是有限长还是无限长可分为有限长单位脉冲响应(Finite Impulse Response)系统(简记为FIR 系统)和无限长单位脉冲响应(InfiniteImpulse Response)系统(简记为IIR 系统)。应用FFT 实现数字滤波器实际上就是用FFT 来快速计算有限长度序列的线性卷积。 用FFT 完成这一卷积的具体步骤如下: 为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度 N ≥ N1 + N 2+1. ,若采用基2-FFT完成卷积运算,要求N = 2m (m 为整数)。 ②用补零方法使x(n)和h(n)变成列长为N 的序列。 ③用FFT 计算x(n)和h(n)的N 点离散傅里叶变换 ④完成X(k)和H(k)乘积,Y (k ) = x (k )H (k ) ⑤用FFT 计算Y(k)的离散傅里叶反变换得 2.当 x(n)长度很长时,即N1 N 2,通常不允许等x(n)全部采集齐后再进行卷积, 否则使输出相对于输入有较长的延时,另外,若1 1 2 N + N . 太大,h(n)要补上太多的零点,很不经济,且FFT 的计算时间也要很长。为此,采用分段卷积的方法,即把x(n)分成长度与h(n)相仿的一段段,分别求出每段卷积的结果,然后用相应的方式把它们结合起来,便是总的输出。分段卷积方法主要有两种,即重叠相加法和重叠保留法。 三、实验结果 n=[0:1:3]; m=[0:1:3]; N1=length(n); N2=length(m); xn=[2,1,1,2]; hn=[1,-1,-1,1]; N=N1+N2-1; XK=fft(xn,N); HK=fft(hn,N); YK=XK.*HK; yn=ifft(YK,N); if all(imag(xn)==0)(all(imag(hn)==0))yn=real(yn); end x=0:N-1; stem(x,yn,.) 验证: xn=[2,1,1,2]; hn=[1,-1,-1,1]; yn=conv(xn,hn); stem(yn,.); (1) n=[0:1:15]; m=[0:1:16]; N1=length(n); N2=length(m); xn=ones(1,N1); hn=(-0.5).^m; N=N1+N2-1; XK=fft(xn,N); HK=fft(hn,N); YK=XK.*HK; yn=ifft(YK,N); if all(imag(xn)==0)(all(imag(hn)==0)) yn=real(yn); end x=0:N-1; stem(x,yn,.) 验证: xn=ones(1,N1); hn=(-0.5).^m; yn=conv(xn,hn); stem(x,yn,.); (2) n=[0:1:15]; m=[0:1:16]; N1=length(n); N2=length(m); xn=cos(2*pi*n/N1); hn=(-0.5).^m; N=N1+N2-1; XK=fft(xn,N); HK=fft(hn,N); YK=XK.*HK; yn=ifft(YK,N); if all(imag(xn)==0)(all(imag(hn)==0)) yn=real(yn); end x=0:N-1; stem(x,yn,.) 验证: xn=cos(2*pi*n/N1); hn=(-0.5).^m; yn=conv(xn,hn); stem(x,yn,.) (3) n=[0:1:15]; m=[0:1:16]; N1=length(n); N2=length(m); xn=(1/3).^n; hn=(-0.5).^m; N=N1+N2-1; XK=fft(xn,N); HK=fft(hn,N); YK=XK.*HK; yn=ifft(YK,N); if all(imag(xn)==0)(all(imag(hn)==0)) yn=real(yn); end x=0:N-1; stem(x,yn,.) 验证: xn=(1/3).^n; hn=(-0.5).^m; yn=conv(xn,hn); stem(x,yn,.) 四. 实验总结 通过这次对FFT实现快速卷积的实验操作,让我对着方面的理论知识加强了认识。尤其是在老

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档