1、大庆石油学院学院毕业设计(论文)数字滤波器的典型设计学生姓名:*指导教师:*所在学院:*专 业:电气自动化 大庆石油学院中国大庆2009 年 8 月摘要在本文中,我们分别研究了在MATLAB环境下IIR数字滤波器的典型设计和完全设计等方法。典型设计是先按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标,据此产生模拟滤波器原型,然后把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器,最后再把模拟滤波器转换成数字滤波器。 完全设计方法中我们利用函数直接设计出低通、高通、带通和带阻滤波器,并分别用巴特沃斯(Butterworth )滤波器、切比雪夫( Chebyshev )
2、滤波器、椭圆(Cauer )滤波器来实现,并比较了各自的频率响应曲线。 在FIR滤波器的设计中,我们用切比雪夫窗和海明窗设计的带通滤波器的频率响应进行对照,结果表面用海明窗设计的滤波器的频率特性几乎在任何频带上都比切比雪夫窗设计的滤波器的频率特性好,只是海明窗设计的滤波器下降斜度较小。 本文利用不同的滤波器研究了MATLAB环境下的图像处理技术。对一幅加噪声的照片的去噪效果进行了研究。比较去噪效果证明,用小波变换的方法进行去噪,图像处理效果更佳。关键词:数字滤波器,图像处理,小波变换Abstract In this thesis, the typical and complete design
3、s under MATLAB are studied. The typical design gets the technical parameters from digital filters that should bedesigned, and then transformed into the analog parameters of a low-pass analog filterprototype. The prototype is converted into the analog low-pass, high-pass, band-passand the band-stop f
4、ilters respectively, which are transformed into the digital ones. The complete design uses the given functions and releases the low-pass, high-pass,band-pass and the band-stop filters directly. Butterworth, Chebyshev and Caoer filtersare used for the implementations. In the FIR filter designs, Cheby
5、shev and Hamming windows are used for aband-pass filter. Their frequency responses are compared. The advantage of Hammingwindow is shown on all bands. Finally, the image processing functions using filters under MATLAB are studied. The photo is modified with the wavelet transformation, which shows th
6、ebetter effects on reducing noises.Keywords: digital filter, image processing, wavelet transformationAuthor: Chen ChaoDirected by Zhang Hui-Zhen第一章 概述31.1滤波器简介3第二章 数字滤波器72.1 数字滤波器的分类72.2 IIR及FIR滤波器的原理及特点72.3 数字滤波器的设计要求9第3章 IIR滤波器的设计103.1 典型的IIR数字滤波器的设计103.2 完全滤波器设计11第4章 FIR滤波器的设计144.1 窗函数法设计FIR滤波器14
7、4.2 最优等波动设计16总 结18参考文献19致 谢20第一章 概述1.1滤波器简介滤波器是指对输入信号起到滤波作用的系统。如果滤波器的输入和输出都是离散时间信号,则该滤波器的冲激响应也是离散的,称这样的滤波器为数字滤波器。数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入输出都为数字信号,实质上是一个有限精度实现的线性时不变离散系统。数字滤波器(Digital Filter ,简称DF) 是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。它是数字信号处理的重要基础,在对信号的过滤、检测与参数估计等处理过程中,是使用最为广泛的一
8、种线性系统。数字滤波器是指完成信号处理功能的、用有限精度算法实现的离散时间线性非时便系统。其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过数字变换的另一组数字量。它本身既可以是用数字硬件装配而成的一台用于完成给定运算的专用数字计算机,也可以使将所需的运算编成的程序,让通用计算机来执行。传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,在设计滤波器尤其是高阶滤波器时工作量很大。利用MATLAB 滤波器设计分析工具(FDATool)可以快速有效地实现数字滤波器的设计与仿真。数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术实现滤波器的功能愈来
9、愈受到人们的重视,并得到广泛的应用。 数字滤波器有许多不同的分类方法,但总体上可以分成两大类。一类是经典滤波器,即一般的滤波器,特点是输入信号中有用的频率成分和希望滤除的频率成分各占不同的频带;另一类是现代滤波器,特点是有用信号和干扰信号频带有重叠。DF 根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应( IIR) 滤波器和有限长冲激响应(FIR) 滤波器。IIR 滤波器的特征是具有无限持续时间冲激响应。这种滤波器一般需要用递归模型来实现。FIR 滤波器的冲激响应只能持续一定时间,在工程实践中可以采用递归与非递归两种方式实现。IIR 滤波器由于不具备FIR 滤波器所固有的稳定性和设计
10、方法的简单性,所以一般不使用. MA TLAB 所有滤波器设计函数都将返回一个FIR 滤波器. FIR 数字滤波器具有描述方便、系统总是稳定的、易于实现线性相位(图像处理中可防止图像失真) 等特点,所以成为MA TLAB 环境下最理想的滤波工具.FIR 数字滤波器的设计能满足所要求的转移序列或脉冲响应的常数问题,从功能上又可分为低通高通带通和带阻滤波器。如果滤波器的输入和输出都是离散的时间信号, 则该滤波器的冲击响应也必然是离散的, 这种滤波器即为数字滤波器, 它通过时域的采样数据和差分方程来达到滤波目的。数字滤波器的设计方法有多种,如脉冲响应不变法、双线性变换法、窗函数设计法、插值逼近法和C
11、hebyshev 逼近法等等。数字滤波器的数学运算通常有两种实现方式。一种是频域法,即利用FFT快速运算办法对输入信号进行离散傅利叶变换,分析其频谱,然后根据所希望的频率特性进行滤波,再利用傅利叶变换恢复出时域信号。这种方法具有较好的频域选择特性和灵活性,并且由于信号频率与所希望的频谱特性是简单的相乘关系,所以它比计算等价的时域卷积要块得多。另一种方法是时域法,这种方法是通过对离散抽样数据作差分数学运算来达到滤波目的的。数字滤波器的一般设计过程为:(1) 按照实际需要,确定滤波器的性能要求;(2) 用一个因果、稳定的离散线性时不变系统,去逼近这一性能指标;(3) 用有限精度的运算实现所设计的系
12、统;(4) 通过模拟,验证所设计的系统是否符合给定性能要求。数字滤波器的设计要经过如下三个步骤:(1)确定指标:在设计一个滤波器之前, 必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中, 数字滤波器常常被用来实现选频操作。因此, 指标的形式一般在频域中给出幅度和相位响应。(2)模型逼近:一旦确定了技术指标, 就可利用已学习过的基本原理和关系式, 提出一个滤波器模型来逼近给定的指标体系。这是滤波器设计所要研究的主要问题。(3)实现性能分析和计算机仿真:以上两步的结果得到的滤波器, 通常是以差分方程、系统函数或脉冲响应描述的。根据这个描述就可以分析其频率特性和相位特性、以验证设计结
13、果是否满足指标要求; 或者利用计算机仿真实现设计的滤波器, 再分析滤波结果来判断。在数字信号处理中,滤波器占有非常重要的地位。数字滤波器在语音和图像处理、HDTV、模式识别、频谱分析等方面得到广泛应用。与模拟滤波器相比,数字滤波器具有很多突出优点,例如它可以满足滤波器对幅度和相位特性的严格要求,可以避免模拟滤波器所无法克服的电压漂移和噪声问题。数字滤波器的设计,实质上是数学逼近理论的应用,通过计算使物理可实现的实际滤波器频率特性逼近理想的或给定的频率特性,以达到去除干扰提取有用信号的目的。目前,数字信号滤波器的设计图像处理、数据压缩等方面的应用取得了令人瞩目的进展和成就。近年来迅速发展起来的的
14、小波理论,由于其局部分析性能的优异在图像处理中的应用研究,尤其是在图像压缩、图像去噪等方面的应用研究,受到了越来越多的关注。目前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而Matlab 为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。他以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。尤其是Matlab 工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。1.2 MATLAB简介MATLAB 名
15、字由MATrix 和 LABoratory 两词的前三个字母组合而成。那是20 世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler 教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK 和EISPACK 库程序的“通俗易用”的接口,此即用FORTRAN 编写的萌芽状态的MATLAB。经几年的校际流传,在Little 的推动下,由Little、Moler、Steve Bangert 合作,于1984年成立了MathWorks 公司,并把MATLAB 正式推向市场。从这时起,MATLAB 的内核采用C 语言编写,而且除原有的数值计算能力外,还新增了数据
16、图视功能。MATLAB 以商品形式出现后的短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包纷纷淘汰,而改在MATLAB 平台上重建。在时间进入20 世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。到九十年代初期,在国际上30 几个数学类科技应用软件中,MATLAB 在数值计算方面独占鳌头,而Mathematica 和Maple 则分居符号计算软件的前两名。Mathcad 因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。MathWorks 公司于1993 年推出了基于Windows 平台的MATLAB4.0。4.x 版在继承和发展其原有的
17、数值计算和图形可视能力的同时,出现了以下几个重要变化:(1)推出了SIMULINK,一个交互式操作的动态系统建模、仿真、分析集成环境。(2)推出了符号计算工具包。一个以Maple 为“引擎”的Symbolic Math Toolbox 1.0。此举结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。(3)构作了Notebook 。MathWorks 公司瞄准应用范围最广的Word ,运用DDE 和OLE,实现了MATLAB与Word 的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。从1997 年春的5.0 版起,后历经5.1
18、、5.2、5.3、6.0、6.1 等多个版本的不断改进,MATLAB“面向对象”的特点愈加突出,数据类型愈加丰富,操作界面愈加友善。2002 年初夏所推6.5 版的最大特点是:该版本采用了JIT 加速器,从而使MATLAB 朝运算速度与C 程序相比肩的方向前进了一大步。假如说,在上世纪九十年代,新、老一代教科书的区别性标志是“教材是否包含MATLAB内容”,那末进入二十一世纪后,MATLAB 对教材的影响又以崭新的形式出现:新教材正在更彻底地摒弃那些手工计算、计算尺计算、手摇或电动计算机、电子模拟计算机时代建立的“老的但久被当作经典的”表述、分析和计算方法;而逐步地建立以现代计算工具(包括软硬
19、件)为平台的新的表述、分析和计算方法,其中包括采用交互式图形用户界面去完成各种表述、分析和计算目的。MATLAB的推出得到了各个领域的专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。各个领域的专家学者相继推出了MATLAB工具箱,其中主要有信号处理(signal processing),控制系统(control system),神经网络(neural network),图像处理(image processing),鲁棒控制(robust control),非线性系统控制设计(nonlinear control system design),系统辨识(system identif
20、ication),最优化(optimisation),分析与综合(analysis and synthesis),模糊逻辑(fuzzy logic),小波(wavelet),样条(spline)等工具箱,而且工具箱还在不断增加,这些工具箱给各个领域的研究和工程应用提供了有力的工具。借助于这些“巨人肩上的工具”,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间。作为一种非常流行并受广大用户喜爱的科学语言,MATLAB自然有它的独到、超群之处。它的主要特点有:简单易学。与C和Fortran等高级语言相比较,MATLAB语法规则简单,语言思维特点更符合人们在实际应用中的
21、习惯。先进的技术界面支持。MATLAB提供给用户的是一种最简洁、最直观的程序开发环境。用MATLAB编写程序时,就如同在现实中的便笺上列出公式和求解一样,因而MATLAB又被称为“便笺式”的科学工程计算语言。开放式的体系结构。这也是MATLAB得以成功的又一因素。除了内部函数外,所有的MATLAB主包文件和各个工具包文件都是对用户开放的源文件,用户可以通过修改源文件来构成新的适合自己使用的专用工具包。集成了许多领域专家的智慧。MATLAB软件内包含的许许多多工具箱,为使用MATLAB软件的不同领域内的科学研究人员提供了非常便利的捷径。而这些工具箱,都是由各个领域内的专家,根据本领域的实际情况、
22、充分调动本身的积极性而开发的专业性很强的实用软件工具。MATLAB中的核心是一个基于矩阵运算的快速解释程序。它以交互式操作接收用户输入的各项命令,输出计算结果。它提供了一个开放式的集成环境,用户可以运行系统所提供的各种命令,来实现自己所要达到的目标操作。具体来说,MATLAB的主要功能又:强大的数值运算功能;数据可视化功能;动态系统仿真;数据处理;数学计算;数字信号处理与外部应用程序(C和Fortran)进行动态链接等。第二章 数字滤波器2.1 数字滤波器的分类数字滤波器从功能上分类:可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器。从滤波器的网络结构或者从单位脉冲响应分类:可分为IIR滤
23、波器即无限长单位冲激响应滤波器)和FIR滤波器(即有限长单位冲激响应滤波器)。它们的函数分别为: 第一个公式中的H (z)称为N阶IIR滤波器函数,第二个公式中的H (z)称为(N-1)阶FIR滤波器函数。2.2 IIR及FIR滤波器的原理及特点滤波器,顾名思义,就是对系统的输入信号进行滤波。滤波器的输出y(n)与输入x(n)之间的关系是脉冲相应h(n),即如果滤波器的输入输出都为离散信号,那么该滤波器的脉冲响应也一定是离散信号,这样的滤波器称为数字滤波器。上面的系统为时域离散系统时,其频域特性为其中,、 分别是数字滤波器的输出序列和输入序列的频域特性,是数字滤波器的频域响应。可以看出,输入序
24、列的频谱经过滤波后变成了;因此按照输入信号频谱的特点和处理信号的目的适当选择,使得滤波后的满足设计性能要求,就是数字滤波的滤波原理。滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。IIR滤波器一般采用递归型的结构,IIR 数字滤波器是具有无限持续时间冲激响应,需要用递归模型来实现,其差分方程为:数字滤波器是一个离散系统,其系统函数可表示为: (1)如果式(1) 中至少有一个ai 的值不为零,并且分母至少存在一个根不为分子所抵消,那么这种形式的数字滤波器的单位脉冲响应的样值有无限多个,时间长度持续到无限长,称为无限脉冲响应数字滤波器,简称为IIR( Infin
25、ite ImplusResponse) 滤波器。IIR滤波器的设计过程主要就是寻找滤波器的各个系数,使其逼近所要求的特性指标。IIR滤波器的设计方法有两种:一是直接法,也称最优化设计方法,先确定一种最优化准则(均方误差最小准则或最大误差最小化准则) ,再求此最佳准则下的滤波器系数;二是间接法,先设计一个合适的模拟滤波器,然后变换成满足技术指标的数字滤波器。设计原理主要包括两个方面:一是根据设计指标,先设计出相应的模拟滤波器再通过脉冲响应不变法或双线性变换法转换成对应的数字滤波器;二是选择一种优准则,如最小均方准则,再在此准则下求出滤波器传输函数的系数。IIR数字滤波器最大的优点是给定一组指标时
26、,他的阶数要比相同组的FIR滤波器的低得多。FIR滤波器的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数的问题。FIR滤波器的基本结构可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出。FIR滤波器的冲激响应h(n)是有限长的,数学上M阶FIR滤波器可以表示为:其系统函数为:相比之下, FIR比IIR优越, 表现在: FIR滤波的冲激响应是有限长的, 因而可以用快速傅立叶变换算法实现, 这样运算速度比IIR滤波快得多; FIR滤波采用非递归结构, 从理论上以及从实际的有限精度的运算中, 都是稳定的,而且运算误差也较小, 而IIR滤波采用递归结构, 极点必须在Z平
27、面单位圆内才能稳定, 运算中的四舍五入处理时会引起寄生振荡; FIR滤波可以得到严格的线性相位, 而IIR滤波则做不到这一点; IIR滤波主要是用来设计规格化的、频率特性为分段常数的标准低通、高通、带通、带阻和全通滤波器, 而FIR滤波则灵活得多, 可适应各种幅度特性及相位特性的要求, 设计出理想正交变换器、理想微分器、线性调频器等, 同时, FIR滤波可以避免电压漂移、温度漂移和噪声等干扰。从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严
28、重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可以比IIR滤波器高510倍,结果,成本较高,信号延时也较大;如果按相同的选择性和相同的线性要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的节数和复杂性。从结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定。另外,在这种结构中,由于运算过程中对序列的舍入处理,这种有限字长效应有时会引起寄生振荡。相反,FIR滤波器主要采用非递归结构,不论在理论上还是在实际的有限
29、精度运算中都不存在稳定性问题,运算误差也较小。此外,FIR滤波器可以采用快速傅立叶变换算法,在相同阶数的条件下,运算速度可以块得多。从设计工具看,IIR滤波器可以借助于模拟滤波器的成果,因此一般都有有效的封闭形式的设计公式。窗口法虽然仅仅对窗口函数可以给出计算公式,但计算通带阻带衰减等仍无显示表达式。一般,FIR滤波器的设计只有计算程序可循,因此对计算工具要求也较高。另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有片段常数特性的滤波器,如低通、高通、带通及带阻等,往往脱离不了模拟滤波器的格局。而FIR滤波器则要灵活得多,尤其他能易于适应某些特殊的应用,如构成微分器或积分器,或用于
30、巴特沃斯、切比雪夫等逼近不可能达到预定指标的情况,例如,由于某些原因要求三角形振幅响应或一些更复杂的幅频响应,因而又更大的适应性和更广阔的天地。从上面的简单比较我们可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。例如,从使用要求上来看,在对相位要求不敏感的场合,如语言通讯等,选用IIR较为合适,这样可以充分发挥其经济高效的特点,而对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高,如果有条件,采用FIR滤波器较好。当然,在实际应用中要考虑经济上的要求以及计算工具的条件等多方面的因素。2.3 数字滤波器的设计要求滤波器的指标常常在频域给出。数
31、字滤波器的频响特性函数一般为复函数,所以通常表示为 其中,称为幅频特性函数; 称为相频特性函数。幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。一般对II R数字滤波器,通常只用幅频响应函数来描述设计指标,相频特性一般不作要求。而对线性相位特性的滤波器,一般用FIR数字滤波器设计实现。 IIR低通滤波器指标参数和分别为通带边界频率; 和分别为通带波纹和阻带波纹;允许的衰减一般用dB数表示,通带内所允许的最大衰减(dB)和阻带内允许的最小衰减(dB)分别为和表示:一般要求:当时,;当时,。第3章 IIR滤波器的设计3.1 典型的IIR数字滤
32、波器的设计模拟滤波器的理论和设计方法已发展得相当成熟,且有一些典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth )滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer )滤波器、贝塞尔(Bessel )滤波器等,这些典型的滤波器各有特点。用MATLAB进行典型的数字滤波器的设计,一般步骤如下:(1)按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标;(2)根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶数N和固有频率Wn,根据选用的模拟低通滤波器的类型可分别用函数:buttord、cheblord、cheb2ord、ellipord等;(3)运用
33、最小阶数N产生模拟滤波器原型,模拟低通滤波器的创建有:buttap, cheblap, cheb2ap, ellipap, besselap等;(4)运用固有频率W n把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器,可分别用函数lp21p, lp2hp, lp2bp, lp2bs;(5)运用冲激响应不变法或双线性变换法把模拟滤波器转换成数字滤波器,分别用函数impinvar和bilinear来实现。低通Chebyshev I型数字滤波器的设计:设计中需要限定其通带上限临界频率wp,阻带临界滤波频率ws,在通带内的最大衰减rp,阻带内的最小衰减rs设计过程如下:把数字滤波器的频率特征
34、转换成模拟滤波器的频率特征;(例如设定各参数wp=30*2*pi;ws=40*2*pi;Fs=100;rp=0.3;rs=80;)选择滤波器的阶数:N,Wn=cheb1ord(wp,ws,rp,rs,s );创建Chebyshev I型滤波器原型:z,p,k=cheb 1 ap(N,rp);表达形式从零极点增益形式转换成状态方程形式:A,B,C,D=zp2ss(z,p,k);把模拟低通滤波器原型转换成模拟低通滤波器:At, Bt,Ct,Dt=lp21p(A,B,C,D, Wn);表达形式从状态方程形式转换成传递函数形式:num l ,den l=ss2tf(At,Bt,Ct,Dt);采用冲激响
35、应不变法将模拟滤波器转换成数字滤波器:num2,den2=impinvar(numl,denl,100); N, Wn=cheb I ord(wp,ws,rp,rs,s)该函数返回模拟滤波器的最小阶数N和Chebyshev I型固有频率Wn。其中的wp,ws是以弧度为单位。如果rp=3dB,则固有频率Wn等于通带截止频率wp。z,p,k=cheb l ap(N,rp)该函数返回一个N阶Chebyshev I型滤波器的零点、极点和增益。这个滤波器有通带内的最大衰减为rp。Chebyshev I型滤波器的主要特点是在阻带内达到最大平滑。 At, Bt,Ct;Dt=lp21p(A,B,C,D, Wn
36、)该函数把模拟低通滤波器原型转换成截止频率为Wn的低通滤波器。 num2,den2=impinvar(num l ,den 1,Fs)该函数模拟滤波器传递函数形式num1,den1转换为采样频率为Fs的数字滤波器的传递函数形式num2,den2。Fs缺省时默认为1Hz。 H, W=freqz(num2,den2,N)该函数返回数字滤波器的频率响应。当N是一个整数时,函数返回N点的频率向量H和N个点的复频响应向量W。N最好选用2的整数次幂,这样使用FFT进行快速运算。N个频率点均匀地分布在单位圆的上半圆上。系统的N默认值为512。3.2 完全滤波器设计除了典型设计以外,MATLAB信号处理工具箱
37、提供了几个直接设计IIR数字滤波器的函数,直接调用就可以设计滤波器,这为设计通用滤波器提供了方便。 设计Butterworth滤波器用函数butter(),可以设计低通、高通、带通带阻的数字和模拟滤波器,其特性是通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。 设计Chebyshev I型滤波器用函数chebyl()。可以设计低通、高通、带通和带阻的数字和模拟Chebyshev I型滤波器,其通带内为等波纹,阻带内为单调。Chebyshev I型滤波器的下降斜度比II型大,但其代价目是通带内波纹较大。 设计Chebyshev II型滤波器用函数cheby2()。可以设计低通、高通
38、、带通和带阻的数字和模拟Chebyshev II型滤波器,其通带内为单调,阻带内等波纹。Chebyshev II型滤波器的下降斜度比I型小,但其阻带内波纹较大。设计椭圆滤波器用函数ellip(),与chebyl, cheby2类似,可以设计低通、高通、带通和带阻的数字和模拟滤波器。与Butterworth和chebyshev滤波器相比,ellip函数可以得到下降斜度更大的滤波器,得通带和阻带均为等波纹。一般情况下,椭圆滤波器能以最低的阶实现指定的性能指标。 在使用各类滤波器函数时应当注意以下重点: A、阶数和固有频率的选择:N,Wn=buttord(Wp,Ws,Rp,Rs)可得到符合要求性质的
39、滤波器的最小阶数N以及数字Butterworth滤波器的固有频率Wn(即3dB )。设计的要求是在通带内的衰减不超过Rp,在阻带内的衰减不小于Rs,通带和阻带有截止频率分别是Wp, Ws,它们是归一化的频率,范围是【0, 1,对应弧度。 N, Wn=cheb 1 ord(Wp, Ws,Rp,Rs)可得到符合要求性质的滤波器的最小阶数N以及chebyshev I型数字滤波器的固有频率Wn(即3dB)。设计的要求是在通带内的衰减不超过Rp ,在阻带内的衰减不小于Rs,通带和阻带有截止频率分别是Wp, Ws,它们都是归一化的频率。 N,Wn=cheb2ord(Wp,Ws,Rp,Rs)可得到符合要求性
40、质的滤波器的最小阶数N以及chebyshev II型数字滤波器的固有频率Wn(即3dB )。设计的要求是在通带内的衰减不超过Rp,在阻带内的衰减不小于Rs,通带和阻带有截止频率分别是Wp,Ws。它们都是归一化的频率。 N, Wn=ellipord(Wp, W s,Rp,Rs)可得到符合要求性质的滤波器的最小阶数N以及椭圆数字滤波器的固有频率Wn(即3dB)。设计的要求是在通带内的衰减不超过Rp,在阻带内的衰减不小于Rs,通带和阻带有截止频率分别是Wp, Ws,它们都是归一化的频率。B、有关滤波器设计当中的频率归一化问题:信号处理工具箱中经常使用的频率是Nyquist频率,它被定义为采样频率的一
41、半,在滤波器的阶数选择和设计中的截止频率均使用Nyquist频率进行归一化处理。例如对于一个采样频率为1000 Hz的系统,400Hz的归一化即为400/500=0.8。归一化频率的范围在0, 1之间。如果要将归一化频率转换为角频率,则将归一化频率乘以二;如果要将归一化频率转换为Hz则将归一化频率乘以采样频率的一半。C、设计一个N阶的低通Butterworth滤波器使用函数B,A=butter(N, Wn),返回滤波器系数矩阵B,A。其中固有频率Wn必须是归一化频率。它的最大值是采样频率的一半。Fs缺省时默认为2Hz。如果Wn=Wl,W2是一个两元素的向量,则函数将设计出一个2N阶的带通滤波器
42、,通带为W1,W2。 用B,A=butter(N,Wn,high)可设计一个高通滤波器。 使用B,A=butter(N, Wn,stop)可设计一个带阻滤波器。其中Wn必须是一个两元素的向量,阻带的宽度为Wl,W2。 butter(N, Wn,s),butter(N,Wn,high,s),butter(N,Wn,stop,s)分别用来设计Butterworth的低通、高通、带通和带阻模拟滤波器。 D、设计一个N阶的低通chebyshev I型滤波器可使用函数B,A=chebyl(N,R,Wn),返回滤波器系数矩阵B,A。其中固有频率Wn必须是归一化频率。它的最大值是采样频率的一半。Fs缺省时默
43、认为2Hz。如果Wn=W1,W2是一个两元素的向量,则函数将设计出一个2N阶的带通滤波器,通带为Wl,W2。 R是滤波器通带内的最大衰减。如果无法确定R的值,即可以选用0.5dB作为起始点。 B,A=cheby 1(N,R, Wn,high) 设计一个高通滤波器。B,A=chebyl(N,R, Wn,stop)设计一个带阻滤波器。其中Wn必须是一个两元素的向量,阻带的宽度为W 1,W2。 Cheby l (N,R, Wn,s),cheby 1(N,R, Wn,high,s),cheby l (N,R, Wn,stop, s)分别用来设计chebyshev I型的低通、高通、带通和带阻模拟滤波器
44、。 E、设计一个N阶的低通chebyshev II型滤波器可使用函数B,A=cheby2(N,R,Wn),返回滤波器系数矩阵B,A。其中固有频率Wn必须是归一化频率。它的最大值是采样频率的一半。Fs默认为2HZ。如果Wn=W1,W2是一个两元素的向量,则函数将设计出一个2N阶的带通滤波器,通带为W1,W2。 R是滤波器通带内的最大衰减。如果无法确定R的值,即可以选用0.5dB作为起始点。 B,A=cheby2(N,R, Wn, high)设计一个高通滤波器。 B,A=cheby2(N,R, Wn,stop)设计一个带阻滤波器。其中Wn必须是一个两元素的向量,阻带的宽度为W 1,W2。 Cheb
45、y2(N,R,Wn,s),cheby2(N,R,Wn,high,s),cheby2(N,R, Wn,stop,s)分别用来设计chebyshev II型的低通、高通、带通和带阻模拟滤波器。 F、设计一个N阶的低通椭圆滤波器用B,A=ellip(N,rp,rs,Wn),返回滤波器系数矩阵B,A。其中固有频率Wn必须是归一化频率。它的最大值是采样频率的一半。Fs默认为是2Hz。如果Wn=Wl,W2是一个两元素的向量,则函数将设计出一个2N阶的带通滤波器,通带为WI,W2。 rp是滤波器通带内的最大衰减,rs是滤波器阻带内的最小衰减。如果无法确定rp和rs的值,即可以选用0.5dB和20dB作为起始
46、点。 B,A= ellip (N,rp,rs,Wn,high)设计一个高通滤波器。 B,A= ellip (N,rp,rs,Wn,stop)设计一个带阻滤波器。其中Wn必须是一个两元素的向量,阻带的宽度为Wl,W2。 ellip(N,R, Wn,s),ellip (N,R,Wn,high,s_)ellip (N, R, Wn,stop,s)分别用来设计椭圆低通、高通、带通和带阻模拟滤波器。 (1)几种类型在低通滤波器设计中的比较: 设:Wp=30Hz, Ws=35Hz, Fs=100, Rp=0.5dB, Rs=40dB分别用巴特沃斯(Butterworth )滤波器、切比雪夫(Chebysh
47、ev)滤波器、椭圆(Cauer)滤波器,程序设计如下: 巴特沃斯低通滤波器: n1,Wnl=buttord(wp/(Fs/2),ws/(Fs/2),rp,rs,z);numl ,den1=butter(n1,Wn1);比雪夫I型低通滤波器:n2,Wn2=cheb 1 ord(wp/(Fs/2),ws/(Fs/2),rp,rs,z);num2,den2=cheby 1(n2,rp, Wn2);切比雪夫型低通滤波器:n3,Wn3=cheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs,z);num3,den3=cheby2(n3,rp,Wn3);椭圆低通滤波器:n4,Wn4=ellipord(wp/(Fs/2),ws/(Fs/2),rp,rs,z);num4,den4=ellip(n3,rp,rs,Wn3);设计出的低通滤波器的频率响应如图3.2.1.(2)几种类型在高通