已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(二一二年 六月 本科毕业设计说明书学校代码: 10128学 号:200810107019题 目 : 基于 MATLAB及 VB的无限冲击响应 数字滤波器的设计学 生 姓 名 :学 院 : 机 械 学 院系 别 : 测 控 系专 业 : 测 控 技 术 与 仪 器班 级 : 测 控 08-2指 导 教 师 : 高级实验师摘 要随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。面对各种各样的原始信号, 若要过滤噪声信号,提取有用信号,这就需要使用滤波器。滤波器的作用主要是选择所需频带的信号内容而抑制不需要的其他频带的信号内容。无限冲击响应数字滤波器(IIR)属于经典数字滤波器的一种,使用 MATLAB7.6 设计数字滤波器,可以按照设计要求方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计。MATLAB7.6 因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用 MATLAB7.6 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。VisualBasic 是由Microsoft 公司开发的在 Windows 平台上的主力编程语言之一, 由于它避开了 C+ 编程过分繁琐和抽象的缺点同时又能实现大多数 Windows 编程目的, 因而一经推出就风靡全球, 运用 VisualBasic6.0 调用 MATLAB7.6 可以使繁琐的工作变得简单。关键词:(IIR)无限冲击响应滤波器、MATLAB7.6、VB6.0。AbstractThe face of a variety of the original signal, to filter the noise signal, extract the useful signal, which requires the use of filters. The filters main function is to select the desired frequency band signal content and inhibition of unwanted frequency band signal content. Infinite impulse response digital filter (IIR) is a classical digital filter using MATLAB design digital filter design parameters can be easily adjusted in accordance with the design requirements, which greatly reduce the workload of the design, filter design. Matlab because of its powerful data processing capabilities are widely used in engineering calculations, its rich toolbox for engineering calculations to facilitate use of the Matlab Signal Processing Toolbox can quickly and efficiently design digital filters, the design is simple and convenient. VisualBasic is one of the main programming language developed by Microsoft on the Windows platform, to avoid the C + + programming is too complicated and abstract shortcomings while most Windows programming purpose and thus has been introduced swept the world, the use of VisualBasic6.0 calling Matlab7.6 can make the tedious job easier.Keywords:(IIR) Infinite impulse response digital filter、 Matlab7.6、VB6.0.目 录引 言 .1第一章 总体设计思路及方案制定 .21.1 滤波器的简介 .21.2 研究数字滤波器的意义 .21.3 设计思路 .21.4 总体方案制定 .3第二章 数字滤波器的原理及设计方法 .42.1 数字滤波器的基本概念 .42.2IIR 无限冲击响应数字滤波器的基本结构 .52.3IIR 数字滤波器的设计方法 .52.4 冲激响应不变法设计 IIR 滤波器原理 .62.5 双线性 Z 变换法设计 IIR 滤波器原理 .8第三章 MATLAB7.6 在 IIR 滤波器设计中的应用 .103.1MATLAB7.6 简介: .103.2 基于 MATLAB 函数直接设计 IIR 数字滤波器 .113.2.1. Butterworth 滤波器的设计 .113.2.2 Chebyshev 型滤波器的设计 .123.2.3 椭圆滤波器的设计 .153.2.4.冲击响应不变法(impinvar)设计滤波器 .163.2.5 双线性变换(bilinear)设计滤波器 .163.3 基于 MATLAB7.6 的 IIR 滤波器设计实例 .17第四章 使用 VB6.0 进行界面设计 .184.1VB6.0 软件介绍 .184.2 VB 软件的发展 .184.3 VB6.0 的特点及优势 .184.3.1 可视化编写工具 .184.3.2 采用事件驱动的编程机制 .194.3.3 结构化的设计 .194.3.4 具有对数据库的访问能力 .194.4 用 VB6.0 设计界面 .194.5 使用 VB6.0 进行界面设计实例 .20第五章 MATLAB7.6 与 VB6.0 的接口技术 .225.1 ActiveX 自 动 化 .225.2 MATLAB7.6 与 VB6.0 混 编 方 法 .225.2.1BSTR Execute(inBSTR Command)方法 .225.2.2PutFullMatrix 方法 .225.2.3GetFullMatrix 方法 .235.2.4GetCharArray 方法 .235.2.5PutCharArray 方法 .235.3 MATLAB7.6 与 VB6.0 的混编实例 .23第六章 结 论 .25参考文献 .26附 录 .27谢 辞 .36引 言滤波器(filter),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。滤波器可分为数字滤波器和模拟滤波器两大类。而数字滤波器又可以依据冲击响应是否市无限的分为无限冲击响应滤波器和有限冲击响应滤波器两类。IIR(Infinite impulse response)无限冲击响应数字滤波器,是一种在语音,图像,数字通信系统和计算机信号处理方面有广泛地运用的滤波器。它的特点是拥有无限长的持续时间的冲击响应。它可以通过零点,极点同时调节滤波器的频率特性。数字滤波器设计一般可以用两种方法来实现:一种方法是用数字硬件装配成一台专门的设备,这种设备称为数字信号处理机;另一种方法就是直接利用通用计算机,将所需要的运算编成程序让通用计算机来完成,即利用计算机软件来实现,我们采用的是第二种方法。MATLAB 是由美国 Mathworks 公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB 是英文 MATrix LABoratory(矩形实验室)的缩写。在 MATLAB 环境下,用户可以集成地进行程序设计,数值计算,图形绘制,输入输出,文件管理等各项操作。除此之外,MATLAB7.6 还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。目前,Mathworks 公司推出了十八种工具箱。用户可以根据自己的工作任务,开发自己的工具箱。本次设计使用 MATLAB7.6 进行滤波器设计,原因就是基于 MATLAB7.6 强大的滤波器设计工具箱,可以使设计过程变得简单。Visual Basic 是由微软公司开发的编程语言。从任何标准来说,VB 都是世界上最为普及的一种编程语言无论是资深的软件开发者还是初学编程的学员。它是由 BASIC 编程语言发展而来。VB6.0 拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,能够轻松的创建 ActiveX 控件,也可以轻易的使用 DAO、RDO、连接到最新的数据库。编程者能够轻松的使用 VB6.0 提供的组件快速建立一个应用程序。本设计使用 VB6.0 来进行界面设计就是因为其图形用户界面(GUI)和快速应用程序开发(RAD)系统方便快捷,不需要编写大量程序。第一章 总体设计思路及方案制定1.1 滤波器的简介滤波器(filter),是一种用于消除干扰信号的器件,将输入或输出信号经过过滤而得到有用信号。对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。在数字信号处理中,数字滤波器占有极其重要的地位。现代数字滤波器可以用软件或设计专用的数字处理硬件两种方式来实现,用软件来实现数字滤波器优点是随着滤波器参数的改变,很容易改变滤波器的性能。根据数字滤波器单脉冲响应的时域特性可将数字滤波器分为两种, 即 IIR (Infinite Impulse Response)无限长脉冲响应数字滤波器和FIR (Finite Impulse Response)有限长脉冲响应数字滤波器。从功能上分类, 可分为低通、高通、带通、带阻滤波器。本文中将研究的是无限冲击响应滤波器。1.2 研究数字滤波器的意义随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。数字信号处理在信号、语音、图像,自动控制、雷达、军事、航空航天等众多领域得到了广泛的应用。 现代滤波理论研究的主要内容是从含有噪声的数据记录(又称为时间序列)中估计出信号的某些特征或信号本身。一旦信号被估计出,那么估计出的信号将比原信号会有高的信噪比。现代滤波器把信号和噪声都视为随机信号,利用它们的统计特征(如自相关函数、功率谱函数等等)导出一套最佳的估值算法,然后用硬件和软件实现。目前现代滤波器主要有:维纳滤波器、卡尔曼滤波器、线性预测器、自适应滤波器等,很多专家将基于特征分解的频率估计及奇异值分解算法都归入现代滤波器的范畴 3。1.3 设计思路无限冲击响应滤波器的设计质上是要寻找一个既能物理实现,又可以满足给定频率特性指标要求的系统传输函数。IIR 滤波器一般采用递归型的结构,系统的输入与输出服从 N 阶差分方程,相应的传输函数为: 设计 IIR 数字滤波器就是要确定传输函数中的系数 、 或零极点增益 、jaibic、 A,使滤波器的频率特性满足给定的性能指标要求。jd1.4 总体方案制定第 1 章:主要简述总体设计思路以及方案制定第 2 章:阐述数字滤波器的原理及设计方法。第 3 章:设计 MATLAB7.6 软件包在无限冲击响应滤波器中的应用。第 4 章:绍了用 VB6.0 进行界面的设计。第 5 章:设计 MATLAB7.6 与 VB6.0 接口有效结合的接口技术。第 6 章:结论(1-1)第二章 数字滤波器的原理及设计方法2.1 数字滤波器的基本概念数字滤波器是具有一定传输特性的数字信号处理装置。其实质是一个由有限精度算法实现的线性时不变离散系统。其工作原理是利用离散系统特性对输入的信号进行加工和变换,让有用频率的信号通过同时抑制无用的信号。数字滤波器通常可分为(IIR)无限冲击响应滤波器和(FIR )有限冲击响应滤波器。 (IIR) 无限冲击响应滤波器具有零极点,可以用较小的阶数达到较好的滤波效果,且计算量较小带来的信号延迟较小。这种滤波器的单位脉冲响应h(n)有无限个抽样值,即h(n)在n1n。(FIR)有限冲击响应滤波器的实现结构是非递归型的,没有极点只有零点因此系统是稳定的。这种滤波器的单位脉冲响应h(n)仅在n1nn2区间有值。在设计滤波器是,IIR无限冲击响应滤波器可以借助模拟滤波器的成果,一般都有封闭形式的设计公式可供准确计算,计算工作量比较小,对于用于计算的工具的要求不高。FIR有限冲击响应滤波器的设计则一般没有封闭形式的设计公式,只有计算程序可循,因此,对计算的工具要求较高。IIR滤波器设计简单,但大多是用于设计有片段常特性的滤波器,如低通、高通、带通及带阻滤波器等,都脱离不了模拟滤波器的格局。而FIR滤波器则更加广泛,易于适应特殊的应用。数字滤波器按功能分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器、全通滤波器。下图是各种理想数字滤波器的频率特性。图 2.1 各类理想滤波器的频率特性2.2IIR 无限冲击响应数字滤波器的基本结构对于IIR无限冲击响应数字滤波器差分方程的一般形式可以表示为(2-1) ,01 MNrkkrynbxaynab为 常 数等式的两边同时进行Z变换得(2-2) 01Yz=MNrkrkbXzaYz可以得到IIR无限冲击响应数字滤波器的传递函数(2-3) 01MrrNkkbzYzHXa模拟滤波器的传递函数为(2-4) 10.mnnbSbsaa对比两个公式我们可以知道数字滤波器与模拟滤波器的思路相近,都是去寻找一组系数b,a,去逼近所要求的频率响应,使其满足要求。但两者不同之处在于模拟滤波器的设计是在 S 平面上用数学逼近法去寻找近似的所需特性 H(S),而数字滤波器则是在 Z 平面寻找合适的 H(Z)。IIR 数字滤波器拥有无限长的冲击响应,而模拟滤波器也具有无限长的单位脉冲响应,因此 IIR 数字滤波器与模拟滤波器匹配。由于模拟滤波器的设计在理论上已十分成熟,因此数字滤波器设计可以借鉴模拟滤波器的设计 4。2.3IIR 数字滤波器的设计方法IIR数字滤波器的设计步骤: 无限冲击响应数字滤波器的设计思路是先设计一个符合要求的模拟滤波器,然后通过脉冲响应不变法或双线性变换法转换为数字滤波器。其中脉冲响应不变法只适用于设计数字低通和数字带通滤波器,否则将产生频率混叠现象。使用间接法设计IIR数字滤波器可以利用现成的模拟滤波器设计公式简便易行,是目前设计低阶数字滤波器的主流方法。2.4 冲激响应不变法设计 IIR 滤波器原理冲激响应不变法设计数字滤波器的原理是使数字滤波器的单位抽样响应序列h(n)与模拟滤波器的冲激响应 g(t)相对应。设系统传递函数为 G(s)的模拟滤波器的单位冲激响应为 g(t),并将冲激响应 g(t)进行等间隔采样,使得数字滤波器的单位抽样响应 h(n)刚好等于 g(t)的采样值:上式中的 为采样周期。STG(s)使模拟滤波器的系统传递函数,故它是该系统冲激响应函数 g(t)的拉普拉斯变换;又 H(z)是数字滤波器的系统传递函数,可以得到它是数字滤波器的单位抽样响应函数 h(n)的 Z 变换。所以模拟信号的拉普拉斯变换与其采样序列 Z 变换的关系可以表示 上式的物理意义为首先将模拟滤波器的系统函数 G(s)作周期的延拓,再经过 映射变换,从而得到数字滤波器的系统函数 H(z)。假设 s 平面上,s 在 轴上取值,jz 在 z 平面内的单位圆周 上取值,可以得到数字滤波器的频率响应 H( )和模拟jwe we滤波器的频率响应 G( )间的关系为:)()()(0SnSnTt nThtghs kssez jGTHst )(1)(2-5)(2-6)确定数字滤波器的技术指标 转换为模拟滤波器指标设计模拟滤波器 H(s)设计相应的数字滤波器其中 。sTw假设模拟滤波器的系统传递函数 G(s)只有单阶极点,且 MN,系统传递函数可以表示为:其拉普拉斯变换脉冲响应再对其进行等间隔采样,可以得到数字滤波器的单位取样响应函数并对它进行 Z 变换,就可以得到数字滤波器的系统传递函数:按照冲激响应不变法的原理,通过模拟滤波器的系统传递函数,可以直接得到数字滤波器的系统传递函数。尽管通过冲激响应不变法求取数字滤波器的系统传递函数比较方便,并具有良好的时域逼近特性。冲击响应不变法设计滤波器有很大的局限性,它只适用于频率响应在折叠频率后衰减很大, 混叠失真很小的情况, 。2.5 双线性 Z 变换法设计 IIR 滤波器原理双线性 Z 变换的基本思路是:第一步是要将整个 s 平面压缩到 s1平面内中的一条带宽为 (从- 到 )的横带之中,第二步是将 s1平面内的横带整体sT/2s/sT/变换到整个 z 平面上,使用的方法为标准变换关系 ,使用这种方法就能够得sTez到拥有相应的单值关系 s 平面和 z 平面。由可以得到和NkKsAsG1)( NkTsKnNknTsn zeAzeAzhzHkk1101)()(12zTssz)2/(1(2-7)(2-8)(2-9)(2-10)2/cos(in)(22/2/ jjjs TeeTj 可以得到上面的式子给出了 和 之间的非线性的映射关系。当 由 0 至 时, 将)2/tan(由 0 变至+ ,当 由 0 至 时, 由 0 变至- ,即整个 轴映射为单位圆一j周。把整个 轴压缩到了单位圆的一周上,正是借助了正切函数的非线性特点。j当给定了数字滤波器的技术指标 后可以得到sps,于是可以设计出模拟原型滤波器的传递函数 G(p),然后 G(p)转为模拟滤波器传函数 G(s),再由 G(s)转为数字滤波器的传递函数 H(z), 关系如下:)2/tan(sTrcts)2/tan(spT)/t(ss)2/tan(/)t(pss 1ppsG()s)1(2/tan)1(2/tan(2zzTsp psps (2-11)(2-12)(2-13)(2-14)(2-15)(2-16)第三章 MATLAB7.6 在 IIR 滤波器设计中的应用3.1MATLAB7.6 简介:MATLAB是Matrix Laboratory(矩阵实验室)的缩写,是由Math Works公司推出的一套高性能可视化软件,它是集数值分析、矩阵运算、函数生成、信号处理、图像处理、建模与仿真等诸多功能于一体的高效编程工具。MATLAB软件的主要功能以优势:(1) MATLAB语言是基于向量、数组和矩阵的高级程序设计语言。它的表达方式与日常习惯所使用的数字表达方式几乎相同;(2) 对于数值计算,MATLAB有质量高,可靠性好的优势;(3) 拥有大量的算法程序、库函数和工具包,几乎涵盖了全部的科学领域;(4) 具有仿真能力,可进行可视化操作,方便建模;(5) 跨平台兼容,即可以将MATLAB程序转化成为其他语言程序,也可以与其他语言程序相连接使用;(6) 软件的开放性能和可扩充性能非常强大,可以轻松的与外部设备、文件连接使用。MATLAB软件的诞生,使数字信号处理系统的分析与设计问题变得简单了,它成为数字信号处理系统的设计与仿真的主要软件。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。MATLAB专门为信号处理设置了信号处理工具箱,该工具箱为数字信号系统处理提供了一整套模拟、数字滤波器的设计命令和运算函数,方便准确,简单易行 7。模拟滤波器的类型:包括巴特沃思型、切比雪夫I型、切比雪夫II型、椭圆函数型(考尔型) 。确定低通模拟滤波器的阶数和3dB截止频率。相应的MATLAB函数有: butterord(巴特沃思型)、cheb1ord(切比雪夫I型)、cheb2ord(切比雪夫II型)和ellipord(考尔型)。按指标设计低通模拟滤波器。相应的MATLAB函数有:butter(巴特沃思型)、cheby1(切比雪夫I型)、cheby2(切比雪夫II型)和ellip(考尔型)。通过频率变换,将低通滤波器变换成高通、带通或带阻滤波器。相应的MATLAB函数有:lp2hp(低通变高通)、lp2bp(低通变带通)、lp2bs(低通变带阻)。利用脉冲响应不变法或双线性变换法,将模拟滤波器转换成数字滤波器。MATLAB 函数为impinvar(脉冲响应不变法)和bilinear(双线性变换法) 2。3.2 基于 MATLAB 函数直接设计 IIR 数字滤波器3.2.1. Butterworth 滤波器的设计butter功能:巴特沃思滤波器设计格式:b,a=butter(n,Wn) b,a=butter(n,Wn,ftype) b,a=butter(n,Wn,s)b,a=butter(n,Wn,ftype,s)butter函数可以用来设计低通、高通、带通、带阻各种类型的滤波器使用 b,a=butter(n,Wn,ftype)可以设计一个阶数为 n、截止频率为Wn的低通滤波器。其中参数ftype 的形式确定了滤波器的形式,当它为high 时得到高通滤波器,若Wn 是一个含有两个元素向量w1 w2,则返回的a b所构成的滤波器是阶数为2n 的带通滤波器,滤波器的通带范围是w1Ww2 。Butterworth滤波器Butterworth滤波器的特点是具有通带内最平坦的幅度特性,而且随着频率升高呈单点递减。因此Butterworth滤波器又称为“最平”的幅频响应滤波器,而且Butterworth滤波器也是简单的滤波器。N阶低通Butterworth滤波器的特性函数为(3-1)221s NcHMATLAB信号处理工具箱为低通模拟Butterworth滤波器的产生提供了函数buttap():Z,P,K=buttap(n)返回一个n阶Butterworth滤波器的零点、极点和增益。3.2.2 Chebyshev 型滤波器的设计Chebyshev滤波器的幅度特性就是在一个频带中具有这种等波纹特性;一种是在通带中是等波纹的,在阻带重视单调的,称为Chebyshev I型;一种是在阻带内是等图 3.1 巴特沃思低通滤波器频谱图 图 3.2 巴特沃思高通滤波器频谱图图 3.3 巴特沃思带通滤波器频谱图 图 3.4 巴特沃思带阻滤波器频谱图波纹的,称为Chebyshev II型。Chebyshev I型滤波器的特性函数为:(3-2)221sNcHjCMATLAB信号处理工具箱为低通模拟Chebyshev I型滤波器的产生提供了函数cheb1ap():Z,P,K=cheblap(n,Rp)返回一个n阶Chebyshev I型滤波器的零点、极点和增益。这个滤波器在通带内的最大衰减为Rp。Chebyshev I型滤波器的主要特点是在阻带内达到最大平滑。3.1 Cheby1功能:切比雪夫I型滤波器设计格式:b,a=cheby1(n,Rp,Wn)b,a=cheby1(n,Rp,Wn, ftype)b,a=cheby1(n,Rp,Wn,s)b,a=cheby1(n,Rp,Wn, ftype,s)利用b,a=cheby1(n,Rp,Wn, ftype )方式设计出阶数为n,截止频率为Wn,带通波纹最大衰减为Rp,的数字低通滤波器其中参数ftype 的形式决定了滤波器的形式。当它为high时得到滤波器为n阶的截止频率为Wn的高通滤波器。若Wn是一个含有两个元素向量w1 w2,则cheby1 函数返回值是阶数为2n的带通滤波器。滤波器的系统函数有理多项式的系数通带范围是w1Ww2。采用Cheby1函数实质是首先设计出低通的模拟滤波器,然后采用变换的方法得到数字的高通低通带通和带阻滤波器,在使用Cheby1函数的模拟滤波器的设计中Chebyshev1 滤波器在带通是等波纹的,而在带阻是单调下降的。图 3.5 切比雪夫 I 低通滤波器图 图 3.6 切比雪夫 I 高通滤波器图Chebyshev II型滤波器的特性函数为:(3-3)2 221aNstHjC其中 是阻带衰减达到规定数值的最低频率。stMATLAB信号处理工具箱为低通模拟Chebyshev II型滤波器的产生提供了函数cheb2ap():Z,P,K=cheb2ap(n,Rp)返回一个n阶Chebyshev II型滤波器的零点、极点和增益。这个滤波器在通带内的最大衰减为Rp。Chebyshev II型滤波器的主要特点是在通带内达到最大平滑。3.2 Cheby2功能:切比雪夫II型滤波器设计格式:b,a=cheby2(n,Rs,Wn)b,a=cheby2(n,Rs,Wn,ftype)b,a=cheby2(n,Rs,Wn,s)b,a=cheby2(n,Rs,Wn, ftype,s)利用MATLAB中的cheby2设计各种形式的滤波器的方法和利用cheby1设计滤波器的方法相同,只是cheby2设计出的滤波器在带阻是等波纹的,在带通是单调的。而cheby1则恰好相反。图 3.7 切比雪夫 I 带通滤波器图 图 3.8 切比雪夫 I 带阻滤波器图3.2.3 椭圆滤波器的设计椭圆滤波器的特性函数为(3-4)221NcHjUMATLAB信号处理工具箱为低通模拟椭圆型滤波器的产生提供了函数ellipap():Z,P,K= ellipap(n,Rp,Rs)返回一个n阶椭圆型滤波器的零点、极点和增益。这个滤波器在通带内的最大衰减为Rp,在阻带内的最小衰减是Rs。Ellip功能:椭圆型滤波器设计格式:b,a= ellip(n,Rs, Rp, Wn)b,a= ellip(n,Rs, Rp, Wn, ftype)b,a= ellip(n,Rs, Rp, Wn,s)b,a= ellip(n,Rs, Rp, Wn, ftype,s)实际上使用ellip函数是采用椭圆滤波法设计出低通的模拟滤波器。然后采用变换的方法得到数字的高通、低通、带通和带阻滤波器,所以称之为ellip函数。在模拟滤波器设计中,椭圆滤波器的设计是几种滤波器设计方法中最为复杂的一种设计方法。但是它设计出的滤波器的阶数最小,同时它对参数的量化灵敏度最敏感。图 3.9 切比雪夫 II 低通滤波器频谱图 利用b,a=ellip(n,Rp,Rs,Wn ftype )方式可以设计出阶数为n,截止频率Wn,带通波纹最大衰减为Rp,带阻波纹最小衰减为Rs的数字低通滤波器。若Wn是一个含有两个元素向量w1 w2,则ellip函数返回值是阶数为2n的带通滤波器的系统函数有理多项式的系数。滤波器的通带范围是w1Ww2。3.2.4.冲击响应不变法(impinvar)设计滤波器MATLAB工具箱提供了函数impinvar(),采用冲击相应不变法来实现模拟滤波器到数字滤波器的转换。具体函数的使用如下:bz,az= impinvar(b,a,Fs)可将模拟滤波器(b,a)变换成数字滤波器的(bz,az),两者的冲击响应不变,即模拟滤波器的冲击响应按Fs抽样后等同于数字滤波器的冲击响应。冲击响应不变法的特点:模拟频率与数字频率之间的转换是线性的,并保持模拟滤波器的时域瞬态特性,这是冲击性应不变法的有点。当模拟滤波器频率响应不是严格限带时,则用冲击响应不变法设计出来的数字滤波器在频域出现混叠现象,这是冲击响应不变法的缺点。故设计性能比较高时,不易使用该方法。图 3.10 椭圆低通滤波器频谱图3.2.5 双线性变换(bilinear)设计滤波器MATLAB工具箱提供了函数bilinear()实现双线性变换。使用方法如下:zd,pd,kd=bilinear(z,p,k,Fs)把模拟滤波器的零极点模型转换成数字滤波器的零极点模型,其中Fs事故抽样频率。numd,dend=bilinear(num,den,Fs) 把模拟滤波器的传递函数模型转换成数字滤波器的传递函数模型,其中Fs事故抽样频率。Ad,Bd,Cd,Dd=bilinear(A,B,C,D,Fs) 把模拟滤波器的状态方程模型转换成数字滤波器的状态方程模型,其中 Fs 事故抽样频率。3.3 基于 MATLAB7.6 的 IIR 滤波器设计实例以下为 MATLAB7.6 设计 IIR 滤波器的例子,此例为巴特沃兹低通滤波器%clear all;%Wp=100;%Rp=3;%Ws=200;%Rs=30;%Fs=1000;N,Wn=buttord(Wp/(Fs/2),Ws/(Fs/2),Rp,Rs);b,a=butter(N,Wn);freqz(b,a,512,Fs);%figure(2)%y,t=impz(b,a,101);%stem(t,y);定义各种参数,Wp 为通带截止频率Ws 为阻带截止频率 Rs 阻带衰减 Rp 为通带波纹 计算滤波器阶数和截止频率设计符合 N 和 Wn 的巴特沃兹滤波器第四章 使用 VB6.0 进行界面设计4.1VB6.0 软件介绍Visual Basic,简 称 VB, 是 Microsoft 公 司 推 出 的 一 种 基 于 Windows系 统 的 应 用 程 序 开 发 工 具 。 它 是 现 今 世 界 上 应 用 最 为 广 泛 的 编 程 语 言 , 也 是 被 公认 为 是 编 程 效 率 最 高 的 一 种 编 程 方 法 。 “Visual”指 的 是 采 用 可 视 化 的 开 发 图形 用 户 界 面 ( GUI) 的 方 法 , 该 方 法 设 计 简 单 易 行 , 只 需 要 把 使 用 的 控 件 拖 放 到屏 幕 上 的 相 应 位 置 , 代 替 了 之 前 编 写 大 量 代 码 用 以 描 述 界 面 的 外 观 和 位 置 的 繁 琐过 程 ; “Basic”指 的 是 原 来 的 BASIC 语 言 , 因 为 VB 是 在 原 有 的 BASIC 语 言的 基 础 上 发 展 起 来 的 , 至 今 包 含 了 数 百 条 语 句 、 函 数 及 关 键 词 , 其 中 很 多 和 Windows GUI 有 直 接 关 系 。 无 论 是 否 是 专 业 程 序 员 都 可 以 用 Visual Basic 来 实 现 想 要 得 到 的 编 程 语 言 的 功 能 , 专 业 的 编 程 人 员 可 以 使 用 VB6.0 完 成 几乎 所 有 的 程 序 。 而 初 学 者 只 要 掌 握 几 个 关 键 词 即 可 建 立 实 用 的 应 用 程 序 11。4.2 VB 软件的发展Visual Basic1.0 版是 1991 年 Microsoft 公司在原 DOS 上以 BASIC 为基础开发的新一代面向对象,可视化,以事件驱动为运行机制的程序设计语言。随着编程人员对软件要求的不断提高,Microsoft 公司在 1992 年至 1997 年间相继开发出了 2.0 版,3.0 版,4.0 版和 5.0 版。又在 1998 年,推出了功能更加强大的 6.0 版本,本次设计采用的就是 6.0 版本的 VB。4.3 VB6.0 的特点及优势4.3.1 可视化编写工具用传统的高级语言编写程序,编程人员都是使用大量的代码,在编程题过程中不能看到实际效果,只有在运行了以后才能看到。而使用 Visual Basic 开发应用程序,不需要编写大量的代码去描述界面的外观和位置,系统本身提供了大量的可视化控件,编程人员只需直接调用即可。这就简化了界面设计的方法,大大提高了编程效率。4.3.2 采用事件驱动的编程机制在传统的程序编写中,即程序员必须将要处理的事物(包括界面的和算法的)编写出一个完整的程序,计算机按照程序的流程运算,而在 VB 中,软件通过事件来执行对象的操作。程序员只是对各个对象分别编写程序代码,各对象再有事件来驱动其内部的代码的执行。对象之间的动作顺序可有程序员灵活的控制。4.3.3 结构化的设计VB 就有高级语言结构,语句结构简
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学音乐爱满人间之歌声微笑欢乐颂教案
- 机房装修施工设计方案版试卷教案(2025-2026学年)
- 教师专业知识教案
- 三年级下册课文主旨电子教案
- 电信营业员年终工作汇报电子教案(2025-2026学年)
- 西关污水池及提升泵站施工方案试卷教案(2025-2026学年)
- 保险丝座建设项目可行性分析报告(总投资18000万元)
- 超声波抛光机项目可行性研究报告(总投资16000万元)(78亩)
- 2025年秋湘艺版小学一年级上册音乐期末测试卷及答案(三套)
- 外出老师安全协议书
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- JJG 52-2013弹性元件式一般压力表、压力真空表和真空表
- Q∕GDW 10364-2020 单相智能电能表技术规范
- 超星尔雅叶嘉莹《中华诗词之美》课后章节测验满分答案精编版
- 【学考】高中物理会考(学业水平考试)公式及知识点总结
- GB∕T 25279-2022 中空纤维帘式膜组件
- 自动抹灰机毕业论文初稿
- 胃早癌的简述课件
- 无尘车间穿戴规范
- 安全隐患排查自查表
- 大课间评分细则(共2页)
评论
0/150
提交评论