FIR滤波器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章 FIR 滤波器设计

第六章我们介绍了无限冲激响应(IIR)滤波器的设计方法。其中最常用的由模拟滤波器转换为数字滤波器的方法为双线性变换法,因为这种方法无混叠效应,效果较好。但通过前面的例子我们瞧到,IIR 数字滤波器相位特性不好(非线性,如图 6-11、图6-13、图6-15 ),也不易控制。然而在现代信号处理中,例如图像处理、数据传输、雷达接收以及一些要求较高的系统中对相位特性要求较为严格,这种滤波器就无能为力了。改善相位特性的方法就是采用有限冲激响应滤波器。本章首先对FIR 滤波器原理及其使用函数作基本介绍,然后重点介绍窗函数法设计FIR 滤波器,并对最优滤波器设计函数进行介绍。

7、1 FIR 滤波器原理概述及滤波函数

7、1、1 FIR 滤波器原理及设计方法分类

根据第 6 章对数字滤波器的介绍,我们知道FIR 滤波器的传递函数为:

∑-=-==

1

)()()()(N n n z n h z X z Y z H (7-1) 可得FIR 滤波器的系统差分方程为:

∑-=⊗=-=+--++-+=1

)

()()()()

1()1()1()1()()0()(N m n x n b m n x m b N n x N b n x b n x b n y Λ

因此,FIR 滤波器又称为卷积滤波器。根据第 4 章中所描述的系统频率响应,FIR 滤波器的频率响应表达式为:

()∑-=-=1

)(N n jn j e

n b e

H ω

ω

(7-2)

信号通过FIR 滤波器不失真条件与(6-6)式所描述的相同,即滤波器在通带内具有恒定的幅频特性与线性相位特性。理论上可以证明(这里从略):当FIR 滤波器的系数满足下列中心对称条件:

)1()()1()(n N b n b n N b n b ---=--=或 (7-3)

时,滤波器设计在逼近平直幅频特性的同时,还能获得严格的线性相位特性。线性相位FIR 滤波器的相位滞后与群延迟在整个频带上就是相等且不变的。对于一个 N 阶的线性相位FIR 滤波器,群延迟为常数,即滤波后的信号简单地延迟常数个时间步长。这一特性使通带频率内信号通过滤波器后仍保持原有波形形状而无相位失真。

本章主要介绍的FIR 数字滤波器设计方法及 MATLAB 信号处理工具箱提供的FIR 数字滤波器设计函数,见表7-1。由于篇幅所限,本章我们主要介绍窗函数法与最优化设计方法。

表7-1 FIR 滤波器设计的主要方法

7、1、2 FIR 数字滤波器滤波函数

相对于IIR 滤波器的滤波函数,FIR 数字滤波器滤波函数除了dimpulse 与dstep 仅适用于IIR 滤波器外,其她各种函数可直接应用于FIR 滤波器,只就是输入的分母多项式向量a=1。另外,MATLAB 还提供了一个函数fftfilt,该函数利用效率高的基于FFT 算法实现对数据的滤波,该函数只适用于FIR 滤波器,调用形式为:

y=fftfilt(b,x[,n])

式中,b 为FIR 滤波器的系数向量;x 为输入数据;n 为FFT 长度,缺省时,函数选用最佳的FFT 长度,y 为滤波器的输出。该函数执行下面的操作:

n=length(x);

y=ifft(fft(x)、*fft(b,n)、/fft(a,n));

应注意,y=fftfilt(b,x)等价于y=filter(b,a,x)。

7、2 FIR 滤波器的窗函数设计

7、2、1 窗函数的基本原理

FIR 滤波器设计的主要任务就是根据给定的性能指标确定滤波器的系数b,即系统单位脉冲序列h(n),它就是一个有限长序列。

FIR 滤波器的理想频率响应,可写成复数形式的Fourier 级数形式:

()()∑∞

-∞

=-=n n

j d

j d e

n h e

H ωω

(7-4)

式中,h d (n)就是对应的单位脉冲响应序列。这说明滤波器的频率响应与单位脉冲响应互为Fourier 变换对。因此其单位脉冲响应可由下式求得,

()()

⎰-

=

π

π

ωωωπ

d e e H n h n j j d d 21 (7-5)

求得序列()n h d 后,通过z 变换,可得到()z H d ∑∞

-∞

=-=

n n d

d z n h

z H )()( (7-6)

注意,这里()n h d 为无限长序列,因此()z H d 就是物理上不可实现的。如何变成物理上可实现呢?一个自然的想法就是只取其中的某些项,即只截取()n h d 中的一部分,比如n=0,…,N-1,N 为正整数。这种处理相当于将()n h d ,n=-∞~∞与函数w(n)相乘,w(n)具有下列形式:

⎩⎨

⎧<≤≥<=N n N

n n n w 0,

1,0,0)( w(n)相当于一个矩形,我们称之为矩形窗。即我们可采用矩形窗函数w(n)将无限脉冲响应

()n h d 截取一段h(n)来近似为()n h d ,这种截取在数学上表示为:

h(n)= ()n h d w(n) (7-7) 这里应该强调的就是,加窗函数不就是可有可无的,而就是将设计变为物理可实现所必

须的。

截取之后的滤波器传递函数变为:

∑-=-=

1

)()(N n n

z

n h z H (7-8)

式中,N 为窗口宽度,H(z)就是物理可实现系统。

为了获得线性相位,FIR 滤波器h(n)必须满足中心对称条件(即7-3式),序列h(n)的延迟为()2/1-=N α。

这种方法的基本原理就是用一定宽度的矩形窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,从而得到FIR 滤波器的脉冲响应,故称为FIR 滤波器的窗函数设计法。

经过加矩形窗后所得的滤波器实际频率响应能否很好地逼近理想频率响应呢?图 7-1 示意给出了理想滤波器加矩形窗后的情况。理想低通滤波器的频率响应如图中左上角图,矩形窗的频率响应为左下角图。时间域内的乘积(7-7)式要求实际频率响应为这两个频率响应函数在频域内的卷积(卷积定理),即得到图形为图7-1(右图)。

图 7-1 FIR 滤波器理想与实际频率响应

由图可瞧出,加矩形窗后使实际频率响应偏离理想频率响应,主要影响有三个方面:

相关文档
最新文档