滤波器设软件

上传人:子 文档编号:43780144 上传时间:2018-06-07 格式:DOC 页数:49 大小:550.50KB
返回 下载 相关 举报
滤波器设软件_第1页
第1页 / 共49页
滤波器设软件_第2页
第2页 / 共49页
滤波器设软件_第3页
第3页 / 共49页
滤波器设软件_第4页
第4页 / 共49页
滤波器设软件_第5页
第5页 / 共49页
点击查看更多>>
资源描述

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

1、MATLAB 课程设计报告基于 MATLAB GUI 的“滤波器设计软件”设计 摘摘 要要面对庞杂繁多的原始信号, 如何提取所需信号、抑制不需要的信号这就需要使用滤波器。滤波器的作用主要是选择所需频带的信号内容而抑制不需要的其他频带的信号内容。数字滤波器因其精度高、可靠性好、灵活性大等优点, 在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像处理等工程实际应用中都很广泛。根据其冲击响应函数的时域特性可将数字滤波器分为 IIR(有限长冲击响应)和 FIR(无限长冲击响应)。作为强大的计算软件, MATLAB 提供了编写图形用户界面的功能。所谓图形用户界面, 简称为GUI, 是由

2、各种图形对象, 如图形窗口菜单按钮、文本框等构建的用户界面。MATALB 可以创建图形用户界面 GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有 GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。关键词:MATLAB GUI IIR 滤波器 FIR 滤波器目目 录录1 设计任务 .12 MATLAB GUI 的简介 .23 滤波器设计原理.33.1 滤波器概述.33.2 IIR 数字滤波器.43.2

3、.1 IIR 数字滤波器设计原理 .43.2.2 IIR 滤波器设计思想 .53.2.3 IIR 滤波器设计编程实现 .63.3 FIR 数字滤波器.83.3.1 FIR 数字滤波器设计原理 .83.3.2 FIR 滤波器设计思想 .94 基于 Matlab GUI 的数字滤波器设计思路及实现.124. 1 GUI 界面设计概述.124.2 “滤波器设计软件”设计所实现任务 .144.3 基于 Matlab GUI 的数字滤波器设计实现 .164.3.1 “滤波器设计软件”GUI 界面设计 .164.3.2 “滤波器设计软件”回调函数编写.174.3.3AutoChoose.m 程序的编写 .

4、224.4 运行和结果显示 .285 设计总结和心得.335.1 设计总结 .335.2 设计心得 .34Abstract.35参考文献.36附录11 设计任务设计任务1 设计目的1.巩固所学习过的关于数字信号处理的滤波器的设计2.学习使用 MATLAB GUI 设计工具应用平面2 设计要求要求:“滤波器设计软件”设计1、要有人机交互界面。2、滤波器设计的类型、参数均有多个值可供选择。3、当用户选择(或输入)滤波器的参数时,能够及时显示设计好的滤波器的频谱。4、该软件可设计 FIR 或 IIR 型滤波器至少一种。22 MATLAB GUI 的简介的简介MATLAB 是美国 MathWorks

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

6、十分相似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完相同的事情简捷得多,并且 mathwork 也吸收了像 Maple 等软件的优点,使 MATLAB成为一个强大的数学软件。在新的版本中也加入了对 C,FORTRAN,C+ ,JAVA 的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB 函数库中方便自己以后调用。MATALB 可以创建图形用户界面 GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有 GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随

7、着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。33 滤波器设计原理滤波器设计原理3.1 滤波器概述滤波器概述随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像,自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理中,数字滤波器占有极其重要的地位。现代数字滤波器可以用软件或设计专用的数字处理硬件两种方式来实现,用软件来实现数字滤波器优点是随着滤波器参数的改变,很容易改变滤波器的性能。根据数字滤波器单脉冲响应的时域特性可将数字滤波器分为两种, 即 IIR

8、(Infinite Impulse Response)无限长脉冲响应数字滤波器和 FIR (Finite Impulse Response)有限长脉冲响应数字滤波器。从功能上分类, 可分为低通、高通、带通、带阻滤波器。43.23.2 IIR 数字滤波器数字滤波器3.2.1 IIR 数字滤波器设计原理滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。IIR 滤波器一般采用递归型的结构,系统的输入与输出服从 N 阶差分方程:相应的传输函数为:设计 IIR 数字滤波器就是要确定传输函数中的系数、或零极点增益、jaibic、A,使滤波器的频率特性满足给定的性能指标要求

9、。设计原理主要包括两jd个方面:一是根据设计指标,先设计出相应的模拟滤波器再通过脉冲响应不变法或双线性变换法转换成对应的数字滤波器;二是选择一种优准则,如最小均方准则,再在, 先最误差此准则下求出滤波器传输函数的系数。根据设计理论,在MATLAB 环境下设计 IIR 数字滤波器主要有四种方法:一是典型设计法;二是完全设计法;三是最优设计法;四是工具设计法。由于完全设计法程序简单,我们在这里利用完全设计法设计滤波器。53.2.2 IIR 滤波器设计思想IIR 滤波器设计思想是:利用已有的模拟滤波器设计理论,首先根据设计指标设计一个合适的模拟滤波器,然后再通过脉冲响应不变法或双线性变换法,完成从模

10、拟到数字的变换。常用的模拟滤波器有巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev) 滤波器、椭圆(Ellipse)滤波器、贝塞尔(Bessel)滤波器等,这些滤波器各有特点,供不同设计要求选用。滤波器的模拟数字变换,通常是复变函数的映射变换,也必须满足一定的要求由于数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计指标进行归一化处理,设采样频率为 Fs,归一化频率的计算公式是: 利用完全设计法设计数字滤波器的步骤:(1)将设计指标归一化处理。(2)根据归一化频率,确定最小阶数 N 和频率参数 Wn。可供选用的阶数选择函数有:buttord,cheblor

11、d,cheb2ord,ellipord 等。(3)运用最小阶数 N 设计模拟低通滤波器原型。根据最小阶数直接设计模拟低通滤波器原型,用到的函数有:butter, chebyl,cheby2, ellip 和 bessel。如B,A = butter(N,Wn,type) 设计type型巴特沃斯(Butterworth)滤波器 filter。N 为滤波器阶数,Wc 为截止频率, type 决定滤波器类型, type= high,设计高通 IIR滤波器,ftype= stop,设计带阻 IIR 滤波器。(4)再用 freqz 函数验证设计结果。63.2.3 IIR 滤波器设计编程实现例如选择设计

12、IIR 的 Butterworth 低通滤波器,其Fs=22050Hz,Fp1=3400Hz,Fs1=5000Hz,Rp=2dB,Rs=20dB 程序和效果图(图 2)如下:Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;%设计指标wp1=2*Fp1 /Fs;ws1=2*Fs1 /Fs;%求归一化频率% 确定 butterworth 的最小阶数 N 和频率参数 Wnn,Wn=buttord(wp1,ws1,Rp,Rs);B,A = butter(N,Wn);%确定传递函数的分子、分母系数h,f=freqz(b,a,Nn,Fs_value);%生成频率响应参数plot

13、(f,20*log(abs(h) %画幅频响应图plot(f,angle(h); %画相频响应图%N, Wn = buttord(Wp, Ws, Rp, Rs) 确定 butterworth 的 N 和 Wn%N, Wn = cheblord ( (Wp, Ws, Rp, Rs) 确定 Chebyshev 滤波器的 N 和 Wn%N, Wn = cheb2ord (Wp, Ws, Rp, Rs) 确定 Chebyshev2 滤波器的 N 和 Wn%N, Wn = ellipord (Wp, Ws, Rp, Rs) 确定椭圆(Ellipse) 滤波器 的 N 和 Wn%B,A = butter(N,Wn,type) 设计type型巴特沃斯(Butterworth)滤波器 filter.%B,A = cheby1 (N,R,Wn, type) 设计type型切比雪夫

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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