1、IIR数字滤波器的设计摘 要数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。作为一种电子滤波器,数字滤波器与完全工作在模拟信号域的模拟滤波器不同。数字滤波器工作在数字信号域,它处理的对象是经由采样器件将模拟信号转换而得到的数字信号。数字滤波器的工作方式与模拟滤波器也完全不同:后者完全依靠电阻、电容、晶体管等电子元件组成的物理网络实现滤波功能;而前者是通过数字运算器件对输入的数字信号进行运算和处理,从而实现设计要求的特性。本文由数字滤波器的功能、应用及发展入手,介绍了数字滤波器的基本概念,其中包括系统的描述、系统的传递函数和IIR数字滤波器基本结构。其次根据IIR数字滤波器
2、的设计原理,在MATLAB环境下分别采用脉冲响应不变法、双线性变换法和MATLAB函数直接设计法对IIR数字滤波器进行了设计。最后应用FDATool和Simulink工具对IIR数字滤波器进行了仿真。关键词:IIR数字滤波器;MATLAB;脉冲响应不变法;双线性变换法;FDATool;SimulinkDesign of IIR digital filterAbstractDigital filters are the discrete-time systems that process to filter digital signal to get expected response char
3、acteristics. As an electronic filter, digital filters work differently from the analog signal filters who completely work in analogy signal domain. Digital filter work in the digital signal domain and its targets are digital signals that are received by sampling devices converting analog signals to
4、digital signals. The working methods of digital filters and analog filters are completely different: the latter completely rely on the function of the physical network formed by resistors, capacitors, transistors and other electronic components of filtering ,while the former computes and processes d
5、igital signals with the help of digital computing devices to realize the characteristics of the design requirements.In this paper, the function, application and development of the digital filter are introduced followed by the introduction of the principle of digital filter design. The principle firs
6、t includes the description of the system, the transfer function of the system and the basic structure of the IIR (Infinite Impulse Response) digital filter. Then, according to the design principle of IIR digital filter, the IIR digital filter is designed by the method of non-changing impulse respons
7、e, the method of double linear transform and direct method using MATLAB functions. At last, the designed IIR digital filter is simulated by FDATool and MATLAB Simulink Tool.Key words: IIR digital filter;MATLAB;non-changing impulse response;double linear transformation;FDATool;Simulink目 录第一章 绪论11.1 数
8、字滤波器技术概述11.2 滤波器及滤波方法的发展历程21.3 滤波器的分类31.4 数字滤波器的优越性41.5 数字滤波器的实现方法51.6 MATLAB软件简介61.7 MATLAB的语言特点8第二章 数字滤波器基础102.1 数字滤波器的基本概念102.2 系统的描述112.3 系统的传递函数122.4 IIR数字滤波器的基本结构122.4.1 直接型132.4.2 直接型142.4.3 级联型142.4.4 并联型16第三章 IIR数字滤波器的设计方法及过程173.1 基于脉冲响应不变法的IIR滤波器设计173.2 基于双线性Z变换法的IIR滤波器设计203.3 基于MATLAB函数直接
9、设计IIR数字滤波器243.3.1 巴特沃斯数字滤波器设计243.3.2 切比雪夫型IIR数字滤波器设计273.3.3 切比雪夫型IIR数字滤波器设计293.3.4 基于椭圆法直接设计IIR数字滤波器303.4 FDATool设计法333.5 Simulink建模设计法37第四章 结论41参考文献42致 谢43天津理工大学中环信息学院2010届本科毕业设计说明书第一章 绪论1.1 数字滤波器技术概述数字滤波器实际上就是一种数字信号处理系统的算法或设备,也可以说是一种运算过程。数字滤波器的功能是将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,因此它本身就是一台数字式的处理设备。数
10、字滤波器的基本原理是:先利用取样开关和模拟-数字转换器将一个联系性的信号转换成数字信号。在数字计算器中完成所要求的传输函数运算之后,再通过数字-模拟转换器和保持电路,使信号形成最后要求的波形。数字滤波器是数字信号处理中最重要的组成部分之一。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。1数字信号处理学科的一项重大进展
11、是关于数字滤波器设计方法的研究。关于数字滤波器,早在上世纪40年代末期就有人讨论它的可能性问题,在50年代也有人讨论过数字滤波器,但直到60年代中期,才开始形成关于数字滤波器的一整套完整的正规理论。在这一时期,提出了各种各样的数字滤波器结构,有的以运算误差最小为特点,有的则以运算速度快见长,而有的则二者兼而有之。出现了数字滤波器的各种分析方法和实现方法,对递归和非递归两类滤波器作了全面的比较,统一了数字滤波器的基本概念和理论。数字滤波器的领域的一个重要发展是对有限冲激响应(FIR)和无限冲激响应(IIR)关系的认识的转化。在初期,一般认为IIR滤波器比FIR滤波器具有更高的运算效率,因而明显的
12、倾向前者,但当人们提出用快速傅立叶变换(FFT)实现卷积运算的概念之后,发现高阶FIR滤波器也可以用很高的运算效率来实现,这就促使人们对高性能FIR滤波器的设计方法和滤波器的频域设计方法进行了大量的研究,从而出现了此后数字滤波器设计中频域方法和时域方法并驾齐驱的局面。然而,这些均属数字滤波器的早期研究。早期的数字滤波器尽管在语音、声纳、地震和医学的信号处理中曾经发挥过作用,但由于当时计算机主机的价格很昂贵,严重地阻碍了专用数字滤波器的发展。70年代科学技术的蓬勃发展,数字信号处理开始与大规模和超大规模集成电路技术、微处理技术、高速数字算术单元、双极性高密度半导体存储器、电荷转移器件等新技术、新
13、工艺结合了起来,并且引进了计算机辅助设计方法,它使数字滤波器的设计不仅仅是对相应模拟滤波器的逼近。一般说来,通过对模拟滤波器函数的变换来设计数字滤波器,很难达到逼近任意频率响应或冲激响应,而采用计算机辅助设计则有可能实现频域或时域的最佳逼近,或频域时域联合最佳逼近。这样,数字滤波器的分析与设计其内容也更既丰富起来,各种新的数字信号处理系统,也都能用专用数字硬件实时加以实现。数字信号处理理论与技术的发展,主要是由于电子计算机与大规模集成电路的大量生产和广泛应用,替代了原来的模拟信号处理中的线性滤波与频谱分析所应用的模拟计算机和分立元件L、C、R线性网络,高度发挥了计算技术与数字技术相结合的特色和
14、优越性。特别是微处理器和微型计算机技术日新月异的发展,将更有利于电子仪器与电子技术应用系统朝着数字化、小型化、自动化以及多功能等方向发展,促使它们成为富有智能型的电子系统。现在,包括数字滤波在内的数字信号处理技术正以惊人的速度向纵深和高级的方向发展;据统计这种趋势还要持续一个较长的时期,未来的发展可能会比过去的进程更为激动人心,必将引起某些领域的飞跃性发展。1.2 滤波器及滤波方法的发展历程在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多、技术最为复杂的要算滤波器了。滤波器的优劣直接决定产品的优劣。所以,对滤波器的研究和生产历来为各国所重视。1917年美国和德国
15、科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。20世纪50年代无源滤波器日趋成熟。自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价格低廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。当然
16、,对滤波器本身的研究仍在不断进行。我国广泛使用滤波器是50年代后期的事,当时主要用于话路滤波和报路滤波。经过半个世纪的发展,我国滤波器在研制、生产和应用等方面已纳入国际发展步伐,但由于缺少专门研制机构,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。近些年,线性滤波方法,如Wiener滤波、Kalman滤波和自适应滤波得到了广泛的研究和应用,同时一些非线性滤波方法,如小波滤波、同态滤波、中值滤波、形态滤波等都是现代信号处理的前沿课题,不但有重要的理论意义,而且有广阔的应用前景。Wiener滤波是最早提出的一种滤波方法,当信号混有白噪声时,可以在最小均方误差条件
17、下得到信号的最佳估计。但是,由于求解Wiener-Hoff方程的复杂性,使得Wiener滤波实际应用起来很困难,不过Wiener滤波在理论上的意义是非常重要的,利用Wiener滤波的纯一步预测,可以求解信号的模型参数,进而获得著名的Levinson算法. Kalman滤波是20世纪60年代初提出的一种滤波方法。与Wiener滤波相似,它同样可以在最小均方误差条件下给出信号的最佳估计。所不同的是,这种滤波技术在时域中采用递推方式进行,因此速度快,便于实时处理,从而得到了广泛的应用。Kalman滤波推广到二维,可以用于图像的去噪。当假设Wiener滤波器的单位脉冲响应为有限长时,可以采用自适应滤波
18、的方法得到滤波器的最佳响应。由于它避开了求解Wiener-Hoff方程,为某些问题的解决带来了极大的方便。小波滤波就是利用信号和噪声在各自尺度下的小波变换系数有所不同的特点,来对它们进行分离,从而达到去除噪声的目的。同态滤波主要用于解决信号和噪声之间不是相加而是相乘关系时的滤波问题。另外当信号和噪声之间为卷积关系的时候在一定条件下可以利用同态滤波把信号有效地分离出来,由同态滤波理论引伸出的复时谱也成为现代信号处理中极为重要的概念。Wiener滤波、Kalman滤波和自适应滤波都是线性滤波,线性滤波的最大缺点就是在消除噪声的同时,会造成信号边缘的模糊。中值滤波是20世纪70年代提出的一种非线性滤
19、波方法,它可以在最小绝对误差条件下,给出信号的最佳估计。这种滤波方法的优点,就是能够保持信号的边缘不模糊。另外它对脉冲噪声也有良好的清除作用。形态滤波是建立在集合运算上的一种非线性滤波方法,它除了用于滤除信号中的噪声以外,还在图像分析中发挥了重要的作用。21.3 滤波器的分类滤波器是一种选频装置,它对某一个或几个频率范围(频带)内的电信号给以很小的衰减,使这部分信号能够顺利通过。对其它频带内的电信号则给以很大的衰减,从而尽可能地阻止这部分信号的通过。通过滤波器时不经受衰减或经受很小衰减的频带称为通带,经受的衰减超过某一规定值的频带称为阻带,位于通带和阻带之间的频带称为过渡带。于是,根据通带的不
20、同,滤波器可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。此外,根据它所处理的信号型类,滤波器又可分为模拟滤波器和数字滤波器,模拟滤波器用来处理连续信号,而数字滤波器用来处理离散信号,后者是在前者基础上发展起来的。数字滤波器与模拟滤波器比较,其主要优点是精度和稳定性高,系统函数容易改变,因而灵活性高,不存在阻抗匹配问题,便于大规模集成,可以实现多维滤波。因此,目前在诸如通信、雷达、遥感、声纳、卫星通信、宇宙航行、测量、语言和生物医学等科学领域的信号处理中,已经运用了数字滤波技术,而且随着大规模集成电路技术和数字计算技术的发展,它的应用会越来越广泛。数字滤波器按照单位取样响应h(n)的时
21、域特性可分为无限脉冲响应(Infinite Impulse Response,IIR)系统和有限脉冲响应(Finite Impulse Response,FIR)系统。即如果单位取样响应是时宽无限的,称之为IIR系统;如果单位取样响应是时宽有限的,称之为FIR系统。 数字滤波器按照实现的方法和结构形式分为递归型和非递归型两类。IIR滤波器系统函数的极点可以位于单位圆内的任何地方,因此可以用较低的阶数获得较高的选择性,所用的存储单元少,经济而效率高,但是系统函数的极点也可能位于单位圆外,可能会引起系统的不稳定。同时IIR滤波器的相位是非线性的,且它的选择性越好,相位的非线性就越严重。相反FIR滤
22、波器却可以得到严格的线性相位,然而由于FIR滤波器的系统函数的极点固定在原点,所以只能用较高的阶数来实现其高选择性,对于同样的滤波器设计指标,FIR滤波器所要求的阶数要比IIR高5至10倍,所以成本较高,信号延迟也较大。但是如果要求相同的线性相位,则IIR滤波器就必须加全通网络进行相位校正,同样也要增加滤波器网络的节点数和复杂性。FIR滤波器可以用非递归的方法实现,在有限精度下不会产生振荡,同时由于量化舍入以及系数的不确定性所引起的误差的影响要比IIR滤波器小的多,并且FIR滤波器可以采用FFT算法,运算速度快。但是不像IIR滤波器可以借助模拟滤波器的成果。FIR滤波器没有现成的计算公式,必须
23、要用计算机辅助设计软件(如MATLAB)来计算。由此可知,FIR滤波器应用比较广,而IIR滤波器则用在相位要求不是很严格的场合。31.4 数字滤波器的优越性数字滤波是提取有用信息非常重要、非常灵活的方法,是现代信号处理的重要内容。因而在数字通信、语音图像处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP处理器(DigitalSignalProcessor)的出现和FPGA (FieldProgrammabl
24、eGateArray)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。当前我们正处于数字化时代,数字信号处理技术受到了人们的广泛关注,其理论及算法随着计算机技术及微电子技术的发展得到了飞速的发展,在许多领域得到了广泛的应用。如语音、图像、雷达、通信等等。以与我们关系比较密切的手机来说,目前模拟网己经退出了舞台,而完全由数字网代替;又如电视技术也已呈现出数字电视取代模拟电视的趋势。数字滤波器是数字信号处理中最重要的组成部分之一,几乎出现在所有的数字信号处理系统中,随着集成电路和DSP处理器的发展,数字滤波器的应用必将越来越广泛。相对于模拟滤波器,数字滤波器具有以下显
25、著优点:(1) 精度高:模拟电路中元件精度很难达到10-3以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。(2) 灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。(3) 可靠性高:因为数字系统只有两个电平信号:“1”和“0”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,如用CPLD或
26、FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。(4) 易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格,因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。(5) 并行处理:数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理
27、器来实现并行处理。TI公司的TMS320C5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为l00MHZ的DSP芯片,可高达800MIPS(即每秒执行百万条指令)。1.5 数字滤波器的实现方法1 在通用的微型计算机上用软件实现软件可以是自己编写的,也可以使用现成的软件包,这种方法的缺点是速度太慢,不能用于实时系统,只能用于教学和算法的仿真研究。比如近年来迅速发展的MATLAB,就几乎可以实现所有数字滤波器的仿真。而且在MATLAB下的部分仿真程序还可以通过转化为C语言,再通过DSP的C编译器直接在DSP硬件上运行。这对非实时系统或准实时系统来说是很有吸引力的。2 用单片机来实现单片
28、机在不断地发展,如Intel 96000的运算速度就非常可观,而且单片机的接口性能比较良好,容易实现人机接口。但是由于单片机采用的是冯诺依曼总线结构,系统比较复杂,实现乘法运算速度较慢,而在数字滤波器中却要涉及大量的乘加运算,因此这种方法在运算量大的实时信号滤波处理当中很难有所作为。3 利用专门用于信号处理的可编程DSP芯片来实现与单片机相比,DSP有着更适合于数字滤波的优点。如采用改进的哈佛总线结构,内部有硬件乘法器、累加器,使用流水线结构,具有良好的并行特性,并有专门设计的适用于数字信号处理的指令系统等。DSP芯片的这些特点使其在不允许延迟的实时应用领域中,如蜂窝电话、计算机硬盘驱动器等得
29、到了非常理想的应用。4 利用特殊用途的DSP芯片实现现在国际上己经推出了不少专门用于FFT, FIR滤波、卷积等的专用芯片,如TDC 1028可以实现FIR滤波和相关运算。美国INMOS公司推出的IMSA100芯片,可以完成FFT, FIR滤波、卷积等运算,它可以在2ms内完成1024点复数FFT运算。其它的,如Motorola公司的DSP56200, Zoron公司的ZR34881,也都属于专用型的DSP芯片。在采用的DSP芯片中,其软件算法己在芯片内部硬件实现,使用者只要给出输入数据,经过简单的组合即可在输出端得到结果。这一般用于对速度要求很高的场合。这种方案的缺点是灵活性差,而且开发工具
30、很不完善。5 用FPGA等可编程器件来开发数字滤波算法由于FPGA产品的迅速发展,人们可以利用Atera. Xilinx等公司提供的产品,使用其相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理器,还是作为DSP芯片的协处理器,目前都是比较活跃的研究领域。6 在通用的计算机系统中安装加速卡来实现加速卡可以是通用的加速处理机,也可是由DSP开发的用户加速卡,如果加速卡是用DSP开发的用户加速卡,那么在日益复杂的控制系统中,在DSP芯片价格不断下降的条件下,这一方法是很常用的。当然,在一
31、般的控制系统中。通用计算机仅充当没有实时要求方法管理者的角色,而不再参与实时的数字信号的处理。比较以上方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数等,同时也可以研究算法的可行性,对数字滤波器进行前期的仿真。而采用DSP处理器或FPGA进行数字滤波设计则各有优点,FPGA可以用来做模型机,因为在设计一个电路时,首先要确定线路,然后进行软件模拟及优化,以确定所设计电路的功能及性能。然而随着电路规模的不断增大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这在用软件模拟中很难反映出来,这时候就有必要做硬件仿真,由于FPGA具有非常灵活的可编程特性,所
32、以就可以用来做硬件仿真的模型机了。有了该模型机就可以直观地测试其逻辑功能及性能指标。DSP则是专用的数字信号处理芯片,其特有的一些硬件结构及特性使其非常适合做数字滤波电路。4总之,可以采用MATLAB来做算法的软件仿真,用FPGA来做硬件仿真,也可以直接做成硬件电路,或用DSP来实现硬件电路。若使它们相互结合,充分利用它们各自的优点,则能发挥出更大的威力。1.6 MATLAB软件简介MATLAB是英文Matrix Laboratory (矩阵实验室)的缩写。它是由美国Mathworks公司推出的用于数值计算和图形处理的数学计算环境。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图
33、形绘制、输入输出、文件管理等各项操作。它优秀的数值计算能力和卓越的数据可视化能力使其很快在同类软件中脱颖而出。MATLAB系统最初是由Cleve Moler 用FORTRAN语言设计的,现在的MATLAB程序是Mathworks公司用C语言开发的。它的第一版(DOS版本1.0)发行于1984年;经过20年的不断改进,MATLAB已经成为国际上最流行的科学与工程计算的软件工具,最流行的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。MATLAB语言的功能也越来越强大,不断适应新的要求提出新的解决方法。可以预见,在科学运算、自动控制与科学绘图领域M
34、ATLAB语言将长期保持其独一无二的地位。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.。包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程
35、序的修改或加入自己编写程序构造新的专用工具包。到70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合。在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。1983年春
36、天,Cleve Moler到Standford大学讲学,MATLAB深深地吸引了工程师JohnLittle.John Little敏锐地觉察到MATLAB在工程领域的广阔前景。同年,他和CleveMoler,Steve Bangert一起,用C语言开发了第二代专业版。这一代的MATLAB语言同时具备了数值计算和数据图示化的功能。1984年,Cleve Moler和John Little成立了Math Works公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。一类是数值计算型软件,如MATLAB
37、,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB.经过多年的国际竞争,MATLAB以经占据了数值软件市场的主导地位。在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRANC语言等编程语言开发的。这种软件的缺
38、点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。5时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本
39、技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。1.7 MATLAB的语言特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C
40、和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。1语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开了繁杂的子程序编程任务,压缩了一切不必要的编纂工作。由于库函数都是由本领域的专家编写,所以用户不必担心函数的可靠性。2运算符号丰富。由于MATLAB是用C语言编写的,所以MATLAB提供了C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。3高效方便的矩阵和数组运算。MATLAB语言像Basic、Fortran、C语言一样规定了矩阵的算术运算符、关
41、系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,另外,它不需要定义数组的唯数,并给出矩阵函数、特殊矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。在此基础上,高版本的MATLAB已逐步发展到科学及工程计算的其它领域。因此,不久的将来,它一定能名副其实地成为“万能演算纸式的”科学算法语言。4MATLAB即具有结构化的控制语句,又有面向对象编成的特性。5语法限制不严格,程序设计自由度大。为了充分利用Fortran、C等语言的资源,包括用户已编
42、好的Fortran、C语言程序,通过建立M文件的的形式,混合编程,方便地调用有关的Fortran、C语言的子程序。6程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。7MATLAB的图形功能强大。在C和FORTRAN语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。此外,MATLAB还具有较强的编辑图形界面的能力。8MATLAB具有的一项重要特色是拥有功能强大的工具箱。MATLAB包含两个部分;核心部分和各种可选的工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实施交互功能。功能性工具箱能用于多种学科。而学科性工
43、具箱是专业性比较强的;如Control toolbox、Signal processing toolbox 、Communication toolbox等,这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。9源程序的开放性。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改变的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。6MATLAB软件自1984年推向市场以来,历经十几年的发展和竞争,现已成为(IEEE评述)国际公认的最优秀的科技应用软件。它功能强大、界面友好、语言自然、开放性强的特
44、点是它获得了对应用学科(特别是边缘学科和交叉学科)的季强是盈利,并且很快成为应用学科计算机辅助分析、设计、仿真、教学乃至科技文字处理不可缺少的基础软件。在欧美等高校,MATLAB已成为理工科高级课程的基本工具,成为攻读学位的大学生、硕士生、博士生必须掌握的技能。在设计研究单位和工业部门,MATLAB已经成为研究和解决各种具体工程问题的一种标准软件。近年来该软件系统开始在我国国内流行。受到理工科大中专院校释省级科研人员的重视,这也是本文选择用它来设计实现数学滤波器原因所在。9第二章数字滤波器基础2.1数字滤波器的基本概念这里所讲的数字滤波器都是一个离散的LTI(线形时不变)系统,离散LTI系统模
45、型如图2.1:图2.1 离散LTI系统模型Fig. 2.1 The model of LTI system注:x(n)、y(n)分别是系统的输入输出序列,h(n)是系统本身的特性(转移算子)。系统对于输入的离散序列x(n)总有对应的输出y(n)。x(n)是离散的信号,每个x(k)可能有不同的幅值,有了前后不同幅值的变化,就可以引出离散信号的频率这一性质。数字滤波器就是对不同频率的数字信号从频域进行信号分离的时序电路或器件或一段程序。7数字滤波器按功能分为低通、高通、带通、带阻、全通滤波器。 (2.1) (2.2)由序列傅氏变换公式可知,离散信号的傅氏变化是的函数,周期为2。只需研究-,不需要在
46、整个轴上分析其信号。所以,数字滤波器的通带分布如图2.2所示。 图2.2 数字滤波器的通带分布Fig. 2.2 Distribution of digital filter pass band2.2系统的描述模拟系统通常用微分方程描述,离散系统则用差分方程来描述。差分方程可分为非递归型和递归型两大类:1、非递归型:输出对输入无反馈,输出值仅仅取决于输入值。 (2.3)若系统是线性、非移变、因果的,则有 (2.4)若又有kN时,=0,则 (2.5)2、递归型:输出对输入有反馈,输出取决于输入和反馈。 (2.6)若系统是线性、非移变、因果的,则有 (2.7)2.3系统的传递函数对IIR数字滤波器的
47、差分方程的一般形式 (2.8)两边同时进行双边z变换得: (2.9)得IIR数字滤波器的传递函数: (2.10)2.4 IIR数字滤波器的基本结构无限长单位取样响应IIR系统的主要特点是:1、单位取样响应是无限长的,即h(n),;2、系统函数H(z)在有限平面z上有极点存在;3、结构上存在着输出到输入的反馈网络,即结构是递归的。 实现同一个系统的传递函数H(z),可以用不同的结构形式,它的主要结构形式有以下三种:1、直接型(整准型):在此形式中,差分方程(2.8)以给定的形式直接实现。系统分为两个部分,滑动平均部分和递归部分(或者分子和分母部分)。因此这种实现有两种形式,即直接型和直接型结构。2、级联型:在此形式中,把系统的传递函数H(z)因式分解成二阶子系统,每个子系统叫做二阶环节,因此系统的传递函数可表示成这些二阶环节的乘积形式。每个二阶环节以直接形式出现,整个系统的传递函数由二阶环节的级联实现。3、并联型:这种形式与级联形式类似,但因式分解后,用部分分式展开把H(z)表示成二阶子系统的和,每一个子系统用直接形式实现。整个系统的传递函数以子系
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922