基于MATLAB的数字滤波器的设计毕业设计论文.doc

上传人:可****阿 文档编号:92877378 上传时间:2023-06-16 格式:DOC 页数:36 大小:1.67MB
返回 下载 相关 举报
基于MATLAB的数字滤波器的设计毕业设计论文.doc_第1页
第1页 / 共36页
基于MATLAB的数字滤波器的设计毕业设计论文.doc_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《基于MATLAB的数字滤波器的设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的数字滤波器的设计毕业设计论文.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、武昌工学院毕业论文(设计)专用稿纸 本科毕业论文(设计)论文题目:基于MATLAB的数字滤波器的设计姓名:学号:班级: 年级:2011级专业:通信工程系部:信息工程学院指导教师: 完成时间:2015年 4 月 15 日作者声明本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。毕业论文(设计)成果归武昌工学院所有。特此声明作者专业:通信工程作者学号:作者签名: 年 月 日基于MATLAB的数字滤波器的设计The

2、Design Of Digital Filter based on MATLAB 2015 年4月15日摘 要本文研究基于MATLAB的数字滤波器的设计。首先介绍了本课题研究的目的及意义,调研了国内外数字滤波器应用现状及发展趋势;接着对MATLAB软件的发展历史、语言特点、功能特性进行了介绍;其次对数字滤波器进行了简介,其中包括数字滤波器的基本概念、类型、设计步骤、基本结构等;然后本文重点描述了IIR和FIR数字滤波器的设计过程和设计方法。对于IIR数字滤波器,详细的分析了双线性变换法、脉冲响应不变法:对于FIR数字滤波器,详细分析了窗函数法、最小二乘法、最优化设计法。通过MATLAB软件对五

3、种不同方法编写的程序进行仿真,分析仿真结果,比较各种设计方法的适用范围和它的不可替代性。基于MATLAB的数字滤波器的设计,将数字滤波器的设计集于一个软件包,十分方便、直观、准确和可靠。借助于MATLAB设计滤波器的这种优越性,推动了滤波技术的高速发展。基于MATLAB语言可扩充的特点,提高了编程的效率,节约了大量的编程时间。本文所研究的内容,对通过MATLAB软件设计数字滤波器的发展起到一定的促进和推动作用。关键字:IIR数字滤波器;FIR数字滤波器;脉冲响应不变法;双线性变换;窗函数;最小二乘法;最优化设计AbstractThis paper is based on the design

4、of MATLAB digital filter. It first Introduces the purpose and significance of the topic and researches the application status and development trends of the digital filter at home and abroad; Secondly it presents the historical development of the MATLAB software. Then it gives a brief introduction of

5、 the digital filter, including the basic concepts of digital filters, types, design steps and the basic structure; Besides it emphatically describes the design process and design methods IIR and FIR digital filter. For IIR digital filter, a detailed analysis of the bilinear transform and impulse res

6、ponse invariance is given. For FIR digital filter, a detailed analysis of the window function method, least squares method, optimized design is given. Simulating the program written in five different methods through MATLAB software, analysis the simulation results and then compare the scope of appli

7、cation of various design methods and their irreplaceable ability. The digital filter design based on MATLAB, setting the digital filter design in a package, very convenient, intuitive, accurate and reliable. This superiority promotes the rapid development of filtering technology. The features that M

8、ATLAB language features can be expanded improves the programs efficiency and saves a lot of programming time. The content of this paper plays a certain role in promoting and facilitating the development of the digital filter by MATLAB software design .Key words: IIR digital filter; FIR digital filte

9、r ; Impulse response invariance; double linear transformation; Window function; least squares method; optimal design目 录1 引 言- 1 -1.1课题研究的目的和意义- 1 -1.2国内外发展现状和趋势- 1 -1.3本文研究的主要内容- 3 -2 MATLAB软件概述- 3 -2.1发展历程及语言特点- 3 -2.2 MATLAB的应用与功能特性- 4 -3 数字滤波器简介- 5 -3.1数字滤波器的概念- 5 -3.2 IIR数字滤波器的基本结构- 5 -3.3 FIR数字

10、滤波器的基本结构- 7 -3.4数字滤波器的性能指标- 8 -4 数字滤波器的MATLAB实现- 9 -4.1IIR数字滤波器的MATLAB实现- 9 -4.2 FIR数字滤波器的MATLAB实现- 14 -总 结- 26 -主要参考文献- 27 -后 记- 28 - 3 -1 引 言1.1课题研究的目的和意义目前,数字信号处理理论与应用已成为一门及其重要的高新技术学科。数字信号处理技术日益成熟,广泛应用于各个领域。伴随着社会和经济的伟大变革,如今人人享有通信自由。从过去的普通电话到现在随时随地视频聊天,移动电话不再是特殊阶层使用,已成为大众日常生活的普通工具。网络资源的共享,使得学生或是工作

11、人士轻而易举的获取到自己想要的资料。科技带给我们生活的极大便利,可能很多人会想到计算机发挥了很大作用,但是,数字信号处理技术发挥的作用也是惊人的。如果没有这一技术的快速发展和应用,可能我们还没有那么快就可以足不出户而正常生活着。数字信号处理(DSP: Digital Signal Processing)经过几十年的不断发展,一套较为完整的的学科领域和理论体系现在逐渐形成了。滤波含有过滤之意,将信号中无用部分滤除,得到想要的部分,而滤波却是信号处理技术的一个重要分支。凡是信号经过的系统,比如硬件系统、算法程序等软件系统,都会起到滤波的作用。人们往往熟知通过不同的电子元器件组成的模拟滤波器,但随着

12、计算机技术、数字电路技术、大规模集成电路技术的发展,数字滤波技术越来越受人们亲赖。因为数字滤波器较之模拟滤波器有如下优势:(1)精度高。(2)灵活性大。(3)性能可靠。(4)易于大规模集成,设计简单。(5)并行处理。(6)性能参数易变。基于上述众多优点,数字滤波器在许多的应用领域逐步代替了传统的模拟滤波器,并且正在各种科学研究或工程技术领域里快速发展。所以,对数字滤波器的研究和分析有着很重要的实际需要。数字滤波已成功应用在语音处理、图像处理、医疗、电视、通信、雷达、航天、声纳、音乐、军事等领域。而基于MATLAB软件实现数字滤波器的设计,可通过修改滤波器的参数十分方便的改变滤波器的特性,进而解

13、决一些特定需求。因此我们有必要对滤波器的设计方法进行探讨和研究,理解滤波器工作原理,优化设计方法,设计开发出稳定性好的滤波器系统。数字滤波涉及大量的运算,离开了计算机及相应的软件,就不可能解决任何稍微复杂的实际应用问题。MATLAB已成为国际公认的数字滤波的标准软件和开发平台。借助于MATLAB软件设计数字滤波器设计不仅方便而且易于实现,现已成为人们研究和学习的热点。因此基于MATLAB的数字滤波器的设计,不仅有着重要的理论意义,而且有着重要的现实意义。1.2国内外发展现状和趋势在近代电信装备和各类控制系统中,滤波器应用极为广泛,凡是有能力进行信号处理的装置都可以称为滤波器;在所有的电子产品部

14、件中,使用最广,技术最复杂要算滤波器了。对滤波器的研究和生产历来为各国所重视,因为,滤波器的优劣直接决定产品的优劣。早在上世纪40年代末,开始了关于数字滤波器的可能性的讨论,并在20世纪50年代也有人讨论了数字滤波的问题。在此期间,科学家们做了大量卓有成效的工作,这些工作对于后来数字滤波器的快速发展,发挥了非常重要的作用。到了上个世纪60年代中期,美国科学家库里,杜克总结了前人研究成果,经过长期研究,使得快速傅立叶变换的这一成果的到来。在数字信号处理和数字滤波中,快速傅立叶变换的出现是学术界一直认可的一个科学里程碑。自那时以来,各种快速傅立叶变换已经出现在数字滤波领域,在数字滤波器中开始形成了

15、成套正规理论。在这一时期,提出了各种各样的数字滤波结构,有的则以运算速度快见长,有的以运算误差是最小误差为特点,出现了数字滤波器的各种实现方法。对递归和非递归两类滤波器作了全面的比较,统一了数字滤波器的基本概念和理论降数字滤波器的一个重要发展是对有限冲激响应和无限冲激响应关系的认识转化。在初期,一般认为IIR滤波器比FIR滤波器具有更高的运算效率,因而明显地趋向于前者。后来,当人们提出用快速傅利叶变换实现卷积运算的概念之后,发现高阶FIR滤波器也可以用很高的运算效率来实现,这就促使人们对高性能FIR滤波器的设计方法和数字滤波器的频域设计方法进行了大量的研究。数字滤波器尽管在语音、声纳、地震的信

16、号处理中曾经发挥过作用,但由于以前计算机主机的价格很昂贵,严重阻碍了数字滤波器的发展,随着计算机科学的飞速发展,数字滤波器越来越多的展示出它自身的优势,正在加速进入各种工业领域经过最近几十年的发展,线性滤波方法,如维纳滤波、卡尔曼滤波和自适应滤波得到了广泛的研究和应用。一些非线性滤波方法,如小波滤波、同态滤波、中值滤波、形态滤波等都是现代信号处理的前沿课题,不但有重要的理论意义,而且有广阔的应用前景。80年代致力于各类新型滤波器性能提高的研究并逐渐扩大应用范围。90年代至今在主要致力于把各类滤波器应用于各类产品的开发和研制。当然,对滤波器本身的研究仍在不断进行。我国当时主要用于话路滤波和报路滤

17、波,广泛使用滤波器是50年代后期的事。我国数字滤波器在研制、生产和应用等方面正在快速发展,但由于缺少专门研制机构,经过半个世纪的发展,集成工艺和材料工业跟不上来,使得我国许多新型滤波器的研制应用与国际发展有一段距离。模拟滤波器在国内的工程技术中应用中占了很大的比重,数字滤波器在生产应用中所占的比例还不多。从应用比例来看,必须加大对这方面的研究投入,数字滤波器才能实现大规模应用。在国内也很多学者在数字滤波领域展开长期的深入研究,随着我国科学技术的飞速发展,如山东大学的赖晓平教授、天津大学的王兆华教授。无论是在理论上还是在工程技术领域,都有很多科研成果。我国现有滤波器的种类和所覆盖的频率己基本上满

18、足现有各种电信设备。从整体而言,我国提出了一套有关数字滤波器设计的新算法和新设计方案设计空间方法,目前还处于研究阶段。在理论研究方面,在研究用模糊数学来设计数字滤波器,在超大规模集成电路领域,对DF的研究也十分活跃。对滤波器的性能要求越来越高,功能也越来越多。对FIR滤波器而言,从理论上讲要尽可能的降低其阶数,因为随着阶数的增加,实现数字滤波器的运算量就越大,如果阶数不能降低,则对算法的运算效率就要提出更高的。具体实现它们的硬件电子元器件必须向大规模集成化方向发展是一个重要的趋势要求,如果没有重大的理论突破,则只能在硬件寻找突破口,所以电子元件的集成化尤其重要。我国数字滤波器研制和生产与上述要

19、求相差甚远,电子工程和科技人员肩负着重大的历史责任,为缩短这个差距。而且集成化在世界范围内也是一个重要的发展趋势。由于缺少专门研制机构,集成工艺和材料工业跟不上来,虽然我国滤波器在研制、生产应用等方面已有一定进步,但使许多新型滤波器的研制应用与国际水平有一段距离。1.3本文研究的主要内容本次毕业设计中主要完成的内容包括:(1)本课题研究的目的及意义,数字滤波器国内外的应用现状和发展趋势。(2)MATLAB的简介,熟悉软件的功能和使用方法。通过书籍阅读和文献搜索学习MATLAB和数字滤波器,并掌握MATLAB的使用和数字滤波器的设计方法。(3)基于MATLAB的IIR数字滤波器的设计,对于IIR

20、数字滤波器的设计,采用冲激响应不变法和双线性变换法,编写程序仿真。(4)基于MATLAB的FIR数字滤波器的设计,对于IIR数字滤波器的设计,采用窗函数法,最小二乘法,最优化设计法,并进行仿真。(5)通过仿真结果分析这几种设计数字滤波器的方法。2 MATLAB软件概述2.1发展历程及语言特点 20世纪70年代中期,Cleve Moler博士和其同事开发了调用EISPACK和LINPACK的FORTRAN子程序库。其中,EIPACK用来求解特征值,LINPACK用来解线性方程。同年后期,Cleve Moler担任美国墨西哥大学计算机系的系主任,为了让学生方便的调用EISPACK和LINPACK,

21、他设计了接口程序,并取名MATLAB(MAtrix LABoratory矩阵实验室)。早期的MATLAB是用Fortran编写的,只能进行矩阵运算,绘图也只能用星号描点等简单形式,只提供了几十个内部函数。虽然其功能如此简单,当作为免费软件推出以后,还是吸引了大批的使用者。第一个商业化的MATLAB是于1984年由MATH WORKS公司推出的,该版本基于当时流行的DOS操作系统,本身也由C语言重新编写。1992年具有划时代意义的MATLAB4.0版本发布,用户数剧增。1994年的4.2版本扩充了4.0版本的功能,尤其在图形界面设计方面提供了新的方法。1997年推出的5.0的版本允许了更多的数据

22、结构,使其扩展为一种非常方便编程的语言工具。1999年推出的MATLAB5.3版本在很多方面又进一步提高了MATLAB语言的功能。2000年10月底推出了其全新的MATLAB6.0正式版,在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。2004年推出7.0版本,新增12个新产品模块,升级了28个产品模块。对MATLAB编程环境、代码效率、数据可视化、数学计算、文件I/O等方面进行了升级。在这之后,基本每年都会稳定的发布两个更新版本。现在的MATLAB支持各种操作系统,能够运行在十几个操作系统平台。MATLAB再也不是一个简单的矩阵实验室了,逐渐演变成为一种基于算法开发、数

23、据可视化、数据分析以及数值计算的计算机高级编程语言和交互式环境。MATLAB语言是一种交互性的数学脚本语言,开发环境直接简洁,其语法与C/C+类似。它支持包括逻辑、数值、文本、函数柄和异质数据容器在内的15种数据类型,每一种类型都定义为矩阵或阵列的形式。在线性代数、数理统计、自动控制、数字信号处理、动态系统仿真等方面,MATLAB已表现了其不可替代的一面。是科研工作人员和工程技术人员进行科学研究和生产实践的有利武器。MATLAB语言具有下述显着特点:(1)具有强大的矩阵运算能力Matrix Laboratory(矩阵实验室),使得矩阵运算非常简单。MATLAB软件是基于矩阵计算开发的,在其他编

24、程语言中需要使用多个for语句才能完成的操作,在MATLAB中直接使用矩阵即可完成计算,因而MATLAB在数据计算分析,特别是对海量数据的处理方面表现出相比其他的编程语言更大的优势。(2)多样化的操作途径MATLAB语言为用户提供了多种操作方式选择。用户可以编写代码实现各种功能,代码可重复利用,同时,不擅长编程的用户也可以通过MATLAB图形界面操作,完成MATLAB的相应功能。(3)功能强大的工具箱对于算法的开发,MATLAB提供了大量现成的函数,用户可以直接调用。MATLAB软件对目前主流的算法都提供了现成的函数,并封装成一个个适用于不同领域的算法工具箱。常用的工具箱包括数学类、经济类、信

25、号处理类工具箱,同时随着MATLAB软件版本的更新,不断有功能更强大的工具箱添加到MATLAB中。MATLAB语言的这一特点,将大大节省算法开发的时间,用户无须详细了解算法的细节,只要掌握MATLAB中算法相应函数的调用即可。(4)良好的扩展能力利用MATLAB语言编写的程序具有良好的扩展能力,可以方便地与各种编程语言链接。用户可以方便地在MATLAB中调用其他语言已编写好的程序,同时在其他语言中也可以方便地调用MATLAB的程序。MATLAB语言具有良好的接口编程技术。(5)完善的帮助系统完善的帮助系统是MATLAB的又一突出特点,MATLAB向用户提供了多种帮助途径,在1.4节中将详细介绍

26、MATLAB强大的帮助系统。通过MATLAB的帮助系统,用户可以获取MATLAB常用函数的使用方法及应用实例,而且这种帮助可以是实时的、在线的。同时,为了便于用户更好地使用MATLAB软件,在MATLAB中的主要算法都是可以直接看到源代码的。2.2 MATLAB的应用与功能特性MATLAB具有以下几个功能特性:(1) 功能强大的数值运算能力:MATLAB有超过500种数学、统计、科学及工程方面的函数可供调用,这些函数使用方法简单自然,允许用数学形式的语言编写程序。另外,用户也可以加入自己的函数使系统成为使用者所需要的环境。MATLAB编程效率高,易学易懂,因此,该语言被通俗的称为演算纸式科学算

27、法语言。(2) 强大的图形处理能力:在MATLAB中数据的可视化非常方便,可以很容易的制作高品质的图形。用MATLAB绘图十分方便,它的系列绘图函数均只需调用不同的绘图函数。在调用绘图函数时调整自变量可绘出不变颜色的、线、复线或多重线。这种为科学研究着想的设计是一般通用的编程语言所不及的。(3) 高级且简单的程序环境:既有结构化的控制语句,又有面向对象的编程特性。用MATLAB编程十分简单,所花的时间约为C+的几分之一,而且不需要编译及链接即可执行,并且它的语法限制不严格,可移植性好。(4) 丰富的工具箱及模块集:这些功能强劲的工具箱提供了使用者在许多特别应用领域所需的函数。同时系统还包含很多

28、种特殊函数,可将基于MATLAB的算法与外部应用程序和语言进行集成。(5) 易于扩充:除内部函数外,所有MATLAB的核心文件和工具箱文件都是既可读又可改的源文件,用户能根据自己的需要对这些源文件进行修改或加入自己编写的文件。运用MATLAB,将大量的复杂的熟悉运算用MATLAB进行形象、直观的计算机模拟与仿真实现。随着版本的不断升级,内容不断扩充,功能更加强大,从而被广泛应用于仿真技术、自动控制和数字信号处理等领域。全球现有超过五十万的企业用户和上千万的个人用户,广泛分布在航空航天、金融财务、机械化工、电信、教育等各个行业。3 数字滤波器简介3.1数字滤波器的概念滤波,即过滤之意,并不是对所

29、有的干扰信号进行滤除,而是进行一定的衰减,让某些信号成分通过,又阻止或衰减了另一些信号成分,滤波器可广义地理解为一个信号选择系统。它按冲激响应h(n)的长度分类可分为有限冲激响应(FIR)数字滤波器和无限冲激响应(IIR)滤波器两种,冲激响应本来是用于模拟系统,指系统对冲激函数(t)的响应。发展到数字滤波器后,工程上仍沿用这个名称,与单位抽样响应和单位脉冲响应的说法通用。在特性、结构、设计方法、运用场合等方面两种数字滤波器均不相同。用系统函数表示为: (式3.1)由系统函数可以得到常系数线形差分程为:(式3.2)可见数字滤波器的功能就是把输入序列x(n)通过一定的运算变换成输出序列y(n)。不

30、同的运算处理方法决定了滤波器实现结构的不同。无限冲激响应滤波器的单位抽样响应h(n)是无限长的,是递归式的,在结构上存在着输出信号到输入信号的反馈,因此在z平面的有限区间(0z)有极点存在。3.2 IIR数字滤波器的基本结构IIR数字滤波器实现的基本结构有:(1) IIR滤波器的直接型结构;优点:延迟线减少一半,变为N 个,可节省寄存器或存储单元;缺点:其它缺点同直接I型。通常在实际中很少采用上述两种结构实现高阶系统,而是把高阶变成一系列不同组合的低阶系统来实现。(2) IIR滤波器的级联型结构;优点:系统实现简单,只需一个二阶节系统通过改变输入系数即可完成; 极点位置单独调整;运算速度快(可

31、并行进行);各二阶网络的误差互不影响,总的误差小,字长要求低。 缺点:不能直接调整零点,因多个二阶节的零点并不是整个系统函数的零点,当需要准确的传输零点时,级联型最合适。(3)IIR滤波器的并联型结构。优点:简化实现,用一个二阶节,通过变换系数就可实现整个系统;极、零点可单独控制、调整,调整1i、2i只单独调整了第i对零点,调整1i、2i则单独调整了第i对极点;各二阶节零、极点的搭配可互换位置,优化组合以减小运算误差;可流水线操作。缺点:二阶阶电平难控制,电平大易导致溢出,电平小则使信噪比减小。a、直接型 b、并联型 c、串联型 图3.1 IIR滤波器的基本结构3.3 FIR数字滤波器的基本结

32、构FIR滤波器的单位抽样响应为有限长度,一般采用非递归形式实现。通常的FIR数字滤波器有横截性和级联型两种。FIR滤波器实现的基本结构有:(1)FIR滤波器的横截型结构表示系统输入输出关系的差分方程为: (式3.3) 直接由差分方程得出的实现结构如图所示:图3-2横截型(直接型卷积型)若h(n)呈现对称特性,即此FIR滤波器具有线性相位,则可以简化加横截型结构,下面分情况讨论:图3-3、N为奇数时线形相位FIR滤波器实现结构 图3-4、N为偶数时线性相位FIR滤 波器实现结构(2)FIR滤波器的级联型结构将H(z)分解成实系数二阶因子的乘积形式: (式3.4) 这时FIR滤波器可用二阶节的级联

33、结构来实现,每个二阶节用横截型结构实现。如图所示:图3.5 FIR滤波器的级联结构这种结构的每一节控制一对零点,因而在需要控制传输零点时可以采用这种结构。3.4数字滤波器的性能指标在进行滤波器设计时,需要确定其性能指标。一般来说,滤波器的性能要求往往以频率响应的幅度特性的允许误差来表征。以低通滤波器特性为例,频率响应有通带、过渡带及阻带三个范围。在通带内: 1- AP| H(ej)| 1 |c在阻带中:|H(ej)| Astst |c其中c 为通带截止频率,st为阻带截止频率,Ap为通带误差,Ast为阻带误差。图3.6 低通滤波器频率响应幅度特性的容限图与模拟滤波器类似,数字滤波器按频率特性划

34、分为低通、高通、带通、带阻、全通等类型,由于数字滤波器的频率响应是周期性的,周期为2。各种理想数字滤波器的幅度频率响应如图所示:图3.7 各种理想数字滤波器的幅度频率响应4 数字滤波器的MATLAB实现4.1IIR数字滤波器的MATLAB实现4.1.1 IIR滤波器设计原理IIR数字滤波器的设计步骤:(1)按一定规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;(2)根据转换后的技术指标设计模拟低通滤波器H(s);(3)在按一定规则将H(s)转换为H(z)。若所设计的数字滤波器是低通的,那么上述设计工作可以结束。若所设计的是高通、带通或者带阻滤波器,那么还有步骤:将高通、带通或者带阻

35、数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通滤波器H(s),再由冲击响应不变法或双线性变换将H(s)转换为所需的H(z)。s - z 映射的方法有:冲激响应不变法、阶跃响应不变法、双线性变换法等。4.1.2冲激响应不变法冲激响应不变法是从时域出发,要求数字滤波器的冲激响应h(n)对应于模拟滤波器的冲激响应ha(t)的抽样,即 h(n) =ha(nT) ,其中T是抽样周期。冲激响应不变法基本变换过程为:Ha(s) ha(t) h(n) H(z) ( 式4.1) 由于数字滤波器的冲激响应对应模拟滤波器冲激响应的抽样,由抽样定理可知数字滤波器的频率响应为模拟滤

36、波器频率响应的周期延拓: ( 式4.2) 其中,抽样频率为: ( 式4.3)为了避免混叠失真要求模拟滤波器的频谱限带于折叠频率以内,即要满足: ( 式4.4)而实际的滤波器并非严格限带,所以用冲激响应不变法设计的数字滤波器不可避免地会产生混叠失真。所以此法只适于设计带限滤波器。其映射关系如下:图4.1在MATLAB工具箱中,提供了专用函数impinvar来实现以上计算,其调用格式为:格式一:BZ,AZ= impinvar(B,A,Fs)功能:把具有B,A模拟滤波器传递函数模型转换为采样频率为Fs(HZ)的数字滤波器的传递函数模型BZ,AZ。采样频率默认值为Fs=1。格式二:BZ,AZ= imp

37、invar(B,A,Fs,TOL)功能:利用指定的容错误差TOL来确定极点是否重复。如果设置的容差增大,则函数认为相邻的很近的极点为重复极点的可能性增大。默认的TOL=0.001,即0.1%。例1、采用冲激响应不变法,设计一个Butterworth滤波器,满足如下级数指标:通带边界频率p=0.4,通带衰减函数ap=0.5dB,阻带边界频率ws=0.6,阻带衰减函数as=50dB,选取T=2。程序见附录1仿真截图:图4.24.1.3双线性变换法为了克服冲激响应不变法多值映射产生的频率混叠的现象,双线性变换法的映射原理是:(1)通过下面的变换公式把整个S平面压缩到中介S1平面的一条横带里(宽度从-

38、/T到/T),其中C为常数可根据设计要求选取; ( 式4.5)(2) 通过 将此横带变换到整个Z平面,这样就使S平面和Z平面是一一对应的单值映射关系,消除了频谱混叠现象。图4.3双线性变换法的映射关系可以证明,从S平面到Z平面的映射关系为: , ( 式4.6)由于从SZ和从ZS的映射规则都是分式线性变换,因此称其为双线性变换。MATLAB信号处理工具箱为实现双线型变换提供了函数bilinear,基本调用格式如下:格式一:Zd,Pd,Kd= bilinear(Z,P,K,Fs)功能:把模拟滤波器的零极点模型转换为数字滤波器的零极点模型。其中Fs为采样频率。格式二:numd,dend= bilin

39、ear(num,den,Fs)功能:把模拟滤波器的传递函数模型转换为数字滤波器的传递函数模型。格式三:Ad,Bd,Cd,Dd= bilinear(A,B,C,D,Fs)功能:把模拟滤波器的状态方程模型转换为数字滤波器的状态方程模型。说明:以上三种调用格式中,可以在增设一个畸变频率Fp(HZ)输入参数。在进行双线性变换之前,对采样了频率进行畸变处理,以保证频率冲激响应在双线性变换前后,在Fp处具有良好的单值映射关系。例1、双线形变换法设计chebyshev高通滤波器采样频率为10Hz,通带临界频率fp =4Hz,通带内衰减小于0.8dB(p=1);阻带临界频率fs=3Hz,阻带内衰减大于20dB

40、(s=25)。设计一个数字滤波器满足以上参数。程序见附录2仿真截图:FS=10; T=1/FS;fp=4;fs=3;wp=fp/FS*2*pi; ws=fs/FS*2*pi; OmegaP=2*FS*tan(wp/2);OmegaS=2*FS*tan(ws/2);n,Wn=cheb1ord(OmegaP,OmegaS,0.8,20,s) b,a=cheby1(n,0.8,Wn,high,s);freqs(b,a) %设计模拟的bz,az=bilinear(b,a,FS); %映射为数字的freqz(bz,az,512,FS)bz,az图 4.4例2、双线性变换法实现Chebyshev低通(I型

41、)采样频率为10Hz,设计一个数字低通滤波器,要求其通带临界频率fp= 3Hz,通带(p= 1dB),阻带临界频率fs= 4Hz,阻带内衰减大于15dB(内衰减小于1dB程序见附录3仿真截图:T=0.1; FS=1/T; fp=3;fs=4;Rp = 1; As = 15;%频率预畸wp=fp/FS*2*pi; ws=fs/FS*2*pi; OmegaP = (2/T)*tan(wp/2);OmegaS = (2/T)*tan(ws/2);%设计Chebyshev低通滤波器原型ep = sqrt(10(Rp/10)-1);A = 10(As/20);OmegaC = OmegaP;OmegaR

42、 = OmegaS/OmegaP;g = sqrt(A*A-1)/ep;N = ceil(log10(g+sqrt(g*g-1)/log10(OmegaR+sqrt(OmegaR*OmegaR-1);z,p,k = cheb1ap(N,Rp);%获取零极点参数a = real(poly(p);aNn = a(N+1);p = p*OmegaC;a = real(poly(p);aNu = a(N+1); k = k*aNu/aNn;b0 = k;B = real(poly(z);b = k*B; %双线性变换bz,az = bilinear(b,a,FS); %绘制结果freqz(bz,az,

43、200,FS,whole);H=freqz(bz,az,200,whole);plot(abs(H);图 4.54.2 FIR数字滤波器的MATLAB实现4.2.1 FIR滤波器设计原理由于FIR 滤波器冲击响应hn是有限长序列,因此这种结构可用非递归结构来实现。FIR 数字滤波器系统函数一般形式为: ( 式4.7)FIR 滤波器数学表达式可用差分方程来表示: ( 式4.8)式中:y(n)输出序列;h(k)滤波器系数;n滤波器阶数;x(k)输入序列。基于Matlab 设计FIR滤波器关键在于以下几个步骤:(1) 根据给定的性能指标设计一个H(z),使其逼近这一指标;(2)计算并确定滤波器的系数

44、b(n);(3)将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。 FIR滤波器的设计方法主要有窗函数法、最优化设计法及约束最小二乘逼近法。在滤波器传统设计中,要得到其幅频和相频响应特性,需要根据这些方法进行大量的计算,这使得滤波器的设计缓慢,周期变长,不利于设计的优化。Matlab信号处理工具箱中提供了基于滤波器设计方法的工具函数,编程中可根据设计要求直接调用相应的函数,方便快捷,见表1 。表1 FIR数字滤波器设计方法及函数调用格式设计方法调用方法调用格式说明窗函数法Fir1Fir2b=fir1(n,Wn)b=fir2(n,f,m)n为阶数;Wn为

45、截止频率f,m为期望幅频向量和幅值向量最优化设计法FirlsRemezRemezordb=firls(n,f,a)bremez(n,f,a,w) n ,fo ,ao ,w =remezord (f ,a ,dev)两者仅算法不同,f为频率点向量,n为指定频率点幅度响应,w为权系数Fo为归一化频率边界,ao为频带内幅值,w为权向量最小二乘法FirclsFircls1b=fircls(n,f,a,up,lo)b=fircls1(n,wo,dp,ds)up,lo为每个频带上边界和下边界频率,f,a为期望幅频特性的频率向量和幅值向量。Wo为截至频率,dp为离幅值1的最大偏差,ds为阻带离幅值0的最大偏差。4.2.2 用窗函数法设计FIR数字滤波器窗函数设计技术是FIR滤波器设计的主要方法之一,由于其运算简单、精度高,已成为工程中应用最广泛的设计方法。设计滤波器的基本思想是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁