- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验六、用窗函数法设计FIR滤波器
实验六 用窗函数法设计 FIR滤波器
一、实验目的
(1) 掌握用窗函数法设计FIR数字滤波器的原理和方法。
(2) 熟悉线性相位FIR数字滤波器特性。
(3) 了解各种窗函数对滤波特性的影响。
二、实验原理
滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为:
hd(n) =
窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼hd(n)。由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数。w(n)将hd(n)截断,并进行加权处理:
h(n) = hd(n) w(n)
h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(ejω)为:
H(ejω) =
如果要求线性相位特性,则h(n)还必须满足:
可根据具体情况选择h(n)的长度及对称性。
用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。
三、实验步骤
1. 写出理想低通滤波器的传输函数和单位脉冲响应。
2. 写出用四种窗函数设计的滤波器的单位脉冲响应。
3. 用窗函数法设计一个线性相位FIR低通滤波器,用理想低通滤波器作为逼近滤波器,截止频率ωc=π/4 rad,选择窗函数的长度N=15,33两种情况。要求在两种窗口长度下,分别求出h(n),打印出相应的幅频特性和相频特性曲线,观察3dB带宽和阻带衰减;
4 用其它窗函数(汉宁窗(升余弦窗)、哈明窗(改进的升余弦窗)、布莱克曼窗) 设计该滤波器,要求同1;比较四种窗函数对滤波器特性的影响。
四、实验用MATLAB函数
可以调用MATLAB工具箱函数fir1实现本实验所要求的线性相位FIR-DF的设计,调用一维快速傅立叶变换函数fft来计算滤波器的频率响应函数。
fir1是用窗函数法设计线性相位FIRDF的工具箱函数,调用格式如下:
hn=fir1(N, wc, ‘ftype’, window)
fir1实现线性相位FIR滤波器的标准窗函数法设计。
hn=fir1(N,wc)可得到6 dB截止频率为wc的N阶(单位脉冲响应h(n)长度为N+1)FIR低通滤波器,默认(缺省参数windows)选用hammiing窗。其单位脉冲响应h(n)满足线性相位条件:h(n)=h(N-1-n)
其中wc为对π归一化的数字频率,0≤wc≤1。
当wc=[wc1, wc2]时,得到的是带通滤波器。
hn=fir1(N,wc,’ftype’)可设计高通和带阻滤波器。
当ftype=high时,设计高通FIR滤波器;
当ftype=stop时,设计带阻FIR滤波器。
应当注意,在设计高通和带阻滤波器时,阶数N只能取偶数(h(n)长度N+1为奇数)。不过,当用户将N设置为奇数时,fir1会自动对N加1。
hn=fir1(N,wc,window)可以指定窗函数向量window。如果缺省window参数,则fir1默认为hamming窗。可用的其他窗函数有Boxcar, Hanning, Bartlett, Blackman, Kaiser和Chebwin窗。例如:
hn=fir1(N,wc,bartlett(N+1))使用Bartlett窗设计;
hn=fir1(N,wc,chebwin(N+1,R))使用Chebyshev窗设计。
hn=fir1(N,wc,’ftype’,window)通过选择wc、 ftype和window参数(含义同上),可以设计各种加窗滤波器。
实验内容
1理想低通滤波器传输函数:
H(ejω)= α=(N-1)/2
单位脉冲响应:
hd(n)= = =
2四种窗函数的设计滤波器的单位脉冲响应:
(1)矩形窗: ωR(n)=RN(n)
h(n)=hd(n)RN(n)
(2)汉宁窗: ωHn(n)=0.5[1-]RN(n)
h(n)=hd(n)·0.5[1-]RN(n)
(3)哈明窗: ωHm(n)=[0.54-0.46]RN(n)
h(n)=hd(n)[0.54-0.46]RN(n)
(4)布莱克曼窗: ωBl(n)=[0.42-0.5+0.08]RN(n)
h(n)=hd(n)[0.42-0.5+0.08]RN(n)
3MATALAB程序设计
实验程序1:
N=15、33,即N变化时,对滤波器特性的影响:
MATLAB程序:
clear all;
N1=15;N2=
文档评论(0)