FIR数字滤波器的基本原理及设计方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 FIR 数字滤波器的基本原理及设计方法
有限长单位脉冲响应数字滤波器(FIRDF ,Finite Impulse Response Digital Filter )的最大优点是可以实现线性相位滤波。而IIRDF 主要对幅频特性进行逼近,相频特性会存在不同程度非线性。我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱范围内系统幅频响应为常数,相频响应具有线性相位。在数字通信和图像处理与传输等应用场合都要求滤波器具有线性相位特性。另外FIRDF 是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。所以,FIRDF 是一种很重要的滤波器,在数字信号处理领域得到广泛应用。当幅频特性指标相同时,FIRDF 的阶数比IIRDF 高的多,但是同时考虑幅频特性指标和线性相位要求时,IIRDF 要附加复杂的相位校正网络,而且难以实现严格线性相位特性。所以,在要求线性相位滤波的应用场合,一般都用FIRDF 。
FIRDF 的设计方法主要有两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法,频率采样法和等波纹最佳逼近法。第二类是最优设计法,我们主要讨论第一类设计法,侧重与滤波器的设计方法和相应的MATLAB 工具箱函数的介绍。
FIR 数字滤波器的设计方法有窗函数法、频率采样法和基于firls 函数和remez 函数的最优化方法。MATLAB 语言中的数字信号处理工具箱,提供了一些滤波器的函数,使FIR 滤波器的运算更加方便和快捷。在MATLAB 中提供的滤波函数有fir1(),此函数以经典的方法实现加窗线性相位FIR 数字滤波器设计,可以设计出低通、高通、带通和带阻滤波器;fir2函数设计的FIR 滤波器,其滤波的频率特性由矢量f 和m 决定,f 和m 分别为滤波器的期望幅频响应的频率相量和幅值相量。Firls()和remez()的基本格式用于设计I 型和II 型线性相位FIR 滤波器,I 型和II 型的区别是偶函数还是奇函数。freqz()用于求数字滤波器的频率响应。并且提供了各种窗函数的函数,比如,hamming()是海明窗函数,hanning()是汉宁窗函数,kaiser()是凯泽窗函数,使在设计的过程中,不用自己重新设计窗函数。
1.1 窗函数法设计FIR 数字滤波器
设我们所要设计的FIR 滤波器的传输函数是d H (e j ),d h (n)是与其对应的单位脉冲响应,因此
∑∞
-∞
=-=
n n
j d
j d e n h
e
H ωω
)()( (1-1) 1
()()2j j n d d h n H e e d π
ωωπ
ωπ
-
=
⎰ (1-2)
如果我们能够在)(ωj d e H 已知的情况下,求出)(n h d ,经过Z 变换可得到滤波器的系统函数。通常情况下理想数字滤波器的单位脉冲相应)(n h d 是无限长的,且是非因果序列。获得有限脉冲响应滤波器的一种可能方法是对)(n h d 截取一段
)(n h 来近似代替)(n h d ,可是这样会改变原来的滤波器指标,出现吉布斯效应误
差。
窗函数法就是用被称为窗函数的有限加权序列w(n)来修正式(1)的傅里叶基数以求得要求的有限脉冲响应序列)(n h ,即
)()()(n w n h n h d = (1-3)
w(n)是有限长序列,当n<0或n>N-1时,w(n)=0。
这种方法的重点在于选择某种合适的窗函数。要求窗函数主瓣宽度尽可能窄,以获得最小的过渡带;旁瓣相对值尽可能小,以使得通带波纹小,并且阻带衰减大。
下面介绍几种常用的窗函数: 1.矩形窗(Rectangle Window )
()()R N w n R n = (3-4)
其频率函数为:
1
2sin(/2)()sin(/2)
N j j R N W e e ωω
ωω--= (3-5)
2.三角形窗(Bartlett Window)
21,0(1)12
()212,(1)112Br n
n N N w n n N n N N ⎧≤≤-⎪⎪-=⎨⎪--<≤-⎪-⎩
(3-6)
其频率函数为:
2
1()2
2sin(/4)()sin(/2)N j j Br N W e e N ωωωωω--+⎡⎤=⎢⎥⎣⎦
(3-7) 3.汉宁(Hanning )窗,又称升余弦窗
12()1cos()()21Hn N n w n R n N π⎡⎤
=
-⎢⎥-⎣⎦
(3-8) 利用傅里叶变换得到频率函数为:
121
2
22()0.5()0.25()()11()N j j R R R N j Hn W e W W W e
N N W e
ωω
ω
ππωωωω----⎧⎫⎡
⎤=+-+-⎨⎬⎢⎥--⎣⎦⎩
⎭= (3-9)
当1N
时,1N N -≈,所以窗函数的幅度函数为
22()0.5()0.25()()Hn R R R W W W W N N ππωωωω⎡
⎤=+-++⎢⎥⎣⎦ (3-10)
4.汉明(Hamming )窗,又称改进的升余弦窗
2()0.540.46cos()()1Hm N n w n R n N π⎡
⎤=-⎢⎥-⎣
⎦ (3-11)
其幅度函数为:
22()0.54()0.23()()11Hm R R R W W W W N N ππωωωω⎡
⎤=+-++⎢⎥--⎣
⎦ (3-12)
5.布莱克曼(Blankman )窗,又称二阶升余弦窗
24()0.420.5cos()0.08cos()()11Bl N n n w n R n N N ππ⎡
⎤=-+⎢⎥--⎣⎦ (3-13)
其幅度函数为:
22()0.42()0.25()()11440.04()()11Bl R R R R R W W W W N N W W N N ππωωωωππωω⎡
⎤=+-++⎢⎥
--⎣
⎦⎡
⎤+-++⎢⎥
--⎣
⎦ (3-14)
6.凯泽(Kaiser )窗
0()01k w n n N =≤≤- (3-15)