基于MATLAB和双线性变换法的IIR数字滤波器设计与仿真

2012-03-18 08:11黄永平李彩霞田晓燕
河北软件职业技术学院学报 2012年2期
关键词:比雪夫阻带低通滤波器

黄永平,李彩霞,田晓燕

(河北大学 电子信息工程学院,河北 保定 071002)

0 引言

IIR(无限长单位脉冲响应)数字滤波器可以借助模拟滤波器的理论和设计方法来设计,模拟滤波器的设计理论比较成熟,有比较简单的、现成的设计公式和图表,根据设计指标,利用设计手册进行设计,方便准确,设计工作量较小。根据模拟滤波器的设计理论设计数字滤波器有两种方法:脉冲响应不变法和双线性变换法。脉冲响应不变法虽然可以保持数字滤波器时域瞬态的特性,但是时域采样会造成频域的混叠失真,不能用来设计高通和带阻滤波器;双线性变换法不会产生频率特性的混叠失真,可以设计低通、高通、带通、带阻等各种类型的数字滤波器,而且可以通过采样预畸变的方法克服模拟频率和数字频率非线性关系造成的幅频特性失真,设计方法简单,应用普遍、有效。

MATLAB是由美国MathWorks公司推出的软件产品,是一款功能强、效率高、可视化,便于进行科学和工程计算的交互式软件包,其中包含的各种函数可以为数字信号处理的各项内容快捷、方便地提供正确的答案和直观的图形显示。本文通过MATLAB的GUI功能设计制作,在设计的GUI界面,选择滤波器的性能指标参数,通过运行编写的程序可以得到所设计滤波器的系统函数、幅频特性、相位特性等相关数据和图形以及给定信号滤波前后的频率特性等,进而更好地分析滤波器的性能。

1 MATLAB中用双线性变换法设计IIR数字滤波器的步骤

双线性变换法是根据指标求出模拟滤波器传递函数,再经过双线性变换,带入变换公式求出数字滤波器的系统函数。该方法通过频率预畸变使数字滤波器的频率响应逼近模拟滤波器的频率响应。

(2)利用函数如buttord、buttap等求模拟低通原型传递函数;

(3)利用函数如lp2hp、lp2bs等将模拟低通原型转换成实际模拟滤波器;

(4)利用双线性变换法函数bilinear将模拟滤波器转换成数字滤波器。

2 设计过程及设计界面

在MATLAB中打开GUI设计的图形界面,然后拖入所要的图形控件,修改控件的外观和空间属性。本设计共包括三个界面:模拟原型滤波器选择界面、巴特沃思滤波器和切比雪夫滤波器设计界面。

(1)模拟低通原型滤波器选择界面(如图1所示),用于选择原始的模拟低通原型,即巴特沃斯类型或切比雪夫类型;选择低通原型后点击“确定”按钮,进入相应的设计界面。

图1 模拟原型滤波器选择界面该设计界面

(2)巴特沃思滤波器和切比雪夫滤波器设计界面(如图2所示),用于进行滤波器的设计和仿真。包含以下四个区域:

1)参数设定区:由静态文本框和编辑框组成,实时地进行系统参数的设定。

2)对象模型区:由下拉菜单选定数字滤波器类型即Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)四种类型。当用户输入的参数发生变化时,可通过单击响应的“确定”按钮,实现设计结果的实时刷新与显示。

3)数据显示区:对应于图形显示结果,实时显示滤波器阶次和分子分母多项式系数。

4)图形区:用于显示各模块的仿真曲线。

在该界面中,在下拉菜单中选择滤波器类型,在参数输入中,可输入滤波器通带临界频率(wp1)、滤波器阻带临界频率(ws2)、通带内的最大衰减(rp)、阻带内的最大衰减(rs)、抽样频率(fs)。点击“确定”以后,在界面中部上方可以显示出所设计的滤波器阶数、滤波器系统函数的分子及分母系数、滤波器的幅频响应,以及滤波器对任意信号滤波后的频谱图(本设计中任意信号只包含频率30Hz、60Hz和90Hz)。主要程序如下:

图2 巴特沃思及切比雪夫低通滤波器设计界面

3 仿真结果(以低通滤波器为例)

(1)用巴特沃斯滤波器设计,在“滤波器类型”中选择lowpass,输入参数通带临界频率、滤波器阻带临界频率、通带内的最大衰减、阻带内的最大衰减、抽样频率分别为50、80、0.2、20、200,点击“确定”按钮后,界面如图2所示。

由图2可知,设计的数字滤波器阶数是4,相应的传递函数为:

此低通滤波器的通带及阻带的截止频率是50Hz和80Hz,滤波器的幅频特性如上,对比通过滤波器前后的任意波形的频率特性可以看出,信号中频率为60Hz的部分幅度有些衰减,频率为30Hz的部分完全通过了滤波器,频率为90Hz的部分完全被滤波器截止了。实验验证了所设计的低通滤波器满足指标要求。

(2)用切比雪夫滤波器设计,在“滤波器类型”中选择lowpass后,输入同样的参数,按下“确定”按钮后,界面如图2所示。

由图2可知设计出的滤波器阶数是3,相应的传递函数为:

波形通过滤波器后,频率中90Hz的部分完全得到了抑制,频率为30Hz的部分完全通过了滤波器,频率为60Hz的部分幅度衰减,相比于巴特沃斯滤波器频率为60Hz的部分衰减的幅度更大,从而可知设计出的低通滤波器效果更好,但是阶数稍高些。

4 结论

传统的数字滤波器设计工作量很大,而利用MATLAB的信号处理工具箱,结合双线性变换法可以快速、直观、有效地实现IIR数字滤波器的设计与仿真。图形用户界面的应用可以通过修改不同的参数实现满足不同指标要求的数字滤波器设计任务,并可对相同指标、不同类型的滤波器性能进行比较,从中选优。而且,如果让学生对所设计的界面和源程序加以改进,可以使学生更好地理解双线性变换法设计数字滤波器的基本理论和基本方法,同时,可以用其他方法通过修改函数进行滤波器设计,从而培养学生综合运用知识的能力和创新能力。

[1]周利清,苏菲.数字信号处理基础(第2版)[M].北京:北京邮电大学出版社,2008.

[2]李芬华,常铁原,等.数字信号处理[M].北京:中国计量出版社,2007.

[3]唐向宏,岳恒立,等.MATLAB及在电子信息类课程中的应用[M].北京:电子工业出版社,2006.

[4]陈杰.MATLAB宝典[M].北京:电子工业出版社,2007.

猜你喜欢
比雪夫阻带低通滤波器
基于瞬时无功理论的谐波检测中低通滤波器的改进
第四类切比雪夫型方程组的通解
一种改进的最大信杂比MTD滤波器设计算法
二维周期介质阻带分析与应用研究
基于方差的切比雪夫不等式的推广及应用
基于切比雪夫有理逼近方法的蒙特卡罗燃耗计算研究与验证
切比雪夫多项式零点插值与非线性方程求根
后置低通滤波器对冲击负荷电能计量的影响
一种基于互补环缝谐振器抑制SSN的新方法
点火电路中低通滤波器的接地对其性能的影响