1、潍坊学院本科毕业设计(论文)I目录摘要1ABSTRACT2第一章前言311课题背景312发展概况4第二章模拟滤波器与数字滤波器的比较521模拟滤波器及其设计方法722数字滤波器及其设计方法9第三章MATLAB语言的特点及应用进行分析1131MATLAB语言简介1132MATLAB语言发展综述1233MATLAB主要特点1434MATLAB在科研中的应用15第四章FIR、IIR数字滤波器比较1741数字滤波器的定义及分类1742数字滤波器的基本结构1843FIR滤波器1844IIR滤波器23第五章利用MATLAB语言设计低通巴特沃思滤波器26潍坊学院本科毕业设计(论文)II51BUTTERWOR
2、TH滤波器的基本理论2652巴特沃思低通滤波器的MATLAB实现27第六章总结32参考文献33致谢34潍坊学院本科毕业设计(论文)1MATLAB在巴特沃思低通滤波器设计中的应用研究摘要本文首先论述了滤波器,介绍了滤波器的分类、数字滤波器的概念和设计方法概述及模拟滤波器的设计,重点论述了低通巴特沃思滤波器的设计理论,介绍了FIR和IIR数字滤波器的设计原理及设计理论,在对MATLAB进行了较为细致和全面的论述后,重点研究了MATLAB的应用,最后论述了低通巴特沃思滤波器的MATLAB实现。配以实际的MATLAB实验应用程序及程序运行结果全面讲解有关低通滤波器的最新设计理念。利用MATLAB可节省
3、大量的编程时间。将其用于数字信号处理实验,则可大大提高实验效率,在有限的上机时间内,实验内容可增加几倍。另外,MATLAB的工具箱及图形显示(打印)功能,可满足各层次人员直观、方便地进行分析、计算和设计工作,从而可大大节省时间,在美国的一些大学里,MATLAB已经成为辅助教学的有益工具。因此本文用重点的篇幅介绍了MATLAB。关键词巴特沃思滤波器矩阵实验室数字信号处理潍坊学院本科毕业设计(论文)2THEMATLABISINTHEDESIGNOFBUTTERWORTHLOWPASSFILTERABSTRACTTHEPAPERINTRODUCESTHEDEFINITION,CLASSIFICATI
4、ONANDMETHODOFDIGITALFILTERS,ESPECIALLYFOCUSEDONTHEDESIGNOFBUTTERWORTHLOWPASSFILTERANDTHETHEORYOFFIRANDIIRDIGITALFILTERTHEMETHODISSIMULATEDINMATLAB,THERESULTOFSIMULATIONSHOWAGOODPERFORMANCEITCOULDSAVEALOTOFTIMEANDIMPROVEEFFICIENCYTOUSEMATLABTHETOOLBOXESANDPICTUREFUNCTIONSOFMATLABARECONVENIENTFORUSTOA
5、NALYZE,DESIGNANDCOMPUTE,ANDSAVEMUCHTIMEMATLABHASBECOMEAUSEFULTOOLFOREDUCATIONNOWADAYS,THUSTHISPAPERINTRODUCESITESPECIALLYKEYWORDSBUTTERWORTHFILTERMATRIXLABDIGITALSIGNALPROCESSING潍坊学院本科毕业设计(论文)3第一章前言11课题背景数字信号处理器DSP己经发展了20多年,最初仅在信号处理领域内应用,近年来随着半导体技术的发展,其高速运算能力使很多复杂的控制算法和功能得以实现,同时将实时处理能力和控制器的外设功能集于一身,
6、在控制领域内也得到很好的应用。数字控制系统克服了模拟控制系统电路功能单一、控制精度不高的缺点,它抗干扰能力强,可靠性高,可实现复杂控制,增强了控制的灵活性。所谓信号处理是指对信号进行滤波、变换、分析、加工、提取特征参数等的过程。因而滤波器的研究显得尤为重要。滤波器主要有模拟滤波器和数字滤波器,而在数字信号处理中,数字滤波占有极其重要的地位1。数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法。在许多信号处理应用中使用数字滤波器代替模拟滤波器是有利的。数字滤波器容易实现不同的幅度和相位频率特性指标,克服与模拟滤波器器件性能相关的电压漂移、温度漂移和噪声问题。几乎每一科学和工程领
7、域例如声学、物理学、通信、数据通信、控制系统和雷达都涉及信号。在许多应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。这些过程都可能包含衰减一个频率范围阻止或隔离一些频率成分。数字滤波器扩展了应用范围,例如数字图像处理、模式识别、谱分析等。数字滤波器在数字信号处理中占有重要的地位,数字滤波器又分为无限冲激响应滤波器(IIR和有限冲激响应滤FIR滤波器,有限冲激响应滤FIR滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,易采用FIR数字滤波器。同时,由于在许多场合下,需要对信号进行实时处理,因而对于单片机的性能要求也越来越高。普通
8、的单片机例如MCS51难以满足这一要求。由于DSP控制器具有许多独特的结构,例如采用多组总线结构实现并行处理,独立的累加器和乘法器以及丰富的寻址方式,采用DSP控制器就可以提高数字信号处理运算的能力,可以对数字信号做到实时处理,用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便改变滤波器的特性2。潍坊学院本科毕业设计(论文)412发展概况随着数字信号处理的发展,数字滤波器的应用范围越来越广,例如数字图像处理、模式识别、谱分析等。数字信号处理DIGITALSIGNALPROCESSING是利用专用处理器或计算机,以数字的形式对信号进行采样、变换、滤波、增强、压缩、识别等处理,以得到符合
9、人们要求的信号形式。数字信号处理器DIGITALSIGNALPROCESSOR,简称DSP是一种处理数字信号的专用微处理器,主要应用于实时快速地实现各种信号的数字处理算法。它在结构上针对数字信号处理的特点进行了改进和优化,并且增加了特殊的指令专门用于数字处理,因而处理速度更快,效率更高。一个带宽受限的连续时间信号能够通过采样的方法变换成离散时间信号,经过处理后离散时间信号能够转换回连续时间信号。有限长单位冲激响应FIR数字滤波器,与传统的通过硬件电路实现的模拟滤波器相比有以下几大优点31简化了硬件电路的设计,提高了硬件电路的集成度和可靠性。2对干扰信号的抑制能力有了明显提高,这对系统的控制精度
10、和稳定性的提高起到了促进作用。3数字滤波器的参数调节比起模拟滤波器来更加方便、灵活。在上一个世纪中,滤波器的发展经历了从无源到有源和从模拟到数字两个过程。高精度无源滤波器从设计到制造都是难度非常高的技术。有源滤波器虽然很大地改进了滤波器的性能,也降低了一些制造工艺的难度,但从其性能的大幅度改进,与其它信号处理技术的结合,实现的手段之便捷,还是要数数字滤波器后来居上。随着电子工业的发展,对滤波器的性能要求越来越高,功能也越来越多,并且要求它们向集成方向发展。我国滤波器研制和生产与上述要求相差甚远,为缩短这个差距,电子工程和科技人员负有重大的历史责任4。潍坊学院本科毕业设计(论文)5第二章模拟滤波
11、器与数字滤波器的比较滤波器的应用已经变得越来越广泛,而滤波器主要分为经典滤波器和现代滤波器。目前主要研究的是经典滤波器,主要包括数字滤波器和模拟滤波器,而数字滤波器又分为无限冲激响应滤波器和有限冲激响应滤波器。数字滤波器在现代研究和开发中起的作用也越来越大,主要是因为相对于模拟滤波器,数字滤波器具有以下显著优点1精度高模拟电路中元件精度很难达到高精度,而数字系统17位字长就可以达到很高的精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。2灵活性大数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些
12、都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。3可靠性高因为数字系统只有两个电平信号“1”和“0“,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。4易于大规模集成因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格,因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量
13、和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。5并行处理数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理。TI公司的TMS320C5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为L00MHZ的DSP芯片,这时可高达800MIPS即每秒执行百万条指令。两类数字滤波器无论是在性能上还是在设计方法上都有着很大的区别。FIR滤波器可以对给定的频率特性直接进行设计,而IIR滤波器设计则需要先用模拟滤波器的设计方法进行设计,然后
14、再转换为满足预定指标的数字滤波器。潍坊学院本科毕业设计(论文)6理想滤波器物理上是不可实现的。其原因是从一个频带到另一个频带之间的突变在物理上是无法实现的。为了物理上的实现,应从一个频带到另一个频带之间应设置一个过渡带,且在通带和止带之间不应该严格为1或0,应给以较小的容限。数字滤波器的技术要求,21,分别是通带、阻带的容限,但具体技术指标往往由通带允许的最大衰减P及阻带应达到的最小衰减S给出。由于在数字滤波器中是用弧度表示的,而实际上给出的频率要求往往是频率F,单位为HZ,因此在数字滤波器的设计中还应给出抽样频率F。不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤1给出所需要的滤波器的
15、技术指标2设计一个HZ使其逼近所需要的技术指标3实现所设计的HZ一般来讲,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。滤波器在其实现方法上,有IIR滤波器和FIR滤波器之分。目前,IIR数字滤波器设计的通用方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,有比较完整的设计公式和较完整的图表供查询。但是它需要先设计模拟滤波器,然后进行数字化,这将造成非线性相移。例如,模拟频率与数字频率之间的双线性变换公式为2TANTL21上式T为抽样周期。从上式可以看到频率只与之间存在着严重的非线性关系。这就使得一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤
16、波器,不再保持原有的线性相位了。其它IIR滤波器设计方法也同样存在这样的问题。这种非线性关系不能够满足对程序运行周期要求十分严格的DSP技术。在现代电子系统、图像处理、数据传输等波形传递系统中,以及动力学信号分析中都越来越多的要求信道具有线性的相位特性。在这方面,FIR滤波器具有独到的优点。它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。FIR有限长单位冲击响应数字滤波器的设计方法主要有窗函数法和频率抽样设计法两种。窗函数法是从时域出发,把理想的NHD用一定形状的窗函数截取成有限长NH,以此NH来近似理想的NHD。用这样得到的频率响应JEH逼近所要求的理想的频率响应JDEH。频率抽样
17、法是从频域出发,把给定的理想频率响应JDEH潍坊学院本科毕业设计(论文)7加以等间隔抽样,这种方法较窗函数法设计复杂,不易于用软件实现5。21模拟滤波器及其设计方法电子产品中信号处理几乎都会使用到滤波器,目前电子产品中大都使用阻容元件的模拟滤波器,模拟滤波器是现代测控系统中的重要部件,传统设计方法的设计过程繁琐。对传统方法与MATLAB编程方法进行了比较,研究了用MATLAB实现巴特沃思滤波器的设计,只要改变程序中相应的参数可以很容易地实现低通、高通、带通、带阻滤波器,简化了模拟滤波器的设计。在测控系统中,传感器输出的信号往往混有噪声干扰,虽然可以采取合理布线及屏蔽技术等措施来防止噪声进入系统
18、,但信号中仍含有不可忽略的噪声,通常采用模拟滤波器来消除这些噪声。因此,设计一个合理的模拟滤波器是测控系统中一个非常重要的环节。使用MATLAB设计模拟滤波器时,对于不同的设计要求,只需修改程序中的参数,运行后即可得到相应的阶数和截止频率,避免了复杂的运算及查表,因此,用MATLAB可以简化模拟滤波器的设计。利用MATLAB不仅可以设计巴特沃思滤波器而且也可以设计切比雪夫滤波器等,设计简单、直观。无限冲激响应IIR数字滤波器是数字信号处理中最重要的研究内容之一。其设计方法有许多种,应用最为广泛的是借助于模拟滤波器的方法,即先设计模拟滤波器,然后利用双线性变换将模拟滤波器转换为数字滤波器。在这种
19、方法中,核心部分就是模拟滤波器的设计。另外,模拟滤波器本身在网络分析中也具有重要意义。在目前已出版的各种有关数字信号处理的专著中,对模拟滤波器的设计往往只是从一些特殊情况入手考虑,讨论过于简单,方法上也有所差异;加之各自用的符号体系相互间差别很大,难以兼容,因而缺乏统一的、适合于一般情况下的设计方法。针对上面的问题提出了一种统一的模拟滤波器设计方法,特点是采用一套兼容性较好的符号体系,概括并包含了一般文献中的各种设计思想和方法,具有普遍的适用性,物理意义直观、清晰,便于操作和使用。在模拟滤波器设计中,最为关键的是设计低通滤波器LP。只要设计好了低通,则其它类型滤波器的传输函数便可通过频率变换由
20、低通滤波器的传输函数求得。所以低通滤波器也称原型低通滤波器。潍坊学院本科毕业设计(论文)8例如一900MHZ巴特沃思低通滤波器的设计如下随着移动通信业务的广泛应用和普及,人们对移动通信的质量也提出了越来越高的要求,因此对于移动通信设备的设计与制造就受到了格外的重视。900MHZ滤波器是移动通信设备中的一个十分重要的部件,在对贝塞尔、契比雪夫、巴特沃思滤波器进行比较的基础上,认定巴特沃思滤波器有更好的滤波特性,因此选定巴特沃思滤波器。设计滤波器首先应确定滤波器的阶数、信源内阻和负载电阻,然后查巴特沃思滤波器的参数表,得到在归一化角频率和归一化阻抗情况下滤波器各元件的参数,再将它们转换成900MH
21、Z工作频率和工作阻抗时的值,即可得到所设计的滤波器电路。现取阶数N5,并假设信源内阻和负载电阻均为508,经查巴特沃思滤波器的参数表,得到归一化角频率和归一化阻抗情况下低通滤波器各元件的参数。在进行上述工作的基础上,将滤波器各元件的参数转换成900MHZ工作频率和工作阻抗时的值,其电容采用导纳参数、电感采用阻抗参数,转换的公式如式241261136261506181210900506181506181506180502109000002500002502109006180506180LLLCCCC(24)通过式(24)转换出的参数即为滤波器电路设计的参数。滤波器设计和搭接后,需连接到相应的仪表
22、上进行测试,以确定其品质的优劣。测试的方法是,先将所设计的滤波器电路加载,然后潍坊学院本科毕业设计(论文)91接到频谱分析仪上进行测试,测试频率的范围为400MHZ30GHZ通过测试直接得到巴特沃思低通滤波器的特性曲线,如图21所示图21巴特沃思低通滤波器的特性曲线图中A曲线是传输特性曲线,B曲线是反射特性曲线对于900MHZ巴特沃思低通滤波器的设计,由于其工作频率较高,必须对阻抗匹配的性能进行认真研究,特别是该滤波器具有中等加载的Q值,在设计中,经过选择阶数N和元件参量计算注意精度等过程后,一定要运用向量网络分析仪对加载后S11参量的复域轨迹进行分析,这是保证设计优化的重要手段。当匹配性能不
23、满足设计要求时,应适当增加滤波器的阶数。22数字滤波器及其设计方法数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用。它是通过对采样数据信号进行数学运算处理来达到滤波的目的。滤波器有模拟滤波器和数字滤波器两种形式,从功能上又可分为低通、高通、带通和带阻滤波器。如果滤波器的输入和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器定义为数字滤波器,它通过对时域中离散的采样数据作差分方程运算来达到滤波目的。有限冲击响应滤波器,简称FIRFINITEIMPULSERESPONSE型,此时系统的输出仅与输入有关,这是一种非递归型滤波器;当系数不全为零时,滤波器为无限冲击响应滤波器
24、,简称IIRINFINITEIMPULSERESPONSE型,此时系统的输出与输入和输出都有关,这是一种递归型滤波器。数字滤波器是对一个数字信号数字序列按一定要求进行运算,然后以数字形式输出的系统。数字滤波器有时可理解为一个计算程序或算法。数字滤波器可以分为无3DB_POINT3DB_POINT3DB_POINT302830GA1S21B1S11400600衰减/DB衰减/DB00B00A4000MF/HZAB潍坊学院本科毕业设计(论文)10限冲激响应IIR数字滤波器和有限冲激响应FIR数字滤波器两种。数字滤波器的常用设计方法有窗函数法、频率采样法、等波纹法等,这些方法都可以保证线性相位和系统
25、的可实现。但前二者都是在线性相位条件约束下,简单地选取有限项正弦(余弦)函数的线性组合去逼近希望的频率响应特性,没有考虑任何最优化原则(矩形窗除外,它满足频域最小均方误差准则)。等波纹法根据设计要求,使整个逼近频率区域(通带和阻带)上逼近误差的绝对值的最大值最小,使误差在整个逼近域上均匀分布。对于同样的技术指标,等波纹逼近法所需的阶数要比其他设计法低。阶数固定时,这种逼近的最大误差最小。假若数字滤波器设计目标是模拟具有无限长单位冲激响应的模拟滤波器,那么采用无限长单位冲激响应滤波器,并且采用冲激响应不变法进行变换。以MATLAB作为计算工具来确定数字滤波器的阶数和传递参数。其中无限冲击响应数字
26、滤波器也称IIR是采用对离散采样数据作差分方程运算来进行滤波。IIR数字滤波器设计最有效的方法是采用双线性变换法,该方法不是直接设计出数字滤波器而是把数字滤波器规定的幅频响应技术指标等效地转化为一个发展很成熟的模拟滤波器7。潍坊学院本科毕业设计(论文)11第三章MATLAB语言的特点及应用进行分析31MATLAB语言简介MATLAB工具是国内外广泛流行的数学计算软件。MATLAB诞生在20世纪70年代,它的编写者是CLEVEMOLE博士和他的同事。当时,CLEVEMOLER博士和他的同事开发了EISPACK和FORTRAN子程序库。这两个程序库主要是求解线性方程的程序库。但是,CLEVEMOL
27、ER发现学生使用这两个程序库时有困难,主要是接口程序不好写,很浪费时间。于是CLEVEMOLER自己动手,在业余时间里编写了EISPACK和LINPACK的接口程序。CLEVEMOLER给这个接口程序取名为MATLAB,意思为矩阵MATRIX和实验室LABORATORY的组合。由于MATLAB中的数字图像是以矩阵形式表示的,利用MATLAB强大的矩阵运算能力进行数字图像处理非常方便,应用简单、效果好。MATLAB是当前在国内外十分流行的工程设计和系统仿真软件包。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。MATLAB的推出得到了各个领域专家、学者的广
28、泛关注,其强大的扩展功能为各个领域的应用提供了基础。由各个专家学者相继推出了MATLAB工具箱,其中的信号处理SIGNALPROCESSING、控制系统CONTROLSYSTEM、神经网络NEURALNETWORK、图像处理IMAGEPROCESSING,健壮控制ROBUSTCONTROL、非线性系统控制设计NONLINEARSYSTEMCONTROLDESIGN、系统辨识SYSTEMIDENTIFICATION、最优化OPTIMIZATION、模糊逻辑FUZZYLOGIC、小波WAVELET、通信COMMUNICATION、统计STATISTICS等工具箱,这些工具箱给各个领域的研究和工程应
29、用提供了有力的工具,借助于这些“巨人肩上的工具”,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间。MATLAB名字由MATRIX和LABORATORY两词的前三个字母组合而成,亦即矩阵实验室,是MATHWORKS公司于1982年推出的一套高性能的数值计算和可视化软件。MATLAB的基本单位是矩阵。它的表达式与数学、工程计算中常用的形式十分相似,极大地方便了用户的学习和使用,它集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各种操作8潍
30、坊学院本科毕业设计(论文)1232MATLAB语言发展综述MATLAB语言的首创者CLEVEMOLER教授在数值分析,特别是在数值线性代数的领域中很有影响,他参与编写了数值分析领域一些著名的著作和两个重要的FORTRAN程序EISPACK和UNPACK。他曾在密西根大学、斯坦福大学和新墨西哥大学任数学与计算机科学教授。1980年前后,当时的新墨西哥大学计算机系主任MOLER教授在讲授线性代数课程时,发现了用其他高级语言编程极为不便,便构思并开发了MATLABMATRIXLABORATORY,即矩阵实验室,这一软件利用了当时数值线性代数领域最高水平的EISPACK和UNPACK两大软件包中可靠的
31、子程序,用FORTRAN语言编写了将命令翻译、科学计算于集于一身的一套交互式软件系统。所谓交互式语言,是指人们给出一条命令,立即就可以得出该命令的结果。该语言无需像C和FORTRAN语言那样,首先要求使用者去编写源程序,然后对之进行编译、连接,最终形成可执行文件。这无疑给使用者带来了极大的方便。早期的MATLAB是用FORTRAN语言编写的,只能作矩阵运算,绘图也只能用极其原始的方法,即用星号描点的形式画图,内部函数也只提供了几十个。但即使其当时的功能十分简单,当它作为免费软件出现以来,还是吸引了大批的使用者。CLEVEMOLER和JOHNLITTLE等人成立了一个公司。该公司于1984年推出
32、了第一个版本。当时的MATLAB版本已经用C语言作了完全的改写,CLEVEMATLAB其后又增添了丰富多彩的图形图像处理、多媒体功能、符号运算和它与其他流行软件的接口功能,使得MATLAB的功能越来越强大。MATHWORKS公司于1992年推出了具有划时代意义的MATLAB40版本,并于1993年推出了其微机版,可以配合MICROSOFTWINDOWS一起使用,使之应用范围越来越广。1994年推出的42版本扩充了40版本的功能,尤其在图形界面设计方面更提供了新的方法。1997年推出的MATLAB50版允许了更多的数据结构,如单元数据、数据结构体、多维矩阵、对象与类等,使其成为一种更方便编程的语
33、言。1999年初推出的MATLAB53版在很多方面又进一步改进了MATLAB语言的功能。2000年10月底推出了其全新的MATLAB60正式版,在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。2002年6月新推出的MATLABRELEASE13,即MATLAB65版/ISIMULINK41版是目前的最新版本,功能已经十分强大,其新的虚拟现实工具箱更给仿真结果三维视景下显示带来新的解决方案。虽然MATLAB语言是计算数学专家倡导并开发的,但其普及和发展离不开自动控制领域学者的贡献。甚至可以说,MATLAB潍坊学院本科毕业设计(论文)13语言是自动控制领域学者和工程技术人员捧
34、红的,因为在MATLAB语言的发展进程中,许多有代表性的成就和控制界的要求与贡献是分不开的。迄今为止,大多数工具箱也都是控制方面的。MATLAB具有强大的数学运算能力、方便实用的绘图功能及语言的高度集成性,它在其他科学与工程领域的应用也是越来越广,并且有着更广阔的应用前景和无穷无尽的潜能。目前,MATLAB己经成为国际上最流行的科学与工程计算的软件工具,现在的MATLAB己经不仅仅是一个“矩阵实验室”了,它已经成为了一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。MATLAB语言的功能也越来越强大,不断适应新的要求提
35、出新的解决方法9。MATLAB主要用于方便矩阵的存取,其基本元素是无需定义维数的矩阵。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具,也成为其他许多领域课程的实用工具。在工业环境中,MATLAB可用来解决实际的工程和数学问题,其典型应用有通用的数值计算,算法设计,各种学科如自动控制、数字信号处理、统计信号处理等领域的专门问题求解。MATLAB还包括了被称作为TOOLBOX工具箱的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数称为M文件,它可用来求解各个特定学科的问题,包括信号处理、图像处理、控制系统辨识、神经网络等。MATLAB最重要的特点
36、是易于扩展,它允许用户自行建立完成指定功能的M文件,从而构成适合于其他领域的工具箱。对于一个从事特定领域的工作的工程师,不仅可利用MATLAB所提供的函数及基本工具箱,而且可以方便地构造出专用的函数,从而大大扩展了MATLAB的应用范围。MATALAB是集科学计算、结果可视化和编程于一身,能够方便地进行科学计算和大量工程计算的数学软件。目前,它已成为世界上应用最为广泛的工程计算软件之一。MATALAB是“矩阵实验室”MATRIXLABORATORY的缩写,它是一种以矩阵计算为基础的交互式程序语言,最早用来作为LINPACK线性代数软件包和EISPACK基于特征值计算的软件包矩阵软件1具包的接口
37、。在80年代初期,由CLEVEMOLER和JOHNLITLE采用C改写了MATALAB的内核。不久,他们成立MATHWORKS软件开发公司,并于1984年将MATALAB正式推向市场。1992年初推出了应用于WINDOWS操作系统的MATALAB4X版本,1998年推出52版本,1999年推出MATLAB53版本,2000年为MATLAB60版本,现在最新的为MATLAB65版本。MATLAB的主要特点MATLAB的基本单位为矩阵,其表达式潍坊学院本科毕业设计(论文)14与数学、工程计算中常用的形式类似。并且矩阵的行和列无需定义,可随时添加和修改MATLAB语言以解释方式工作,对每条语句进行解
38、释后即运行,键入算式即得结果,无需编译,对错误可立即做出反映,大大减少了编程和调试的工作具有非常友好的人机界面。MATLAB语言规则与人们长期以来使用的在演算纸上进行演算的书写习惯十分相似,易学易读适于交流具有强大的作图和数据可视化功能。可以把数据以多种形式加以表现,非常简单、直观、方便具有极强的可扩展性。MATLAB软件包括MATLAB主程序和许多日益增多的工具箱,工具箱实际就是用MATLAB基本语句编写的各种子程序集,用于解决某一方面的专门问题或实现某一类的新算法。MATLAB还提供了与其他应用语言的接口,以实现数据的共享和传递10。33MATLAB主要特点MATLAB语言有不同于其它高级
39、语言的特点,它被称为第四代计算机语言。正如第三代计算机语言如FORTRAN语言和C语言等使人们摆脱了对计算机硬件的操作一样,语言使人们从繁琐的程序代码中解放出来。它的丰富的函数使开发者无需重复编程,只要简单地调用和使用即可。MATLAB语言最大的特点是简单和直接。MATHWORKS公司新发布的MATLAB65采用了全新的桌面及各种不同领域的集成工具,使用户易于使用。在图形方面,提高了图形性能。新的彩色图形编辑器,改进了图形特性编辑器。MATLAB的主要特点有1语句简单,编程效率高MATLAB语言类似于数学符号,用它编写程序犹如在演算纸上列写公式和求解问题。2高效方便的矩阵和数组运算MATLAB
40、是基于复数向量、矩阵的高级计算机语言,内置众多高精度、高可靠性矩阵、数组运算函数、数值计算方法,使用的MATLAB语言在矩阵和数组运算方面比其他高级语言更方便、快捷。3强大的数据可视化、绘图功能MATLAB可以将计算、仿真或测试得到的数据方便的绘制成2维和3维图形用户可以选择各类坐标系,并可在屏幕上加注释、说明等功能。4强大的工具箱软件包潍坊学院本科毕业设计(论文)15MATLAB针对某一领域的问题编制了很多M文件,形成了面向该领域的工具箱TOOLBAX,因而使它兼具高级语言开发平台和专业应用环境,能全面解决科学和工程领域内的复杂问题。5强大的非线性动态系统建模、仿真能力MATLAB提供了交互
41、式图形建模的仿真环境SIMULINK,利用它可以方便的搭配起控制方框图,完成连续、离散及两者混合的线性和非线性系统的设计和仿真。但MATLAB是一种解释性语言,因而执行起来速度较慢。由于MATLAB具有如此之多的优点,在欧美高等院校,MATLAB己经成为应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本数学工具。在研究单位、工业部门,MATLAB也被广泛用于研究和解决各种工程问题。当今在全世界有超过40万工程师和科学家使用它来分析和解决问题。34MATLAB在科研中的应用近些年来由于市场的肯定,MATLAB软件得到巨大的发展,不再是初期简单矩阵实验
42、室的功能,随着MATLAB版本的不断提高,已经广泛应用于科学工程计算领域,如仿真技术、自动控制、信号处理、神经网络、数字图像处理、小波分析等。由于MATLAB中的数字图像是以矩阵形式表示的,利用MATLAB强大的矩阵运算能力进行数字图像处理非常方便,应用简单、效果好。由于MATLAB及其工具箱将一个优秀软件包的易用性与可靠性、一般目的的应用和高深的专业应用几乎完美的结合在一起,使其逐渐成为国际性计算标准。可以说从一般目的的科研教学、到尖端高科技的研究与发展,凡是需要高可靠性、高质量数值计算、数据可视化及先进仿真技术的领域就有MATLAB的存在。MATLAB现已广泛应用与微积分、矩阵代数、应用数
43、学、物理、材料力学、信号与系统、电机学、自动控制等领域。MATLAB在电力系统的应用只是近几年的事情,开展的也比较少。MATLAB中SIMULINK强大的实时仿真能力使其在应用中迅速展开。SIMULINK是用来建模、分析和仿真各种动态系统的交互环境,包括连续系统,离散系统和混杂系统,近几年来,SIMULINK己经在学术和工业等领域得到了广泛的应用。SIMULINK提供了采用鼠标拖放的方法建立系统框图模型的图形交互界面,可以很随意的改变模型的参数并且马上就可以看到改变参数后的结果。通过SIMULINK提供的丰富的功能模块,可以迅速地创建系统的模型,不需要书写一行代码。SIMULINK还支持STA
44、TEFLOW,用来仿潍坊学院本科毕业设计(论文)16真事件驱动过程。MATLAB中的分析与可视化工具多种多样并且易于操作,所以用户可以对仿真的结果进行分析并且使之可视化。在这样的环境中你会发觉用SIMULINK进行建模和仿真是一件很有趣的事情,这一环境激励你不断提出新问题,并对问题进行建模,最后得到仿真结果。因而掌握MATLAB将对滤波器的设计产生巨大的帮助11。潍坊学院本科毕业设计(论文)17第四章FIR、IIR数字滤波器比较41数字滤波器的定义及分类数字滤波器是种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而
45、对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系统是一个连续系统,则滤波器称为模拟滤波器。如果系统是一个离散系统,则滤波器称为数字滤波器。从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。除非常数,否则输出信号的频谱将不同于输入信号的频谱,对于某些频率成分较大的模,这些频率成分将得到加强,而另外一些频率成分处的模很小甚至接近于零,这部分频率分量将被削弱或消失。滤波器的种类很多,分类的方法也很多。如根据滤波器的滤波功能频率响应特性来分,则可以将数字滤波器分为低通、高通、带通、全通等四种类型。如根据滤波器单位冲激响应HN的长度可
46、以将滤波器分为有限冲激响应滤波器FIR和无限冲激响应滤波器IIR。如果根据滤波器的构成方式,则可以将滤波器分为递归式的数字滤波器和非递归式的数字滤波器。除了上面的一些分类方法,从总体上可以把数字滤波器分成两类。一类是经典滤波器,一类是现代滤波器。经典滤波器是假定系统输入信号XN,这样,当XN通过线性系统即滤波器后可欲去除的成分有效地去除。如果信号和噪声相互重叠,那么经典滤波器将无能为力。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特征如自相关函数、功率谱等导出一套最佳的估值算法,然后用硬件或软件予以实现。在实际应用中经常会遇到FIR与IIR的数字滤波器分类方法,下面对这两种滤波器作一个
47、简单的比较。首先,从性能上来说,IIR滤波器可以用较少的阶数获得很高的选择特性,所用存储单元少,运算次数少,所以经济而效率高。但是这个高效率的代价是相位的非线性。选择性越好则相位非线性越严重。相反FIR滤波器可以得到严格的线性相位。但是,如果需要获得一定的选择性,则要用较多的存储器和较长的运算,成本比较高,信号延时也较大。然而也应该指出,FIR滤波器的这些缺点是相对于非线性相位的IIR滤波器比较而言的。如果按相161的选择性和相同的相位线性要求的话,那么IIR滤波器就必须加全通网络来进行相位校正,因此同样要大大增加滤波器的节数和复杂性。潍坊学院本科毕业设计(论文)18如果相位特性要求严格一点,
48、那么FIR滤波器不仅在性能上而且在经济上都将更优于IIR。从结构上看,IIR必须采用递归型结构,极点位置必须在单位圆内,否则系统将不稳定。另外,在这种结构中,由于运算过程中对序列的四舍五入处理,有时会引起微弱的寄生振荡。相反,FIR滤波器主要采用非递归结构,不论在理论上还是在实际的有限精度运算中都不存在稳定性问题,运算误差也较小。此外FIR滤波器可以采用快速博里叶变换算法,在相同阶数的条件下,运算速度可以快得多。数字滤波器是对数字信号处理实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号数字序列通过特定的运算转变为输出的数字序列,描述离散系统输出与输入关
49、系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性JJJEHEXEY41其中JEY、JEX分别是数字滤波器的输出序列和输入序列的频域特性或称为频谱特性,JEH是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。可以看出JEX经过滤波后变为XEJHEJ,因此,只要按照输入信号频谱的特点和处理信号的目的,适当选择JEH,使得滤波后的XEJHEJ满足设计的要求,这就是数字滤波器的滤波原理12。42数字滤波器的基本结构对于一个给定的线性时不变系统,有着各种不同的等效差分方程或网络结构。由于乘法是一种耗时运算,而每个延迟单元都要有一个存储寄存器,因此采用最少常数乘法器和最少延迟支路的网络结构是通常的选择,以便提高运算速度和减少存储器。然而,当需要考虑有限存储器长度的影响时,往往也采用并非最少乘法器和延迟单元的结构。43FIR滤波器数字滤波器是DSP技术的一个重要分支,利用它可以在形形色色的信号中提取需要的信号和抑制不需要的信号。数字滤波器实质上是用有限精度算法实现的离散时间线性