1、摘 要数字滤波器分为无限脉冲响应数字滤波器(IIR)和有限脉冲响应数字滤波器(FIR),FIR数字滤波器在语音、图像、数字通信系统和计算机领域信号处理中有着广泛的应用。论文主要研究在Labview环境中实现FIR数字滤波器的设计。论文重点描述了FIR数字滤波器的原理、方法、设计过程及窗函数法、频率取样法、切比雪夫逼近法等几种常用的设计方法。分别采用窗函数法、频率取样法、切比雪夫逼近法设计FIR数字滤波器,通过对几种设计方法的比较,得出了各自的优缺点。最后对在窗函数法下设计的FIR数字滤波器进行了仿真,得出了正确的仿真图形。 通过对实验的分析,说明论文在几种方法下有效地实现了FIR数字滤波器的设
2、计,所设计的FIR数字滤波器能有效地对含噪信号进行滤波处理。关键词:FIR数字滤波器;Labview;窗函数法;频率采样法;等波纹切比雪夫逼近法AbstractDigital filter are divided into infinity impulse response digital filter (IIR) and finite impulse response digital filter (FIR), FIR digital filters in phonetics, image, digital communication system and in the field of c
3、omputer signal processing in a wide range of applications. Thesis mainly realize Labview environment in the design of FIR digital filters. The paper describes the principle of FIR digital filters, methods, design process and window function method, frequency sampling method, chebyshev approximation
4、method of several common design method. The author window function method were used in several different window function including rectangular window, han ning window, Kaiser window, Blake mann window and frequency sampling method, chebyshev approximation method realizes the FIR digital filters and
5、the conclusion that various methods of FIR digital filters the frequency response of graph, through the comparison of several design method, it is concluded that the respective advantages and disadvantages. Finally in window function method to design of FIR digital filters under simulated, obtained
6、the correct the simulation. Through the analysis of experiment in that paper, several methods efficiently implemented under the design of FIR digital filters, the design of FIR digital filters can effectively to signal with noise filtering processing. Keywords: FIR digital filters; Labview; window f
7、unction method; frequency sampling method ; corrugated chebyshev approximation method II目 录第1章 绪 论11.1研究意义11.2 研究现状及内容11.3 本文章节安排2第2章 虚拟仪器介绍32.1虚拟仪器的介绍及发展现状32.2 Labview简介42.3使用 LabVIEW程序设计滤波器的优点42.4 小结4第3章 数字滤波器原理53.1 数字滤波器的概念53.2数字滤波器的定义和分类53.3 数字滤波器的设计方法63.4 FIR数字滤波器的设计原理63.5窗函数法73.6 频率采样法83.7等波纹切
8、比雪夫逼近法83.8小结10第4章 基于LabVIEW的数字滤波器的设计114.1前言114.2双通信号源的设计114.3数字滤波器的设计174.4程序测试224.5小结与心得体会26第5章 总结27参考文献28致 谢29长江师范学院本科毕业设计基于L abview的FIR数字滤波器的设计1 绪论1.1研究意义目前,数字滤波器广泛应用于各种数字信号处理系统中如在通信、图像编码、语音编码、雷达等众多领域中有着广泛的应用。在传统的教学方法中关于数字滤波器设计内容的讲授比较注重理论,因其公式繁多而变得较为抽象,枯燥,不宜理解;数字滤波器设计是教学中的主要内容之一,同时也是教学中的一个难点。为了更好的
9、增加我们的感性认识,本文利用LabVIEW软件开发平台设计一种集各种数字滤波器为一体的数字滤波器系统1。利用LabVIEW可以快速有效地实现数字滤波器的设计与仿真,这都是由于G语言编程具有诸多优点,因此基于LabVIEW设计的数字滤波器具有高效、灵活、界面友好、集成性强、费用低、用户自定义功能强等诸多优点2。本课题的主要目的意义是运用虚拟仪器对FIR数字滤波器的设计,掌握FIR数字滤波器的设计方法,并通过应用数字滤波器处理模拟信号时,对输入模拟信号进行限带,抽样和数模转换,分析滤波器结构和参数对滤波器性能指标的影响,最终在LabVIEW开发平台上完成对FIR数字滤波器的仿真。1.2 研究现状及
10、内容自从1917年出现LC滤波器以来,滤波器的发展从来没有停止过。尤其是近年来,伴随着虚拟仪器技术的发展,出现了很多关于基于虚拟技术的滤波器设计。目前,虚拟仪器软件开发环境大致可以其分为两类:一类是文本式语言如Matlab、visual C+等;另一类是图形化编程语言,具有代表性的是LabVIEW,所以虚拟数字滤波器便有使用各种语言编写的版本,如Matlab编写的虚拟数字滤波器,其编写程序对编程开发人员的编程能力要求很高,而且工作量较大、开发周期较长,且编程基础的人难对其修改3。然而LabVIEW使用的G语言,是非常实用的开发软件3。现在也有很多基于LabVIEW的数字滤波器设计,但其滤波器类
11、型一般比较单一,功能不够完善。如一般并没有把有限冲击响应(FIR)滤波器和无限冲击响应(IIR)滤波器放在同一个面板上供用户选择使用,还有的只能模拟系统内部信号进行仿真,并没有采集实时信号进行仿真实验。而具有数据采用功能的设计大部分采用数据采集卡采集数据。由于采集卡其价格比较高,并不利于推广使用4。本课题是基于LabVIEW的数字滤波器设计,通过研究分析现有虚拟数字滤波器,依据数字滤波器工作原理和应用特点,本课题提出一种虚拟数字滤波器系统的设计方案。该系统主要是基于声卡对外部数据的采集,设计多功能数字滤波器对含有噪声的正弦波、方波、三角波进行滤波处理得到较好的波形,并且可以在前面板选择各种滤波
12、器,如选择IIR、FIR并设置滤波类型,选用IIR时可以选择最佳逼近类型,选用FIR时可以选择不同的窗函数。1.3 本文章节安排第1章 绪论部分。介绍本文的研究意义、研究现状和研究内容,概述了当前国内外基于labview的FIR滤波器设计的研究现状。第2章 虚拟仪器简介第3章 FIR滤波器基本理论.主要介绍滤波器的设计方法。第4章 FIR滤波器的仿真。第5章 全文总结。2 虚拟仪器介绍2.1虚拟仪器的介绍及发展现状所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成于自动控制、工业控制系统;可自由构建成专有仪器系统。它由计算机
13、、应用软件和仪器硬件组成。无论哪种虚拟仪器系统,都是将仪器硬件搭载到笔记本电脑、台式PC或工作站等各种计算机平台(甚至可以是掌上电脑)加上应用软件而构成的。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器。由于计算机性能以摩尔定律(每半年提高一倍)飞速发展,已把传统仪器远远抛到后面。并给虚拟仪器生产厂家不断带来较高的技术更新速率。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系
14、统,且功能灵活,很容易构建,所以应用面极为广泛。尤其在科研、开发、测量、检测、计量、测控等领域更是不可多得的好工具。虚拟仪器技术先进,十分符合国际上流行的硬件软件化的发展趋势,因而常被称作软件仪器。它功能强大,可实现示波器、逻辑分析仪、频谱仪、信号发生器等多种普通仪器全部功能,配以专用探头和软件还可检测特定系统的参数,如汽车发动机参数、汽油标号、炉窑温度、血液脉搏波、心电参数等多种数据;它操作灵活,完全图形化界面,风格简约,符合传统设备的使用习惯,用户不经培训即可迅速掌握操作规程;它集成方便,不但可以和高速数据采集设备构成自动测量系统,而且可以和控制设备构成自动控制系统5。在仪器计量系统方面,
15、示波器、频谱仪、信号发生器、逻辑分析仪、电压电流表是科研机关、企业研发实验室、大专院校所必备的测量设备。随着计算机技术在测绘系统的广泛应用,传统的仪器设备缺乏相应的计算机接口,因而配合数据采集及数据处理十分困难。而且,传统仪器体积相对庞大,多种数据测量时常常感到捉襟见肘,手足无措。我们常见到硬件工程师的工作台上堆砌着纷乱的仪器,交错的线缆和繁多待测器件。然而在集成的虚拟测量系统中,我们见到的是整洁的桌面,条理的操作,不但使测量人员从繁复的仪器堆中解放出来,而且还可实现自动测量、自动记录、自动数据处理。其方便之极固不必多言,而设备成本的大幅降低却不可不提。一套完整的实验测量设备少则几万元,多则几
16、十万元。在同等的性能条件下,相应的虚拟仪器价格要低二分之一甚至更多。虚拟仪器强大的功能和价格优势,使得它在仪器计量领域具有很强的生命力和十分广阔的前景。2.2 LabVIEW简介LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW开发的软件系统,主要包括四个模块:数据采集、显示记录、数据处理。其可以方便的选择滤波器类型及其设置各种参数。另外,系统还增加两个辅助子程序
17、,以帮助更好的学习。系统前面板设计具有简洁、美观、人性化的特点5。2.3使用 LabVIEW程序设计滤波器的优点LabVIEW软件拥有界面美观,程序易学易懂,形象实用。LabVIEW开发环境具有一系列优点,从流程图式的编程,不需要预先编译就存在语法检测和调试过程使用的数据指针,到其丰富的函数、数值分析、信号处理和设备驱动等功能。使用LabVIEW软件平台开发数字滤波器等虚拟仪器。实现了更高的效率,节省了更多的硬件开销,方便了系统的维护和减轻了仪器更新的负担。使用虚拟仪器逐步代替传统仪器已经成为测试领域发展的趋势。应用LabVIEW进行数字滤波器的设计,效率高,操作简单,并能对误差精度进行实时调
18、整。把传统仪器利用LabVIEW用软件的方法来实现,开发周期短,易于维护和升级,可以设计出传统仪器所不能比拟的虚拟仪器 6。2.4 小结 虚拟仪器技术经过近二十年的发展,正沿着总线与驱动程序的标准化、软件化的模块化,以及编程平台的图形化和硬件模块的即插即用化等方向发展。LabVIEW 在测试测量领域有着卓越的优势,是仪器开发领域的一个新的发展方向,基于虚拟仪器技术的测试系统具有开放性、扩展性强,性价比高的特点。通过与传统测试系统的比较,证明了组成和改变仪器的功能和技术性能方面具有灵活性与经济性;并进一步探讨了建立管理统一的虚拟仪器库和虚拟仪器标准的发展思路和应用前景,对构建其它测量、测试系统有
19、很好的借鉴作用。3 数字滤波器原理3.1 数字滤波器的概念数字滤波器是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的器件。与模拟滤波器相比,数字滤波器的主要优点是7: (1) 精度和稳定性高; (2) 系统函数容易改变,因而灵活性高; (3) 不存在阻抗匹配问题; (4) 便于大规模集成; (5) 可以实现多维滤波。3.2数字滤波器的定义和分类滤波器(filter)是一种用来消除干扰杂讯的器件,其对特定频率的频点或该频点以外的频率进行有效滤除的电路。通常,根据数字滤波器的设计冲击响应长度是否为有限值,将数字滤波器分为有限冲击响应(Finite Impulse Respon
20、se,FIR)滤波器和无限冲击响应(Infinite Impulse Response,IIR)滤波器两种类型,这两种滤波器中都包含高通、低通、带通等子类型8。这两种类型的滤波器无论在性能上还是在设计方法上都有很大的区别。(1)IIR滤波器IIR滤波器设计可以直接利用模拟滤波器设计的成果,如可以通过对模拟低通滤波器进行模拟频率和数字频率的变换而得到对应滤波器特性的数字低通滤波器,当然,两者之间有一定的误差。模拟滤波器设计的经典方法是用“最佳逼近特性”设计方法,响应的有巴特沃斯滤波器、切比雪夫滤波器、贝赛尔滤波器、椭圆滤波器等滤波器类型。在逼近所需的同一个滤波器特性时,这些滤波器具有不同的频率特
21、性,使用者在应用中要学会根据自己的滤波要求选择合适的逼近类型9。IIR数字滤波器的系统函数为: (3-1)(2)FIR滤波器FIR滤波器的系统只有零点,因此这一类系统不与IIR系统那样容易取得比较好的通带与阻带衰减特性。要取得好的衰减特性,一般要求系统的单位抽样响应截取的长度要长。FIR滤波器和IIR滤波器相比,具有一些明显的优点:首先,FIR系统总是稳定的;其次,FIR系统容易实现线性相位;最后,FIR系统允许设计多通带(或多阻带)滤波器。后两项都是IIR系统不易实现的9。FIR数字滤波器的系统函数为: (3-2)3.3 数字滤波器的设计方法数字滤波器的设计步骤大致可以分为三步: (1)依照
22、设计要求,先了解所要设计的滤波器的性能,例如是低通、高通、带通还是带阻,截止频率是多少,阻带的衰减有多大,同带的波动范围是多少等;(2)寻找一个满足预定性能要求的离散线性非时变系统,用一个因果稳定的系统函数去逼近这个性能要求。此系统函数分两类,即FIR系统函数与IIR系统函数;(3)用一个有限精度的的运算去实现这个系统函数。包括算法结构,如级联型、并联型、横截型、频率采样型等,还包括选择合适的字长以及选择有效的数字处理方法等10。3.4 FIR数字滤波器的设计原理一个截止频率为c(rad/s)的理想数字低通滤波器,其传递函数表达式是: (3-3)相应的单位取样响应hd(n)为: Hd(n)=
23、(3-4)由式3-3和3-4可以看出,这个滤波器在物理上是不可实现的,因为冲激响应具有无限性和因果性。为了产生有限长度的冲激响应函数,我们取样响应为h(n),长度为N,其系数函数为H(z): (3-5 )用h(n)表示截取hd(n)后冲激响应, 即:式子中W(n)为窗函数,长度为N。当=(N-1)/2时,截取的一段h(n)对(N-1)/2对称,可保证所设计的滤波器具有线性相位。一般来说,FIR数字滤波器输出y(n)的Z变换形式Y(z)与输入x(n)的Z变换形式之间的关系如下: (3-6)实现结构如图3-1所示。图3-1从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式。对式3-
24、6进行反Z变换,可得: (3-7)式3-7为FIR数字滤波器的时域表示方法,其中x(n)是在时间n的滤波器的输入抽样值。根据式3-7即可对滤波器进行设计10。3.5窗函数法设计思想:从时域出发,设计逼近理想。以低通线性相位FIR数字滤波器为例:一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通
25、带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs)效应。为了消除吉布斯效应,一般采用其他类型的窗函数。利用窗函数设计FIR滤波器的具体步骤如下:(1)按允许的过渡带宽度及阻带衰减AS,选择合适的窗函数,并估计界数N,其中A由窗函数的类型决定;(2)由给定的滤波器的幅频响应参数求出理想的单位脉冲响应 ;(3)确定延时值 ;(4)计算滤波器的单位取样响应;(5)验算技术指标是否满足要求10。3.6 频率采样法频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应jw 4 Hd(e )加以等间隔的抽样 ,得到Hd(k): (3-8)再利用可求得FI
26、R滤波器的系统函数及频率响应: 其中,(w)是一个内插函数: 从以上公式可以看出,在每个采样频率点处,滤波器的实际频率响应是严格地和理想频率响应数值相等,即: (3-9) 而在各采样点间的频率响应则是其的加权内插函数延伸叠加的结果。但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状, 理想频响特性变换越平缓, 则内插函数值越接近理想值,误差越小。为了提高逼近的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的11。 选取0,2内N个采样点的约束条件为: (3-10
27、)3.7等波纹切比雪夫逼近法尽管窗函数法与频率采样法在FIR数字滤波器的设计中有着广泛的应用, 但两者都不是最优化的设计。通常线性相位滤波器在不同的频带内逼近的最大容许误差要求不同。等波纹切比雪夫逼近准则就是通过对通带和阻带使用不同的加权函数,实现在不同频段(通常指的是通带和阻带) 的加权误差最大值相同,从而实现其最大误差在满足性能指标的条件下达到最小值,即使得和之间的最大绝对误差最小。 等波纹切比雪夫逼近是采用加权逼近误差,它可以表示为: (3-11)其中,为逼近误差加权函数,在误差要求高的频段上,可以取较大的加权值,否则,应当取较小的加权值。尽管按照 FIR 数字滤波器单位取样响应 h(n
28、)的对称性和 N的奇、偶性,FIR 数字滤波器可以分为 4 种类型,但滤波器的频率响应可以写成统一的形式: (3-12)其中,为幅度函数,且是一个纯实数,表达式也可以写成统一的形式: (3-13)其中,为的固定函数,为M个余弦函数的线性组合。若令:,因此,由式(9)、(10)将改写成: 故等波纹切比雪夫逼近法设计FIR数字滤波器的步骤是: 给出所需的频率响应加权函数和滤波器的单位取样响应h(n)的长度N。 由中给定的参数来形成所需的、和的表达式。 根据Remez算法,求解逼近问题。 利用傅立叶逆变换计算出单位取样响应h(n) 11。Remez算法是由Parks和McClellan等人在1972
29、年推导出来的。它是将FIR数字滤 ( N ,1,2,p,s)中的N,p,s和1/2固定,而视1(或2)为变量的一种迭代方法。在MATLAB工具箱中可以直接调用remez函数(采用Remez 算法),来进行FIR数字滤波器的设计。其具体算法有几种,常见的一种算法格式为: b= remez (n, f, a, w, ftype)3.8小结本章首先论述了数字滤波器的定义和其特点以及数字滤波器的定义和分类,然后分别介绍了IIR数字滤波器结构和FIR数字滤波器结构,并对两者进行了比较,阐述了选择FIR数字滤波器作为设计重心的原因。4 基于LabVIEW的数字滤波器的设计4.1前言创建虚拟仪器的过程共分三
30、步:(1)设计虚拟仪器的前面板。虚拟仪器的交互式用户接口被称为前面板,它是模仿实际仪器的面板。前面板包含旋钮、按钮,图形和其他控制与显示对象,通过鼠标和键盘为控制对象输入数据,在计算机屏幕上观看结果。(2)编写虚拟仪器流程图。流程图是一个编程问题的图形化解决方案(也是虚拟仪器的源代码)。虚拟仪器从流程图中接受命令。(3)确定虚拟仪器的图标和连接(表示某一虚拟子仪器)的参数列表,图标和连接允许将此仪器作为最高级的程序,也可以作为其他程序或子程序中的程序(子仪器)。这个数字滤波器的设计总框图如图4-1:信号输入/输出显示数字滤波幅频/相频响应显示图4-1数字滤波器设计总框图首先设计双通信号源,用来
31、产生信号,然后设计一个数字滤波器,进行滤波,滤波后的波形通过显示模块显示,模块和幅频、相频响应显示模块则可以更好的了解滤波效果。4.2双通信号源的设计双通信号源的设计,是所有数字信号处理设计的根本,同时,相对于滤波器的设计比较简单,也本着由浅入深的原则,这里首先介绍信号源的设计。由于是滤波器的设计,所以信号源必须是多通道,至少双通道信号源,本次设计就采用双通道信号源。其中通道1可以产生:正弦波,方波,三角波,均匀白噪声以及脉冲函数,通道2则在通道1的基础上增加冲击函数以供使用。下面我们分步设计信号的发生。4.2.1正弦波发生器的设计正弦波的产生主要运用到一个叫Sine Wave.vi的子VI。
32、如图4-2:图4-2 Sine Wave.vi示例图它有8个接线端,分别是相位输入、频率、幅值、采样、相位重置、相位输出、正弦波输出以及错误端口。其中,相位输入、频率、幅值、采样是正弦波的重要参数,是我们需要调节的部分,因此我们都将其引出,然后分别将其赋予固定值,或将其设置为可调节。为了防止信号错误,所以相位重置也要设置一个开关,以便重置正弦波。当然最主要的是正弦波的输出的连接。于是,正弦波的设计如图4-3:图4-3正弦波的设计这样我们就设计了一个可以改变参数的正弦波发生器。4.2.2方波发生器的设计方波运用的是一个叫Square Wave.vi的子VI。如图4-4:图4-4 Square W
33、ave.vi示例图它拥有9个接线端,比正弦波多了一个占空比,同时把正弦波输出也相应的变为方波输出。同样,参照正弦波的设计,我们可以根据设计的需求,通过调节采样数,幅度,频率,相位以及占空比,设计出不同采样数,幅度,频率,相位以及占空比的方波,用来做为下一步设计的输入信号。具体设计如下图4-5所示:图4-5方波的设计我们可以运用这个方波发生器来产生任何设计需要的方波。4.2.3三角波发生器的设计 三角波主要运用Triangle Wave.vi的子VI。如图4-6:图4-6 Triangle Wave.vi示例图它和正弦波一样,拥有8个接线端,分别是相位输入、频率、幅值、采样、相位重置、相位输出、
34、三角波输出以及错误端口。三角波的具体设计如图4-7所示:图4-7三角波的设计 改变相关参数就可以产生设计所需求的三角波。4.2.4均匀白噪声、脉冲函数和冲击函数发生器的设计均匀白噪声、脉冲函数和冲击函数的设计分别运用Uniform White Noise.vi , Pulse Pattern.vi和Impulse Pattern.vi的子VI。如图4-8所示:图4-8 Uniform White Noise.vi,Pulse Pattern.vi和Impulse Pattern.vi示例图下面的系列图分别是均匀白噪声、脉冲函数和冲击函数发生器的设计连线。如图4-9:图4-9均匀白噪声发生的设计
35、均匀白噪声只需要设置采样数以及幅值就可以。如图4-10:图4-10脉冲函数的设计脉冲函数则增加了延时设置和宽度设置。冲击函数只增加了一个延时。如图4-11:图4-11冲击函数的设计这样就把所有的信号发生设计好了。下面需要做的就是把所有的信号发生器设计在一起,形成一个双通道信号源。4.2.5双通信号源的前面板设计首先,根据信号的调节参数,设计出一系列的按钮,这些按钮可以调节产生信号的参数,以便产生的信号是我们所需要的。 不可能每个信号发生器都占用一个前面板设计,否则所设计的信号源会需要11个参数调节面板,这不仅浪费资源,消耗精力,同时也容易出现操作上的失误。所以在设计上运用一个条件循环,来调用所
36、需的信号发生器。这样就不会有如上的问题,不过调节参数依然需要设计多个。如图4-12:图4-12参数调节按钮的前面板设计(1)根据统计,以上6种信号发生器设计到的调节参数共有如下几个:幅度,偏置,相位,延时,宽度,占空比,频率以及信号重置。如图4-13:图4-13参数调节按钮的前面板设计(2)同时,考虑到在特定条件可能只需要一路信号发生器,于是就设计一个分离,合成按钮,这样可以选择使用信号发生器1产生波形或双通道产生的信号叠加,在不同情况下,可能还需改变采样频率或查询某个采样点的数据,程序中设计了两个按钮来更改采样频率和显示波形数据。这样就完成了前面板设计。4.2.6双通道信号源的程序设计完成了
37、前面板设计,下面所需要的工作就是将图标用连线连接起来,以实现预期功能,最主要的设计是采用了一个条件循环,通过这个循环,可以调用不同的信号发生器来产生我们所需的波形。如图4-14:图4-14条件循环示图通过条件循环,可以将信号发生器组合到一起,然后通过加法器,产生偏置,通过加法器将双通道的信号合成。其中运用到一个选择器,来选择最后输出的是信号发生器1产生的波形信号,还是双通道产生的合成信号。如图4-15:图4-15双通道信号源的设计这样,就圆满完成了双通道信号源的设计,这为以后的数字滤波模块设计打下了基础。4.3数字滤波器的设计在设计完双通道信号源后,便开始设计了本设计最为重要的部分,通过使用L
38、abVIEW的滤波器子VI,设计出数字滤波器。本设计中,采用了巴特沃斯滤波器、切比雪夫滤波器以及拥有矩形窗、三角窗、汉宁窗、汉明窗和布拉克曼窗的窗函数滤波器。同时每个滤波器都有低通,高通,带通和带阻的滤波方式。4.3.1巴特沃斯滤波器的设计巴特沃斯滤波器是滤波器的一种。巴特沃斯滤波器的特点是带通的频率响应曲线最平滑。这种滤波器最先由英国工程师斯蒂芬巴特沃斯(Stephen Butterworth)在1930年发表在英国无线电工程期刊的一篇论文中提出的。巴特沃斯滤波器的特点是带通内的频率响应曲线最大限度平坦,没有起伏,而在带阻内则逐渐下降为零。在振幅的对数对角频率的波得图上,从某一边界角频率开始
39、,振幅随着角频率的增加而逐步减少,趋向负无穷大。 巴特沃斯滤波器主要采用LabVIEW中的Butterworth Filter.vi的子VI。如图4-16:图4-16 Butterworth Filter.vi示例图它拥有9个接线端,分别是低通截止频率fl、高通截止频率fh、采样频率、输入、滤波后输出、滤波器类型选择端、错误端口、阶数以及初始化/连续端口。其中我们主要使用前七个接线端,就可以组成一个可调节的巴特沃斯滤波器。如图4-17所示:图4-17巴特沃斯滤波器的设计4.3.2切比雪夫滤波器的设计切比雪夫滤波器也是个非常典型的滤波器,它是在带通或带阻上频率响应幅度等波纹波动的滤波器。在带通波
40、动的为“I型切比雪夫滤波器”,在带阻波动的为“II型切比雪夫滤波器”。切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在带通内存在幅度波动。这种滤波器来自切比雪夫多项式,因此得名,用以记念俄罗斯数学家巴夫尼提列波维其切比雪夫。在本设计中,切比雪夫滤波器主要采用LabVIEW里的Chebyshev Filter.vi。如图4-18:图4-18 Chebyshev Filter.vi示例图Chebyshev Filter有10个接线口,分别是:低通截止频率fl、高通截止频率fh、采样频率、输入、滤波后输出
41、、滤波器类型选择端、错误端口、阶数、初始化/连续端口以及波纹。所以在设计切比雪夫滤波器的时候要比特沃斯滤波器多接出一个波纹按钮。如图4-19:图4-19切比雪夫滤波器的设计4.3.3窗函数滤波器的设计窗函数滤波器包括矩形窗、三角窗、汉宁窗、汉明窗和布拉克曼窗,窗函数不同,窗口宽度不同,实际频响会有较大区别。如:加汉明窗的频响曲线的带通和带阻特性比矩性窗好。要产生以上5种方式滤波器,就要运用到LabVIEW里的Force Window.vi, Triangle Window.vi, Hanning Window.vi, Hamming Windows.vi和Blackman Window.vi。
42、如图4-20:图4-20窗函数滤波器的子VI示例图输入信号通过各种窗口进行滤波,然后通过输出端口,传输到显示模块和幅频、相频响应模块。窗函数滤波器的设计也要调用条件循环,以减少资源调用,降低工作量等目的。4.3.4数字滤波器的前面板设计数字滤波器的最主要显示手段就是一个时域信号显示窗口。这个窗口可以看出滤波器的滤波效果,同时制作了一个开关来选择显示输入波形还是显示输出波形。同时为了能调节显示的时间轴,还设计了一个时标旋钮。如图4-21:图4-21时域信号显示窗口的前面板设计调节数字滤波器的类型就要用到如图4-22设计的按钮:图4-22滤波方式调整按钮的设计通过它可以选择要使用的滤波模型和滤波方
43、式。 而调节数字滤波器的参数,比如高端截止频率fh、低端截止频率fl、阶数和波纹系数就需要用到如图4-23按钮:图4-23滤波参数调节按钮的设计同时程序还附加设计了一个幅频响应和相频响应显示窗口,查看幅频响应和相频响应,以检验滤波效果。如图4-24:图4-24幅频响应、相频响应显示窗口的前面板设计4.3.5数字滤波器的程序设计作为重要的数字滤波模块,依然需要条件循环来选取滤波器,并通过调节设计的参数按钮来达到调节滤波方式的目的。如图4-25:图4-25数字滤波器的程序设计而输入、输出显示模块也通过条件循环和控制按钮来选择显示波形是输入信号还是输出信号,值得一提的是这里用到一个捆绑,它可以将3个
44、变量捆绑成1个簇向显示模块输入。如图4-26:图4-26输出显示模块设计图4-27幅频响应、相频响应的设计幅频、相频响应则主要通过Transfer Function.vi来进行转换,同样使用一个捆绑来变量形成一个簇,从而实现幅频、相频响应的显示。4.4程序测试为了验证程序设计的正确性和严谨性,我选取了滤波器中最典型的巴特沃斯滤波器作为检测对象,同时选用低通滤波进行测试。输入信号,采用双通道信号源。分别为:1:幅值为5,频率为500的正弦信号;2:幅值为5,占空比为80%,频率为2500的方波信号。输入通道1的参数设置:图4-28输入通道1的参数设置输入通道2的参数设置:图4-29输入通道2的参
45、数设置输入时域信号的波形见下图:图4-30输入信号波形选用的滤波器种类和类型:图4-31滤波器的选择滤波参数设置:图4-32滤波参数设置输出时域信号的波形:图4-33输出信号的波形幅频响应:图4-34幅频响应相频响应:图4-35相频响应巴特沃斯滤波器的低通滤波整体图形:图4-36巴特沃斯滤波器低通滤波的效果图滤波显示如图4-36,通过图4-30和图4-33可以看出噪声信号在通过低通滤波器后被滤除,频谱发生变化,幅值随着频率的增大而减小。4-35图中可观察到相位是线性的,即该滤波器是一线性相位滤波器。4.5小结与心得体会本章介绍了我所设计的数字滤波器的各功能模块,并将设计思想和设计方法都相应的进
46、行了介绍,同时对设计出的数字滤波器进行了验证,证明设计是成功的。在这一章中,重点介绍了以下两个模块:(1)信号发生模块;(2)数字滤波模块。同时,数字滤波模块还分为滤波模块,波形显示模块和幅频、相频响应显示模块进行介绍。本设计的主要成果总结具体如下:(1)经过长时间摸索得出的一整套LabVIEW的使用的方法与技巧。其中包括:熟悉了LabVIEW的程序开发方法,并可以运用LabVIEW开发简单的程序设计。同时在设计过程中,记录了设计日志,列举了遇到的问题及其解决方法,为今后的继续开发提供了重要参考资料。(2)开发出的可演示的数字滤波器程序。包括信号发生器和数字滤波器模块,并可以调节发生的信号参数和滤波参数,实际运行效果不错,有一定的实用价值。(3)通过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了