·上一文章:多谐振荡器的研究与仿真
·下一文章:基于全相位幅频特性补偿的FIR滤波器设计
2 IIR滤波器的MATLAB实现
模拟型滤波器的设计过程,步骤繁琐,计算量大。在MATLAB中,我们可以直接根据所给定的数字滤波器指标调用特定的函数来确定滤波器的系统函数。具体实现过程如下(程序的主要部分,且只返回数字滤波器的阶数和截止
频率):
为调用阶数选择函数,下面的指标已经把Wp和Ws对π进行了归一化,且函数中返回的频率也是归一化频率。
同理可实现ChebyshevI、ChebyshevII、ellipSe数字滤波器。Butterworth型和ellipke型系统的幅频和相频特性如图l;ChebyshevI与ChebyshevII系统的幅频和相频特性如图2(频率为对π归一化频率)。
3 结论
从图中我们可以看出,ButterWorth滤波器的频率特性是平坦的,没有出现波动,即幅度随着频率单调递减,它的相频特性接近于分段特性。而椭圆滤波器幅频特性存在着波纹(图中由于坐标比例的关系,只能画出通带波纹,阻带波纹则无法显示);同时,它不具备线性相位特性。两种契比雪夫滤波器的频率特性如图所示。从中可知道,这两种滤波器的幅频特性都有着波动(其中,由于CII型滤波器是在阻带中出现等波动,因此无法表示出来),它们不具备线性相位特性。
为了比较这四种滤波器的性能高低,我们比较了实现相同的指标所需的最低滤波器阶数:Nbutt=14;Nchebl=8;Ncheb2=8;Nelli=6。
这样可以清楚地看出:ButterWorth滤波器需要最高的阶数14;两种契比雪夫滤波器所需要的阶数是一样的8阶,说明它们具有相同的性能;而椭圆滤波器具有最小的阶数4,说明它的性能在这个意义上是最优的。