毕业设计(论文)数字滤波器的仿真与设计.doc
编 号: 审定成绩: 重庆邮电大学移通学院毕业设计(论文)设计(论文)题目:数字滤波器的仿真与设计单 位(系别) :电子信息工程系学 生 姓 名 :专 业 :应用电子技术班 级 :学 号 :指 导 教 师 :答辩组 负责人 :填表时间: 2012 年 5月重庆邮电大学移通学院教务处制摘 要传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种在MATLAB的环境下IIR数字滤波器和FIR数字滤波器仿真方法以及设计方案。和进行图形界面设计,使读者更好的理解本文介绍的数字滤波器的特性。滤波器在实际信号处理中起到了非常重要的作用。任何检测的信号都含有噪声,而滤波是去除噪声的基本手段。FIR数字滤波器的设计方法,即窗函数法,在此基础上,用MATLAB实现IIR数字滤波器。介绍了IIR数字滤波器的传统设计思想与步骤,及其计算机辅助设计方法。以一数字带通滤波器为例,着重说明了基于MATLAB的三种滤波器的实现手段:模拟低通原型、合适模拟带通及直接原型,为数字滤波器设计带来全新的仿真手段。IIR滤波器设计主要内容包括:巴特沃思、切比雪夫模拟低通滤波器设计;脉冲响应不变法和双线性变换法的数字化变换方法;数字高通、带通和带阻滤波器的设计。而FIR滤波器是直接采用的数字式设计方法。针对FIR滤波器特征,首先介绍了其线性相位的实现条件,然后介绍了窗函数法和频率抽样法的设计方法。给出了使用MATLAB语言进行程序设计和仿真技术的详细步骤。本文的特点是可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。【关键词】数字滤波器 MATLAB IIR FIRABSTRACTThe traditional the design of the digital filter process is complicated, calculation workload is big, it is hard to adjust the filtering properties, affecting the use of it. This paper introduces a kind of the MATLAB environment IIR digital filter and FIR digital filters simulation method and design.And graphic interface design, so that readers a better understanding of the digital filter is introduced in this paper the characteristics. Filter in the actual signal processing are playing very important role. Any testing signals contain noise, and filter is remove the noise of the basic means ,FIR digital filters design methods, namely window function method, On this basis, the MATLAB IIR digital filter, Introduces the design of digital filter IIR traditional ideas and steps, and computer aided design method. With a digital bandpass filter as an example, the focus on the based on the MATLAB three means of realization of the filter: Simulation low-pass prototype,Appropriate simulation band-pass and direct prototype, For digital filters designed to bring new simulation method. The main contents include design IIR filter: Butterworth, Chebyshev simulation low-pass filter design. Digital qualcomm, bandpass filter and the design of with resistance, And FIR filters is directly used digital design method. According to characteristics of FIR filters, first introduced its linear phase condition to realize, And then introduced the window function method and frequency sampling design method. Using MATLAB language are programs to design and simulation technology, the detailed steps. This paper is characteristic of the design requirements and can at any time contrast filter characteristics parameters, Easy, greatly reduce the workload, be helpful for filter optimization design.【key words】digital filter MATLAB IIB FIR第一章 前 言1.1 MATLAB简介本文的算法仿真采用了MATLAB语言,MATLAB的全称是Matrix Laboratory,意思是矩阵实验室,它是以矩阵运算为基础的新一代程序语言。MATLAB (Matrix Laboratory)为美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件与Fortran和C相比,MATLAB语句显得简单明了,更加符合人们平常的思维习惯。MATLAB功能不断扩充,版本不断升级,1992年推出划时代的4.0版,1993年推出了可以配合Microsoft Windous使用的微机版,95年4.2版,97年5.0版,99年5.3版,5.X版无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,可以方便的浏览。至2001年6月推出6.1版,2002年6月推出6.5版,继而推出6.5.1版, 2004年7月MATLAB7和Simulink6.0被推出,目前的最新版本为7.1版。同时,MATLABB有着良好的数据可视化功能,能将数字结果以图形的方式表现出来,让人们一目了然。这些特点使得MATLAB从众多数值计算语言中脱颖而出,并正以相当快的速度在科学研究和工程计算中得到应用和普及。MATLAB基本自适应算法的分析与Matlab仿真。MATLAB有着非常强大的数值计算能力,它以矩阵为基本单位进行计算,数域扩展到复数,这一特点决定了MATLAB有着非凡的解决数值问题的能力。绘图方面,MATLAB的绘图语句简单明了,功能齐全。它能够在不同坐标系里绘制二维、三维图形,并能够用不同颜色和线型来描绘曲线。正是由于MATLAB这些特点,从而使它适合与进行自适应算法仿真。 MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。 目前最新的MATLAB的7.1版,但是本文使用的则是最受欢迎的6.1版,下面就来介绍MATLAB6.1 的新功能:(1) 全新的开发环境GUIDE(GUI Development Environment):由早期的单一命令窗口发展为将一些常用的交互式工作界面高度的集中于操作桌面; (2) 在命令窗口增加了错误跟踪功能(error display message and abort function); (3) 提供了许多新的数值处理功能(numerical Treatment Techniques),更新了部分函数的功能和算法,增加了许多新函数; (4) 在图形窗口增加了曲线拟合、数据统计等交互工具;(Curve Fitting, Data Analyzing ) (5) 引入了类与对象及函数句柄等概念;(Object,Handle) 用户可以创建自己定义的类函数和函数句柄; (6) 改进了编辑/调试器的界面及功能; (Editor/Debugger)增加了行号和书签等功能; (7) 属性编辑器功能更强(Property Debugger),使用更方便; (8) 建立了一个与以前完全不同的图形用户界面(GUI)图形窗口,(Graphical Window)使用更加方便灵活; (9)在应用程序接口方面增加了与Java的接口(Interface for Java),并为二者的数据交换提供了相应的程序库。1.2数字滤波器的研究背景与意义当今,数字信号处理1 (DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号、射电天文信号、生物医学信号、控制信号、气象信号、地震勘探信号、机械振动信号、遥感遥测信号,等等。上述这些信号大部分是模拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是用数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号经采样和量化后,得到的数字信号是一个二维离散空间序列。数字信号处理,就是用数值计算的方法对数字序列进行各种处理,把信号变换成符合需要的某种形式。例如,对数字信号经行滤波以限制他的频带或滤除噪音和干扰,或将他们与其他信号进行分离;对信号进行频谱分析或功率谱分析以了解信号的频谱组成,进而对信号进行识别;对信号进行某种变换,使之更适合于传输,存储和应用;对信号进行编码以达到数据压缩的目的,等等。数字滤波技术是数字信号分析、处理技术的重要分支2-3。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。第二章数字滤波器的概述数字滤波器可以用查分方程、单位取样响应以及系统函数等表示。对于研究系统的实现方法,即它的运算结构来说,用框图表示最为直接。一个给定的输入输出关系,可以用多种不同的数字网络来实现。在不考虑量化影响时,这些不同的实现方法是等效的;但在考虑量化影响时,这些不同的实现方法性能上就有差异。因此,运算结构是很重要的,同一系统函数H(z),运算结构的不同,将会影响系统的精度、误差、稳定性、经济性以及运算速度等许多重要性能。IIR(无限冲激响应)滤波器与FIR(有限冲激响应)滤波器在结构上有自己不同的特点,在设计时需综合考虑。2.1 数字滤波器的基本结构作为线形时不变系统的数字滤波器可以用系统函数来表示,而实现一个系统函数表达式所表示的系统可以用两种方法:一种方法是采用计算机软件实现;另一种方法是用加法器、乘法器、和延迟器等元件设计出专用的数字硬件系统,即硬件实现。不论软件实现还是硬件实现,在滤波器设计过程中,由同一系统函数可以构成很多不同的运算结构。对于无限精度的系数和变量,不同结构可能是等效的,与其输入和输出特性无关;但是在系数和变量精度是有限的情况下,不同运算结构的性能就有很大的差异。因此,有必要对离散时间系统的结构有一基本认识。 2.2 数字滤波器应用现状与发展趋势在信号处理过程中,所处理的信号往往混有噪音,从接收到的信号中消除或减弱噪音是信号传输和处理中十分重要的问题。根据有用信号和噪音的不同特性,提取有用信号的过程称为滤波,实现滤波功能的系统称为滤波器。在近代电信设备和各类控制系统中,数字滤波器应用极为广泛,这里只列举部分应用最成功的领域。(1) 语音处理 语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。该领域主要包括5个方面的内容:第一,语音信号分析。即对语音信号的波形特征、统计特性、模型参数等进行分析计算;第二,语音合成。即利用专用数字硬件或在通用计算机上运行软件来产生语音;第三,语音识别。即用专用硬件或计算机识别人讲的话,或者识别说话的人;第四,语音增强。即从噪音或干扰中提取被掩盖的语音信号。第五,语音编码。主要用于语音数据压缩,目前已经建立了一系列语音编码的国际标准,大量用于通信和音频处理。近年来,这5个方面都取得了不少研究成果,并且,在市场上已出现了一些相关的软件和硬件产品,例如,盲人阅读机、哑人语音合成器、口授打印机、语音应答机,各种会说话的仪器和玩具,以及通信和视听产品大量使用的音频压缩编码技术。(2) 图像处理数字滤波技术以成功地应用于静止图像和活动图像的恢复和增强、数据压缩、去噪音和干扰、图像识别以及层析X射线摄影,还成功地应用于雷达、声纳、超声波和红外信号的可见图像成像。(3) 通信在现代通信技术领域内,几乎没有一个分支不受到数字滤波技术的影响。信源编码、信道编码、调制、多路复用、数据压缩以及自适应信道均衡等,都广泛地采用数字滤波器,特别是在数字通信、网络通信、图像通信、多媒体通信等应用中,离开了数字滤波器,几乎是寸步难行。其中,被认为是通信技术未来发展方向的软件无线电技术,更是以数字滤波技术为基础。(4) 电视数字电视取代模拟电视已是必然趋势。高清晰度电视的普及指日可待,与之配套的视频光盘技术已形成具有巨大市场的产业;可视电话和会议电视产品不断更新换代。视频压缩和音频压缩技术所取得的成就和标准化工作,促成了电视领域产业的蓬勃发展,而数字滤波器及其相关技术是视频压缩和音频压缩技术的重要基础。(5) 雷达雷达信号占有的频带非常宽,数据传输速率也非常高,因而压缩数据量和降低数据传输速率是雷达信号数字处理面临的首要问题。告诉数字器件的出现促进了雷达信号处理技术的进步。在现代雷达系统中,数字信号处理部分是不可缺少的,因为从信号的产生、滤波、加工到目标参数的估计和目标成像显示都离不开数字滤波技术。雷达信号的数字滤波器是当今十分活跃的研究领域之一。(6) 声纳声纳信号处理分为两大类,即有源声纳信号处理和无源声纳信号处理,有源声纳系统涉及的许多理论和技术与雷达系统相同。例如,他们都要产生和发射脉冲式探测信号,他们的信号处理任务都主要是对微弱的目标回波进行检测和分析,从而达到对目标进行探测、定位、跟踪、导航、成像显示等目的,他们要应用到的主要信号处理技术包括滤波、门限比较、谱估计等。 (7) 生物医学信号处理 数字滤波器在医学中的应用日益广泛,如对脑电图和心电图的分析、层析X射线摄影的计算机辅助分析、胎儿心音的自适应检测等。(8) 音乐数字滤波器为音乐领域开辟了一个新局面,在对音乐信号进行编辑、合成、以及在音乐中加入交混回响、合声等特殊效果特殊方面,数字滤波技术都显示出了强大的威力。数字滤波器还可用于作曲、录音和播放,或对旧录音带的音质进行恢复等。(9) 其他领域5数字滤波器的应用领域如此广泛,以至于想完全列举他们是根本不可能的,除了以上几个领域外,还有很多其他的应用领域。例如,在军事上被大量应用于导航、制导、电子对抗、战场侦察;在电力系统中被应用于能源分布规划和自动检测;在环境保护中被应用于对空气污染和噪声干扰的自动监测,在经济领域中被应用于股票市场预测和经济效益分析,等等。2.3数字滤波器的实现方法分析数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。在对滤波器实际设计时,整个过程的运算量是很大的。例如利用窗函数法【2】设计M阶FIR低通滤波器时,首先要根据(1)式计算出理想低通滤波器的单位冲激响应序列,然后根据(2)式计算出M个滤波器系数。当滤波器阶数比较高时,计算量比较大,设计过程中改变参数或滤波器类型时都要重新计算。 (1) (2)设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频相频响应特性,运算量也是很大的。我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效的设计数字滤波器,大大的简化了计算量,直观简便。数字滤波器的实现6,大体上有如下几种方法:(1) 在通用的微型机上用软件来实现。软件可以由使用者自己编写或使用现成的。自IEEE DSP Comm.于1979年推出第一个信号处理软件包以来,国外的研究机构、公司也陆续推出不同语言不同用途的信号处理软件包。这种实现方法速度较慢,多用于教学与科研。(2) 用单片机来实现。目前单片机的发展速度很快,功能也很强依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制、医疗仪器等。(3) 利用专门用于信号处理的DSP片来实现。DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器、累加器,采用流水线工作方式及并行结构,多总线,速度快,配有适于信号处理的指令等,DSP芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。2.4 小结数字滤波器精确度高、使用灵活、可靠性高,具有模拟设备所没有的许多优点,已广泛地应用于各个科学技术领域, 例如数字电视、语音、通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面也有很多突出的优点,在前面部分已经提到,这些都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。第三章 数字滤波器的设计设计IIR数字滤波器一般有以下两种方法:1. 模拟滤波器:首先设计一个合适的模拟滤波器,然后将它转换成满足给 定指标的数字滤波器,这种方法适合于设计幅频特性比较规则的滤波器,例如低通、高通、带通、带阻等。2.直接在频域或者时域中进行数字滤波器设计,由于要联立方程,设计时需要计算机作辅助设计。IIR滤波器以模拟低通滤波器为基础的设计方法,为了设计其他的选频滤波器(高通,带通,带阻等),需要对低通滤波器进行频率转换,在设计过程中有两种不同的变换,频带变换和模拟/数字变换。根据这两种变换的先后次序,引出两种设计方IIR法。 3.1 IIR数字滤波器的基本特点3.1.1.IIR数字滤波器的系统函数可以写成封闭函数的形式。3.1.2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 3.1.3.IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 3.1.4.IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。 在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。 与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。 IIR单位响应为无限脉冲序列FIR单位响应为有限的;iir幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上; fir幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变。这是很好的性质。 另外有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。数字滤波器按单位脉冲响应的性质可分为无限长单位脉冲响应滤波器IIR和有限长单位脉冲响应滤波器(FIR)两种。本文介绍(IIR)数字滤波器的设计与分析。3.2 IIR数字滤波器设计思路与步骤IIR 数字滤波器可用一个n阶差分方程y(n)=brx(n-r)+aky(n-k),或用它的Z域系统函数: 对照模拟滤波器的传递函数: 不难看出,数字滤波器与模拟滤波器的设计思路相仿,其设计实质也是寻找一组系数b,a,去逼近所要求的频率响应,使其在性能上满足预定的技术要求;不同的是模拟滤波器的设计是在S平面上用数学逼近法去寻找近似的所需特性H(S),而数字滤波器则是在Z平面寻找合适的H(z)。IIR数字滤波器的单位响应是无限长的,而模拟滤波器一般都具有无限长的单位脉冲响应,因此与模拟滤波器相匹配。由于模拟滤波器的设计在理论上已十分成熟,因此数字滤波器设计的关键是将H(S)H(Z),即,利用复值映射将模拟滤波器离散化。已经证明,冲击响应不变法和双线性变换法能较好地担当此任,则在此基础上,数字滤波器的设计就可首先归结为模拟滤波器的设计了。 3.3 IIR数字滤波器的设计方法 IIR数字滤波器的设计方法有多种,可归纳为下述两种。3.3.1 .传统设计方法 根据前述设计思路,首先设计一个模拟原型滤波器(截止频率为1rad/s的低通滤波器),然后在模拟域(S平面)进行频率变换,将模拟原形滤波器转换成所需类型(指定截止频率的低通、高通、带通、带阻)的模拟滤波器,再将其数字离散化,从S平面映射至Z平面,得到所需技术指标的数字滤波器。 上述过程中,也可先将模拟原型离散化,得到数字原型滤波器,继而在数字域(Z平面)进行频率变换,得到所需类型的数字滤波器。 模拟滤波器到数字滤波器的转换可在时域进行也可在频域实现,时域转换的关键是要使数字滤波器与模拟滤波器时域响应的采样值相等,以保持其瞬态特性不变,常用的是冲击响应不变法。频域变换法必须使得数字滤波器在-范围内的幅频特性与模拟滤波器在-/T/T 范围内的幅频特性一致,即保证S平面与z平面上幅频特性的一一单值对应关系,常用的是双线性变换法。3.3.2.计算机辅助设计方法 传统设计方法思路清晰,步骤详尽,可参阅公式、手册循章而行。但由于计算繁琐,手工计算大多只能用来进行简单低阶选频滤波器(如LP,HP,BP及BS等)的设计。计算机辅助设计方法是集电路理论、网络图论、数值分析、矩阵运算、元件建模、优化技术、高级计算机语言等多交叉学科于一身的新领域,它把计算机的快速、高精度、大存储容量、严格的逻辑判断和优良的数据处理能力与人的思维创造能力充分结合起来,极大地简化了数字滤波器的设计过程。在优秀科技应用软件MATLAB的信号处理工具箱中,提供了一整套模拟、数字滤波器的设计命令和运算函数,方便准确,简单易行,使得设计人员除了可按上述传统设计步骤快速地进行较复杂高阶选频滤波器的计算、分析外,还可通过原型变换法直接进行各种典型数字滤波器设计,即应用MATLAB设计工具从模拟原型直接变换成满足原定频域指标要求的数字滤波器。3.4 各种设计方法MATLAB实现3.4.1 基于模拟低通原型的MATLAB实现通过模拟低通原型滤波器进行数字带通设计程序:fp=480 %模拟低通通带上限频率fs=520 %模拟低通阻带下限频率wp=2*pi*fp %模拟低通通带上限角频率ws=2*pi*fs %模拟低通阻带下限角频率rp=3 %通带波动rs=20 %阻带衰减%巴特沃斯模拟低通原型滤波器设计n,wn=buttord(wp,WS,rp ,rs,'s')z,p,k=buttap(n) %模拟低通原型零、极点系数b1,a1=zp2tf(z,p,k) %零、极点系数转换为传递函数%巴特沃斯模拟低通原型滤波器频率响应hl,w1=freqs(b1,a1)mag1=abs(h1)模拟低通原型滤波器幅频特性曲线subplot(221);semilogx(w1,mag1)fw=40 %模拟带通滤波器带宽频率bw=2*pi*fw %模拟带通滤波器带宽角频率由模拟低通原型变换为模拟带通滤波器b2,a2=lp2bp(b1,a1,wn,bw) %模拟带通滤波函数系数巴特沃斯模拟带通滤波器频率响应h2,w2= freqs(b2,a2)mag2 =abs(1l2)模拟带通滤波器幅频特性曲线(db)subplot(222);plot(20*log10(mag2)冲击响应不变法进行离散化设计fo=2000 %采样频率bz,az=impinvar(b2,a2,2000) %数字带通滤波函数系数巴特沃斯型数字带通滤波器频率响应hz,w= freqz(bz,az)magz=abs(hz)phz=unwrap(angle(hz)subplot(223);plot(magz) %数字带通滤波器幅频特性曲线subplot(224);flot(plot) %数字带通滤波器相频特性曲线 3.4.2 基于合适类型模拟滤波器的MATLAB实现通过合适类型模拟滤波器进行数字带通设计程序fp= 480,520;fs=450,550 %模拟通带、阻带频率wp=480,520*pi*2 %模拟通带角频率ws=450,550*pi*2 %模拟阻带角频率rp=3;rs=20 %通带波动、阻带衰减巴特沃斯型模拟带通滤波器设计n,wn=buttord (wp,ws,rp,rs,'s')b,a=butter(n,wn,'s') %模拟带通滤波函数系数巴特沃斯型模拟带通滤波器频率响应ha,w= freqs(b,a)ma=abs(ha);pha=unwrap(angle(ha)subplot(421);plot(w/(2*pi),ma) %模拟幅频曲线subplot(423);plot(w/(2 pi),pha) %模拟相频曲线冲击响应不变法进行离散化设计fo=5000 %采样频率bn,an=impinvar(b,a,5000) %数字带通滤波函数系数巴特沃斯型数字带通滤波器频率响应hz,w=freqz(bn,an)mz=abs(hz);phz=unwrap(angle(hz)subplot(422);plot(w,mz) %数字滤波器幅频曲线subplot(424);plot(w,phz) %数字滤波器相频曲线hi=impz(bn,an) %数字滤波器冲击响应subplot(425),plot(hi) %冲击响应曲线n=0:300;t=n/foxl=2*square(2*pi*500*t) %500Hz方波信号subplot(426);plot(x1) %500Hz方波波形yi=conv(hi,x1) %时域卷积输出subplot(427);plot(yi) %卷积输出波形y1=filter(bn,an,x1) %数字滤波函数输出subplot(428);plot(y1) %数字滤波器输出波形 3.4.3 基于直接原型变换法的MATLAB实现数字带通滤波器直接设计程序fp= 480,520;fs=450,550 %模拟通带、阻带频率rp=3;rs=20 %通带波动、阻带衰减fo=10000 %采样频率%频率指标变换wp=2*pi*fp/f0 %数字通带频率ws=2*pi*fs/fo %数字阻带频率%切比雪夫1型数字带通滤波器直接设计n,wn=cbeblord(wp/pi,ws/pi,rp,rs)b,a=chebyl(n,rp,wn) %数字带通滤波器系数%切比雪夫1型数字带通滤波器频率响应h,w= freqz(b,a,128,10000)mag=abs(h;pha=unwrqp(angle(h)subplot(321);plot(w,mag) %幅频曲线subplot(322);plot(w,pha) %相频曲线hi=impz(b,a) %冲击响应subplot(324);plot(hi) %响应曲线n=0:500;t=n/fcx1=2*square(2*pi*500*t) %500Hz方波信号subplot(323);plot(t,x1) %500Hz方波波形yi=conv(hi,x1) %时域卷积输出subplot(326);plot(yi) %卷积输出波形y1=filter(b,a,x1) %数字滤波函数输出subplot(325); stem(y1) %数字滤波器输出波形3.5 小结IIR滤波器7的优点是可利用模拟滤波器设计的结果,缺点是相位是非线性的,若需要线性相位,则要用全通网络进行校正。第四章 FIR数字滤波器的设计4.1 FIR的设计方法FIR滤波器的优点是可方便地实现线性相位。 FIR滤波器单位冲激响应h(n)的特点:其单位冲激响应h(n)是有限长(),系统函数为: (2-12)在有限Z平面有(N-1)个零点,而它的(N-1)个极点均位于原点z=0处。Fir滤波器线性相位的特点: 如果FIR滤波器的单位抽样响应h(n)为实数,而且满足以下任一条件:偶对称h(n)h(N-1-n) 奇对称h(n)-h(N-1-n)其对称中心在n(N-1)/2处,则滤波器具有准确的线性相位。窗函数设计法: 一般是先给定所要求的理想滤波器频率响应,由导出,我们知道理想滤波器的冲击响应是无限长的非因果序列,而我们要设计的是是有限长的FIR滤波器,所以要用有限长序列来逼近无限长序列,设:(2-13) 常用的方法是用有限长度的窗函数w(n)来截取 即:(2-14) 这里窗函数就是矩形序列RN(n),加窗以后对理想低通滤波器的频率响应将产生什么样的影响呢?根据在时域是相乘关系,在频域则是卷积关系: (2-15) 其中,为矩形窗谱, 是FIR滤波器频率响应. 通过频域卷积过程看的幅度函数H()的起伏现象,可知,加窗处理后,对理想矩形的频率响应产生以下几点影响:(1)使理想频率特性不连续点处边沿加宽,形成一个过渡带,其宽度等于窗的频率响应的主瓣宽度。(2)在截止频率的两边的地方即过渡带的两边,出现最大的肩峰值,肩峰的两侧形成起伏振荡,其振荡幅度取决于旁瓣的相对幅度,而振荡的多少,则取决于旁瓣的多少。(3)改变N,只能改变窗谱的主瓣宽度,改变的坐标比例以及改变的绝对值大小,但不能改变主瓣与旁瓣的相对比例(此比例由窗函数的形状决定)。(3)对窗函数的要求 a、窗谱主瓣尽可能窄,以获取较陡的过渡带;b、尽量减小窗谱的最大旁瓣的相对幅度;即能量集中于主瓣,使肩峰和波纹减小,