注意0.1667是1/6的近似值,0.3333是1/3的近似值,所以双线性变换后的数字滤波器的系统函数H (z )为
23
1)3/1(1)1)(6/1()(--++=z
z z H 11、用MATLAB 实现数字滤波器设计
MATLAB 也提供了直接设计IIR 数字滤波器的函数。设计的基本思想是用式(4-103)将数字滤波器的频率指标转化为模拟滤波器的指标,然后设计模拟滤波器,最后用双线性变换把模拟滤波器转换为数字滤波器。由于在设计中用的模拟滤波器的类型不同,所以给出了以下四组不同的函数
BW 型数字低通滤波器
[N,Wc]=buttord(Wp,Ws,Ap,As)
[num,den]=butter(N,Wc)
在函数buttord 函数中,调用参数Wp 、Ws 是数字低通滤波器的归一化的通带和阻带截频。例如要求数字滤波器的ππ4.0,1.0=Ω=Ωs p ,则Wp=0.1,Ws=0.4。Ap 和As 为滤波器的通带和阻带的衰减(dB )。返回的参数为N和Wc ,其中N 为滤波器阶数。
函数butter 中,调用参数N 和Wc 由函数buttord 确定。返回参数num 和den 分别是数字滤波器的分子多项式和分母多项式的系数。
CB I 型数字低通滤波器
[N,Wc]=cheb1ord(Wp,Ws,Ap,As)
[num,den]=cheby1(N,Ap,Wc)
CB II 型数字低通滤波器
[N,Wc]=cheb1ord(Wp,Ws,Ap,As)
[num,den]=cheby1(N,Ap,Wc)
椭圆型数字低通滤波器
[N,Wc]=ellipord(Wp,Ws,Ap,As)
[num,den]=ellip(N,Ap,As,Wc)
利用上述四组MATLAB 函数,也可设计数字高通、带通和带阻滤波器。调用方法可参见MATLAB 手册。