利用MATLAB窗函数法设计一个可实现的FIR低通滤波器。.pdfVIP

利用MATLAB窗函数法设计一个可实现的FIR低通滤波器。.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、实验目的

1.掌握在MATLAB中窗函数的使用方法,了解不同窗函数之间的差别。

2.使用窗函数法设计一个可实现的FIR低通滤波器。

3.观察在相同长度下,不同的窗函数设计出来的滤波器有什么差别。

4.观察同一个窗在不同长度下设计出来的滤波器有什么差别。

二、实验条件

PC机,MATLAB7.0

三、实验内容

1)通过help查找窗函数在MATLAB中如何实现

通过example了解MATLAB中窗函数的实现,并且利用矩形窗,汉宁窗,哈明

窗,布莱克曼窗和凯塞窗来进行接下来的实验。

2)设计物理可实现的低通滤波器

设计思路:因为要设计FIR有限脉冲响应滤波器,通常的理想滤波器的单位脉冲响应

h是无限长的,所以需要通过窗来截断它,从而变成可实现的低通滤波器。程序如下:

clc;clearall;

omga_d=pi/5;

omga=0:pi/30:pi;

forN=3:4:51;

w1=window(@blackman,N);

w2=window(@hamming,N);

w3=window(@kaiser,N,2.5);

w4=window(@hann,N);

w5=window(@rectwin,N);

M=floor(N/2);

subplot(311);plot(-M:M,[w1,w2,w3,w4,w5]);axis([-MM01]);

legend(Blackman,Hamming,kaiser,hann,rectwin);

n=1:M;

hd=sin(n*omga_d)./(n*omga_d)*omga_d/pi;

hd=[fliplr(hd),1/omga_d,hd];

h_d1=hd.*w1;h_d2=hd.*w2;h_d3=hd.*w3;h_d4=hd.*w4;h_d5=hd.*w5;

m=1:M;

H_d1=2*cos(omga*m)*h_d1(M+2:N)+h_d1(M+1);

H_d2=2*cos(omga*m)*h_d2(M+2:N)+h_d2(M+1);

H_d3=2*cos(omga*m)*h_d3(M+2:N)+h_d3(M+1);

H_d4=2*cos(omga*m)*h_d4(M+2:N)+h_d4(M+1);

H_d5=2*cos(omga*m)*h_d5(M+2:N)+h_d5(M+1);

subplot(312);plot(omga,[H_d1,H_d2,H_d3,H_d4,H_d5]);

legend(Blackman,Hamming,kaiser,hann,rectwin);

subplot(313);plot(abs([fft(h_d1);fft(h_d2);fft(h_d3);fft(h_d4);fft(h_d5)]

));

pause();

end

程序分析:

整个对称窗的长度为N,然而为了在MATLAB中看到窗函数在负值时的形状需将N

变为它的一半,即为2M+1个长度。窗长设置为从3开始以4为间隔一直跳动51。

则长度相同的不同窗函数在时域[-M,M]的形状如第一个图所示。

对窗函数进行傅里叶变换时,将零点跳过去先构造一个一半的理想滤波器的脉冲响应

hd,再将零点位置求导得出的数赋值进去。将生成的hd左右颠倒形成了一个理想的

滤波器的脉冲响应。将构造的理想滤波器的脉冲响应依次与之前定义的窗函数相乘,

相乘出来的为列向量,用转置将其变成行向量,形成的h_d就是非理想的低通滤波器

的脉冲响应序列。因为h_d为对称奇数长度序列,它的DTFT可以是二倍的离散余弦

变化,而零点的位置则直接带入求出,两者相加则是H_d。

则第二个图表示的是五个矩阵向量在频域的变化,而第三个图表示的是五个非理想低

通滤波器的傅里叶变换,图三FFT给出的结果永远是对称的,因为它显示了DFT的

周期性。

四、实验结论和讨论

1.不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截断

产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误

差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。

通过实验所得的图形可以发现,当窗口长度N值相等时,矩形窗主瓣窄,旁瓣

大,频率识别精度最高,幅值识别精度最低,形

文档评论(0)

152****2617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档