基于LabVIEW的虚拟滤波器设计.docx
- 文档编号:28721903
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:21
- 大小:670.08KB
基于LabVIEW的虚拟滤波器设计.docx
《基于LabVIEW的虚拟滤波器设计.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的虚拟滤波器设计.docx(21页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的虚拟滤波器设计
摘 要
随着电子技术和计算机技术的快速发展以及价格不断下降,传统的电子技术设计观念,使原来需硬件完成的功能,现在能由软件实现。
例如仪器面板和数字滤波等,实现硬件软件化。
而不少硬件难以实现的功能,例如复杂的信号分析,数据统计和三维图像显示等,在计算机中则较容易实现。
在市场的需求和相关技术支持下,促使了基于个人计算机的测控仪器——虚拟仪器的发展。
虚拟仪器利用计算机强大的处理能力,使得它成为了一种很好的工具,其应用范围也越来越广泛。
与传统仪器相比,虚拟仪器在智能化程度、处理能力和可操作性等方面均具有明显的技术优势。
本文设计的虚拟数字滤波器的系统工作原理是,对模拟信号进行数据采集后,根据使用者的不同要求由软件对数据进行相应的分析、处理,并在屏幕上显示处理结果。
本设计所采用的软件是美国NI公司推出的LabView。
LabVIEW是一种基于图形化编程语言的开发环境,具有十分强大的数据库。
它为虚拟仪器设计者提供了一个便捷、轻松的设计环境。
是目前应用最广泛的虚拟仪器开发平台软件之一。
关键词:
滤波器;虚拟仪器;数据采集;LabVIEW
Abstract
Alongwiththeelectronictechnologyandtherapiddevelopmentofcomputertechnologyandthepricedropsceaselessly,traditionalelectronictechnologydesignidea,sothattheoriginalhardwarecompletefunction,cannowberealizedbysoftware.Forexample,instrumentpanelanddigitalfiltering,implementationofhardwareandsoftware.Whilemanyhardwaretorealizethefunctions,suchasthecomplexsignalanalysis,datastatisticsandthree-dimensionalimagedisplay,onacomputerisrealizedeasily.Inthemarketdemandandtechnicalsupport,promptingaPCbasedmeasurementandcontrolinstruments--virtualinstrumentdevelopment.Virtualinstrumentcomputerusepowerfulprocessingability,makeitbecomeagoodtool,itisusedmoreandmorewidely.Comparedwiththetraditionalinstrument,virtualinstrumentinintelligence,processingcapabilityandmaneuverabilityandsoonhastheobvioustechnicalsuperiority.
Inthispaper,thedesignofthevirtualdigitalfiltersystemworkingprincipleiscarriedoutontheanalogsignal,dataacquisition,accordingtothedifferentrequirementsofusersbysoftwarefordatacorrespondingtotheanalysis,processing,andthescreendisplaystheprocessingresult.
ThedesignofthesoftwareisintroducedbyAmericanNICorporationLabView.LabVIEWisagraphicalprogramminglanguagebaseddevelopmentenvironment,haveverypowerfuldatabase.Itisavirtualinstrumentdesignerprovidesaconvenient,easydesignenvironment.Iscurrentlythemostwidelyusedsoftwareofvirtualinstrumentdevelopmentplatform.
Keywords:
Wavefilter,Virtualinstrument,Dataacquisition,Labview
第一章虚拟仪器
1.1引言
虚拟仪器是现代计算机技术和仪器技术深层次结合的产物,是当今计算机辅助测试(CAT)领域的一项重要技术。
虚拟仪器是计算机硬件资源、仪器与测控系统硬件资源和虚拟仪器软件资源三者的有效结合。
测量仪器发展至今,大体经历了四代发展历程,即模拟仪器、分立元件式仪器、数字化仪器和智能仪器。
由于现代计算机技术和信息技术的迅猛发展,犹如滚滚长江东流水,冲击着国民经济的各个领域,也引起了测量仪器和测试技术的巨大变革。
人们曾为测量仪器从模拟化、数字化到智能化的进步而欣喜,也为自动测试技术的日新月异的发展所鼓舞,当今虚拟仪器技术的出现又使得测量仪器进步入了高科技的殿堂。
近年来,以计算机为中心、以网络为核心的网络化测控技术与网络化测控系统得到越来越多的应用,尤其是在航空航天等国防科技领域。
网络化的测控系统大体上由两部分组成:
测控终端与传输介质,随着个人计算机的高速发展,测控终端的位置越来越多的被个人计算机所占据,其中,软件系统是计算机系统的核心,甚至是整个测控系统的灵魂,应用于测控领域的软件系统称为监控软件。
传输介质组成的通信网络主要完成数据的通信与采集,这种数据采集系统是整个测控系统的主体,是完成测控任务的主力。
因此,这种“监控软件-数据采集系统”构架的测控系统结构在很多领域都得到了广泛的应用,并形成了一套完整的理论。
与传统的仪器不同,虚拟仪器(VirtualInstrument)是基于计算机和标准总线技术的模块化系统,通常它是由控制模块、仪器模块和软件组成,在虚拟仪器中软件是至关重要的,仪器的功能都要通过它来实现,因此软件是虚拟仪器的核心,“软件就是仪器”,从本质上反映了虚拟仪器的特征。
虚拟仪器应用程序的开发环境主要有两种。
一种是基于传统的文本语言的软件开发环境,常用的有LabWindows/CVI、VisualBasic、VC++等。
另一种是基于图形化语言的软件开发环境,常用的有LabView和HpVee。
其中图形化软件开发系统是用工程人员所熟悉的术语和图形化符号代替常规的文本语言编程,界面友好,操作简便,可大大缩短系统开发周期,深受专业人员的青睐。
1.2虚拟仪器的概念
虚拟仪器的概念是由美国国家仪器公司(NationalInstruments)最先提出的。
所谓虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等;可集成于自动控制、工业控制系统之中;可自由构建成专有仪器系统。
虚拟仪器是智能仪器之后的新一代测量仪器。
虚拟仪器是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略的说,这种结合有两种方式。
一种方式是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器的功能也越来越强大。
另一种方式是将仪器装入计算机,以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
一种典型的虚拟仪器结构如图1-1所示
图1-1典型的虚拟仪器结构
与传统仪器相比,虚拟仪器在智能化程序、处理能力、性能价格比、可操作性等方面都具有明显的技术优势,具体表现为:
(1)智能化程度高,处理能力强。
虚拟仪器的处理能力和智能化程序主要取决去仪器软件水平。
用户完全可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。
(2)复用性强,系统费用低。
应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能的测试分析仪器,如同一个高速数字采样器,可设计出数字示波器、逻辑分析仪、计数器等多种仪器。
这样形成的测试仪器系统功能更灵活、系统费用更低。
通过与计算机网络连接,还可实现虚拟仪器的分布式共享,更好地发挥仪器的使用价值。
(3)可操作性强。
虚拟仪器面板可由用户定义,针对不同应用可以设计不同的操作显示界面。
使用计算机的多媒体处理能力可以使仪器操作变得更加直观、简便、易于理解,测量结果可以直接进入数据库系统或通过网络发送。
测量完后还可以打印,显示所需的报表或曲线,这些都使得仪器的可操作性大大提高。
1.3虚拟仪器的工作原理
虚拟仪器以透明的方式把计算与传统仪器一样。
虚拟仪器同样划分为数据采集与控制、数据分析与处理、结果表达三大功机资源和仪器硬件的测试能力结合起来,实现了仪器功能的运作。
虚拟仪器的功能模块如图1-2所示。
虚拟仪器用各种图标或控件来虚拟传统仪器面板上的各种器件。
由各种开关图标实现仪器电源的通断;由各种按钮图标来设置被测信号的“放大倍数”、“通道”等参数;由各种显示控件以数值或波形的方式显示测量或分析结果;由计算机的鼠标和键盘操作来模拟传统仪器面板上的实际操作;以对图形化软件流程图的编程来实现各种信号测量和数据分析功能。
图1-2虚拟仪器的功能模块
1.4虚拟仪器的设计与实现步骤
1.4.1前面板的设计
前面板用于设置输入数值和观察输出量,用于模拟真实滤波器的前面板。
由于虚拟面板直接面向用户,是虚拟滤波器控制软件的核心。
在设计这部分时,主要考虑界面美观、操作简洁,用户能通过面板上的各种按钮、开关等控键来控制虚拟滤波器的工作。
实际中的待测信号可以由数据采集卡实时采集滤波,也可以由数据采集卡采集后保存为LabVIEW所能够识别的文件形式,之后再由LabVIEW进行分析滤波。
在这里用基本的信号(正弦波,余弦波,方波,锯齿波)来模拟原始信号。
程序采用窗函数法的计算流程,将窗函数与需要滤波的信号进行卷积实现信号的滤波。
使用者可对原始信号,噪声信号和滤波器参数进行设置。
原始信号的波形图,滤波的结果都可得到实时显示。
这样,在程序成功的运行后就可以从显示区得到结果,使结果更为直观的反映出来。
1.4.2流程图的设计
框图程序是由节点、端点、图框和连线四种元素构成的。
节点类似于文本语言程序的语句、函数或者子程序。
框图中的每一个对象端点与前面板上的对象(控制或显示)一一对应。
不同的线型代表不同的数据类型,在彩显上,每种数据类型还以不同的颜色予以强调。
第二章滤波器
2.1滤波器的简单介绍
在无线电通信、非电量及微弱信号检测、电视接收机、自动控制等电路中,所能接收到的信号通常都是很微弱的,且其中还湿杂有无用或有害的信号,这对电路的正常工作将会造成影响。
为了消除这种影响,就需要用滤波器,便有用信号频率能比较顺利地通过,而将无用及有害的信号滤掉,或让它们受到较大的衰减。
用电感器和电容器所组成的滤波器属无源滤波器,具有成本低、电路简单的特点。
按工作频率的范围,可分为低通滤波器、高通滤波器及带通滤波器。
低通滤波器只有低频信号能通过而高频信号不能通过;高通滤波器只有高频信号能通过而低频信号不能通过;带通滤波器只有某一个通频带范围内的信号能通过,而在此之外的其他频率的信号不能通过。
滤波器可广义地理解为一个信号选择系统。
它让某些信号成分通过又阻止或衰减另一些成分。
在更多地情况下,被窄义地理解为选频系统,如低通、高通、带通、带阻。
频域与时域均衡器也是一种滤波器,通信系统的传输媒介如明线、电缆等从特性看也是滤波器。
滤波器如系统一样可分为三类:
模拟滤波器、采样滤波器和数字滤波器.模拟滤波器(AF)可以是由RLC构成的无源滤波器,也可以是加上运放的有源滤波器,它们是连续时间系统。
采样滤波器(SF)由电阻、电容、电荷转移器件、运放等组成,属于离散时间系统,其幅度是连续的。
开关电容滤波器、电荷耦合滤波器军属这类滤波器。
数字滤波器(DF)由加法器、乘法器、存储延迟单元、时钟脉冲滤波器及逻辑单元等数字电路构成。
它精度高,稳定性好,不存在阻抗匹配问题,可以时分复用,能够完成一些模拟滤波器完成不了的滤波任务。
其缺点是需要抽样、量化、编码,以及手时钟频率所限,所能处理的信号最高频率还不够高。
另外,由于有限字长效应会造成域设计值的频率偏差、量化和运算噪声及极限环振荡。
2.2数字滤波器的分类
2.2.1按冲激响应h(n)的长度分类
分为有限冲激响应(FIR)DF和无限冲激响应(IIR)DF两种。
冲激响应本来是用于模拟系统,指系统对冲激函数
的响应。
发展到数字滤波器后,工程上仍沿用这个名称,与单位抽样响应和单位脉冲响应的说法通用。
2.2.2按有无递归结构分类
分为递归型和非递归型。
递归表现为实现过程中出现反馈回路。
即将某些输出量反馈到原输入点与原输入量相加。
一般来说,IIRDF的H(z)有分母,须用递归型结构实现;FIRDF的H(z)无分母,用非递归型结构实现。
但是FIRDF也可以用递归型结构实现。
尽管IIR、FFR与递归非递归有着密切的关系,但它们毕竟是从不同的角度看问题,在概念上不能混为一谈。
2.2.3按频域特点分
分为低通滤波器(LPDF)、高通滤波器(HPDF)、带通滤波器(BPDF)和带阻滤波器(BSDF)四种。
四、按同时处理的变量的个数分
分为一维和多维滤波器。
一维滤波器的输入、输出、冲激响应和频响分别是x(n)、y(n)、h(n)、和H(ejω),二维滤波器分别是x(n,m)、y(n,m)、h(n,m)和H(ejω1,ejω2),三维和三维以上类推。
一位滤波器最常用。
二维滤波器主要用于图象处理,其用途日益广泛。
分类的方法还有很多,比如线性滤波器和非线性滤波器、时变DF和非时变DF、纯振幅DF和纯相位DF、线性相位DF和非线性相位DF等等。
2.3数字滤波器的一般分析、设计方法
对数字滤波器的分析,主要是考察它再频域和时域两个方面体现的一些特性。
频域:
幅频特性,相位特性,群延迟特性。
舍入噪声(平均噪声功率、噪声譜)。
时域:
(1)冲激响应,阶跃响应,对任意输入的时间响应。
(2)极限环。
为了描述和分析这些特性,需要有描述系统的方法,主要有:
节点方程式,混合方程式,状态方程式,传输函数。
从包含的输入输出关系信息看,
(1)
(2)逐渐增多,如能得到
(2)的传递函数,则可以推出频域时域输入输出关系特性。
从包含的系统结构信息量看,
(2)
(1)逐渐增多,只要知道节点方程式,就可画出系统结构,反之亦然。
这集中描述方法式可以相互转化的,比如从状态方程可以推出传递函数。
从节点方程可以推出状态方程等等。
我们的兴趣主要是在输入输出关系上,所以只讨论传递函数。
传递函数H(z)以知后,则可以确定系统的频响为
其中和分别是幅频特性和相位特性。
对于无失真的传输系统,幅频特性为常数,信号通过线性系统后个频率分量的相对大小保持不变,没有失相位失真。
相位特性为线性,是对应时域方程的时延量为常数
公式2.1
即系统对个频率分量的延迟时间相同,这就保证各频率分量的相对位置不变,没有相位失真。
数字通信对相位的要求比模拟通信要高的多,线性相位时很重要的。
数字系统描述对各频率分量的相位延迟的函数于模拟系统一样,有两个:
群时延:
相时延:
群时延特性能反映相频曲线的线性程度,相时延特性能反映各频率分量在时延的相对延时。
因无相位失真的传输条件具有恒群时延和恒相时延,即
群时延=相时延=常数
上面我们讨论的时分析数字滤波器的一般方法,下面来看一个有关数字滤波器的设计问题。
设计一个数字滤波器必须经过下来步骤:
确定是用IIRDF还是用FIRDF。
确定滤波器的传递函数。
用有限精度算法来实现这个系统函数(包括选择运算结构,选择合适的字长以及有效数字的处理方法)。
实际的技术实现(包括采用通用计算机软件或专用数字滤波器硬件来实现,或者是二者结合的方法)。
应该指出,在设计是并不是可以按照上述顺序一次性解决的,而是互相牵连,需要上下反复多次才能完成。
滤波器的传递函数决定了滤波器的特性。
IIRDF的设计方法大致有两种。
一种是借助模拟滤波器的设计技术,应用模拟滤波器低通原型设计各种数字滤波器。
另一种是计算机辅助设计,也叫最优化设计,即在某种最优化准则下逼近所希望的响应,下面分两节对这两种设计方法进行介绍。
2.4数字滤波器的主要性能指标
滤波器有很多种,讨论下对信号频率具有选择性的滤波器。
这又分为模拟滤波器和数字滤波器。
模拟滤波器是在传统模拟电路中发展起来的,其实就是RC电路网络。
随着数字技术的发展,数字滤波器则越来越受到青睐。
数字滤波器分为递归型和非递归型,所谓递归即滤波器内部存在反馈回路,这种滤波器对单位冲击响应可以延续到无限长的时间,所以也叫IIR(infiniteimpulseresponsefilter);相应的,非递归型即内部不存在反馈,也叫FIR(finiteimpulseresponsefilter),其传递函数不存在除零点意外的极点。
数字滤波器的一般形式为:
公式2.2
相应于上面的讨论,则a都为零则为IIR,a有非零的则为FIR。
显然,a(0)=1方便讨论和设计滤波器,所以在matlab中滤波器设计都是a(0)=1。
容易看出,无内部反馈的FIR总是稳定的,具有IIR所没有的特点,但也可以证实,客观模拟电路中,FIR是无法实现的,只有通过数字处理技术设计,而且,要获得性能符合要求的FIR,滤波器的阶数必须设计得非常高,比如,一个常用的矩形窗,一般性能下就要求有100阶左右来拟合,计算代价太大。
一般情况下,n阶IIR与2n阶FIR性能相同。
实际情况下,20阶的ButterworthIIR滤波器可以实现近似理想相位线性。
频率滤波器大概分为带通、带阻、高通、低通。
特性不同的模拟滤波器中经典滤波器有Butterworth和Chebyshev。
其中,Butterworth滤波器特点是通带处幅值特性平坦,而Chebyshev滤波器则比前者的截至特性要好,但通带处的幅值有振荡。
前面提到,对于数字滤波器而言,可以采用不同阶数逼近相应滤波器,滤波器性能还与滤波器的阶数有关,一般而言,阶数越高,则逼近越精确,但计算代价也随之上升,所以性能与代价总需要寻求一个平衡点。
对性能要求一定的情况下,如果对频率截至特性没有特殊要求,考虑采用ButterworthIIR滤波器。
因为Chebeshev滤波器的波纹可能大多数情况下不能忍受。
接着我们看看怎么借助Matlab设计符合我们需求的Butterworth数字滤波器。
当然,我们尽可能了解ButterworthFilter的原理以及可能的话,再了解数字滤波器设计的方法理论,但是,我们不必自己动脑筋根据需求去设计每个系数,Matlab内建有设计Filter的函数。
这里仅仅讨论Butter,其语法格式为:
[B,A]=butter(N,Wn,S)其中
N为要求设计的滤波器阶数,该参数的设定参照前面的讨论,如果没有实时性要求的话,可以定为20,实话,慢~相当的慢~;
S为字符串,表明设计的滤波器类型,low低通/high高通/stop带阻
Wn为要求的标准化截至频率,单位为rad/sample,如果是带阻滤波器,则Wn为长度为2的向量[w1w2]。
关于标准化的频率计算为:
设要求的频率为f(Hz),采样率为Fs(Hz),则Wn=(2*pi*f/Fs)/pi=2*f/Fs,所以,标准化截至频率在区间[0,1]内。
滤波器设计出来了啦,其实就是两组系数b(i)、a(j),其中,i、j为从0到N的自然数(各位不要挑剔,我印象中新的教材里已经把0归到自然数里了)。
对应上面滤波器一般形式里的参数,前面已经提到,一般a(0)=1。
滤波器既然设计出来了,理应对其性能进行分析,以检验其是否能达到预期的效果。
可以使用Matlab提供的内建函数freqz,可以求得滤波器系统的频率相应特性。
其使用语法格式为:
[H,F]=freqz(B,A,N,Fs)其中B/A提供滤波器系数
N表示选取单位圆的上半圆等间距的N个点作为频响输出;
Fs为采样频率,该参数可以省略
H为N个点处的频率响应复值输出向量,其模即为频响幅值曲线幅值20log10(abs(H))DB,其幅角angle(H)即为频响相位曲线相位值。
F为与第N点处对应的频率值f(Hz),如果Fs参数省略时,则频率值w为rad/sample,w=2*pi*f/Fs公式③
有了这组系数,就可以按照前面的滤波器一般形式的表达式对数据进行依次求值了,也就是滤波计算了。
不过,别忙,其实Matlab里已经内建了滤波器函数filter,其语法格式为:
Y=filter(B,A,X)其中B/A提供滤波器系数,X为滤波前序列,Y为滤波结果序列。
设计合适的滤波器对待分析处理的信号进行滤波预处理,可以有效的去除信号中的噪音以及非目标频段信号,从而使得信号背景干净,突出信号本身,提高目标处理的算法有效性,降低算法难度。
例如,对语音信号,可以去除大多数的辅音以及高频共振峰。
第三章设计实现
3.1滤波器及LabVIEW实现
滤波器是一种选频装置,可以使信号中特定的频率成分通过,而极大地衰减其他频率成分。
在测试装置中,利用滤波器的这种选频作用,可以虑除干扰噪声或进行频谱分析。
同样,在测试VI中,也可以利用LabVIEW提供的滤波器VI对信号进行去噪或提取特定频率信号。
滤波器技术在测试技术与仪器科学中是很重要的,是测试工程人员的基本功。
滤波器分为模拟滤波器和数字滤波器,分别处理模拟信号和数字信号。
在测试VI中当然是使用数字滤波器。
由于滤波器的分类方法很多,其参数类型也比较多,所以,在LabVIEW中应用数字滤波器VI时参数设置比较复杂,使用中需要注意的也比较多,要求对滤波器的基本楷念有一个比较清晰的理解。
现在我们首先对滤波器的基本概念作一了解,再详细介绍LabVIEW中滤波器的应用。
理想滤波器是一个理想化的模型。
一个理想滤波器应在所需的带通内幅频特性为常直,相频特性为通过原点的直线;在带通外幅频特性直应为零,这样才能使带通内输入信号的频率成分得以不失真地传输,而在带通外的频率成分全部衰减掉。
实际滤波器的特性曲线没有明显的转折点,通频带中幅频特性也并非常数,因此需要用更多的参数来描述实际滤波器的性能,主要参数有纹波幅度,截子频率,宽带,品质等因素。
和其他编程语言一样,LabVIEW中提供了许多现成的滤波器模板,合理设置参数即可方便地用来进行信号虑波。
下面我们来了解LabVIEW中的滤波器VI。
LabVIEW中的滤波器VI也分成了ExpressVI,波形VI和基本功能VI3个层次。
其中ExpressVI中的滤波器VI设置了针对所有类型的滤波器的选项,波形VI则分成了IIR滤波器和FIR滤波器两个VI,而在基本功能V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 虚拟 滤波器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)