实验六 用窗函数法设计FIR数字滤波器
1、实验目的
(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。
(2)熟悉线性相位FIR数字滤波器特性。
(3)了解各种窗函数对滤波特性的影响。
2、实验原理
如果所希望的滤波器的理想频率响应函数为
1hd(n)2Hd(ejw),则其对应的单位脉冲响应为:
Hd(ejw)ejwndw
窗函数设计法的基本原理是用有限长单位脉冲响应h(n)逼近hd(n)。由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数ω(n)将hd(n)截断,并进行加权处理,得到:
h(n)hd(n)w(n)
h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(ejω)为:
H(e)h(n)ejwnjwn0N1
式中,N为所选窗函数ω(n)的长度。
这种对理想单位取样响应的加窗处理对滤波器的频率响应会产生以下三点影响:
(1)使理想特性不连续的边沿加宽,形成一个过渡带,过渡带的宽度取决于窗函数频谱的主瓣宽度。
(2)在过渡带两旁产生肩峰和余振,它们取决于窗函数频谱的旁瓣;旁瓣越多,余振也越多;旁瓣相对值越大,肩峰则越强。
(3)增加截断长度N,只能缩小窗函数频谱的主瓣宽度而不能改变旁瓣的相对值;旁瓣与主瓣的相对关系只决定于窗函数的形状。因此增加N,只能相对应减小过渡带宽。而不能改变肩峰值。肩峰值的大小直接决定通带内的平稳和阻带的衰减,对滤波器性能有很大关系。例如矩形窗的情况下,肩峰达8.95%,致使阻带最小衰减只有21分贝,这在工程上往往是不够的。怎样才能改善阻带的衰减特性呢?只能从改善窗函数的形状上找出路,所以希望的窗函数频谱中应该减少旁瓣,使能量集中在主瓣,这样可以减少肩峰和余振,提高阻带衰减。而且要求主瓣宽度尽量窄,以获得较陡的过渡带,然而这两个要求总不能同时兼得,往往需要用增加主瓣宽度带换取较大的阻带衰急,于是提出了海明窗、汉宁窗、布莱克曼窗、凯塞窗、切比雪夫窗等窗函数。
所以,用窗函数法设计的滤波器性能取决于窗函数ω(n)的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度。设待求滤波器的过渡带用△ω表示,它近似等于窗函数主瓣宽度。因过渡带△ω近似与窗口长度成反比,NA/w,A决定于窗口形式。按照过渡带及阻带衰减情况,选择窗函数形式。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣窄的窗函数。
这样选定窗函数类型和窗口长度N后,求出单位脉冲响应h(n)hd(n)w(n),再求出
H(ejω)。H(ejω)是否满足要求,要进行验算。一般在H(n)的尾部加零使长度满足2的整数次幂,以便用FFT计算H(ejω)。如果要观察细节,补零点数增多即可。如果H(ejω)不满足要求,则要重新选择窗函数类型和长度N,再次验算,直至满足要求。
如果要求线性相位特性,则h(n)还必须满足:h(n)h(N1n)
根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。要根据所设计的滤波特性正确选择其中一类。
3、实验步骤及内容
(1)根据下列技术指标,利用凯塞窗设计一个线性相位的FIR数字低通滤波器。通带截止频率ωp=0.3π,通带允许波动Ap=1dB,阻带截止频率ωs=0.5π,阻带衰减As=40dB。
(2)画出(1)中理想低通滤波器的频率响应和单位脉冲响应。
(3)画出(1)中所设计的低通滤波器的单位脉冲响应;并调用fir1()函数得到所设计的低通滤波器的单位脉冲响应,调用fft()函数进行频响验证。
(4)编程验证窗长和窗形状对实际滤波器性能的影响。如要求用窗函数法设计一个线性相位FIR数字低通滤波器,用理想低通滤波器作为逼近滤波器,截止频率ωc=π/4,用四种窗函数(矩形窗,汉宁窗(升余弦窗),哈明窗(改进的升余弦窗),布莱克曼窗)设计该滤波器,选择窗函数的长度N=15,33两种情况。
4、实验用MATLAB函数介绍
fir1(); fft(); freqz(); boxcar(); hamming(); hanning(); blackman(); sin();figure(); plot(); stem(); abs();angle(); title(); xlabel(); ylabel(); text(); hold on; axis(); grid on; subplot();等
5、思考题
如果要求用窗函数法设计带通滤波器, 且给定上、 下边带截止频率为ω1和ω2,试求理想带通的单位脉冲响应hd(n)。
6、实验报告要求
(1)简述实验目的及实验原理。
(2)编程实现各实验内容,列出实验清单及说明。
(3)总结窗函数法设计FIR数字滤波器的步骤。
因篇幅问题不能全部显示,请点此查看更多更全内容