第八章
有限脉冲响应数字滤波器的设计
2
本章目录
? 利用窗函数法设计 FIR滤波器
? 利用频域采样法设计 FIR滤波器
? FIR数字滤波器的优化设计
? IIR与 FIR数字滤波器的比较
? FIR数字滤波器的 Matlab仿真实现
3
? FIR数字滤波器的差分方程为
? 对应的系统函数为
? IIR数字滤波器设计过程中只考虑了幅频特性,
没有考虑相位特性,所设计的滤波器相位特性
一般是非线性的。
? 为了得到线性相位特性,则要采用全通网络进
行相位校正。
0
( ) ( )
M
i
i
y n b x n i
?
???
0
() M ii
i
H z b z ?
?
? ?
8.1 引言
4
? FIR数字滤波器很容易得到严格的线性相位。
? FIR数字滤波器的单位脉冲响应是有限长的,
因此总是稳定的。
? FIR滤波器的设计方法,
? 窗函数法
? 频率取样法
? 等纹波逼近法
5
? 设计思想
寻找一个 FIR滤波器,使其频率响应 H(ejω)逼
近理想 FIR滤波器的频率响应 Hd(ejω),
? 一般情况下,Hd(ejω)在边界频率处有不连续
点,因此 hd(n)是无限长的,且是因果的。
? 设计方法是用窗函数 w(n)对 hd(n)进行截取
( ) ( ) ( )dh n h n w n?
8.2 利用窗函数法设计 FIR滤波器
6
? 理想低通滤波器的频率响应
? 单位取样响应
() 0
j
cj
d
c
eHe ??? ??
? ? ?
?? ??
? ? ??
??
? ?s i n ( )1()
2 ( )
c
c
cj j n
d
nh n e e d
n
? ? ? ?
?
???
? ? ?
?
?
?? ? ?
??
7
? 将 hd(n)截取长度为 N的一段,构成 h(n)
? 为了保证设计的滤波器具有线性相位,必须满
足对称性要求
? 可以将 h(n)看作是 hd(n)与矩形窗 wR(n)相乘
( ) 0 1()
0
dh n n Nhn ? ? ??? ?
? 其 它
1
2
N? ?=
( ) ( ) ( )dRh n h n w n?
8
窗函数设计法的频域解释
? 时域加窗
? 频域卷积
( ) ( ) ( )dRh n h n w n?
? ?? ?11( ) ( ) ( ) ( )
22
jj j j j
d R d RH e H e W e H e W e d
? ??? ? ? ?
? ???
?
?? ? ? ?
9
窗函数
? 时域表示
? 频域表示
? 幅度
? 相位
1 0 1()
0R
nNwn ? ? ???
?
? 其 它
11
2
0
s in ( 2 )()
s in ( 2 )
NN j
j j n
R
n
NW e e e ??? ?
?
???? ? ??
? ??
?
???
s i n ( 2 )()
s i n ( 2 )R
NW ??
??
1
2
N? ??
10
FIR滤波器的幅频特性
? FIR滤波器的幅频特性
11( ) ( ) ( ) ( ) ( )
22
j j j j
d R d RH e H e W e e H W
?? ? ? ? ?
? ? ? ???
?
?
??? ? ? ???
???
1( ) ( ) ( )
2 dRH H W
?
?? ? ? ?? ????
11
理想低通与矩形窗频谱函数卷积过程
12
加窗对 Hd(ω)的影响
? 在理想特性不连续点 ωc附近形成过渡带。过滤
带的宽度近似等于 WR(θ)主瓣宽度,
Δω=4π/N 。
? 通带内增加了波动,最大的峰值在 ωc- 2π/N
处。阻带内产生了余振,最大的负峰在
ωc+2π/N处。通带与阻带中波动的情况与窗函
数的幅度谱有关。 WR(θ)波动愈快(加大时),
通带与阻带内波动愈快,WR(θ)旁瓣的大小直
接影响波动的大小。
? 这些影响是对 hd(n)加矩形窗引起的,称之为
吉布斯效应 。
13
减小吉布斯效应的方法
? 增加矩形窗口的宽度 N不能减少吉布斯效应的
影响。
N的改变只能改变 ω坐标的比例和 的绝对
大小,不能改变主瓣和旁瓣幅度相对值。加大
N并不是减少吉布斯效应的有效方法。
? 寻找合适的窗函数形状,使其谱函数的主瓣包
含更多的能量,相应旁瓣幅度就变小了;旁瓣
的减少可使通带与阻带波动减少,从而加大阻
带的衰减。但这样总是以加宽过渡带为代价的。
s i n / 2 s i n/2() N xR xWN ??? ??( )
()RW ?
14
几种常用的窗函数
? 矩形窗
? 三角( Bartlett)窗
? 汉宁( Hanning)窗
? 汉明( Hamming)窗
? 布莱克曼( Blackman)窗
? 凯泽( Kaiser)窗
15
几种常用的窗函数
? 矩形窗
1 0 1()
0
nNwn ? ? ???
?? 其 它
? ?
? ?
s i n 2()
s i n 2R
NW ??
?
?
16
三角( Bartlett)窗
? 三角( Bartlett)窗
210
12()
2121
12
nN n
Nwn
nN nN
N
?? ??
?? ?
? ?
?? ? ? ? ?
? ??
21 sin( 2 ) 1
( ),sin( 2 ) 2jBr NNW e MM? ?? ???
17
汉宁( Hanning)窗
? 汉宁( Hanning)窗
12( ) 1 c o s,0 1
21
nn n N
N
?? ?? ??? ? ? ? ?????
?????
12( ) 1 c o s ( )
21 R
nw n w n
N
??? ????
???? ?????
22( ) 0, 5 ( ) 0, 2 5
11R R RW W W WNN
??? ? ? ???? ? ? ?? ? ? ? ?? ? ? ???
??? ? ? ???
18
汉明( Hamming)窗
? 汉明( Hamming)窗
2( ) 0, 5 4 0, 4 6 c o s ( )
1
nw n w n
N
??? ???? ??
?? ?????
22( ) 0, 5 4 ( ) 0, 2 3
11R R RW W W WNN
??? ? ? ???? ? ? ?? ? ? ? ?? ? ? ???
??? ? ? ???
19
布莱克曼( Blackman)窗
? 布莱克曼( Blackman)窗
24( ) 0, 4 2 0, 5 c o s 0, 0 8 c o s ( )
11 R
nnw n w n
NN
???? ? ? ? ?? ? ?? ? ? ???
??? ? ? ???
22
( ) 0,42 ( ) 0,25
11
44
0.04
11
R R R
RR
W W W W
NN
WW
NN
??
? ? ? ?
??
??
??? ? ? ?
? ? ? ? ?? ? ? ???
??? ? ? ???
??? ? ? ?
? ? ? ?? ? ? ???
??? ? ? ???
20
凯泽( Kaiser)窗
? 凯泽( Kaiser)窗
2
0
0
2
11
1
()
()
n
I
N
wn
I
?
?
????
??????
???
???
? ? 2
0
1
2( ) 1
!
k
k
xIx
k
?
?
??
?? ??
????
?
21
常用窗函数的波形
22
常用窗函数的频谱
23
用窗函数法设计 FIR滤波器的步骤
? 给出希望设计的滤波器的频率响应函数
Hd(ejω)。
? 根据允许的过渡带宽及阻带衰减,选定
窗函数和 N值。
? 计算 hd(n)
? 如果 Hd(ejω)不能用简单函数表示,可以
用求和代替积分。
1( ) ( )
2
j j n
ddh n H e e d
? ??
? ?? ?? ?
221
0
1( ) ( )M j k j k nMM
dd
k
h n H e eM
???
?
? ?%
24
? 将 hd(n)与窗函数相乘得 FIR数字滤波器
的冲激响应 h(n)
? 计算 FIR数字滤波器的频率响应,并验证
是否达到所要求的指标
1
0
( ) ( )
N
j jn
n
H e h n e??
?
?
?
? ?
25
例 窗函数法设计 FIR滤波器
? 例 8.1 用窗函数法设计线性相位 FIR低通
滤波器,设 N=11,ω=0.2?rad
? 解:理想数字低通滤波器
单位取样响应
0.2()
0 0.2
j
j
d
eHe ??? ??
? ? ?
?? ??
? ? ??
??
? ?s i n ( )()
()
c
d
nhn
n
??
??
??
?
1 ( 1 ) 5
2 N? ? ? ?
? ?s i n 0, 5 ( 5 )()
( 5 )d
nhn
n
?
?
??
?
26
? 要求设计的 FIR数字滤波器的单位取样响
应
? ?s i n 0, 5 ( 5 )( ) ( ) ( ) ( )
( 5 )d
nh n h n w n w n
n
?
?
?? ? ?
?
27
用不同窗函数设计的 FIR滤波器
? 用矩形窗时过渡带最窄,而阻带衰减最小,布
莱克曼窗过渡带最宽,但阻带衰减加大。为保
证有同样的过渡带,必须加大窗口长度 N
28
8.3 利用频域采样法设计 FIR滤波器
? 频域采样法是在频率域对理想滤波器 Hd(ejω)采样,
在采样点上设计的滤波器 H(ejω)和理想滤波器
Hd(ejω)幅度值相等,然后根据频率域的采样值求
得实际设计的滤波器的频率特性 H(ejω)。
? 对理想滤波器的频率特性 Hd(ejω)在 [0,2?]范围内
等间隔地取样 N个点
2( ) ( )
j
a k
N
H k H e ? ?? ??
29
? 根据插值公式
? 频率响应
1
2
0 1
1 ( )()
1
N N
jkk N
z H kHz
N ez?
? ?
? ?
??
?
?
1
0
2( ) ( )Nj
k
H e H k kN? ???
?
?
???? ??
???
( 1 ) 21 s i n ( 2 )()
s i n ( / 2 )
jNN e
N
????
?
???
30
线性相位 FIR滤波器设计
? 当 h(n)是偶对称,h(n)=h(N-n-1),N为奇数。
? H(ω)是 偶对称的
? 对 H(ejω)在 [0,2?]范围内等间隔地取样 N个点
1
2( ) ( )
Nj
jH e H e ?? ?
??
?
( ) ( 2 )HH? ? ???
2()k k
N
HH ??? ??
1 2 11
2k
N kk
NN
????? ? ? ?? ? ? ? ?? ? ? ?
? ? ? ?
k N kHH ??
31
滤波器性能的改进
? 采用频域取样法设计的 FIR数字滤波器在阻带
内的衰减很小,在实际应用中往往达不到要求。
? 产生这种现象的原因是由于在通带边缘采样点
的陡然变化而引起的起伏振荡。
? 增加阻带衰减的方法是在通带和阻带的边界处
增加一些过渡的采样点,从而减小频带边缘的
突变,也就减小了起伏振荡,增大了阻带最小
衰减。
32
33
8.4 FIR数字滤波器的优化设计
? FIR滤波器的优化设计采用“最大误差最小化”
的优化准则,根据滤波器的设计指标,导出一组
条件,要求在此条件下,在整个逼近的频带范围
内使得逼近误差绝对值的最大值为最小,从而得
到唯一的最佳解。
? 可以证明,采用最大误差最小化准则得到的最优
滤波器,在通带和阻带内必然呈等纹波特性。
? 最大误差最小化准则也称为切比雪夫准则。
? 采用切比雪夫准则设计的滤波器,误差在整个频
带均匀分布,对同样的技术指标,这种逼近法需
要的滤波器阶数低,而对同样的滤波器阶数,这
种逼近法的最大误差最小。
34
切比雪夫最佳一致逼近法准则
? 设所希望设计的滤波器幅度函数为
? 设计一个 FIR滤波器,其幅度函数 Hg(?)在通带
和阻带内最佳地一致逼近 Hd(?)
? 在滤波器的设计中,通带和阻带的要求是不一
样的,为了统一使用最大误差最小化准则,通
常采用误差加权函数的形式。
1,0()
0,
p
d
s
H ??? ? ? ????? ? ??
?
( ) ( ) ( ) ( )dgE W H H? ? ? ????? ??
35
? 为了保证设计出的滤波器具有线性相位,h(n)
必须满足线性相位条件。
? 以 h(n)为偶对称且 N为奇数为例
? 误差加权函数
? ? ( 1 ) 2 ()j j NH e e H?? ????
0
1( ) ( ) c o s ( ) M =
2
M
n
NH a n n??
?
?? ?
0
( ) ( ) ( ) ( ) c o s ( )
M
d
n
E W H a n n? ? ? ?
?
????
?????
36
? 用函数 H(?)最佳一致逼近 Hd(?)的问题是寻找
系数 a(n),n=0,1,…,M,使加权误差函数 E(?)
的最大绝对值达到最小。
m i n m a x ( )
A
E
?
?
?
????
37
交错点阻定理
? H(?)是 Hd(?)的最佳一致逼近的充要条件是误差
函数 E(?)在 A上至少呈现 M+2个“交错”,使得
? 如果已知 A上的 M+2个交错点频率,
? ? ? ?1??? ii EE ??
? ? ? ?| | m a x | |i AEE ?????
0 1 2 1,M A? ? ? ? ??? ? ? ?L
0 1 1,,,M? ? ? ?L
? ? ? ? ? ? ? ?
0
c o s 1
M k
k d k
n
W H a n n? ? ? ?
?
??? ? ???
?? ?
? ?m a x | |A E?????
38
? 用矩阵表示
? 求解方程组,得到系数 a(n)和最大加权误差 ?,
由此确定最佳滤波器 H(?)
? ?
? ?
? ?
? ?
? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
2
222
1
111
0
000
1
c o s2c o sc o s1
1
c o s2c o sc o s1
1
c o s2c o sc o s1
1
c o s2c o sc o s1
M
M
MMM
W
M
W
M
W
M
W
M
?
???
?
???
?
???
?
???
?
?????
?
?
?
? ?
? ?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
M
a
a
a
a
?
2
1
0
? ?
? ?
? ?
? ?
? ??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?1
2
1
0
Md
Md
d
d
d
H
H
H
H
H
?
?
?
?
?
?
39
? 实际中交错点组的频率 是不
知道的
? Remez迭代算法
? 在频域等间隔取 M+2个频率
作为交错点的初始值,计算 ?值。
0 1 1,,,M? ? ? ?L
0 1 1,,,M? ? ? ?L
?
?
?
?
?
?
?
?
1
0
1
0
)(/)1(
)(
M
k
kk
k
M
k
kdk
Wa
Ha
?
?
?
? ? ? ?
?? ?
??
1
,0 c o sc o s
11 M
kii ki
k
ka ??
40
? 利用拉格朗日 (Lagrange)插值公式,求出
H(?)
? 把 H(?)代入误差函数,求得 E(?) 。
0
0
c o s c o s
()
c o s c o s
M
k
k
k k
M
k
k k
c
H
?
??
?
?
??
?
?
??
??
???
?
?
?
?
? ? ? ? ? ? MkWHC
k
k
kdk,,1,0,1 ????? ?
??
? ? ?
?? ?
?? M
kii ki
k
k
,0 c o sc o s
11
???
41
? 如果对所有的频率都有,说明 ?是纹波
的极值,频率 是交错点组频率。
? 在某些频率可能,需要交换初始交
错点组中的某些点,形成一组新的交错点组。
? 对上次确定的 中每一点,都检查
其附近是否存在某一频率,如存在,
在该点附近找出局部极点值,并用该点代替原
来的点。
? 待 M+2个点都检查过,便得到新的交错点组,
再次求 ?,H(?)和 E(ω),于是完
成了一次迭代,也就完成了一次交错点组的交
换。
()E ???
0 1 1,,,M? ? ? ?L
()E ???
0 1 1,,,M? ? ? ?L
()E ???
0 1 1,,,M? ? ? ?L
42
? 利用同样的方法,把各频率处使 的
点作为新的局部极值点,从而又得到一组新
的交错点组。
? 重复以上步骤,因为新的交错点组的选择都
是作为每一次求出的 E(ω)的局部极值点,
因此,在迭代中,每次的 |?|都是递增的。 ?
最后收敛到自己的上限,此时 H(ω)最佳一
致逼近 Hd(ω) 。
()E ???
43
Remez算法流程图
44
线性相位 FIR滤波器四种形式的统一表示
? H(n)为偶对称,N为奇数
? H(n)为偶对称,N为偶数
? H(n)为奇对称,N为奇数
? H(n)为奇对称,N为偶数
0
1( ) ( ) c o s,
2
M
n
NH a n n M??
?
????
0
1( ) ( ) c o s,
22
M
n
NH b n n M??
?
??? ? ???
???
0
1( ) ( ) s i n,
2
M
n
NH c n n M??
?
????
0
1( ) ( ) s i n ( ),
22
M
n
NH d n n M??
?
? ? ??
45
? H(ω)可以统一表示为
( ) ( ) ( )H Q P? ? ??
46
系数之间的关系
1
( 1 ) ( 0 ) ( 1 )
2
1
( ) ( 1 ) ( )
2
1
( ) ( 1 )
2
2,3,,1
b b b
b n b n b n
b M b M
nM
?
??
?
?
? ??
? ? ??
??
?
?
???
?
? ???
%%
%%
%
L
? ?
1
( 1 ) ( 0) ( 2)
2
1
( ) ( 1 ) ( 1 )
2
1
( 1 ) ( 2)
2
1
( ) ( 1 )
2
2,3,,2
c c c
c n c n c n
c M c M
c M c M
nM
?
??
?
?
?
? ? ? ?
?
?
?
? ? ?
?
?
?
??
?
?
???
%%
%%
%
%
L
1
( 1 ) ( 0) ( 1 )
2
1
( ) ( 1 ) ( )
2
1
( ) ( 1 )
2
2,3,,1
d d d
d n d n d n
d M d M
nM
?
??
?
?
? ??
? ? ??
??
?
?
???
?
? ???
%%
%%
%
L
47
? 加权误差函数
? ? ()( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )()dd HE W H P Q W Q PQ ?? ? ? ? ? ? ? ????? ? ? ?????
? ( ) ( ) ( )W W Q? ? ??
()? ()
()
d
d
HH
Q
??
?
?
? ?( ) ( ) ( ) ( )dE W H P? ? ? ???????
48
8.5 IIR与 FIR数字滤波器的比较
? IIR滤波器存在着输出对输入的反馈,因此可以用比
FIR滤波器少的阶数来满足技术指标,这样,IIR滤波
器所用的存储单元和所需的运算次数都比 FIR滤波器少。
? 例如用频率抽样法设计阻带衰减为- 20dB的 FIR滤波
器,其阶数要 33阶才能达到要求,而如果用双线性变
换法设计一个切比雪夫 IIR滤波器,只需 4-5阶就可以
达到同样的指标,所以 FIR滤波器的阶数要高 5- 10倍。
? FIR滤波器可得到严格的线性相位,而 IIR滤波器则做
不到这一点。 IIR滤波器的选频特性越好,则相位的非
线性就越严重。如果要求 IIR滤波器具有线性相位,同
时又要求它满足幅度要求,那么就必须用一个全通网
络进行相位校正,这必然会大大增加滤波器的节数和
复杂性。因此在需要严格线性相位的情况下应该选择
FIR滤波器。
49
? IIR滤波器必须采用递归结构实现,只有当所
有极点都在单位圆内时滤波器才是稳定的。但
实际中由于存在有限字长效应,滤波器有可能
变得不稳定。而 FIR滤波器主要采用非递归结
构,因而从理论上以及从实际的有限精度的运
算中,都是稳定的。另外,FIR滤波器可以采
用快速傅立叶变换( FFT)来实现,在相同阶
数下,运算速度可以快得多
50
? IIR滤波器可利用模拟滤波器现成的设计公式、
数据和表格,因而计算工作量较小,对计算工
具要求不高。 FIR滤波器没有现成的设计公式,
窗函数法只给出窗函数的计算公式,但计算通
带和阻带衰减仍无显式表达式。一般,FIR滤
波器的设计只有计算机程序可以利用,因此对
计算工具要求较高,要借助计算机来设计。另
外,IIR滤波器主要是设计规格化的、频率特性
为分段常数的标准低通、高通、带通、带阻和
全通滤波器,而 FIR滤波器可设计出理想正交
变换器、理想微分器、线性调频器等各种网络,
适应性较广。
51
8.6 FIR数字滤波器的 Matlab仿真实现
? 窗函数法设计 FIR滤波器
? FIR滤波器的优化设计
52
8.6.1 窗函数法设计 FIR滤波器
? 窗函数法是通过对理想滤波器的单位取
样响应加窗来逼近理想滤波器的。
? 函数 fir1用于设计标准的低通、带通、高
通和带阻滤波器。
53
函数 fir1的调用格式
? 函数 fir1的调用格式为
? >> b= fir1(n,Wc,'ftype',Windows)
? 其中,n为滤波器阶数,Wc为截止频率
? ftype决定滤波器类型,ftype= high,设计高通 FIR
滤波器,ftype= stop,设计带阻 FIR滤波器。
? Windows指定窗函数类型,默认为 Hamming窗;
可选 Hanning,Hamming,Blackman,triangle、
bartlett和 boxcar窗,每种窗都可以由 Matlab的相
应函数生成。
54
例:设计 butterworth低通滤波器
例 8.3 设计一个 15阶 FIR低通滤波器, 截止
频率为 0.2π 。
? >>b= fir1(15,0.2);
? freqz(b,1,512);
?函数 freqz(b,a,N)用于计算由 a和 b构成的数字
滤波器的频率响应,并用图形方式分别表示其幅
度响应和相位响应。
55
例 8.3 程序运行结果
程序运行结果如图 8.13所示 。
56
8.6.2 FIR滤波器的优化设计
? 前面介绍了 FIR滤波器的优化设计方法,通过
迭代的方法求解 FIR滤波器,过程十分复杂。
? 在 Matlab中,可以调用函数 remez实现滤波器
的设计。
? >>b= remez(n,f,m)
? 函数 remez采用 Parks-McClellan算法设计
线性相位 FIR滤波器,n为滤波器阶数,其
幅频特性由 f和 m指定。
57
例,设计带通滤波器
例 8.4 采用 Parks-McClellan算法设计一个 17阶带
通滤波器, 并画出期望的幅频特性曲线和实际的
幅频特性曲线,
? 程序段为
? >>f= [0 0.3 0.4 0.6 0.7 1];
? m= [0 0 1 1 0 0];
? b= remez(17,f,m);
? [h,w]= freqz(b,1,512);
? plot(f,m,w/pi,abs(h));
58
例 8.4 程序运行结果
程序运行结果如图 8.14所示 。
有限脉冲响应数字滤波器的设计
2
本章目录
? 利用窗函数法设计 FIR滤波器
? 利用频域采样法设计 FIR滤波器
? FIR数字滤波器的优化设计
? IIR与 FIR数字滤波器的比较
? FIR数字滤波器的 Matlab仿真实现
3
? FIR数字滤波器的差分方程为
? 对应的系统函数为
? IIR数字滤波器设计过程中只考虑了幅频特性,
没有考虑相位特性,所设计的滤波器相位特性
一般是非线性的。
? 为了得到线性相位特性,则要采用全通网络进
行相位校正。
0
( ) ( )
M
i
i
y n b x n i
?
???
0
() M ii
i
H z b z ?
?
? ?
8.1 引言
4
? FIR数字滤波器很容易得到严格的线性相位。
? FIR数字滤波器的单位脉冲响应是有限长的,
因此总是稳定的。
? FIR滤波器的设计方法,
? 窗函数法
? 频率取样法
? 等纹波逼近法
5
? 设计思想
寻找一个 FIR滤波器,使其频率响应 H(ejω)逼
近理想 FIR滤波器的频率响应 Hd(ejω),
? 一般情况下,Hd(ejω)在边界频率处有不连续
点,因此 hd(n)是无限长的,且是因果的。
? 设计方法是用窗函数 w(n)对 hd(n)进行截取
( ) ( ) ( )dh n h n w n?
8.2 利用窗函数法设计 FIR滤波器
6
? 理想低通滤波器的频率响应
? 单位取样响应
() 0
j
cj
d
c
eHe ??? ??
? ? ?
?? ??
? ? ??
??
? ?s i n ( )1()
2 ( )
c
c
cj j n
d
nh n e e d
n
? ? ? ?
?
???
? ? ?
?
?
?? ? ?
??
7
? 将 hd(n)截取长度为 N的一段,构成 h(n)
? 为了保证设计的滤波器具有线性相位,必须满
足对称性要求
? 可以将 h(n)看作是 hd(n)与矩形窗 wR(n)相乘
( ) 0 1()
0
dh n n Nhn ? ? ??? ?
? 其 它
1
2
N? ?=
( ) ( ) ( )dRh n h n w n?
8
窗函数设计法的频域解释
? 时域加窗
? 频域卷积
( ) ( ) ( )dRh n h n w n?
? ?? ?11( ) ( ) ( ) ( )
22
jj j j j
d R d RH e H e W e H e W e d
? ??? ? ? ?
? ???
?
?? ? ? ?
9
窗函数
? 时域表示
? 频域表示
? 幅度
? 相位
1 0 1()
0R
nNwn ? ? ???
?
? 其 它
11
2
0
s in ( 2 )()
s in ( 2 )
NN j
j j n
R
n
NW e e e ??? ?
?
???? ? ??
? ??
?
???
s i n ( 2 )()
s i n ( 2 )R
NW ??
??
1
2
N? ??
10
FIR滤波器的幅频特性
? FIR滤波器的幅频特性
11( ) ( ) ( ) ( ) ( )
22
j j j j
d R d RH e H e W e e H W
?? ? ? ? ?
? ? ? ???
?
?
??? ? ? ???
???
1( ) ( ) ( )
2 dRH H W
?
?? ? ? ?? ????
11
理想低通与矩形窗频谱函数卷积过程
12
加窗对 Hd(ω)的影响
? 在理想特性不连续点 ωc附近形成过渡带。过滤
带的宽度近似等于 WR(θ)主瓣宽度,
Δω=4π/N 。
? 通带内增加了波动,最大的峰值在 ωc- 2π/N
处。阻带内产生了余振,最大的负峰在
ωc+2π/N处。通带与阻带中波动的情况与窗函
数的幅度谱有关。 WR(θ)波动愈快(加大时),
通带与阻带内波动愈快,WR(θ)旁瓣的大小直
接影响波动的大小。
? 这些影响是对 hd(n)加矩形窗引起的,称之为
吉布斯效应 。
13
减小吉布斯效应的方法
? 增加矩形窗口的宽度 N不能减少吉布斯效应的
影响。
N的改变只能改变 ω坐标的比例和 的绝对
大小,不能改变主瓣和旁瓣幅度相对值。加大
N并不是减少吉布斯效应的有效方法。
? 寻找合适的窗函数形状,使其谱函数的主瓣包
含更多的能量,相应旁瓣幅度就变小了;旁瓣
的减少可使通带与阻带波动减少,从而加大阻
带的衰减。但这样总是以加宽过渡带为代价的。
s i n / 2 s i n/2() N xR xWN ??? ??( )
()RW ?
14
几种常用的窗函数
? 矩形窗
? 三角( Bartlett)窗
? 汉宁( Hanning)窗
? 汉明( Hamming)窗
? 布莱克曼( Blackman)窗
? 凯泽( Kaiser)窗
15
几种常用的窗函数
? 矩形窗
1 0 1()
0
nNwn ? ? ???
?? 其 它
? ?
? ?
s i n 2()
s i n 2R
NW ??
?
?
16
三角( Bartlett)窗
? 三角( Bartlett)窗
210
12()
2121
12
nN n
Nwn
nN nN
N
?? ??
?? ?
? ?
?? ? ? ? ?
? ??
21 sin( 2 ) 1
( ),sin( 2 ) 2jBr NNW e MM? ?? ???
17
汉宁( Hanning)窗
? 汉宁( Hanning)窗
12( ) 1 c o s,0 1
21
nn n N
N
?? ?? ??? ? ? ? ?????
?????
12( ) 1 c o s ( )
21 R
nw n w n
N
??? ????
???? ?????
22( ) 0, 5 ( ) 0, 2 5
11R R RW W W WNN
??? ? ? ???? ? ? ?? ? ? ? ?? ? ? ???
??? ? ? ???
18
汉明( Hamming)窗
? 汉明( Hamming)窗
2( ) 0, 5 4 0, 4 6 c o s ( )
1
nw n w n
N
??? ???? ??
?? ?????
22( ) 0, 5 4 ( ) 0, 2 3
11R R RW W W WNN
??? ? ? ???? ? ? ?? ? ? ? ?? ? ? ???
??? ? ? ???
19
布莱克曼( Blackman)窗
? 布莱克曼( Blackman)窗
24( ) 0, 4 2 0, 5 c o s 0, 0 8 c o s ( )
11 R
nnw n w n
NN
???? ? ? ? ?? ? ?? ? ? ???
??? ? ? ???
22
( ) 0,42 ( ) 0,25
11
44
0.04
11
R R R
RR
W W W W
NN
WW
NN
??
? ? ? ?
??
??
??? ? ? ?
? ? ? ? ?? ? ? ???
??? ? ? ???
??? ? ? ?
? ? ? ?? ? ? ???
??? ? ? ???
20
凯泽( Kaiser)窗
? 凯泽( Kaiser)窗
2
0
0
2
11
1
()
()
n
I
N
wn
I
?
?
????
??????
???
???
? ? 2
0
1
2( ) 1
!
k
k
xIx
k
?
?
??
?? ??
????
?
21
常用窗函数的波形
22
常用窗函数的频谱
23
用窗函数法设计 FIR滤波器的步骤
? 给出希望设计的滤波器的频率响应函数
Hd(ejω)。
? 根据允许的过渡带宽及阻带衰减,选定
窗函数和 N值。
? 计算 hd(n)
? 如果 Hd(ejω)不能用简单函数表示,可以
用求和代替积分。
1( ) ( )
2
j j n
ddh n H e e d
? ??
? ?? ?? ?
221
0
1( ) ( )M j k j k nMM
dd
k
h n H e eM
???
?
? ?%
24
? 将 hd(n)与窗函数相乘得 FIR数字滤波器
的冲激响应 h(n)
? 计算 FIR数字滤波器的频率响应,并验证
是否达到所要求的指标
1
0
( ) ( )
N
j jn
n
H e h n e??
?
?
?
? ?
25
例 窗函数法设计 FIR滤波器
? 例 8.1 用窗函数法设计线性相位 FIR低通
滤波器,设 N=11,ω=0.2?rad
? 解:理想数字低通滤波器
单位取样响应
0.2()
0 0.2
j
j
d
eHe ??? ??
? ? ?
?? ??
? ? ??
??
? ?s i n ( )()
()
c
d
nhn
n
??
??
??
?
1 ( 1 ) 5
2 N? ? ? ?
? ?s i n 0, 5 ( 5 )()
( 5 )d
nhn
n
?
?
??
?
26
? 要求设计的 FIR数字滤波器的单位取样响
应
? ?s i n 0, 5 ( 5 )( ) ( ) ( ) ( )
( 5 )d
nh n h n w n w n
n
?
?
?? ? ?
?
27
用不同窗函数设计的 FIR滤波器
? 用矩形窗时过渡带最窄,而阻带衰减最小,布
莱克曼窗过渡带最宽,但阻带衰减加大。为保
证有同样的过渡带,必须加大窗口长度 N
28
8.3 利用频域采样法设计 FIR滤波器
? 频域采样法是在频率域对理想滤波器 Hd(ejω)采样,
在采样点上设计的滤波器 H(ejω)和理想滤波器
Hd(ejω)幅度值相等,然后根据频率域的采样值求
得实际设计的滤波器的频率特性 H(ejω)。
? 对理想滤波器的频率特性 Hd(ejω)在 [0,2?]范围内
等间隔地取样 N个点
2( ) ( )
j
a k
N
H k H e ? ?? ??
29
? 根据插值公式
? 频率响应
1
2
0 1
1 ( )()
1
N N
jkk N
z H kHz
N ez?
? ?
? ?
??
?
?
1
0
2( ) ( )Nj
k
H e H k kN? ???
?
?
???? ??
???
( 1 ) 21 s i n ( 2 )()
s i n ( / 2 )
jNN e
N
????
?
???
30
线性相位 FIR滤波器设计
? 当 h(n)是偶对称,h(n)=h(N-n-1),N为奇数。
? H(ω)是 偶对称的
? 对 H(ejω)在 [0,2?]范围内等间隔地取样 N个点
1
2( ) ( )
Nj
jH e H e ?? ?
??
?
( ) ( 2 )HH? ? ???
2()k k
N
HH ??? ??
1 2 11
2k
N kk
NN
????? ? ? ?? ? ? ? ?? ? ? ?
? ? ? ?
k N kHH ??
31
滤波器性能的改进
? 采用频域取样法设计的 FIR数字滤波器在阻带
内的衰减很小,在实际应用中往往达不到要求。
? 产生这种现象的原因是由于在通带边缘采样点
的陡然变化而引起的起伏振荡。
? 增加阻带衰减的方法是在通带和阻带的边界处
增加一些过渡的采样点,从而减小频带边缘的
突变,也就减小了起伏振荡,增大了阻带最小
衰减。
32
33
8.4 FIR数字滤波器的优化设计
? FIR滤波器的优化设计采用“最大误差最小化”
的优化准则,根据滤波器的设计指标,导出一组
条件,要求在此条件下,在整个逼近的频带范围
内使得逼近误差绝对值的最大值为最小,从而得
到唯一的最佳解。
? 可以证明,采用最大误差最小化准则得到的最优
滤波器,在通带和阻带内必然呈等纹波特性。
? 最大误差最小化准则也称为切比雪夫准则。
? 采用切比雪夫准则设计的滤波器,误差在整个频
带均匀分布,对同样的技术指标,这种逼近法需
要的滤波器阶数低,而对同样的滤波器阶数,这
种逼近法的最大误差最小。
34
切比雪夫最佳一致逼近法准则
? 设所希望设计的滤波器幅度函数为
? 设计一个 FIR滤波器,其幅度函数 Hg(?)在通带
和阻带内最佳地一致逼近 Hd(?)
? 在滤波器的设计中,通带和阻带的要求是不一
样的,为了统一使用最大误差最小化准则,通
常采用误差加权函数的形式。
1,0()
0,
p
d
s
H ??? ? ? ????? ? ??
?
( ) ( ) ( ) ( )dgE W H H? ? ? ????? ??
35
? 为了保证设计出的滤波器具有线性相位,h(n)
必须满足线性相位条件。
? 以 h(n)为偶对称且 N为奇数为例
? 误差加权函数
? ? ( 1 ) 2 ()j j NH e e H?? ????
0
1( ) ( ) c o s ( ) M =
2
M
n
NH a n n??
?
?? ?
0
( ) ( ) ( ) ( ) c o s ( )
M
d
n
E W H a n n? ? ? ?
?
????
?????
36
? 用函数 H(?)最佳一致逼近 Hd(?)的问题是寻找
系数 a(n),n=0,1,…,M,使加权误差函数 E(?)
的最大绝对值达到最小。
m i n m a x ( )
A
E
?
?
?
????
37
交错点阻定理
? H(?)是 Hd(?)的最佳一致逼近的充要条件是误差
函数 E(?)在 A上至少呈现 M+2个“交错”,使得
? 如果已知 A上的 M+2个交错点频率,
? ? ? ?1??? ii EE ??
? ? ? ?| | m a x | |i AEE ?????
0 1 2 1,M A? ? ? ? ??? ? ? ?L
0 1 1,,,M? ? ? ?L
? ? ? ? ? ? ? ?
0
c o s 1
M k
k d k
n
W H a n n? ? ? ?
?
??? ? ???
?? ?
? ?m a x | |A E?????
38
? 用矩阵表示
? 求解方程组,得到系数 a(n)和最大加权误差 ?,
由此确定最佳滤波器 H(?)
? ?
? ?
? ?
? ?
? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
1
2
222
1
111
0
000
1
c o s2c o sc o s1
1
c o s2c o sc o s1
1
c o s2c o sc o s1
1
c o s2c o sc o s1
M
M
MMM
W
M
W
M
W
M
W
M
?
???
?
???
?
???
?
???
?
?????
?
?
?
? ?
? ?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
M
a
a
a
a
?
2
1
0
? ?
? ?
? ?
? ?
? ??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?1
2
1
0
Md
Md
d
d
d
H
H
H
H
H
?
?
?
?
?
?
39
? 实际中交错点组的频率 是不
知道的
? Remez迭代算法
? 在频域等间隔取 M+2个频率
作为交错点的初始值,计算 ?值。
0 1 1,,,M? ? ? ?L
0 1 1,,,M? ? ? ?L
?
?
?
?
?
?
?
?
1
0
1
0
)(/)1(
)(
M
k
kk
k
M
k
kdk
Wa
Ha
?
?
?
? ? ? ?
?? ?
??
1
,0 c o sc o s
11 M
kii ki
k
ka ??
40
? 利用拉格朗日 (Lagrange)插值公式,求出
H(?)
? 把 H(?)代入误差函数,求得 E(?) 。
0
0
c o s c o s
()
c o s c o s
M
k
k
k k
M
k
k k
c
H
?
??
?
?
??
?
?
??
??
???
?
?
?
?
? ? ? ? ? ? MkWHC
k
k
kdk,,1,0,1 ????? ?
??
? ? ?
?? ?
?? M
kii ki
k
k
,0 c o sc o s
11
???
41
? 如果对所有的频率都有,说明 ?是纹波
的极值,频率 是交错点组频率。
? 在某些频率可能,需要交换初始交
错点组中的某些点,形成一组新的交错点组。
? 对上次确定的 中每一点,都检查
其附近是否存在某一频率,如存在,
在该点附近找出局部极点值,并用该点代替原
来的点。
? 待 M+2个点都检查过,便得到新的交错点组,
再次求 ?,H(?)和 E(ω),于是完
成了一次迭代,也就完成了一次交错点组的交
换。
()E ???
0 1 1,,,M? ? ? ?L
()E ???
0 1 1,,,M? ? ? ?L
()E ???
0 1 1,,,M? ? ? ?L
42
? 利用同样的方法,把各频率处使 的
点作为新的局部极值点,从而又得到一组新
的交错点组。
? 重复以上步骤,因为新的交错点组的选择都
是作为每一次求出的 E(ω)的局部极值点,
因此,在迭代中,每次的 |?|都是递增的。 ?
最后收敛到自己的上限,此时 H(ω)最佳一
致逼近 Hd(ω) 。
()E ???
43
Remez算法流程图
44
线性相位 FIR滤波器四种形式的统一表示
? H(n)为偶对称,N为奇数
? H(n)为偶对称,N为偶数
? H(n)为奇对称,N为奇数
? H(n)为奇对称,N为偶数
0
1( ) ( ) c o s,
2
M
n
NH a n n M??
?
????
0
1( ) ( ) c o s,
22
M
n
NH b n n M??
?
??? ? ???
???
0
1( ) ( ) s i n,
2
M
n
NH c n n M??
?
????
0
1( ) ( ) s i n ( ),
22
M
n
NH d n n M??
?
? ? ??
45
? H(ω)可以统一表示为
( ) ( ) ( )H Q P? ? ??
46
系数之间的关系
1
( 1 ) ( 0 ) ( 1 )
2
1
( ) ( 1 ) ( )
2
1
( ) ( 1 )
2
2,3,,1
b b b
b n b n b n
b M b M
nM
?
??
?
?
? ??
? ? ??
??
?
?
???
?
? ???
%%
%%
%
L
? ?
1
( 1 ) ( 0) ( 2)
2
1
( ) ( 1 ) ( 1 )
2
1
( 1 ) ( 2)
2
1
( ) ( 1 )
2
2,3,,2
c c c
c n c n c n
c M c M
c M c M
nM
?
??
?
?
?
? ? ? ?
?
?
?
? ? ?
?
?
?
??
?
?
???
%%
%%
%
%
L
1
( 1 ) ( 0) ( 1 )
2
1
( ) ( 1 ) ( )
2
1
( ) ( 1 )
2
2,3,,1
d d d
d n d n d n
d M d M
nM
?
??
?
?
? ??
? ? ??
??
?
?
???
?
? ???
%%
%%
%
L
47
? 加权误差函数
? ? ()( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )()dd HE W H P Q W Q PQ ?? ? ? ? ? ? ? ????? ? ? ?????
? ( ) ( ) ( )W W Q? ? ??
()? ()
()
d
d
HH
Q
??
?
?
? ?( ) ( ) ( ) ( )dE W H P? ? ? ???????
48
8.5 IIR与 FIR数字滤波器的比较
? IIR滤波器存在着输出对输入的反馈,因此可以用比
FIR滤波器少的阶数来满足技术指标,这样,IIR滤波
器所用的存储单元和所需的运算次数都比 FIR滤波器少。
? 例如用频率抽样法设计阻带衰减为- 20dB的 FIR滤波
器,其阶数要 33阶才能达到要求,而如果用双线性变
换法设计一个切比雪夫 IIR滤波器,只需 4-5阶就可以
达到同样的指标,所以 FIR滤波器的阶数要高 5- 10倍。
? FIR滤波器可得到严格的线性相位,而 IIR滤波器则做
不到这一点。 IIR滤波器的选频特性越好,则相位的非
线性就越严重。如果要求 IIR滤波器具有线性相位,同
时又要求它满足幅度要求,那么就必须用一个全通网
络进行相位校正,这必然会大大增加滤波器的节数和
复杂性。因此在需要严格线性相位的情况下应该选择
FIR滤波器。
49
? IIR滤波器必须采用递归结构实现,只有当所
有极点都在单位圆内时滤波器才是稳定的。但
实际中由于存在有限字长效应,滤波器有可能
变得不稳定。而 FIR滤波器主要采用非递归结
构,因而从理论上以及从实际的有限精度的运
算中,都是稳定的。另外,FIR滤波器可以采
用快速傅立叶变换( FFT)来实现,在相同阶
数下,运算速度可以快得多
50
? IIR滤波器可利用模拟滤波器现成的设计公式、
数据和表格,因而计算工作量较小,对计算工
具要求不高。 FIR滤波器没有现成的设计公式,
窗函数法只给出窗函数的计算公式,但计算通
带和阻带衰减仍无显式表达式。一般,FIR滤
波器的设计只有计算机程序可以利用,因此对
计算工具要求较高,要借助计算机来设计。另
外,IIR滤波器主要是设计规格化的、频率特性
为分段常数的标准低通、高通、带通、带阻和
全通滤波器,而 FIR滤波器可设计出理想正交
变换器、理想微分器、线性调频器等各种网络,
适应性较广。
51
8.6 FIR数字滤波器的 Matlab仿真实现
? 窗函数法设计 FIR滤波器
? FIR滤波器的优化设计
52
8.6.1 窗函数法设计 FIR滤波器
? 窗函数法是通过对理想滤波器的单位取
样响应加窗来逼近理想滤波器的。
? 函数 fir1用于设计标准的低通、带通、高
通和带阻滤波器。
53
函数 fir1的调用格式
? 函数 fir1的调用格式为
? >> b= fir1(n,Wc,'ftype',Windows)
? 其中,n为滤波器阶数,Wc为截止频率
? ftype决定滤波器类型,ftype= high,设计高通 FIR
滤波器,ftype= stop,设计带阻 FIR滤波器。
? Windows指定窗函数类型,默认为 Hamming窗;
可选 Hanning,Hamming,Blackman,triangle、
bartlett和 boxcar窗,每种窗都可以由 Matlab的相
应函数生成。
54
例:设计 butterworth低通滤波器
例 8.3 设计一个 15阶 FIR低通滤波器, 截止
频率为 0.2π 。
? >>b= fir1(15,0.2);
? freqz(b,1,512);
?函数 freqz(b,a,N)用于计算由 a和 b构成的数字
滤波器的频率响应,并用图形方式分别表示其幅
度响应和相位响应。
55
例 8.3 程序运行结果
程序运行结果如图 8.13所示 。
56
8.6.2 FIR滤波器的优化设计
? 前面介绍了 FIR滤波器的优化设计方法,通过
迭代的方法求解 FIR滤波器,过程十分复杂。
? 在 Matlab中,可以调用函数 remez实现滤波器
的设计。
? >>b= remez(n,f,m)
? 函数 remez采用 Parks-McClellan算法设计
线性相位 FIR滤波器,n为滤波器阶数,其
幅频特性由 f和 m指定。
57
例,设计带通滤波器
例 8.4 采用 Parks-McClellan算法设计一个 17阶带
通滤波器, 并画出期望的幅频特性曲线和实际的
幅频特性曲线,
? 程序段为
? >>f= [0 0.3 0.4 0.6 0.7 1];
? m= [0 0 1 1 0 0];
? b= remez(17,f,m);
? [h,w]= freqz(b,1,512);
? plot(f,m,w/pi,abs(h));
58
例 8.4 程序运行结果
程序运行结果如图 8.14所示 。