FIR数字滤波器设计 下载本文

式中,H(z)为h(n)的z变换,?0k,?1k,?2k为实数。级联型结构如图2-2所示:

x(n)?01z?1z?1?02z?1z?1?N??0???2?y(n)?11?12z?1?1?N???2??Nz?1?2????2??

?21?22图2-2 FIR滤波器的级联型结构

该结构的优点:调整零点比直接型方便。

缺点:H(z)中的系数比直接型多,因而需要的乘法器多。当H(z)的阶次高时,也不易分解。

3.线性相位型结构

FIR滤波器的线性相位结构有偶对称和奇对称,不论h(n)为偶对称还是奇对称都有:

当N为偶数时,系统函数为

N?12n?0H(z)??h(n)?z?n?z?(N?1?n)? (2-7)

当N为奇数时,系统函数为

H(z)??h(n)?zn?0N?12?n?z?(N?1?n)??h???N2?N?1????1??2?? (2-8) ?z?对这两种情况,都可以用FIR直接型实现,其信号流图如图2-3所示。

x(n)z?1?z?1z?1y(n)b?0?z?1h?1?z?1?H?h??1??2?

(a)N为偶数

6

x(n)z??z?1z?1z?1y(n)b?0?z?1h?1??H?h??1??2?

(b)N为奇数 图2-3 线性相位型结构

这种结构在本质上是直接型,但乘法次数比直接型省了一半。

4.频率采样型

频率采样型结构是一种用系数将滤波器参数化的一种实现结构。一个有限长序列可以由相同长度频域采样值惟一确定。

系统函数在单位圆上作N等分取样就是单位取样相应h(n)的离散傅里叶变换

H(k)。H(k)与系统函数之间的关系可用内插公式表示:

H(k) (2-9) H(z)?(1)(1?z?N)?k?1N1?WZN式中 Hc(z)?1?z?N

Hk(z)?H(k) ?k?11?WNZ这样,H(z)是由梳状滤波器Hc(z)和N个一阶网络Hk(z)的并联结构进行级联而成的,其网络结构(信号流图)如图2-3所示。Hc(z)是一个梳妆网络,其零点为

?kWN?exp(jk2?), k= 0, 1,2…,N-1 N刚好和极点一样,等间隔地分布在单位圆上。理论上,极点和零点相互抵消,保证了网络的稳定性。

7

x(n)H(0)y(n)1N?z?N0WNz?1H(1)?1WNz?1H(N-1)?N?1WNz?1

图2-5 FIR滤波器的频率采样结构

频率采样结构的优点:

1)在频率采样点?k,H(ej?k)?H(k),只要调整H(k)就可以有效地调整频响特性。

2)只要h(n)长度N相同,对于任何频响,其梳状滤波器部分和N个一阶网络部分完全相同,只是各支路增益H(k)不同。相同部分便于标准化、模块化。

缺点:

1)寄存器长度都是有限的,零、级点可能不能正好抵消,造成系统不稳定。2)当N很大时,其结构很复杂,需要的乘法器和延时单元很多。

8

3 FIR数字滤波器设计

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()是凯泽窗函数,使在设计的过程中,不用自己重新设计窗函数。

Simulink是MATLAB众多工具包中的一员,对于建模,Simulink提供了一个图形化的用户界面(GUI)。Simulink包括一个复杂的由接收器、信号源、线性和非线性组件以及连接件组成的模块库。定义完一个模型后,就可以通过Simulink的菜单或者在MATLAB的命令窗口输入命令对它进行仿真。使用Scopes或者其他的显示模块,可以在运行仿真时观察到仿真的结果。另外,还可以在仿真时改变参数,并且立即就可看到变化。

3.1 窗函数法设计FIR数字滤波器

设我们所要设计的FIR滤波器的传输函数是Hd(ej?),hd(n)是与其对应的单位脉冲响应,因此

?Hd(ej?)?n????j?nh(n)e (3-1) ?d1hd(n)?2?????Hd(ej?)ej?nd? (3-2)

如果我们能够在Hd(ej?)已知的情况下,求出hd(n),经过Z变换可得到滤波器的系统函数。通常情况下理想数字滤波器的单位脉冲相应hd(n)是无限长的,且是非

9