MATLAB课程设计报告 基于MATLAB GUI 的滤波器设计软件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB课程设计报告
基于MATLAB GUI的“滤波器设计软件”设计
摘要
面对庞杂繁多的原始信号, 如何提取所需信号、抑制不需要的信号这就需要使用滤波器。滤波器的作用主要是选择所需频带的信号内容而抑制不需要的其他频带的信号内容。数字滤波器因其精度高、可靠性好、灵活性大等优点, 在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像处理等工程实际应用中都很广泛。根据其冲击响应函数的时域特性可将数字滤波器分为IIR(有限长冲击响应)和FIR(无限长冲击响应)。作为强大的计算软件, MATLAB 提供了编写图形用户界面的功能。所谓图形用户界面, 简称为GUI, 是由各种图形对象, 如图形窗口菜单按钮、文本框等构建的用户界面。
MATALB 可以创建图形用户界面GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。
关键词:MATLAB GUI IIR滤波器FIR滤波器
目录
1设计任务 (1)
2 MATLAB GUI的简介 (2)
3 滤波器设计原理 (3)
3.1滤波器概述 (3)
3.2 IIR数字滤波器 (4)
3.2.1 IIR数字滤波器设计原理 (4)
3.2.2 IIR滤波器设计思想 (5)
3.2.3 IIR滤波器设计编程实现 (6)
3.3 FIR数字滤波器 (8)
3.3.1 FIR数字滤波器设计原理 (8)
3.3.2 FIR滤波器设计思想 (9)
4 基于Matlab GUI的数字滤波器设计思路及实现 (12)
4. 1 GUI界面设计概述 (12)
4.2 “滤波器设计软件”设计所实现任务 (14)
4.3 基于Matlab GUI的数字滤波器设计实现 (16)
4.3.1 “滤波器设计软件”GUI界面设计 (16)
4.3.2 “滤波器设计软件”回调函数编写 (17)
4.3.3AutoChoose.m程序的编写 (22)
4.4 运行和结果显示 (28)
5 设计总结和心得 (33)
5.1 设计总结 (33)
5.2 设计心得 (34)
Abstract (35)
参考文献 (36)
附录
1设计任务
1 设计目的
1.巩固所学习过的关于数字信号处理的滤波器的设计
2.学习使用MATLAB GUI设计工具应用平面
2 设计要求
要求:“滤波器设计软件”设计
1、要有人机交互界面。
2、滤波器设计的类型、参数均有多个值可供选择。
3、当用户选择(或输入)滤波器的参数时,能够及时显示设计好的滤波器的
频谱。
4、该软件可设计FIR或IIR型滤波器至少一种。
2 MATLAB GUI的简介
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB 成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB 函数库中方便自己以后调用。
MATALB 可以创建图形用户界面GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。
3 滤波器设计原理
3.1滤波器概述
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像,自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理中,数字滤波器占有极其重要的地位。现代数字滤波器可以用软件或设计专用的数字处理硬件两种方式来实现,用软件来实现数字滤波器优点是随着滤波器参数的改变,很容易改变滤波器的性能。根据数字滤波器单脉冲响应的时域特性可将数字滤波器分为两种, 即IIR(Infinite Impulse Response)无限长脉冲响应数字滤波器和FIR(Finite Impulse Response)有限长脉冲响应数字滤波器。从功能上分类, 可分为低通、高通、带通、带阻滤波器。
3.2 IIR 数字滤波器
3.2.1 IIR 数字滤波器设计原理
滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。IIR 滤波器一般采用递归型的结构,系统的输入与输出服从N 阶差分方程:
相应的传输函数为:
设计IIR 数字滤波器就是要确定传输函数中的系数j a 、i b 或零极点增益i c 、j d 、A ,使滤波器的频率特性满足给定的性能指标要求。设计原理主要包括两个方面:一是根据设计指标,先设计出相应的模拟滤波器再通过脉冲响应不变法或双线性变换法转换成对应的数字滤波器;二是选择一种优准则,如最小均方准则,再在 , 先最误差此准则下求出滤波器传输函数的系数。根据设计理论,在MATLAB 环境下设计IIR 数字滤波器主要有四种方法:一是典型设计法;二是完全设计法;三是最优设计法;四是工具设计法。由于完全设计法程序简单,我们在这里利用完全设计法设计滤波器。