MATLAB设计IIR数字滤波器

上传人:油条 文档编号:33195170 上传时间:2018-02-14 格式:DOC 页数:44 大小:1.55MB
返回 下载 相关 举报
MATLAB设计IIR数字滤波器_第1页
第1页 / 共44页
MATLAB设计IIR数字滤波器_第2页
第2页 / 共44页
MATLAB设计IIR数字滤波器_第3页
第3页 / 共44页
MATLAB设计IIR数字滤波器_第4页
第4页 / 共44页
MATLAB设计IIR数字滤波器_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《MATLAB设计IIR数字滤波器》由会员分享,可在线阅读,更多相关《MATLAB设计IIR数字滤波器(44页珍藏版)》请在金锄头文库上搜索。

1、MATLAB 课程设计报告基于 MATLAB GUI 的“滤波器设计软件 ”设计 数字滤波器的设计与仿真目 录1 设计任务 .12 MATLAB GUI的简介 .23 滤波器设计原理 .33.1滤波器概述 .33.2 IIR数字滤波器 .43.2.1 IIR数字滤波器设计原理 .43.2.2 IIR滤波器设计思想 .53.2.3 IIR滤波器设计编程实现 .64 基于 Matlab GUI的数字滤波器设计思路及实现 .124. 1 GUI界面设计概述 .124.2 “滤波器设计软件”设计所实现任务 .144.3 基于 Matlab GUI的数字滤波器设计实现 .164.3.1 “滤波器设计软件

2、”GUI 界面设计 .164.3.2 “滤波器设计软件”回调函数编写 .174.3.3AutoChoose.m程序的编写 .224.4 运行和结果显示 .285 设计总结和心得 .335.1 设计总结 .335.2 设计心得 .34Abstract.35参考文献 .36数字滤波器的设计与仿真41 设计任务1 设计目的1.巩固所学习过的关于数字信号处理的滤波器的设计2.学习使用 MATLAB GUI设计工具应用平面2 设计要求要求:“滤波器设计软件”设计1、要有人机交互界面。2、滤波器设计的类型、参数均有多个值可供选择。3、当用户选择(或输入)滤波器的参数时,能够及时显示设计好的滤波器的频谱。4

3、、该软件可设计 FIR或 IIR型滤波器至少一种。数字滤波器的设计与仿真42 MATLAB GUI的简介MATLAB 是美国 MathWorks公司出品的商业数 学 软 件 ,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB和 Simulink 两大部分。MATLAB 是矩阵实验室( Matrix Laboratory)的简称,和Mathematica、M aple 并称为三大数学软件。它在数学类科技应用软件中在数值 计 算 方面首屈一指。MATLAB 可以进行矩 阵 运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主

4、要应用于工程计算、控制设计、信号处理与通讯、图 像 处 理 、信 号 检 测 、金融建模设计与分析等领域。MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用 MATLAB来解算问题要比用 C,FORTRAN 等语言完相同的事情简捷得多,并且 mathwork也吸收了像 Maple等软件的优点,使 MATLAB成为一个强大的数学软件。在新的版本中也加入了对 C,F ORTRAN, C+ ,J AVA 的支持。可以直接调用,用户也可以将自己编写的实用程序导入到 MATLAB函数库中方便自己以后调用。MATALB 可以创建图形用户界面 GUI ( Graphic

5、alUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有 GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。数字滤波器的设计与仿真43 滤波器设计原理3.1 滤波器概述随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像,自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理中,数字滤波器占有极其重要的地位。现代数字滤波器可以用软件或设计专

6、用的数字处理硬件两种方式来实现,用软件来实现数字滤波器优点是随着滤波器参数的改变,很容易改变滤波器的性能。根据数字滤波器单脉冲响应的时域特性可将数字滤波器分为两种, 即 IIR (Infinite Impulse Response)无限长脉冲响应数字滤波器和 FIR (Finite Impulse Response)有限长脉冲响应数字滤波器。从功能上分类, 可分为低通、高通、带通、带阻滤波器。数字滤波器的设计与仿真43.2 IIR 数字滤波器3.2.1 IIR 数字滤波器设计原理滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。IIR 滤波器一般采用递归型的结

7、构,系统的输入与输出服从 N阶差分方程:相应的传输函数为:设计 IIR数字滤波器就是要确定传输函数中的系数 、 或零极点增益 、jaibic、 A,使滤波器的频率特性满足给定的性能指标要求。设计原理主要包括两jd个方面:一是根据设计指标,先设计出相应的模拟滤波器再通过脉冲响应不变法或双线性变换法转换成对应的数字滤波器;二是选择一种优准则,如最小均方准则,再在, 先最误差此准则下求出滤波器传输函数的系数。根据设计理论,在 MATLAB环境下设计 IIR数字滤波器主要有四种方法:一是典型设计法;二是完全设计法;三是最优设计法;四是工具设计法。由于完全设计法程序简单,我们在这里利用完全设计法设计滤波

8、器。2、所谓数字滤波器,是指输入,输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的硬件。 实质上就是一个由有限精度算法实现的线性时不变离散系统。 它的基本工作原理是利用离散系统的特性对系统输入信号进行加工和变换, 改变输入序列的频谱或信号波形, 让有用的频率分量通过, 抑制无用的信号分量输出,根据其频率特性同样可以分为低通,高通,带通,带阻。如果要处理的信号是模拟信号,就可以通过 A/D 或者 D/A 转换,在信号形式上进行匹配转换,同样可以使用数字滤波器对模拟信号进行滤波1。数字滤波器滤波的数学表达式: 数字滤波器的设计与仿真4(1-1) 如果滤波器

9、的输入输出信号都是离散信号,那么该滤波器的脉冲响应也一定是离散信号,这样的滤波器就成为了数字滤波器。其频域特性为:(1-2) 其中 分别是数字滤波器的输出序列和输入序列的频域响应, 是数字滤波器的频域响应。 可以看见按照输入信号的频谱特点和处理信号的目的适当选择滤波器的频域响应 , 使得滤波后的输出信号满足设计性能要求, 就是滤波器的滤波原理。 1.1 IIR数字滤波器传输特性 IIR 数字滤波器的系统函数可以表示为: (1-3) 式中 H(Z)称为 N阶 IIR 滤波器函数,它是一种递归型的滤波器。 1.2 数字滤波器的技术要求 我们通常设计的数字滤波器一般属于选频滤波器, 我们的目的是要设

10、计一个因果可实现的滤波器,另外买也要考虑到成本和复杂性问题,因此实用中通带和阻带都允许一定的误差容限,即通带不一定是完全水平的,阻带也不可能完全衰减到零2。而且,通带和阻带之间还要设置一定带宽的过渡带。如下图表示低通滤波器的技术要求:数字滤波器的设计与仿真4图 1.2.1 低通滤波器特性 Figure1.2.1 low pass filters characteristic图中, 分别表示通带截止频率和阻带截止频率,通带频率范围为0 w p w ,通带中要求 ,阻带截止频率范围,再阻带中要求 ,从 到 称为过渡带,在这个频带内,幅度响应从通带平滑的下落到阻带。2 MATLAB简介 MATLAB

11、 是美国 MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和 SIMULINK两大部分。 MATLAB 是矩阵实验室 (Matrix Laboratory) 的简称, 和 Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB 对许多专门的领域都开发

12、了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB 已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI 控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式数字滤波器的设计与仿真4系统开发、定点仿真、DSP 与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。本文将利用其

13、中的信号处理工具箱来设计 IIR 数字滤波器。 3 IIR数字滤波器的几种设计方法 3.1 程序设计法IIR 数字滤波器设计的一般方法是先设计低通模拟滤波器,进行频率变换,将其转换为相应的(高通,带通等)模拟滤波器,在转换为高通,带通或带阻数字滤波器,由模拟滤波器设计数字滤波器的方法。这是因为模拟滤波器设计方法已经很成熟,它不仅有完整的设计公式,还有完善的图表供查阅,另外,还有一些典型的滤波器类型可供我们使用。对设计的全过程的各个步骤,MATLAB 都提供了了相应的工具箱函数,使 IIR 数字滤波器设计变得非常简单。 3.1.1设计方法 程序设计法3是基于 MATLAB 中相应的工具箱函数来实现的, IIR 数字滤波器的设计步骤可由图 3.1.1所示的流程图来表示。 这个图也清晰的表示了 5类 20 个信号处理工具箱函数的作用,图 3.1.1 滤波器设计流程 Figure3.1.1 flow of filters design在 MATLAB 中,模拟滤波器的系统函数:(3-1)数字滤波器的系统函数:(3-数字滤波器的设计与仿真42)在实际工程中,需要的设计结果是系数向量 B 和 A,用 B 和 A 来综合滤波器的硬件实现结构或软件运算结构,为了直观的看出设计结果,本文的实例均以滤波器幅频响应曲线作为设计结果输出。如果需要滤波器系

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号