当前位置:文档之家› FIR数字滤波器的基本原理及设计方法

FIR数字滤波器的基本原理及设计方法

第一章 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 nj dj d e n heH ωω)()( (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)其频率函数为:12sin(/2)()sin(/2)N j j R N W e e ωωωω--= (3-5)2.三角形窗(Bartlett Window)21,0(1)12()212,(1)112Br nn N N w n n N n N N ⎧≤≤-⎪⎪-=⎨⎪--<≤-⎪-⎩(3-6)其频率函数为:21()22sin(/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) 利用傅里叶变换得到频率函数为:121222()0.5()0.25()()11()N j j R R R N j Hn W e W W W eN 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)其中:β是一个可自由选择的参数,I 0( x)是第一类修正零阶贝塞尔函数[10]. 上述窗函数的基本参数如下表窗函数法设计滤波器的步骤:1)根据技术要求确定待求滤波器的单位取样响应)(n h d 。

2)根据对过渡带和阻带衰减的要求,选择窗函数的形式,并估计窗口长度N 。

3)计算滤波器的单位取样响应h(n):)()()(n n h n h d ω= (3-16)式中,)(n ω是前面所选择好的窗函数。

4)检验技术指标是否满足要求。

根据下式计算:∑-=-=1)()(N n nj j e n h e H ωω(3-17)如果)(ωj e H 不满足要求,根据具体情况重复步骤(2)(3)(4)步,直到满足要求为止。

本文以一个FIR 滤波器的设计为例说明如何使用MATLAB 设计数字滤波器 设计实例:用窗函数法设计线性相位FIR 低通数字滤波器,要求通带截止频率Wp=0.4*π,阻带截止频率Ws=0.5*π, 通带衰减不大于3db ,阻带衰减不小于40db 。

程序如下: Wp=0.4*pi; Ws=0.5*pi; Wdel=Ws-Wp; N=ceil(8*pi/Wdel);Wn=(0.4+0.5)*pi/2; window=hanning(N+1); b=fir1(N,Wn/pi,window); freqz(b,1,512)程序执行后得幅频和相频如下图所示:-4000-3000-2000-10000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.10.20.30.40.50.60.70.80.91-150-100-50050Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )图1.11.2 频率采样法设计FIR 数字滤波器1.对理想滤波器的系统函数H d (z)进行频率采样以得到系统的理想频响H d (e jw )的等间隔采样值H(k)。

H(k)实际上是所要求的滤波器的单位采样响应(h(n))的离散傅里叶变换(DFT ),如下试:21112sin()212()()()()sin()2N N N j jwjwNk k Nw H e H k w k eH k ew k N N N ππφπ-----===-=-∑∑ (3-18) 211()()N jkn Nk h n H k eNπ-==∑ (3-19)为了减小H (k )的通带边缘由于抽样点的变化而引起的起伏振荡,可以增加过渡点,加宽过渡带以减小通带的起伏。

每一个抽样值产生一个与sin(2Nw )/sin(2w)成正比,并位移(2πk )/N 的频率响应,而H (k )与内插函数的线性组合就是FIR 滤波器的频率响应,增加一点过渡可以使阻带衰减提高到-44~54dB,二点过渡衰减-65~75,三点过渡衰减-85~95dB.如果不能使过渡带太宽,同时要求增大阻带衰减,可以增加取样点数N ,但这样会增加计算量、延时和误差。

频率取样型FIR 滤波器设计步骤: (1)给定理想滤波器频率响应H d (e jw )。

(2)根据过渡带宽和阻带衰减确定过渡点数和h(n)的长度N 。

2/()()|jk N d z e H k H z π== (3-20)(3)由IFFT 计算IDFT 得到:211()()N jkn Nk H n H k eNπ-==∑ (3-21)设计实例:率采样法设计一个带通滤波器,满足:低阻带边缘:w 1s =0.2*π;低通带边缘:w 1p =0.35*π;高通带边缘:w 2p =0.65*π;高阻带边缘:w 2s =0.8*π。

设计过渡带中的频率样本值为t1和t2,取t1=0.109021,t2=0.59417456。

设计程序如下: M=40; al=(M-1)/2; l=0:M-1; t1=0.109021; t2=0.59417456;Hrs=[zeros(1,5),t1,t2,ones(1,7),t2,t1,zeros(1,9),t1,t2,ones(1,7),t2,t1,zeros(1,4)]; k1=0:floor((M-1)/2); k2=floor((M-1)/2)+1:M-1;angh=[-al*(2*pi)/M*k1,al*(2*pi)/M*(M-k2)]; H=Hrs.*exp(j*angh); h=real(ifft(H,M)); freqz(h,1,512,1000)实验得幅频相频特性如下图所示:Frequency (Hz)P h a s e (d e g r e e s )050100150200250300350400450500Frequency (Hz)M a g n i t u d e (d B )图1.21.3等波纹最优化方法设计FIR 数字滤波器在数字信号处理中, 利用数字滤波器可改变信号中所含频率分量的相对比例或滤除某些频率分量, 使其达到所需要的效果. 其中数字FIR 滤波器由于具有精确的线性相位, 且系统稳定, 所以广泛应用于通信、 数字图象处理、 语音信号处理、 自适应处理、 雷达/ 声纳系统等方面. 目前, FIR 滤波器[ 1, 2]的设计主要有窗函数设计法和频率采样设计法. 但是, 这 2 种方法都不易精确控制通带边界频率Wp 与阻带边界频率Ws ,所以, 在实际应用中具有一定的局限性.而以最大误差最小化准则支持的切比雪夫逼近法是一种优异的设计方法, 易于精确控制Wp 与Ws.与窗函数和频率采样法比较,由于这种设计法使最大误差均匀化,所以设计的滤波器性能价格比最高。

相关主题