本科毕业设计--基于面向对象的数字滤波器设计.doc

上传人:教**** 文档编号:87906294 上传时间:2023-04-18 格式:DOC 页数:6 大小:3.22MB
返回 下载 相关 举报
本科毕业设计--基于面向对象的数字滤波器设计.doc_第1页
第1页 / 共6页
本科毕业设计--基于面向对象的数字滤波器设计.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《本科毕业设计--基于面向对象的数字滤波器设计.doc》由会员分享,可在线阅读,更多相关《本科毕业设计--基于面向对象的数字滤波器设计.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于面向对象的数字滤波器设计电子信息科学与技术专业 学生:郑美红 指导老师:谭家杰摘 要:详细研究了在 Visual Basic 6.0 环境下如何设计对称系数FIR (Finite Impulse Response,有限单位脉冲响应)数字滤波器。根据相关理论利用窗函数法和一些典型的窗函数设计FIR滤波器。关键词:FIR 数字滤波器;窗函数法;计算机辅助设计;Visual Basic 6.0 软件 1 引言数字滤波器,是指输入、输出均为数字信号,通过数值运算改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序1。它能避免模拟滤波器所无法克服的温度漂移和噪声等问题,同时具有比

2、模拟滤波器精度高、稳定性好、体积小、更灵活等优点,在数字通信、语音图像处理、谱分析、模式识别、自动控制等领域得到了广泛的应用,同时FPGA和DSP的在速度和精度上的不断提高也促进了数字滤波器的发展2。从实现的网络结构分类,数字滤波器分为IIR(Infinite Impulse Response,无限单位脉冲响应)型和FIR(Finite Impulse Response,有限单位脉冲响应)型。FIR数字滤波器既可以满足任意幅度特性,又可以保证严格的相位特性,它的单位脉冲响应是有限长且稳定的,是信号处理系统的重要组成部分,因此越来越受到广泛的重视。本文研究基于 Visual Basic 6.0

3、环境下的FIR 数字滤波器的设计方法,并且分析了滤波器的幅频特性,相频特性以及参数对数字滤波器设计的影响。2 窗函数法设计FIR滤波器常用的设计FIR数字滤波器的方法主要有窗函数法、频率抽样法和切比雪夫等波纹逼近法1,3,4,5。窗函数法是设计FIR数字滤波器最常用、最简单的方法,实质是用截断理想单位脉冲响应的方法来逼近所求的滤波器指标1。2.1窗函数设计原理设希望逼近的滤波器频率响应函数为,其单位脉冲响应为。如果能够由已知的求出,经过变换可得到滤波器的系统函数。但通常以理想滤波器作为,幅度特性逐段恒定,在边界频率处有不连续点,因而是无限时宽的,且是非因果序列1。对于FIR滤波器的输出可以认为

4、是输入信号与有限长单位脉冲响应的直接卷积6。所以设计FIR滤波器的关键就是根据要求找到个傅里叶级数系数,以项傅氏级数去近似代替无限项傅氏级数。为了获得有限长单位脉冲响应,只有将截取一段,并保证截取的一段关于偶对称。设截取的一段用表示,即: (1)式中,是一个长度为的关于偶对称的序列,称为窗函数。当延时个长度时,截取的一段关于偶对称,保证所设计的滤波器具有线性相位。系统函数由(1)式可得。这种FIR滤波器设计方法就是窗函数法1。2.2窗函数法设计思路窗函数法设计简单,有闭合形式的公式,因而很实用。缺点是通带、阻带的截止频率不容易控制1,5,7。数字滤波器的好坏取决于窗函数的选取,窗函数法设计的关

5、键是:选择合适的窗函数,选择合适的阶数,改善数字滤波器的幅频特性,减少Gibbs(吉布斯)现象,解决收敛问题1,3。常用的窗函数有矩形窗、Bartlett窗、Hanning窗(升余弦窗)、Hamming窗(改进的升余弦窗)、Blackman窗、Kaiser窗等,详情可查阅文献1、3、4。窗函数法的设计步骤为:首先给定所要求的频率响应函数;其次,由的傅立叶反变换导出;再次,根据过渡带宽及阻带最小衰减要求,比对上述6种窗函数基本参数选定窗函数及值,求得FIR滤波器的单位脉冲响应;最后,求,并检验是否满足要求,不断调节相关参数8。3 软件实现与应用3.1计算机辅助设计界面Visual Basic (

6、VB)是支持可视化编程的、面向对象的、采用事件驱动方式的结构化程序设计语言。设计中的整个FIR计算机辅助设计系统界面主要参照文献9和10,界面上参数设置方便直观,不同参数对应的不同图像之间可以进行比较,便于分析和理解,如图1所示。图1 FIR数字滤波器界面计算机辅助设计的界面主要由文本框、组合框、命令按钮、单选钮、复选框、图片框组成。其中文本框主要用来接收各种滤波器的技术参数,显示FIR滤波器的系统函数的系数和各种操作的详细说明。当技术参数改变时,便可单击“设计”命令按钮产生触发事件PictureBox的相应的单位脉冲响应图、幅频响应图、相频响应图及逼近误差图,显示在新参数下的特性图,并在文本

7、框中显示FIR滤波器的系统函数的系数;复选钮用于确定参数可调;组合框用来选择窗函数的类型和频率单位;单选钮用来选择数字滤波器类型(低通、带通、带阻、高通)和设计方法。当数字滤波器参数输入完毕,然后选择组合框中的内容和单选钮,触发“设计”按钮,图像框便会显示相应图形;命令按钮主要完成滤波器设计、图像查看、系统函数系数的导出及退出功能。3.2软件实现软件设计思想是根据 Visual Basic 6.0 的事件驱动机制设计出所有需要的函数。当在对象上发生事件后,应用程序就要处理这个事件。设计了以下主要函数:常用数学函数、绘图函数、各类窗函数、各类滤波器的单位脉冲响应函数和设计函数、幅频和相频特性函数

8、。在设计FIR滤波器时,可先根据滤波器类型和窗函数类型,在对应滤波器设计函数中调用相应窗函数求得所需要的长度为的窗函数结果,然后用对应滤波器单位脉冲响应函数计算得到截断的理想滤波器的单位脉冲响应,最后根据式(1)得到实际设计的滤波器的单位脉冲响应。随后,再将实际设计的滤波器的单位脉冲响应带入幅频、相频特性函数,就可得到相关数据。当然,绘制相关图形时,只需将各结果带入相应绘图模块。将各个功能归纳成一个个函数Function或模块Sub,整个程序结构清晰明了,易于差错和分析。3.3应用实例不同参数对应的不同的特性图显示在单位脉冲响应、幅频、相频图上,清晰直观。现举例说明本软件的功能,并与MATLA

9、B设计的滤波器进行比较验证。例1:用Hamming窗设计一个低通FIR滤波器,通带截止频率,阻带截止频率,通带峰值起伏,阻带最小衰减。编程软件采用Hamming窗设计的结果如下图2(a)所示:(a) VB程序设计结果 (b) MATLAB程序设计结果图2 Hamming窗设计低通滤波器的特性曲线()为了对比设计滤波器系数的误差,同时采用MATLAB设计了实例1的滤波器。将两种设计的滤波器系数进行对比,详见表1。表1 FIR低通滤波器系统函数系数表h(n)VB程序计算MATLB程序计算误差/%h(0)0.001510.00150.667 h(1)0.00000-0.00000 h(2)-0.00

10、249-0.0025-0.400 h(3)-0.00227-0.0023-1.304 h(4)0.003350.00331.515 h(5)0.007830.00780.385 表1数据表明,采用VB设计的数字滤波器与MATLAB设计的最大误差为1.515%。说明,采用的设计方法是正确有效的。例2:用Kaiser窗设计一个带阻FIR滤波器,通带上限截止频率,通带下限截止频率,阻带上限截止频率,阻带下限截止频率,通带峰值起伏,阻带最小衰减。编程软件采用Kaiser窗设计的结果如图3所示,并与采用MATLAB设计的实例2的滤波器进行比较验证,两者设计的系统函数系数如表2所示:图3 Kaiser窗设

11、计带阻滤波器的特性曲线(,)表2 FIR带阻滤波器系统函数系数表h(n)VB程序计算MATLB程序计算误差/%h(31)0.00591 0.0059 0.169 h(32)0.03746 0.0375 -0.107 h(33)-0.12255 -0.1226 -0.041 h(34)-0.07214 -0.0721 0.055 h(35)0.26190 0.2619 0.000 h(36)0.03649 0.0365 -0.027 h(37)0.67500 0.6751 -0.015 VB编程软件中,Kaiser窗设计的带阻滤波器的阻带最小衰减,并且当时,幅度衰减为66dB,满足技术指标采用。

12、VB设计的数字滤波器与MATLAB设计的最大误差仅为0.169%。再次说明,本编程软件设计的结果正确有效。例3:用Blackman窗和Kaiser窗设计一个高通FIR滤波器,通带截止频率,阻带截止频率,通带峰值起伏,阻带最小衰减。编程软件采用Blackman窗和Kaiser窗设计的特性曲线如下图4(a)、(b)所示: 图(a) Blackman窗设计的高通滤波器()图(b) Kaiser窗设计的高通滤波器(,)图4 高通滤波器的特性曲线从图4中可以看出,这两种方案都可以达到设计指标。可是用Kaiser窗可以使滤波器的阶数减少很多,这样在硬件实现时可以节约很多资源,所以Kaiser窗是个很优越的

13、窗函数。Kaiser窗是一个参数可调的最优窗函数,其中是一个可选参数,一般说来,越大,过渡带越宽,阻带越小衰减也越大。特通过例3来验证的影响。详见图5。 图(a) Kaiser 窗(,) 图(b) Kaiser 窗(,) 图(c) Kaiser 窗(,)图(d) Kaiser 窗(,)图5 Kaiser 窗设计的例3高通滤波器特性曲线以幅度衰减70dB对应的频率为阻带截止频率,通带截止频率,过渡带宽。比较图5(a)、(b)、(c),从图中可以看出当滤波器的参数固定时,过渡带宽随的增加而逐渐增大。比较图5(c)、(d),从图中可以看出当固定时,过渡带宽随滤波器的参数的增加而逐渐减小。4 结论基于

14、Visual Basic 6.0面向对象的FIR数字滤波器设计,体现了Visual Basic 6.0的可视界面和面向对象的特点,极大的提高了应用程序开发的效率。FIR滤波器设计程序运行结果理想,波形直观。所产生的幅频特性、相频特性图形便于分析比较,产生的系统函数系数更是为滤波器的实现提供了很大方便;通过对参数的改变可以掌握各种参数对滤波器设计的影响程度,通过参数调整,可最大达到设计数字滤波器的指标。切比雪夫等波纹逼近法是一种更优的方法,有待进一步研究及实现。【参考文献】1 高西全,丁玉美著.数字信号处理( 第三版) M.西安:西安电子科技大学出版社,2008.149-2302 朱武,张佳民,

15、张智明著.基于并行结构分布式算法的FIR滤波器设计J.电子测量与仪器学报,2007,21(4):87-923 A.V.奥尔海姆,R.W.谢弗,J.R.巴克著.离散时间信号处理(第二版)M.刘树棠,黄建国译.西安:西安交通大学出版社,2001.236-252,373-4104 Joyec Van de Vegte.Fundamentals of Digital Signal ProcessingM.北京:电子工业出版社,20035 陈明军,毛樟梅著.改进窗函数在FIR数字滤波器设计中的应用J.继电器,2007,35(17):65-676 田丰,牟卫华,陈华明,雍少为著.基于分布式算法的线性相位F

16、IR滤波器设计J.舰船电子工程,2010,30(2):57-607 谭家杰,罗昌由,黄三伟,邓小辉著.用改进的窗函数设计FIR数字滤波器J.衡阳师范学院学报,2010,31(6):31-348 闫胜利著.FIR滤波器原理及设计方法J.长春工程学院学报(自然科学版) ,2003,4(1):63-659 谭家杰,陈淑芳,张兰英,唐建锋著.基于Visual Basic6.0 IIR 数字滤波器设计J.四川理工学院学报(自然科学版),2008,21(3):88-9110 郑有增,亓莱滨著.Visual Basic可视化程序设计实验指导与实训M.北京:中国水利水电出版社,2004Abstract: In

17、 this paper, how to design the symmetric coefficient FIR (Finite Impulse Response) digital filters has been presented in detail based on Visual Basic 6.0. We mainly analyze the linear-phase characteristics of FIR filter and utilize the theory with some typical window functions to design the FIR filters. Key words: FIR digital filter; window function method; computer aided design (CAD); Visual Basic 6.0 software

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com