-1-题目基于MATLAB的IIR数字滤波器内容摘要数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语言、雷达等领域都有着十分广泛的应用。尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就、鉴于此,数字滤波器的设计就显得尤为重要。根据IIR滤波器的特点,在MATLAB坏境下用双线性变换法设计IIR数字滤波器。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。关键词双线性变换法;数字滤波器;MATLAB;IIR一、MATLAB软件简介MATLAB是英文MatrixLaboratory(矩阵实验室)的缩写。它是由美国Mathworks公司推出的用于数值计算和图形处理的数学计算环境。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。它优秀的数值计算能力和卓越的数据可视化能力使其很快在同类软件中脱颖而出。MATLAB系统最初是由CleveMoler用FORTRAN语言设计的,-2-现在的MATLAB程序是Mathworks公司用C语言开发的。它的第一版(DOS版本1.0)发行于1984年;经过20年的不断改进,MATLAB已经成为国际上最流行的科学与工程计算的软件工具,最流行的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。MATLAB语言的功能也越来越强大,不断适应新的要求提出新的解决方法。可以预见,在科学运算、自动控制与科学绘图领域MATLAB语言将长期保持其独一无二的地位。MATLAB语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同其他语言的特点。1.语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开了繁杂的子程序编程任务,压缩了一切不必要的编纂工作。由于库函数都是由本领域的专家编写,所以用户不必担心函数的可靠性。2.运算符号丰富。由于MATLAB是用C语言编写的,所以MATLAB提供了C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。3.高效方便的矩阵和数组运算。MATLAB语言像Basic、Fortran、C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,另外,它不需要定义数组的唯数,并给出矩阵函数、特殊矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、-3-建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。在此基础上,高版本的MATLAB已逐步发展到科学及工程计算的其它领域。因此,不久的将来,它一定能名副其实地成为“万能演算纸式的”科学算法语言。4.MATLAB即具有结构化的控制语句,又有面向对象编成的特性。5.语法限制不严格,程序设计自由度大。为了充分利用Fortran、C等语言的资源,包括用户已编好的Fortran、C语言程序,通过建立M文件的的形式,混合编程,方便地调用有关的Fortran、C语言的子程序。6.程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。7.MATLAB的图形功能强大。在C和FORTRAN语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。此外,MATLAB还具有较强的编辑图形界面的能力。8.MATLAB具有的一项重要特色是拥有功能强大的工具箱。MATLAB包含两个部分;核心部分和各种可选的工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实施交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的;如Controltoolbox、Signalprocessingtoolbox、Communicationtoolbox等,这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基-4-础程序,而直接进行高、精、尖的研究。9.源程序的开放性。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改变的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。MATLAB软件自1984年推向市场以来,历经十几年的发展和竞争,现已成为(IEEE评述)国际公认的最优秀的科技应用软件。它功能强大、界面友好、语言自然、开放性强的特点是它获得了对应用学科(特别是边缘学科和交叉学科)的季强是盈利,并且很快成为应用学科计算机辅助分析、设计、仿真、教学乃至科技文字处理不可缺少的基础软件。在欧美等高校,MATLAB已成为理工科高级课程的基本工具,成为攻读学位的大学生、硕士生、博士生必须掌握的技能。在设计研究单位和工业部门,MATLAB已经成为研究和解决各种具体工程问题的一种标准软件。近年来该软件系统开始在我国国内流行。受到理工科大中专院校释省级科研人员的重视,这也是本文选择用它来设计实现数学滤波器原因所在。二、数字滤波器及其MATLAB实现数字滤波器是数字信号处理中最重要的组成部分之一。在许多科学技术领域中,广泛使用滤波器对信号进行了处理。滤波器是一种选频装置,它对某一个或几个频率范围(频带)内的电信号给以很小的衰减:使这部分信号能够顺利通过,对其它频带内的电信号则给以很大的衰减,从而尽可能地阻止这部分信号的通过。通过滤波器时不经受衰减或经受很小的衰减的频带称为通带,经受的衰减超过某一规定值-5-的频带称为阻带,位于通带和阻带之间的频带称为过渡带。于是,根据通带的不同,滤波器可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。此外,根据它所处理的信号型类,滤波器又可分为模拟滤波器和数字滤波器,模拟滤波器用来处理连续信号,而数字滤波器用来处理离散信号,后者是在前者基础上发展起来的。数字滤波器与模拟滤波器比较,其主要优点精度和稳定性高,系统函数容易改变,因而灵活性高,不存在阻抗匹配问题,便于大规模集成,可以实现多维滤波。因此,目前在诸如通信、雷达、遥感、声纳、卫星通信、宇宙航行、测量、语言和生物医学等科学领域的信号处理中,已经运用了数字滤波技术,而且随着大规模集成电路技术和数字计算技术的发展,它的应用会越来越广泛。数字滤波器实际上就是一种数字信号处理系统的算法或设备。数字滤波器实际上是一种运算过程,数字滤波器的功能是将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,因此它本身就是一台数字式的处理设备。数字滤波器的基本原理是:先利用取样开关和模拟——数字转换器将一个联系性的信号转换成数字信号。在数字计算器中完成所要求的传输函数运算之后,再通过数字——模拟转换器和保持电路,使信号形成最后要求的波形。数字滤波器一般可用两种方法实现:一种是根据描述数字滤波器的数字模型或信号流图,用数字硬件装配成一台专门的设备,构成专用的信号处理机,这就是硬件实现方式;另一种方法就是直接利用通用计算机,将所需要的运算编成程序来让计算机来执行,这就是软件-6-实现方式。在硬件实现方式中,是一数字组件如延迟器、加法器和乘法器作为基本部件构成专用数字信号处理系统。不像模拟滤波器需要用电感和电容元件,因此数字信号处理机很容易用数字集成电路来制成,而且它的转移函数可变,各回路之间不存在阻抗匹配问题,因此可以很容易做成最佳冲激响应和恒定延迟的线性相移网络。在软件实现方式中,它是借助于通用计算机机器语言、汇编语言或高级语言程序来做数字滤波器的运算过程。三、数字滤波器的设计原理3.1设计原理滤波器的种类很多,从功能上可分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器两种形式。如果滤波器的输人和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。数字滤波器也是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字-7-滤波器。IIR数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型来实现,其差分方程为:(1-1)(1-2)设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。本次课程设计采用双线性变换法。3.2设计步骤(1)将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;(2)根据转换后的技术指标设计模拟低通滤波器H(s);(3)在按一定规则将H(s)转换为H(z);若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通滤波器H(s),-8-再将H(s)转换为所需的H(z)。四、设计方案IIR数字滤波器是一种离散时间系统,其系统函数为(1-3)假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。实现IIR数字滤波器的设计有双线性变换法和脉冲响应不变法两种基本方案,现在就对两种基本方案的优劣进行具体论证,从而说明选择方案二的理由。方案一:脉冲响应不变法设计IIR数字滤波器脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),即将ha(t)进行等间隔采样,使h(n)正好等于ha(t)的采样值,满足h(n)=ha(nT)式中,T是采样周期。如图1所示。如果令Ha(s)是ha(t)的拉普拉斯变换,H(z)为h(n)的Z变换,利用采样序列的Z变换与模拟信号的拉普拉斯变换的关系得(1-4)可看出,脉冲响应不变法将模拟滤波器的S平面变换成数字滤波器的Z平面,这个从s到z的变换z=esT是从S平面变换到Z平面的标准变换关系式。kTjsXTjksXTzXkaskaezsT21)(1)(-9-j3/T/T-3/T-/Too-11jIm[z]Re[z]Z平面S平面图1脉冲响应不变法的映射关系由(1-4)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为(1-5)这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即(1-6)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即|ω|π(1-7)但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图2所示。这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。TkjHTeHkaj21)(2||sT0)(jHaTjHTeHaj