关于IIR滤波器的设计心得
对于用双线性变换法来设计数字滤波器而言,由低通指标开始,其设计过程如下:
先低通模拟频率-->数字频率指标-->频率预畸变,得模拟低通指标-->进行模拟逼近,求模拟低通的传输函数-->双线性变换,求得数字低通的传输函数。
如果想了解双线性Z变换下的高通滤波器设计,可参看楼顺天等编著"基于MATLAB的系统分析与设计--信号处理"3.7节,该书中给出了设计的方法,并提供了一些函数。
实际上双线性Z变换法设计IIR数字滤波器并不复杂,只是有点麻烦,花些功夫还是可以搞清的。它是基于模拟的规正的低通滤波器(截止频率为1)变换而来的,在模拟滤波器设计中要把规正的低通滤波器变成非规正的低通、高通、带通和带阻,也是进行一个变换,它的变换公式是用以下S1的关系式代替传递函数中的S:低通滤波S1/wu高通滤波wl/S1带通滤波(S1^2+wu*w)/(S1*(wu-wl))
带阻滤波S1*(wu-wl)/ (S1^2+wu*wl)
例如低通滤波器,用S1/wu=>S.式中wu是低通滤波器的截止频率,或带通/带阻滤波器的高端截止频率;wl是高通滤波器的截止频率,或带通/带阻滤波器的低端截止频率。这样便构成了模拟滤波器的传递函数。
设计双线性数字滤波器首先是要把数字滤波器的频率指标进行卷绕(畸变),因为在S平面中,w是对应于无穷大,但在数字采样以后,频率只在-ws/2至ws/2的范围内,正负无穷大映射到正负ws/2内,频率轴被扭曲了,数字和模拟的频率轴不是线性关系,而是w1=(2/T)tan(wT/2),上提到的wu和wl都要按这公式计算成wu1和wl1.
其次是把(2/T)((1-z^(-1))/ (1+z^(-1)))替代各类滤波器(低通、高通、带通和带阻)传递函数中的S1,再整理合并,便是z^(-1)的传递函数,它分子和分母的系数便是数字滤波器的系数。
- 详解FIR滤波器和IIR滤波器的区别(04-04)