四数字滤波器在LABVIEW上的实现.docx
《四数字滤波器在LABVIEW上的实现.docx》由会员分享,可在线阅读,更多相关《四数字滤波器在LABVIEW上的实现.docx(14页珍藏版)》请在冰豆网上搜索。
四数字滤波器在LABVIEW上的实现
课程设计报告
基于LABVIEW滤波器的设计
学院医药信息工程学院
专业生物医学工程
年级生物医学工程05
学生姓名梁纪雁
学号**********
指导教师李洪波
2008年7月10日
一课程设计目的
1在掌握LabView软件的基础上,通过查阅资料,能够独立进行虚拟仪器的设计。
2通过本次设计,加深对FIR数字滤波器的认识,并对滤波器的滤波特性有一个更加全面的了解。
二课程设计要求
1课程设计题目:
基于LABVIEW滤波器的设计
2课程设计要求
(1)前面板要求
a仪器操作均在前面板进行。
b仪器操作方便,人性化设计。
c前面板美观大方。
(2)后面板要求
a设计思路简洁。
b功能完善,达到设计要求。
c布线合理,便于查看。
三课程设计要求
1设计方向
虚拟仪器代表着目前测试仪器领域的发展方向,LabVIEW是一种功能强大的虚拟仪器开发平台。
数字滤波技术是数字信号处理的一个重要组成部分,滤波器的设计是信号处理的核心问题之一。
在LabVIEW环境下可以随时对比设计要求调整参数,有利于数字滤波器设计的最优化,有效地克服了传统设计方式中存在的滤波器系数不易调整、与硬件接口程序复杂、开发周期长等问题。
LabVIEW为设计数字滤波器提供了一个可靠而有效的途径[1]。
本文阐明了运用LabVIEW图形化编程语言开发虚拟数字滤波器的方法,对数字滤波器原理的分析。
提出了利用虚拟仪器软件平台构建数字滤波器的设计思想,并在此基础上开发出了一套数字滤波器实例系统。
2数字滤波器功介绍
滤波器从广义上来说是指一种信号处理系统,这种系统保留输入信号中的有用信息,滤除不需要的信息,从而达到信号的检测、提取、识别等不同的目的.数字滤波是数字信号处理基本内容之一,其本质就是对离散的数字量进行适当的运算处理,从频率域实现信号分离功能[3]。
由于模拟滤波器设计需要较高深的数学知识和对系统与滤波器之间的关系有较深入的了解,通常需要专家来完成而。
数字滤波器是在现代数字采样和信号处理技术基础上发展起来的,已经可以取代模拟滤波器.数字滤波器可以用软件编程,稳定性高,不会因温度、湿度的影响产生误差,不需要精度组件,性价比高[3]。
另外模拟滤波器的响应时间和截止频率的设定有关,截止频率低,响应慢,截止频率高,响应快,另外、模拟低通涟波器的频率特性还和元件参数的精确度、环境温度.元件的老化等因素有关。
而数字滤波器不受外界环境的影响,可靠性商,只要选择合适的算法就可以达到滤波的目的[5]。
所以在实际的应用中,常利用能够满足精度要求的模拟低通滤波器原型,通过适当的数学变换,就可以得到等效的数字论波器。
3虚拟器软件的介绍
所谓虚拟仪器就是借助于计算机的软硬件平台,配以特殊设计的硬件和专用软件,形成既具有普通仪器的基本功能,又有自己特殊功能的新型仪器。
用户可以通过鼠标或键盘操作虚拟仪器面板上的输入控件、设置各种工作参数、启动或停止设备,测量的结果可以直观地在面板上显示,测量数据可以方便地存储与进一步处理。
虚拟仪器的应用提出了“软件即仪器”的概念,“软件+采集卡=仪器”就是虚拟仪器的模型。
它的最大特点就是把由仪器生产厂家定义仪器功能的方式转变为由用户自己定义仪器功能,满足多种多样的应用需求。
它可以部分实现甚至全部实现物理仪器功能。
与传统仪器相比具有许多优点:
对测试量的处理和计算可更复杂且处理速度更快,测试结果的表达方式更加丰富多样,可以方便地存储和交换测试数据,价格低,技术更新快。
LabVIEW是目前应用最广、发展最快、功能最强的虚拟仪器开发环境,LabVIEW开发的程序由两部分组成:
前面板和程序框图。
LabVIEW编写的程序称为VI(虚拟仪器),LabVIEW中提供了许多子VI供编程者直接调用,特别是信号处理部分,有许多功能强大的子VI,如常用的窗函数、快速傅里叶变换、功率谱、频率谱、小波变换等。
利用LabVIEW模块化和层次递归的编程方法,可以在很短的时间里设计、构建和修改自己的虚拟仪器系统[2]。
四数字滤波器在LABVIEW上的实现
1LabVIEW的数字滤波器工具
LabVIEW开发环境提供了大量的数字滤波VI和数字滤波器开发工具。
在其SignalProcessing模板中包含了SignalGeneration(信号产生)和Filters(滤波器)等子模板,其中SignalGeneration子模板中存放了可以生成正弦波形、脉冲滤形、随机噪声波形等各种仿真信号的功能模块,用它们作为输入信号时可与由数据采集卡(DAQ)对实际信号取样获得的离散时间序列等效。
Filters子模板则提供了十几种滤波器的“图标”其中用于设计IIR滤波器的有ButterworthFilter.vi、ChebyshevFilter.vi、BasselFil-ter.vi等,用于设计FIR滤波器的有FIRWindowFilter.vi、Equi-RippleLowPass.vi、Equi-RippleHighPass.vi、Equi-RippleLowPass.vi、Equi-RippleBandPass.vi等。
通过设置图标的采样频率、滤波器阶数、低端截止频率、高端截止频率及滤波类型等参数可以产生相应的数字滤波器。
用冲激函数ImpulsePattern.vi作为激励信号,通过在面板上切换滤波器的类型和阶数,可以观测到各种类型的低通、高通、带通和带阻滤波器的幅频特性和相频特性。
2LABVIEW中滤波器参数的设计
在LabVIEW中设计虚拟数字滤波器,关键问题是要知道滤波器图标的调用路径和合理设置滤波器的有关参数。
比如,要设计一个虚拟数字式巴特沃斯滤波器,其设计过程是在Functions选项板下依次选择AnalyzeSignalProcessingFilters子选项板,最后在Filters子选项板中选择ButterworthFilter.vi图标,见图4-1。
选中后在流程图中便出现巴特沃斯滤波器(ButterworthFilter.vi)图标,如图4-2。
然后,设置But-terworthFilter.vi的相关参数,图标的左侧为输入端口参数右侧为输出端口参数。
图4-1
图4-2
五数字滤波器的设计,调试及功能演示
1滤波流程图及设计
图5-1
2FIR和IIR各自的优缺点
根据数字滤波器冲激响应函数的时域特性,可将数字滤波器分为两种,即无限长冲激响应llR滤波器和有限长冲激响应FIR滤波器。
无限长单位冲激响应(IIR)数字滤波器的优点是可以利用模拟滤波器设计的结果,而模拟滤波器的设计有大量图表可查,方便简单。
它的缺点是相位的非线性;若需要线性相位,则要采用全通网络进行相位校正。
图像处理以及数据采集传输都要求滤波器具有线性相位特性。
而有限长单位冲激响应(FIR)数字滤波器可以实现线性相位,又可具有任意幅度特性。
两者都各有特点FIR滤波器系统总是稳定的、易于实现线性相位、允许设计多通带或多阻带滤波器,IIR滤波器则可以用较低的阶数获得较高的选择性,在相同门级规模和相同时钟速度下可以提供更好的带外衰减特性。
(1)FIR滤波器的冲激响应是有限长序列,其系统函数为一个多项式,它所含的极点多为原点,所以FIR滤波器永远是稳定的。
有限长单位冲击响应(FIR)数字滤波器可以具有严格的线性相位特性,同时又可以具有任意的幅度特性;此外,FIR滤波器的单位抽样响应是有限长的,因而具有稳定性;最后,FIR滤波器由于单位冲击响应是有限长的,可以用快速傅里叶变换FFT实现信号的过滤。
FIR滤波器的横截型结构如图5-2所示。
图5-2
(2)IIR滤波器是单位冲激响应是无限长序列;可以用较少的阶数获得很高的选择特性,所用的存储单元少,运算次数少,具有经济、高效的特点,但选择性越好,相位的非线性越严重。
因此,在相位要求不敏感的场合,如语音通信等,选用IIR滤波器。
巴特沃斯滤波器就是IIR滤波器中的一种典型的滤波器,是一种所谓最平通带特性逼近理想特性的滤波器,其频率特性曲线无论在通带和阻带都是频率的单调函数;巴特沃斯滤波器过渡带比较宽,但是通带非常平直。
其最大特点是响应平滑,单调衰减。
(3)为了体现这两种滤波器不同的滤波效果,所以本次滤波器设计包涵了两个滤波器,分别是FIR加窗滤波器跟巴特沃斯滤波器。
这两种滤波器被一起放于一个条件结构中,在滤波器运行中,在前面板可以选项卡的两个选择切换到不同的滤波器,然后通过波形图就可以很直接的观察到两种滤波器不同的滤波效果。
图5-3
图5-4
3前面板的设计
前面板用于设置输入数值和观察输出量,用于模拟真实滤波器的前面板。
虚拟数字滤波器的前面板按照系统要实现的功能有6个数字控件,用来引导用户完成各种参数的设置,如信号频率、采样频率,采样点数、低截止和商截止频率等,还设计了4个TextRing控件,如信号波形、窗函数类型、滤波逼近准则等选择。
由于虚拟面板直接面向用户,是虚拟滤波器控制软件的核心。
在设计这部分时,主要考虑界面美观、操作简洁,用户能通过面板上的各种按钮、开关等控键来控制虚拟滤波器的工作[5]。
本次设计的数字滤波器前面板可以分为四个部分,一是原始信号的读取及仿真信的的叠加还有测量文件的保存,二是信号及功率谱的波形图,三是关于滤波器各种参数的设置及显示,这部分对于滤波器信号的滤波效果是直接影响的,各种参数设置是否合理直接关系到信号滤波的效果,如果不慎,往往会造成效果不明显或错误。
如下图,就是因为滤波器的参数设置不合理,倒致滤波器无法对信号进行滤处理。
:
图5-5
4程序框图的设计
程序框图即为数字滤波器的编程语言,是与前面板相对应的图形程序,程序框图与前面板有着本质的区别,前者是直接面对于滤波器的,滤波器信号的采集,叠加,滤波器类型的选择,设置功率谱分板等都是通过用图形编程语言G语言编写的;而前面板是直接面对用户的,其主旨是在于界面的美化,方便,提供友好的人机交换界面[5]。
框图程序是由节点、端点、图框和连线四种元素构成的。
节点类似于文本语言程序的语句、函数或者子程序。
框图中的每一个对象端点与前面板上的对象(控制或显示)一一对应。
不同的线型代表不同的数据类型,在彩显上,每种数据类型还以不同的颜色予以强调。
下面的两张图就是本次设计的数字滤波器的后面板即程序代码框图。
图5-6
图5-7
5滤波器各种参数的调试
filtertype:
滤波器类型,按下列值指定[4]
0:
Lowpass低通
1:
Highpass高通
2:
Bandpass带通
3:
Bandstop带阻
X:
需要滤波的信号序列(欲处理数据)
Samplingfrep:
fs产生X序列时的采样频率。
必须大于0,缺省值时1。
如果它小于等于0,则输出序列filreredX为空,并返回一个错误.采样频率的设
置应根据采样定理。
Highcutofffreg:
fh高端截止频率。
当滤波器类型为0(lowpass)或1(highpass)时忽略该参数。
Lowcutofffreg:
fl:
低端截止频率。
它必须满足Nyquist准则,根据采样定理,最低采样频率必须是信号频率的两倍,反过来说,如果给定了采样频率,那么能够正确显示信号而不发生畸变的最大频率叫做奈奎斯特频率,它是采样频率的一半,所以0≤fl<0.5fs如果该条件不满足,则输出序列FileredX为空,并返回一个错误,fl的缺省值是0.125。
Order:
滤波器的阶次,其值必须为大于0的整数,缺省值是2。
Init/cont:
内部状态的初始化控制。
当其为FALSE(default),初态为0;当其为TRUE,滤波器初态。
为上一次调用该VI的最后状态。
为了对一个大数据量的序列进行滤波,可以将其分割为较小的块。
设置这个状态为FALSE处理第一块数据,然后改设置为TRUE继续对其余的数据块滤波。
FilteredX:
滤波后的数据(滤波样本的输出数组)。
(1)FIR加窗滤波器
在对脉搏信号进行滤波的时候,平滑窗对滤波器的基本一样,但选择不同的滤波器的通带对信号的滤波就影响很大,下面是几种不同的参数设置,其中在Lowpass通带的滤波效果最好。
(2)巴特沃斯滤波器
在选用巴特沃斯滤波器时,不同的通带数据设置如下:
类型
阶数
采样频率fs
高截止频率fh
低截止频率fl
Lowpass
2
1.07
2.14
0.125
Highpass
5
3.37
1.47
0.37
Bandpass
14
5.51
0.43
0.22
Basnpass
5
3.37
1.31
0.37
表5-1
6结果分析
(1)信号波形分析
下图是脉搏信号滤波前跟滤波后的波形图对比,很明显,滤波前,波形很不稳定,有很多干扰,不能很好的对脉搏信号进行生理的分析。
经过滤波器的滤波后,波形变得稳定了,变得非常的平滑,这是因为在原始信号经过滤波器时,把因各种干扰的噪声信号过滤掉了。
图6-1
(2)功率谱分析
频谱分析就是将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,然后再观察其变化规律,以便进行研究。
因为经过滤滤器对信号进行滤进,信号中的高频都不能通过,所以,滤波后的信号功率谱比较平滑。
如下图
图6-2
六结束语
虚拟仪器技术是计算机技术和传统的仪器仪表技术相结合的产物,是全新概念的最新一代测量仪器。
基于LabVIEW设计的虚拟仪器具有高效、灵活、界面友好、集成性强、使用方面、设备费用低、用户自定义功能等诸多优点,并随计算机技术的发展而迅速发展。
滤波器可以通过编程实现各种不同系统,满足不同的需要,又可以随时改动系数,调整滤波器参数,选择最佳方案。
使用LabVIEW软件平台开发电气参数测量仪等虚拟仪器。
实现了更高的效率,节省了更多的硬件开销,方便了系统的维护和减轻了仪器更新的负担。
使用虚拟仪器逐步代替传统仪器已经成为测试领域发展的趋势。
但是在实际应用中,仍要根据具体情况进行程序的优化和软硬件的结合,使虚拟仪器发挥更高的性能。
七参考文献
[1]张爱平Labview入门与虚拟仪器北京:
电子工业出版社,2004-5.
[2]杨乐平,李海涛,肖相生.LabVIEW程序设计与应用[M].北京:
电子工业出版社,2001.
[3]雷振山·LabVIEW7Express实用技术教程[M].北京:
中国铁道出版社,2004
[4]李刚,林凌·LabVIEW-易学易用的计算机图形化编程语言[M]·北京:
北京航空航天大学出版社,2001.
[5]周伟林,杨华勇,李清峰.基于LabVIEW的数字滤波器的设计[J]微计算机信息,2006,5-1:
163-164.