基于Matlab的IIR数字滤波器设计方法比较及应用
扫描二维码
随时随地手机看文章
0 引言
数字滤波器(Digital Filter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。
实现数字滤波器的方法有两种,一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二是设计专用的数字处理硬件。这个地方主要用到的就是第一种方法。即是用Mafiab提供的信号处理工具箱来实现数字滤波器。
Matlab信号处理工具箱提供了丰富的设计方法,可以使得繁琐的程序设计简化成函数的调用,只要以正确的指标参数调用函数,就可以正确快捷地得到设计结果。
1 IIR数字滤波器设计方法比较
1.1 概述
IIR数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。
对于IIR数字滤波器的设计具体步骤如下:
(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。
(2)根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。
(3)再按照一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数)。若设计的数字滤波器是低通的,上述的过程可以结束,若设计的是高通、带通或者是带阻滤波器,那么还需要下面的步骤:
将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通G(s),再将G(s)转换为H(z)。
Matlab信号工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用这些函数就可以很方便地对滤波器进行设计。这里选取巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、椭圆法四种方法进行比较。给出用上述方法设计数字滤波器的函数如下:
其中:Wp表示通带截止频率;Ws表示阻带截止频率;Rp表示通带纹波系数;Rs表示阻带纹波系数;N表示滤波器最小阶数;Wn表示截止频率。b,a分别表示阶次为N+1的数字滤波器系统传递函数的分子和分母多项式系数向量;Fs为采样频率;n为在区间[O Fs]频率范围内选取的频率点数;f记录频率点数。n取2的幂次方,可以提高运算的速度,因为freqz函数采用基2的FFT算法。ftype=high时,为高通滤波器;ftype=bandpass时,为带通滤波器;ftype=stop时,为带阻滤波器。
1.2 四种设计方法比较
(1)在低通滤波器中的比较
假如:Wp=20 Hz,Ws=50 Hz,Fs=200,Rp=1 dB,Rs=30 dB,分别用Butterworth低通滤波器、Chebyshev I型低通滤波器、ChebyshevⅡ型低通滤波器、椭圆低通滤波器四种方法进行设计,如图1所示。
(2)在高通滤波器中的比较
假如:Wp=50 Hz,Ws=20 Hz,Fs=200,Rp=1 dB,Rs=30 dB,分别用Butterworth高通滤波器、Chebyshev I型高通滤波器、ChebyshevⅡ型高通滤波器、椭圆高通滤波器四种方法进行设计,如图2所示。
(3)在带通滤波器中的比较
假如:Wp=[100,200],Ws=[50,250],Rp=3 dB,Rs=30 dB,Fs=1 000,分别用Butterworth带通滤波器、Chebyshev I型带通滤波器、ChebyshevⅡ型带通滤波器、椭圆带通滤波器四种方法进行设计,如图3所示。
(4)在带阻滤波器中比较
假如:Wp=[100,200],Ws=[50,250],Rp=3 dB,Rs=30 dB,Fs=1 000,分别用Butterworth带阻滤波器、Chebyshev I型带阻滤波器、ChebyshevⅡ型带阻滤波器、椭圆带阻滤波器四种方法进行设计,如图4所示。
1.3 比较结果分析
通过对各种类型的滤波器通过不同的方法进行设计,可以使一些结论得到验证。利用Butterworth滤波器、Chebysheve I型滤波器、Che-bysheveⅡ型滤波器、椭圆滤波器都可以进行低通、高通、带通、带阻滤波器的设计,但是各有特点。Butterworth滤波器通带内的幅频响应曲线能得到最大限度的平滑,但牺牲了截止频率的坡度。
Chebysheve I型滤波器通带内等波纹,阻带内单调;ChebysheveⅡ型滤波器通带内单调,然而阻带内等波纹;椭圆滤波器阻带和通带内都是等波纹的,但下降的坡度更大,而且可以以更低的阶数实现和其他两类滤波器一样的性能指标。
2 IIR数字滤波器应用
假定信号的采样频率是600 Hz,输入信号的频率为100 Hz,180 Hz和250 Hz的合成正弦波信号f(t)=sin(200πt)+sin(360πt)+sin(500πt),通过截止频率是120 Hz的巴特沃斯低通滤波器,通过滤波前后频谱的对比,可以发现信号通过滤波器后,两个高频的信号180 Hz和250 Hz的正弦信号被滤掉,达到了滤波的效果。
图5和图6给出了巴特沃斯低通滤波器滤波前后的频谱图。
依然是上述的条件,如果想保留高频的信号250 Hz的正弦信号,可以通过巴特沃斯高通滤波器,此高通滤波器截止频率为220 Hz,滤波以后的频谱如图7所示,两个低频的信号100 Hz,180 Hz的正弦波信号被滤掉;当预保留100 Hz,250 Hz两个信号后可以通过带阻滤波器滤掉180 Hz的正弦信号,如图8所示;同理如果仅仅保留180 Hz的正弦信号可以通过带通滤波器,而滤掉其他两个信号,如图9所示。
3 结语
滤波是信号处理的基础,滤波运算是信号处理中的基本运算,滤波器的设计也就相应成为数字信号处理的最基本问题之一。信号带有噪声或无用信号,滤波器的作用是将这些干扰成分滤除,也就是让特定频段的信号通过达到对信号筛选的效果。在经典的滤波器中,通过对IIR数字滤波器的设计研究,应用Butterworth滤波器、Chebysheve I型滤波器、Chebysheve II型滤波器以及椭圆滤波器四种形式分别对低通、高通、带通和带阻四种滤波器形式进行比较仿真,得到其不同的仿真特性;选择三个不同频率100 Hz,180Hz和250 Hz的合成正弦波信号:
f(t)=sin(200πt)+sin(360πt)+sin(5007πt)
进行叠加,应用了Butterworth滤波器实现了混合信号频谱的分离,得到了良好的仿真效果。