文档介绍:实验六 用窗函数设计FIR滤波器
.实验目的
(1)熟悉FIR滤波器设计的方法和原理
(2)掌握用窗函数法设计 FIR滤波器的方法和原理,熟悉滤波器的特性
了解各种窗函数滤波器特性的影响
.实验原理
FIR滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。
FIR滤波器的设计是要寻求一系统函数 H(z),使其频率响应 H(ej )逼近滤波器要求的理
想频率响应Hd(ej ),其对应的单位脉冲响应 hd(n)。
(1)用窗函数设计FIR滤波器的基本方法
在时域用一个窗函数截取理想的 hd (n)得到h(n),以有限长序列h(n)近似逼近理想的 hd(n);在频域用理想的 Hd(ej )在单位圆上等角度取样得到 h(k),根据h(k)得到H(z) 将逼近理想的Hd(z)。
设理想滤波器Hd(ej )的单位脉冲响应为 hd(n)。以低通线性相位 FIR数字滤波器为 例。
Hd(ej ) hd(n)e jn n 1 j jn
hd(n) Hd(e )e d
2
hd(n)一般是无限长的、非因果的,不能直接作为 FIR滤波器的单位脉冲响应。要想得
到一个因果的有限长的滤波器 h(n),最直接的方法是截断 h(n) hd (n)w(n),即截取为有
限长因果序列,并用合适的窗函数进行加权作为 FIR滤波器的单位脉冲响应。 按照线性相位
滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即
h(n) hd(n)w(n)
a (N 1)/2
用矩形窗设计的 FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现
象,且最大波纹大约为幅度的 9% (现象称为吉布斯(Gibbs)效应)。
(2)典型的窗函数
(a)矩形窗(Rectangle Window)
w(n) RN(n)
其频率响应和幅度响应分别为:
- N 1
W(ej) "与
sin(N /2)
Wr()
sin( /2)
在 matlab 中调用 w=boxcar(N)
(b)三角形窗(Bartlett Window)
函数,
N为窗函数的长度
2n
w(n) N 21
2 4n
N 1
其频率响应为: W(ej ) —[sin(N /4)]2e j
N sin( /2)
在matlab中调用w=triang(N)函数,N为窗函数的长度
(c)汉宁(Hanning)窗,又称升余弦窗
1 2n
w(n) -[1 cos( )]RN(n)
2 N 1
其频率响应和幅度响应分别为:
W(ej )
{(
)[Wr(
2
)Wr(
N 1
)]}e
N 1
j'1)
W( )e
W()
()
[Wr(
)Wr(
1)]
在matlab中调用 w=hanning(N)函数,N为窗函数的长度
(d)汉明(Hamming)窗,又称改进的升余弦窗
一 一一 2n
w(n) [ cos(-
邛⑻
其幅度响应为: W( ) ()
[Wr(
-)] 1
在 matlab 中调用 w=hamming(N)函数,
N为窗函数的长度
(e)布莱克曼(Blankman)窗,又称二阶升余弦窗
w(n) [
2n
(— N
-)( 1
4n
)]RN(n)
W()
其幅度响应为:
()
[Wr(
[Wr(
)Wr(
二)Wr(
1
4
「)】
N 1
N为窗函数的长度
在 matlab 中调用 w=blackman(N)函数,
(f)凯泽(Kaiser)窗
Io( 1 [1 2n/(N 1)]2)
w(n) : ,0 n N 1
Io()
其中:3是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系, 一般说来,3越
大,过渡带越宽,阻带越小衰减也越大。 Io()是第一类修正零阶贝塞尔函数。
在matlab中调用w=kaiser(N,beta),函数N为窗函数的长度,beta为窗函数的参数。
(3)利用窗函数设计 FIR滤波器的具体步骤如下:
(a)根据具体的性能要求通过对过渡带宽度△ 3及阻带衰减 As,等参数的分析选择合适
的窗函数,并估计滤波器的长度 No
(b)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应 hd (n)。
(c)确定延时值,计算滤波器的单位取样响应 h(n) , h(n) hd(n)w(n).
(d)验证技术指标是否满足要求。分析所设计的滤波器的幅频