基于matlab的数字滤波器的设计-毕业设计_第1页
基于matlab的数字滤波器的设计-毕业设计_第2页
基于matlab的数字滤波器的设计-毕业设计_第3页
基于matlab的数字滤波器的设计-毕业设计_第4页
基于matlab的数字滤波器的设计-毕业设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文(设计)论文题目基于MATLAB的数字滤波器的设计姓名学号班级02班年级2011级专业通信工程系部信息工程学院指导教师(副教授)完成时间2015年4月15日作者声明本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。毕业论文(设计)成果归武昌工学院所有。特此声明作者专业通信工程作者学号作者签名年月日基于MATLAB的数字滤波器的设计THEDESIGNOFDIGITALFILTERBASEDONMATLAB2015年4月15日摘要本文研究基于MATLAB的数字滤波器的设计。首先介绍了本课题研究的目的及意义,调研了国内外数字滤波器应用现状及发展趋势;接着对MATLAB软件的发展历史、语言特点、功能特性进行了介绍;其次对数字滤波器进行了简介,其中包括数字滤波器的基本概念、类型、设计步骤、基本结构等;然后本文重点描述了IIR和FIR数字滤波器的设计过程和设计方法。对于IIR数字滤波器,详细的分析了双线性变换法、脉冲响应不变法对于FIR数字滤波器,详细分析了窗函数法、最小二乘法、最优化设计法。通过MATLAB软件对五种不同方法编写的程序进行仿真,分析仿真结果,比较各种设计方法的适用范围和它的不可替代性。基于MATLAB的数字滤波器的设计,将数字滤波器的设计集于一个软件包,十分方便、直观、准确和可靠。借助于MATLAB设计滤波器的这种优越性,推动了滤波技术的高速发展。基于MATLAB语言可扩充的特点,提高了编程的效率,节约了大量的编程时间。本文所研究的内容,对通过MATLAB软件设计数字滤波器的发展起到一定的促进和推动作用。关键字IIR数字滤波器;FIR数字滤波器;脉冲响应不变法;双线性变换;窗函数;最小二乘法;最优化设计ABSTRACTTHISPAPERISBASEDONTHEDESIGNOFMATLABDIGITALFILTERITFIRSTINTRODUCESTHEPURPOSEANDSIGNIFICANCEOFTHETOPICANDRESEARCHESTHEAPPLICATIONSTATUSANDDEVELOPMENTTRENDSOFTHEDIGITALFILTERATHOMEANDABROADSECONDLYITPRESENTSTHEHISTORICALDEVELOPMENTOFTHEMATLABSOFTWARETHENITGIVESABRIEFINTRODUCTIONOFTHEDIGITALFILTER,INCLUDINGTHEBASICCONCEPTSOFDIGITALFILTERS,TYPES,DESIGNSTEPSANDTHEBASICSTRUCTUREBESIDESITEMPHATICALLYDESCRIBESTHEDESIGNPROCESSANDDESIGNMETHODSIIRANDFIRDIGITALFILTERFORIIRDIGITALFILTER,ADETAILEDANALYSISOFTHEBILINEARTRANSFORMANDIMPULSERESPONSEINVARIANCEISGIVENFORFIRDIGITALFILTER,ADETAILEDANALYSISOFTHEWINDOWFUNCTIONMETHOD,LEASTSQUARESMETHOD,OPTIMIZEDDESIGNISGIVENSIMULATINGTHEPROGRAMWRITTENINFIVEDIFFERENTMETHODSTHROUGHMATLABSOFTWARE,ANALYSISTHESIMULATIONRESULTSANDTHENCOMPARETHESCOPEOFAPPLICATIONOFVARIOUSDESIGNMETHODSANDTHEIRIRREPLACEABLEABILITYTHEDIGITALFILTERDESIGNBASEDONMATLAB,SETTINGTHEDIGITALFILTERDESIGNINAPACKAGE,VERYCONVENIENT,INTUITIVE,ACCURATEANDRELIABLETHISSUPERIORITYPROMOTESTHERAPIDDEVELOPMENTOFFILTERINGTECHNOLOGYTHEFEATURESTHATMATLABLANGUAGEFEATURESCANBEEXPANDEDIMPROVESTHEPROGRAMSEFFICIENCYANDSAVESALOTOFPROGRAMMINGTIMETHECONTENTOFTHISPAPERPLAYSACERTAINROLEINPROMOTINGANDFACILITATINGTHEDEVELOPMENTOFTHEDIGITALFILTERBYMATLABSOFTWAREDESIGNKEYWORDSIIRDIGITALFILTERFIRDIGITALFILTERIMPULSERESPONSEINVARIANCEDOUBLELINEARTRANSFORMATIONWINDOWFUNCTIONLEASTSQUARESMETHODOPTIMALDESIGN目录1引言111课题研究的目的和意义112国内外发展现状和趋势113本文研究的主要内容32MATLAB软件概述321发展历程及语言特点322MATLAB的应用与功能特性43数字滤波器简介531数字滤波器的概念532IIR数字滤波器的基本结构533FIR数字滤波器的基本结构734数字滤波器的性能指标84数字滤波器的MATLAB实现941IIR数字滤波器的MATLAB实现942FIR数字滤波器的MATLAB实现14总结26主要参考文献27后记281引言11课题研究的目的和意义目前,数字信号处理理论与应用已成为一门及其重要的高新技术学科。数字信号处理技术日益成熟,广泛应用于各个领域。伴随着社会和经济的伟大变革,如今人人享有通信自由。从过去的普通电话到现在随时随地视频聊天,移动电话不再是特殊阶层使用,已成为大众日常生活的普通工具。网络资源的共享,使得学生或是工作人士轻而易举的获取到自己想要的资料。科技带给我们生活的极大便利,可能很多人会想到计算机发挥了很大作用,但是,数字信号处理技术发挥的作用也是惊人的。如果没有这一技术的快速发展和应用,可能我们还没有那么快就可以足不出户而正常生活着。数字信号处理(DSPDIGITALSIGNALPROCESSING)经过几十年的不断发展,一套较为完整的的学科领域和理论体系现在逐渐形成了。滤波含有过滤之意,将信号中无用部分滤除,得到想要的部分,而滤波却是信号处理技术的一个重要分支。凡是信号经过的系统,比如硬件系统、算法程序等软件系统,都会起到滤波的作用。人们往往熟知通过不同的电子元器件组成的模拟滤波器,但随着计算机技术、数字电路技术、大规模集成电路技术的发展,数字滤波技术越来越受人们亲赖。因为数字滤波器较之模拟滤波器有如下优势(1)精度高。(2)灵活性大。(3)性能可靠。(4)易于大规模集成,设计简单。(5)并行处理。(6)性能参数易变。基于上述众多优点,数字滤波器在许多的应用领域逐步代替了传统的模拟滤波器,并且正在各种科学研究或工程技术领域里快速发展。所以,对数字滤波器的研究和分析有着很重要的实际需要。数字滤波已成功应用在语音处理、图像处理、医疗、电视、通信、雷达、航天、声纳、音乐、军事等领域。而基于MATLAB软件实现数字滤波器的设计,可通过修改滤波器的参数十分方便的改变滤波器的特性,进而解决一些特定需求。因此我们有必要对滤波器的设计方法进行探讨和研究,理解滤波器工作原理,优化设计方法,设计开发出稳定性好的滤波器系统。数字滤波涉及大量的运算,离开了计算机及相应的软件,就不可能解决任何稍微复杂的实际应用问题。MATLAB已成为国际公认的数字滤波的标准软件和开发平台。借助于MATLAB软件设计数字滤波器设计不仅方便而且易于实现,现已成为人们研究和学习的热点。因此基于MATLAB的数字滤波器的设计,不仅有着重要的理论意义,而且有着重要的现实意义。12国内外发展现状和趋势在近代电信装备和各类控制系统中,滤波器应用极为广泛,凡是有能力进行信号处理的装置都可以称为滤波器;在所有的电子产品部件中,使用最广,技术最复杂要算滤波器了。对滤波器的研究和生产历来为各国所重视,因为,滤波器的优劣直接决定产品的优劣。早在上世纪40年代末,开始了关于数字滤波器的可能性的讨论,并在20世纪50年代也有人讨论了数字滤波的问题。在此期间,科学家们做了大量卓有成效的工作,这些工作对于后来数字滤波器的快速发展,发挥了非常重要的作用。到了上个世纪60年代中期,美国科学家库里,杜克总结了前人研究成果,经过长期研究,使得快速傅立叶变换的这一成果的到来。在数字信号处理和数字滤波中,快速傅立叶变换的出现是学术界一直认可的一个科学里程碑。自那时以来,各种快速傅立叶变换已经出现在数字滤波领域,在数字滤波器中开始形成了成套正规理论。在这一时期,提出了各种各样的数字滤波结构,有的则以运算速度快见长,有的以运算误差是最小误差为特点,出现了数字滤波器的各种实现方法。对递归和非递归两类滤波器作了全面的比较,统一了数字滤波器的基本概念和理论降数字滤波器的一个重要发展是对有限冲激响应和无限冲激响应关系的认识转化。在初期,一般认为IIR滤波器比FIR滤波器具有更高的运算效率,因而明显地趋向于前者。后来,当人们提出用快速傅利叶变换实现卷积运算的概念之后,发现高阶FIR滤波器也可以用很高的运算效率来实现,这就促使人们对高性能FIR滤波器的设计方法和数字滤波器的频域设计方法进行了大量的研究。数字滤波器尽管在语音、声纳、地震的信号处理中曾经发挥过作用,但由于以前计算机主机的价格很昂贵,严重阻碍了数字滤波器的发展,随着计算机科学的飞速发展,数字滤波器越来越多的展示出它自身的优势,正在加速进入各种工业领域经过最近几十年的发展,线性滤波方法,如维纳滤波、卡尔曼滤波和自适应滤波得到了广泛的研究和应用。一些非线性滤波方法,如小波滤波、同态滤波、中值滤波、形态滤波等都是现代信号处理的前沿课题,不但有重要的理论意义,而且有广阔的应用前景。80年代致力于各类新型滤波器性能提高的研究并逐渐扩大应用范围。90年代至今在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。我国当时主要用于话路滤波和报路滤波,广泛使用滤波器是50年代后期的事。我国数字滤波器在研制、生产和应用等方面正在快速发展,但由于缺少专门研制机构,经过半个世纪的发展,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。模拟滤波器在国内的工程技术中应用中占了很大的比重,数字滤波器在生产应用中所占的比例还不多。从应用比例来看,必须加大对这方面的研究投入,数字滤波器才能实现大规模应用。在国内也很多学者在数字滤波领域展开长期的深入研究,随着我国科学技术的飞速发展,如山东大学的赖晓平教授、天津大学的王兆华教授。无论是在理论上还是在工程技术领域,都有很多科研成果。我国现有滤波器的种类和所覆盖的频率己基本上满足现有各种电信设备。从整体而言,我国提出了一套有关数字滤波器设计的新算法和新设计方案设计空间方法,目前还处于研究阶段。在理论研究方面,在研究用模糊数学来设计数字滤波器,在超大规模集成电路领域,对DF的研究也十分活跃。对滤波器的性能要求越来越高,功能也越来越多。对FIR滤波器而言,从理论上讲要尽可能的降低其阶数,因为随着阶数的增加,实现数字滤波器的运算量就越大,如果阶数不能降低,则对算法的运算效率就要提出更高的。具体实现它们的硬件电子元器件必须向大规模集成化方向发展是一个重要的趋势要求,如果没有重大的理论突破,则只能在硬件寻找突破口,所以电子元件的集成化尤其重要。我国数字滤波器研制和生产与上述要求相差甚远,电子工程和科技人员肩负着重大的历史责任,为缩短这个差距。而且集成化在世界范围内也是一个重要的发展趋势。由于缺少专门研制机构,集成工艺和材料工业跟不上来,虽然我国滤波器在研制、生产应用等方面已有一定进步,但使许多新型滤波器的研制应用与国际水平有一段距离。13本文研究的主要内容本次毕业设计中主要完成的内容包括(1)本课题研究的目的及意义,数字滤波器国内外的应用现状和发展趋势。(2)MATLAB的简介,熟悉软件的功能和使用方法。通过书籍阅读和文献搜索学习MATLAB和数字滤波器,并掌握MATLAB的使用和数字滤波器的设计方法。(3)基于MATLAB的IIR数字滤波器的设计,对于IIR数字滤波器的设计,采用冲激响应不变法和双线性变换法,编写程序仿真。(4)基于MATLAB的FIR数字滤波器的设计,对于IIR数字滤波器的设计,采用窗函数法,最小二乘法,最优化设计法,并进行仿真。(5)通过仿真结果分析这几种设计数字滤波器的方法。2MATLAB软件概述21发展历程及语言特点20世纪70年代中期,CLEVEMOLER博士和其同事开发了调用EISPACK和LINPACK的FORTRAN子程序库。其中,EIPACK用来求解特征值,LINPACK用来解线性方程。同年后期,CLEVEMOLER担任美国墨西哥大学计算机系的系主任,为了让学生方便的调用EISPACK和LINPACK,他设计了接口程序,并取名MATLAB(MATRIXLABORATORY矩阵实验室)。早期的MATLAB是用FORTRAN编写的,只能进行矩阵运算,绘图也只能用星号描点等简单形式,只提供了几十个内部函数。虽然其功能如此简单,当作为免费软件推出以后,还是吸引了大批的使用者。第一个商业化的MATLAB是于1984年由MATHWORKS公司推出的,该版本基于当时流行的DOS操作系统,本身也由C语言重新编写。1992年具有划时代意义的MATLAB40版本发布,用户数剧增。1994年的42版本扩充了40版本的功能,尤其在图形界面设计方面提供了新的方法。1997年推出的50的版本允许了更多的数据结构,使其扩展为一种非常方便编程的语言工具。1999年推出的MATLAB53版本在很多方面又进一步提高了MATLAB语言的功能。2000年10月底推出了其全新的MATLAB60正式版,在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。2004年推出70版本,新增12个新产品模块,升级了28个产品模块。对MATLAB编程环境、代码效率、数据可视化、数学计算、文件I/O等方面进行了升级。在这之后,基本每年都会稳定的发布两个更新版本。现在的MATLAB支持各种操作系统,能够运行在十几个操作系统平台。MATLAB再也不是一个简单的矩阵实验室了,逐渐演变成为一种基于算法开发、数据可视化、数据分析以及数值计算的计算机高级编程语言和交互式环境。MATLAB语言是一种交互性的数学脚本语言,开发环境直接简洁,其语法与C/C类似。它支持包括逻辑、数值、文本、函数柄和异质数据容器在内的15种数据类型,每一种类型都定义为矩阵或阵列的形式。在线性代数、数理统计、自动控制、数字信号处理、动态系统仿真等方面,MATLAB已表现了其不可替代的一面。是科研工作人员和工程技术人员进行科学研究和生产实践的有利武器。MATLAB语言具有下述显着特点(1)具有强大的矩阵运算能力MATRIXLABORATORY(矩阵实验室),使得矩阵运算非常简单。MATLAB软件是基于矩阵计算开发的,在其他编程语言中需要使用多个FOR语句才能完成的操作,在MATLAB中直接使用矩阵即可完成计算,因而MATLAB在数据计算分析,特别是对海量数据的处理方面表现出相比其他的编程语言更大的优势。2多样化的操作途径MATLAB语言为用户提供了多种操作方式选择。用户可以编写代码实现各种功能,代码可重复利用,同时,不擅长编程的用户也可以通过MATLAB图形界面操作,完成MATLAB的相应功能。3功能强大的工具箱对于算法的开发,MATLAB提供了大量现成的函数,用户可以直接调用。MATLAB软件对目前主流的算法都提供了现成的函数,并封装成一个个适用于不同领域的算法工具箱。常用的工具箱包括数学类、经济类、信号处理类工具箱,同时随着MATLAB软件版本的更新,不断有功能更强大的工具箱添加到MATLAB中。MATLAB语言的这一特点,将大大节省算法开发的时间,用户无须详细了解算法的细节,只要掌握MATLAB中算法相应函数的调用即可。4良好的扩展能力利用MATLAB语言编写的程序具有良好的扩展能力,可以方便地与各种编程语言链接。用户可以方便地在MATLAB中调用其他语言已编写好的程序,同时在其他语言中也可以方便地调用MATLAB的程序。MATLAB语言具有良好的接口编程技术。5完善的帮助系统完善的帮助系统是MATLAB的又一突出特点,MATLAB向用户提供了多种帮助途径,在14节中将详细介绍MATLAB强大的帮助系统。通过MATLAB的帮助系统,用户可以获取MATLAB常用函数的使用方法及应用实例,而且这种帮助可以是实时的、在线的。同时,为了便于用户更好地使用MATLAB软件,在MATLAB中的主要算法都是可以直接看到源代码的。22MATLAB的应用与功能特性MATLAB具有以下几个功能特性1功能强大的数值运算能力MATLAB有超过500种数学、统计、科学及工程方面的函数可供调用,这些函数使用方法简单自然,允许用数学形式的语言编写程序。另外,用户也可以加入自己的函数使系统成为使用者所需要的环境。MATLAB编程效率高,易学易懂,因此,该语言被通俗的称为演算纸式科学算法语言。2强大的图形处理能力在MATLAB中数据的可视化非常方便,可以很容易的制作高品质的图形。用MATLAB绘图十分方便,它的系列绘图函数均只需调用不同的绘图函数。在调用绘图函数时调整自变量可绘出不变颜色的、线、复线或多重线。这种为科学研究着想的设计是一般通用的编程语言所不及的。3高级且简单的程序环境既有结构化的控制语句,又有面向对象的编程特性。用MATLAB编程十分简单,所花的时间约为C的几分之一,而且不需要编译及链接即可执行,并且它的语法限制不严格,可移植性好。4丰富的工具箱及模块集这些功能强劲的工具箱提供了使用者在许多特别应用领域所需的函数。同时系统还包含很多种特殊函数,可将基于MATLAB的算法与外部应用程序和语言进行集成。5易于扩充除内部函数外,所有MATLAB的核心文件和工具箱文件都是既可读又可改的源文件,用户能根据自己的需要对这些源文件进行修改或加入自己编写的文件。运用MATLAB,将大量的复杂的熟悉运算用MATLAB进行形象、直观的计算机模拟与仿真实现。随着版本的不断升级,内容不断扩充,功能更加强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。全球现有超过五十万的企业用户和上千万的个人用户,广泛分布在航空航天、金融财务、机械化工、电信、教育等各个行业。3数字滤波器简介31数字滤波器的概念滤波,即过滤之意,并不是对所有的干扰信号进行滤除,而是进行一定的衰减,让某些信号成分通过,又阻止或衰减了另一些信号成分,滤波器可广义地理解为一个信号选择系统。它按冲激响应HN的长度分类可分为有限冲激响应(FIR)数字滤波器和无限冲激响应(IIR)滤波器两种,冲激响应本来是用于模拟系统,指系统对冲激函数(T)的响应。发展到数字滤波器后,工程上仍沿用这个名称,与单位抽样响应和单位脉冲响应的说法通用。在特性、结构、设计方法、运用场合等方面两种数字滤波器均不相同。用系统函数表示为式3101MKKNBZYZHZXA由系统函数可以得到常系数线形差分程为式3200NMKKYNAYBXN可见数字滤波器的功能就是把输入序列XN通过一定的运算变换成输出序列YN。不同的运算处理方法决定了滤波器实现结构的不同。无限冲激响应滤波器的单位抽样响应HN是无限长的,是递归式的,在结构上存在着输出信号到输入信号的反馈,因此在Z平面的有限区间0Z有极点存在。32IIR数字滤波器的基本结构IIR数字滤波器实现的基本结构有1IIR滤波器的直接型结构;优点延迟线减少一半,变为N个,可节省寄存器或存储单元;缺点其它缺点同直接I型。通常在实际中很少采用上述两种结构实现高阶系统,而是把高阶变成一系列不同组合的低阶系统来实现。2IIR滤波器的级联型结构;优点系统实现简单,只需一个二阶节系统通过改变输入系数即可完成;极点位置单独调整;运算速度快可并行进行;各二阶网络的误差互不影响,总的误差小,字长要求低。缺点不能直接调整零点,因多个二阶节的零点并不是整个系统函数的零点,当需要准确的传输零点时,级联型最合适。3IIR滤波器的并联型结构。优点简化实现,用一个二阶节,通过变换系数就可实现整个系统;极、零点可单独控制、调整,调整1I、2I只单独调整了第I对零点,调整1I、2I则单独调整了第I对极点;各二阶节零、极点的搭配可互换位置,优化组合以减小运算误差;可流水线操作。缺点二阶阶电平难控制,电平大易导致溢出,电平小则使信噪比减小。A、直接型B、并联型C、串联型图31IIR滤波器的基本结构33FIR数字滤波器的基本结构FIR滤波器的单位抽样响应为有限长度,一般采用非递归形式实现。通常的FIR数字滤波器有横截性和级联型两种。FIR滤波器实现的基本结构有1FIR滤波器的横截型结构表示系统输入输出关系的差分方程为式3310NMYNHXN直接由差分方程得出的实现结构如图所示图32横截型直接型卷积型若HN呈现对称特性,即此FIR滤波器具有线性相位,则可以简化加横截型结构,下面分情况讨论图33、N为奇数时线形相位FIR滤波器实现结构图34、N为偶数时线性相位FIR滤波器实现结构2FIR滤波器的级联型结构将HZ分解成实系数二阶因子的乘积形式式341212001NNKKHZHNZBZ这时FIR滤波器可用二阶节的级联结构来实现,每个二阶节用横截型结构实现。如图所示图35FIR滤波器的级联结构这种结构的每一节控制一对零点,因而在需要控制传输零点时可以采用这种结构。34数字滤波器的性能指标在进行滤波器设计时,需要确定其性能指标。一般来说,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。以低通滤波器特性为例,频率响应有通带、过渡带及阻带三个范围。在通带内1AP|HEJ|1|C在阻带中|HEJ|ASTST|C其中C为通带截止频率,ST为阻带截止频率,AP为通带误差,AST为阻带误差。与模拟滤波器类似,数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等类型,由于数字滤波器的频率响应是周期性的,周期为2。各种理想数字滤波器的幅度频率响应如图所示图36低通滤波器频率响应幅度特性的容限图图37各种理想数字滤波器的幅度频率响应4数字滤波器的MATLAB实现41IIR数字滤波器的MATLAB实现411IIR滤波器设计原理IIR数字滤波器的设计步骤1按一定规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;2根据转换后的技术指标设计模拟低通滤波器HS;3在按一定规则将HS转换为HZ。若所设计的数字滤波器是低通的,那么上述设计工作可以结束。若所设计的是高通、带通或者带阻滤波器,那么还有步骤将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤2设计出模拟低通滤波器HS,再由冲击响应不变法或双线性变换将HS转换为所需的HZ。SZ映射的方法有冲激响应不变法、阶跃响应不变法、双线性变换法等。412冲激响应不变法冲激响应不变法是从时域出发,要求数字滤波器的冲激响应HN对应于模拟滤波器的冲激响应HAT的抽样,即HNHANT,其中T是抽样周期。冲激响应不变法基本变换过程为HASHATHNHZ(式41)由于数字滤波器的冲激响应对应模拟滤波器冲激响应的抽样,由抽样定理可知数字滤波器的频率响应为模拟滤波器频率响应的周期延拓(式12JAKKEJTT42)其中,抽样频率为(式12,SSF43)为了避免混叠失真要求模拟滤波器的频谱限带于折叠频率以内,即要满足(式0,2SAHJT44)而实际的滤波器并非严格限带,所以用冲激响应不变法设计的数字滤波器不可避免地会产生混叠失真。所以此法只适于设计带限滤波器。其映射关系如下图41在MATLAB工具箱中,提供了专用函数IMPINVAR来实现以上计算,其调用格式为格式一BZ,AZIMPINVARB,A,FS功能把具有B,A模拟滤波器传递函数模型转换为采样频率为FSHZ的数字滤波器的传递函数模型BZ,AZ。采样频率默认值为FS1。格式二BZ,AZIMPINVARB,A,FS,TOL功能利用指定的容错误差TOL来确定极点是否重复。如果设置的容差增大,则函数认为相邻的很近的极点为重复极点的可能性增大。默认的TOL0001,即01。例1、采用冲激响应不变法,设计一个BUTTERWORTH滤波器,满足如下级数指标通带边界频率P04,通带衰减函数P05DB,阻带边界频率S06,阻带衰减函数S50DB,选取T2。程序见附录1仿真截图图42413双线性变换法为了克服冲激响应不变法多值映射产生的频率混叠的现象,双线性变换法的映射原理是1通过下面的变换公式把整个S平面压缩到中介S1平面的一条横带里(宽度从/T到/T),其中C为常数可根据设计要求选取;(式1TAN2TC45)2通过将此横带变换到整个Z平面,这样就使S平面和Z平面是一一对应的单值映射关系,消除了频谱混叠现象。图43双线性变换法的映射关系可以证明,从S平面到Z平面的映射关系为,(式46)CSZ1Z由于从SZ和从ZS的映射规则都是分式线性变换,因此称其为双线性变换。MATLAB信号处理工具箱为实现双线型变换提供了函数BILINEAR,基本调用格式如下格式一ZD,PD,KDBILINEARZ,P,K,FS功能把模拟滤波器的零极点模型转换为数字滤波器的零极点模型。其中FS为采样频率。格式二NUMD,DENDBILINEARNUM,DEN,FS功能把模拟滤波器的传递函数模型转换为数字滤波器的传递函数模型。格式三AD,BD,CD,DDBILINEARA,B,C,D,FS功能把模拟滤波器的状态方程模型转换为数字滤波器的状态方程模型。说明以上三种调用格式中,可以在增设一个畸变频率FPHZ输入参数。在进行双线性变换之前,对采样了频率进行畸变处理,以保证频率冲激响应在双线性变换前后,在FP处具有良好的单值映射关系。例1、双线形变换法设计CHEBYSHEV高通滤波器采样频率为10HZ,通带临界频率FP4HZ,通带内衰减小于08DB(P1);阻带临界频率FS3HZ,阻带内衰减大于20DB(S25)。设计一个数字滤波器满足以上参数。程序见附录2仿真截图FS10T1/FSFP4FS3WPFP/FS2PIWSFS/FS2PIOMEGAP2FSTANWP/2OMEGAS2FSTANWS/2N,WNCHEB1ORDOMEGAP,OMEGAS,08,20,SB,ACHEBY1N,08,WN,HIGH,SFREQSB,A设计模拟的BZ,AZBILINEARB,A,FS映射为数字的FREQZBZ,AZ,512,FSBZ,AZ图44例2、双线性变换法实现CHEBYSHEV低通(I型)采样频率为10HZ,设计一个数字低通滤波器,要求其通带临界频率FP3HZ,通带(P1DB,阻带临界频率FS4HZ,阻带内衰减大于15DB(内衰减小于1DB程序见附录3仿真截图T01FS1/TFP3FS4RP1AS15频率预畸WPFP/FS2PIWSFS/FS2PIOMEGAP2/TTANWP/2OMEGAS2/TTANWS/2设计CHEBYSHEV低通滤波器原型EPSQRT10RP/101A10AS/20OMEGACOMEGAPOMEGAROMEGAS/OMEGAPGSQRTAA1/EPNCEILLOG10GSQRTGG1/LOG10OMEGARSQRTOMEGAROMEGAR1Z,P,KCHEB1APN,RP获取零极点参数AREALPOLYPANNAN1PPOMEGACAREALPOLYPANUAN1KKANU/ANNB0KBREALPOLYZBKB双线性变换BZ,AZBILINEARB,A,FS绘制结果FREQZBZ,AZ,200,FS,WHOLEHFREQZBZ,AZ,200,WHOLEPLOTABSH图4542FIR数字滤波器的MATLAB实现421FIR滤波器设计原理由于FIR滤波器冲击响应HN是有限长序列,因此这种结构可用非递归结构来实现。FIR数字滤波器系统函数一般形式为(式10NNNHZHZ47)FIR滤波器数学表达式可用差分方程来表示(式10NKYNHXNK48)式中Y(N)输出序列;H(K)滤波器系数;N滤波器阶数;X(K)输入序列。基于MATLAB设计FIR滤波器关键在于以下几个步骤(1)根据给定的性能指标设计一个H(Z),使其逼近这一指标;(2)计算并确定滤波器的系数BN;(3)将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。FIR滤波器的设计方法主要有窗函数法、最优化设计法及约束最小二乘逼近法。在滤波器传统设计中,要得到其幅频和相频响应特性,需要根据这些方法进行大量的计算,这使得滤波器的设计缓慢,周期变长,不利于设计的优化。MATLAB信号处理工具箱中提供了基于滤波器设计方法的工具函数,编程中可根据设计要求直接调用相应的函数,方便快捷,见表1。表1FIR数字滤波器设计方法及函数调用格式设计方法调用方法调用格式说明窗函数法FIR1FIR2BFIR1N,WNBFIR2(N,F,M)N为阶数;WN为截止频率F,M为期望幅频向量和幅值向量最优化设计法FIRLSREMEZREMEZORDBFIRLSN,F,ABREMEZN,F,A,WN,FO,AO,WREMEZORDF,A,DEV两者仅算法不同,F为频率点向量,N为指定频率点幅度响应,W为权系数FO为归一化频率边界,AO为频带内幅值,W为权向量最小二乘法FIRCLSFIRCLS1BFIRCLSN,F,A,UP,LOBFIRCLS1N,WO,DP,DSUP,LO为每个频带上边界和下边界频率,F,A为期望幅频特性的频率向量和幅值向量。WO为截至频率,DP为离幅值1的最大偏差,DS为阻带离幅值0的最大偏差。422用窗函数法设计FIR数字滤波器窗函数设计技术是FIR滤波器设计的主要方法之一,由于其运算简单、精度高,已成为工程中应用最广泛的设计方法。设计滤波器的基本思想是让待设计的实际滤波器逼近理想特性。理想低通滤波器的频率特性应为振幅特性在通带内为1,阻带内为0;在通带内的相位特性与W成线性关系,即(式,1,0WWEEHCCCJNJD49)它对应的理想单位冲激相应HDN为(式SIN2100NDWENHCWJNJDNC410)可见,理想低通滤波器的单位冲激响应HDN是无限长的非因果序列。而我们要设计的是FIR滤波器,其HN必然是有限长的,为了构造物理上可以实现的长度为N的因果线性相位滤波器,必须将HDN截取长度为N的一段,或者说用一个有限长度的窗口函数序列WN来截取HDN,即HNWNHDN,因而窗函数序列的形状及长度的选择就是关键。工程实际中常用的窗函数有6种,即矩形窗、三角形窗、汉宁HANNING窗、哈明HAMMING窗、布莱克曼BLACKMAN窗和凯泽KAISER窗。它们之间的性能比较如表2所示。实际的FIR数字滤波器的频率响应H逼近理想滤波器频率响应HD的好坏,JWEJWE取决于窗函数的频率特性WW。表26种窗函数的特性窗函数旁瓣峰值/DB近似过渡带宽精确过渡带宽阻带最小衰减/DB矩形窗134/N18/N21三角形窗258/N61/N25汉宁窗318/N62/N44哈明窗418/N66/N53布莱克曼窗5712/N11/N74凯泽窗()86575710/N80窗函数法设计步骤用窗函数设计FIR滤波器的步骤为1选择窗函数类型能够和长度,写出窗函数W(N)表达式。根据阻带最小衰减选择窗函数WN的类型,再根据过渡带宽确定所选窗函数的长度N。2构造希望逼近的频率响应函数。根据设计需要,一般选择相应的线性相位理JWDEH想滤波器(理想低通,理想高通,理想带通,理想带阻)。应当注意,理想滤波器的截止频率WC点(对低通滤波器)近似为最终设计的FIRDFD的6DB频率。021GG3计算(式DWEHNHJNJWDD21411)4加窗得到设计结果(式NWHND412)实际设计时,一般采用MATLAB工具箱函数实现。步骤(1)由设计者根据设计指标完成,步骤(2)(4)的解题过程可调用设计函数FIR1来实现。FIR1时用窗函数法设计线性相位FIRDF的工具箱函数,调用格式如下HNFIR1N,WC,FTYPE,WINDOWFIR实现线性相位FIR滤波器的标准窗函数法设计。“标准”时指再设计低通、高通、带通、带阻FIR滤波器时,分别取相应的理想低通、高通、带通、带阻滤波器,JWDEH故而设计的滤波器的频率响应称为标注频率响应。HNFIR1N,WC可得到6DB截至频率为WC的N阶(单位脉冲响应HN长度为N1)FIR低通滤波器,默认(缺省参数WINDOWS)选用HAMMIING窗。其单位脉冲响应HN为HNHN1,N0,1,2,N而且满足线性相位条件HNHN1N其中WC为对归一化的数字频率,0WC1。HNFIR1N,WC,FTYPE可设计高通和带阻滤波器。当FTYPEHIGH时,设计高通FIR滤波器;当FTYPESTOP时,设计带阻FIR滤波器。HNFIR1N,WC,FTYPE,WINDOW通过选择WC、FTYPE和WINDOW参数,可以设计各种加窗滤波器。FIR2可以指定任何形状的HD(),用HELP命令查阅其调用格式。JWE例1设计一个低通滤波器,性能指标为通带01000HZ,阻带截止频率为2000HZ,通带波动1,阻带波动5,采样频率为10000HZ,采用KAISER窗。程序见附录4仿真截图FC1000FS10000N,WN,BETA,FTYPEKAISERORD10002000,10,005005,FS得出滤波器的阶数W2FC/FS模拟到数字滤波器的技术指标的转换WINDOWKAISERN1,BETA使用KAISER窗函数BFIR1N,W,WINDOW使用标准频率响应的加窗设计函数FIR1FREQZB,1,512数字滤波器频率响应T1100/FSSSIN2PIT800SIN2PIT3000SIN2PIT4000混和正弦波信号SFFILTERB,1,S对信号S进行滤波滤波器长度为13,归一化截止频率为02,凯塞窗控制旁瓣的参数为15099,以及传递给函数FIRL用于指定滤波器类型的FTYPE为LOW,通过图46、图47、图48可以看出它能满足设计要求。图46滤波器的幅频与相频特性图47滤波前混和正弦波信号的波形图48滤波后的波形423用最优化设计法设计FIR数字滤波器最优化设计方法是指采用最优化准则来设计的方法。在FIRDF的最优化设计中,最优化准则有均方误差最小化准则和等波纹切比雪夫逼近也称最大误差最小化准则两种。实际设计中,只有采用窗函数法中的矩形窗才能满足前一种最优化准则,但由于吉布斯GIBBS效应的存在,使其根本不能满足设计的要求。为了满足设计的要求,可以采用其它的窗函数来消除吉布斯效应,但此时的设计已经不能满足该最优化准则了。因此,要完成FIRDF的最优化设计,只能采用后一种优化准则来实现。1等波纹切比雪夫逼近准则在滤波器的设计中,通常情况下通带和阻带的误差要求是不一样的。等波纹切比雪夫逼近准则就是通过对通带和阻带使用不同的加权函数,实现在不同频段通常指的是通带和阻带的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值。通常线性相位滤波在不同的频带内逼近的最大容许误差要求不同。等波纹切比雪夫逼近准则就是通过通带和阻带使用不同的加权函数,实现在不同频段通常指的是通带和阻带的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得和之间的最大绝对误差最小。JWDHEJW等波纹切比雪夫逼近是采用加权逼近误差,它可以表示为JWEE34JWJWJWJWDEEWEHE其中,为逼近误差加权函数在误差要求高的频段上,可以取较大的加权值,J否则,应当取较小的加权值。尽管按照FIR数字滤波器单位取样响应HN的对称性和N的奇、偶性,FIR数字滤波器可以分为4种类型,但滤波器的频率响应可以写成统一的形式3512JNWJKJWHEEH其中,K0,1,H为幅度函数,且是一个纯实数,表达式也可以写成统一的形式36JWDEQP其中,为的固定函数,为M个余弦函数的线性组合。Q2MATLAB函数利用数字信号处理工具箱中的REMEZORD和REMEZ函数可以实现FIRDF的最优化设计。在此先介绍这两个函数1N,FO,AO,WEIGHTSREMEZORDF,A,DEV功能利用REMEZORD函数可以通过估算得到滤波器的近似阶数N,归一化频率带边界FO,频带内幅值AO及各个频带内的加权系数WEIGHTS。输入参数F为频带边缘频率,A为各个频带所期望的幅度值,DEV是各个频带允许的最大波动。2HREMEZN,FO,AO,WEIGHTS,FTYPE功能利用REMEZ函数可以得到最优化设计的FIRDF的系数,输入参数N是滤HN波器的阶数,FO,AO,WEIGHTS参数含义说明同1。FTYPE是所设计的滤波器类型,它除了可以设计普通的滤波器外,它还可以设计数字希尔钞特变换器以及数字微分器。实际设计中,由于REMEZORD函数可跑高估或低估滤波器的阶数N,因此在得到滤波器的系数后,必须检查其阻带最小衰减是否满足设计要求。如果此时的技术指标不能满足设计要求,则必须提高滤波器的阶数到N1,N2等。故等波纹切比雪夫逼近法设计FIR数字滤波器的步骤是给出所需的频率响应,加权函数和滤波器的单位取样响应JWDHEJWWE的长度N。H由中给定的参数来形成所需的、和的表达式。DHP根据REMEZ算法,求解逼近问题。利用傅立叶逆变换计算出单位取样响应。HN例2设计一个最小阶数的低通滤波器,采样频率FS2000HZ,通带截止频率为500HZ,阻带的截至频率为600HZ,阻带最小衰减为40DB,通带的最大衰减为3DB。在设计之前应先确定用说明方法设计,本例可选择等波纹的最优化设计法。程序见附录5仿真截图FS2000采样频率RP3通带波纹RS40阻带波纹F500600截止频率A10期望的幅度DEV10RP/201/10RP/20110RS/20N,FO,AO,WREMEZORDF,A,DEV,FSBREMEZN,FO,AO,W调用最优设计法中REMEZ函数FREQZB,1,1024,FS程序运行后,计算机输出该滤波器的幅频及相频响应特性,如图所示。图49滤波器输出的幅频及相频响应特性424用最小二乘法设计一个FIR滤波器最小二乘法设计FIR数字滤波器可以明确定义过渡带的幅值响应,而仅仅需要指定截止频率,通带的边缘频率或者阻带的边缘频率。在某些情况下,当无法确切确定指定过渡带的位置时,可以间接定义过渡带,这种函数的无需指定过渡带的功能是及其有效的。最小二乘法名字的缘由有两个,一是我们要将误差最小化,二是我们将误差最小化的方法是使误差的平方和最小化。误差最小化的原因前已述及,用误差平方和最小化来约束误差的原因是要规避负数对计算的影响。例3有一个采样频率为1000HZ的信号源,SIN30T05SIN180T02SIN600T,应用约束最小二乘法设计一个带通滤波器,通带为0204,对该信号进行滤波。程序如下T01/10001SIGSIN2PI15T05SIN2PI90T02SIN2PI300TPLOTT,SIGN50F002041A010UP002102001LO002098001BFIRCLSN,F,A,UP,LONEWSIGFFTFILTB,SIGFIGUREFTT301350NSNEWSIG301350ZNSINTERPNS,12ZNTINTERPFT,12PLOTZNT,ZNS该题滤波器的幅频特性曲线和相频特性曲线及滤波前后的波形如下图所示图410滤波器的幅频特性曲线和相频特性曲线图411滤波前的波形图412滤波后的波形总结本文主要介绍了基于MATLAB的数字滤波器的设计。本文先介绍了滤波器的发展情况和研究的意义,接着介

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论