版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学学士学位论文目 录摘 要1abstract21 绪论32 滤波的基础知识52.1滤波与滤波器52.2滤波器分类62.3.1 数字滤波器的优点72.3.2数字滤波器的类型72.3.3 有限脉冲响应滤波器和无限脉冲响应滤波器82.3.4数字滤波器技术要求103 虚拟仪器及labview123.1 虚拟仪器123.1.1虚拟仪器概述123.1.2 虚拟仪器的组成133.2 labview的概述143.2.1 labview应用程序的构成143.2.2 labview的操作模板153.2.3 labview的特点173.2.4 labview设计虚拟仪器的方法174 多功能滤波器的设计19
2、4.1 滤波器的总体设计方案194.2 滤波器的各个模块的设计194.2.1 信号发生模块194.2.2 滤波去噪模块214.2.3 频域分析模块275 多功能滤波器的仿真31参考文献35致 谢36摘 要目前,在电子测量和自动化控制领域,虚拟仪器技术取得了巨大的发展。虚拟仪器是一种功能意义上的测量和控制仪器,是具有仪器功能的软件、硬件的组合,从而实现各种传统仪器的功能。本文叙述了虚拟仪器开发平台labview的特点,并给出了软件设计方案。开发了基于labview的多功能滤波器,重点讲述了各个功能模块的软件设计,并利用该滤波器对模拟信号进行了滤波和频谱分析,结果较为满意。在开发虚拟仪器的同时,掌
3、握了labview编程语言,对虚拟仪器的构成、实现手段和开发方法有了一定的认识。该系统操作简单,界面友好,功能多,并有很好的滤波、分析精度等优点。关键字:虚拟仪器 ;labview ;滤波器 ;频率abstractat present,the technology of virtual instrument has been developed very quickly in the filed of electronic measurement and automatic control. the virtual instrument is a kind of functional inst
4、rument of measurement and control combining of solfware and hardware,thus performing the various of the traditional instrument.the paper describes, the characteristics of labview are summarized,and the design proposal of software is given.the virtual multiple-function filter are developed,designs of
5、 every module in the system are mainly stated,and the analog signal is filtered and spectrum analysised by the filter,which results are more satisfied.with the design of the filter ,i have known the systemic structure of virtual instrumentation,realizing means and developing methods.the system is ea
6、sy to be operated ,fridendly interface , has more function and have very good filtering, analysis of the advantages of accuracy ect.key words:virtual instrument;labview;filter;frequency1 绪论 滤波器在数值信号处理中有广泛的应用,滤波器早被公认为各种电子产品的重要部件,其主要功能是作为各种电信号的提取、分隔、抑止干扰,随着电子技术的飞速发展,电子产品的应用领域发生日新月异的变化:从家用的收音机、电视机到航天用的
7、测控设备;从矿井用的通信机到巡航导弹;从超市用的报警器到日常生活的手机,由于电子产品门类及使用频段的不断扩展,各种电子设备之间的干扰也日趋严重,因而滤波器不但是确保电子产品本身正常可靠工作的重要部件,而且是减少相互影响、确保正常工作环境的重要器件,因而,可以毫不夸张地说,在具有特定功能的电子产品中均有滤波器的踪迹可寻。 在目前的测试领域中,越来越广泛地利用相关检测的方法进行滤波,利用相关滤波可以方便地从复杂的待测信号(包括有用信号、直流偏置、随机噪声和谐波频率成分等)中分离出某一特定频率的信号,在数字技术迅速发展以后,相关滤波也经常利用a/d板对信号采样后,在计算机中实现,成为数字滤波器的一种
8、形式。 随着信息技术和计算机技术的飞速发展,数字信号处理技术在众多领域得到广泛应用。数字滤波器由于其精度高、稳定性好、使用灵活等优点,广泛应用在各种数字信号处理领域。新型数字滤波器有自适应数字滤波器,多维数字滤波器,波数字滤波器等。对于数字滤波器有待研究的课题有:系数灵敏度、舍入噪声和极限环、多维逆归滤波器的稳定性、各种硬件和软件实现数字滤波器的研究等等。总之,数字滤波器在数字信号处理技术中占有极为重要的地位,它的研究,对于生产和应用等工作均是很有意义的。 labview是一种基于“图形”方式的集成化程序开发环境,是目前国际上唯一的编译型图形化编程语言,labview开发环境具有一系列优点,从
9、流程图式的编程,不需要预先编译就存在语法检测和调试过程使用的数据指针,到其丰富的函数、数值、信号处理和设备驱动等功能,应用labview进行滤波器设计,效率高,操作简单,并能对误差精度进行实时调整,把传统仪器利用labview用软件的方法来实现,开发周期短,易于维护和升级,可以设计出传统仪器所不能比拟的虚拟仪器,“软件就是仪器”这就是虚拟仪器技术的精髓。虚拟仪器已经为越来越多的人所使用和接受,因为虚拟仪器系统更快速简捷和方便,也可以节省硬件资源。通过虚拟滤波器设计,可对虚拟仪器有更深的理解和领悟,也为以后进行更进一步的研究提供了基础。我的设计题目是基于labview的多功能滤波器设计。我们平时
10、所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算很难在短时间内完成设计。这次利用labview设计的滤波器则不需要再靠公式计算,只要通过在前面板通过下拉菜单进行调解就可以设计出最优化的滤波器了。了解labview编程所需的基础知识,学习labview的基本使用方法,复习数字信号处理的所学知识,运用labview设计一个虚拟的数字滤波器,使其能产生基本的带有噪声的模拟信号,或是能通过数据采集卡采集信号输入到微机里,并能使用户通过在前面板调节按钮,变换参数产生
11、想要的滤波器,来对所产生的信号或从外界输入的信号进行滤波,并能对信号进行频域分析。然后通过显示面板来显示滤波前后的信号及频域分析的信号。2滤波的基础知识2.1滤波与滤波器 在对信号作分析与处理时 ,常常会遇到有用的信号叠加上无用的噪声的问题。这些噪声有的是与信号同时产生的,有的是传输过程中混入的。从而淹没掉信号。因此,从接受到的信号中,消除或减弱干扰噪声,就成为信号传输与处理中十分重要的问题。根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程称为滤波。广义的说,滤波器是具有一定传输选择特性的,对信号进行加工处理的装置,它允许输入信号中的一些成分通过,抑制或衰减另一些成分。其功能是
12、将输入信号变换为人们所需要的输出信号。滤波器也可以狭义地理解为具有选频特性的一类系统,其作用是将输入信号中的一些频率分量保存下来,并滤除其它频率成分3。绝大多数传感器输出的信号,在使用过程中,都必须进行滤波。滤波器可以用描述线性时不变系统的输入输出关系的数学函数来表示,如图1所示。图1 滤波器的时域输入输出关系在时域中输入输出关系用公式表示为 (1)若x(n)、y(n)的傅立叶变换存在,则输入输出的频域关系为 y()=x()h() (2)滤波器的特性最容易通过它的频域形状来描述。图2给出了最常用滤波器的形状。理想滤波器的形状是理想矩形。这种理想滤波器是不可实现的,因为它们的单位冲激响应均是非因
13、果且是无限长的。这里所示的滤波器是非理想滤波器,因为它们的曲线不是理想矩形。滤波器的阶数越高,它的滚降越快,同时也越逼近理想情况。滤波器在某个频率的增益决定了滤波器对此频率输入的放大因子,增益可取任意值7。增益高的频率范围,信号可以通过,称之为滤波器的通带;相反,增益低的频率范围,滤波器对信号有衰减或阻塞作用,称之为滤波器的阻带。增益为最大值的0.707所对应的频率称为滤波器的截止频率。截止频率也经常看到是通带的边缘。增益通常用分贝或db表示,可以如下计算: 增益(db)=20(增益) (3)这样,增益为0.707时对应-3db。因此,截止频率通常也被称为-3db频率,它们定义了滤波器的带宽,
14、这些频率范围内的信号可以通过。 图2 常用滤波器类型2.2滤波器分类滤波器的种类很多,一般有如下几种。(1)根据滤波器所处理的信号不同分类,主要分为模拟滤波器和数字滤波器两种形式。模拟滤波器是指它所处理的输入信号,输出信号均为模拟信号,而本身是一种线性时不变的模拟系统。数字滤波器是指输入信号,输出信号均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。(2)按选择物理量分类,滤波器可分为频率选择、幅度选择、时间选择(例如pcm制中的话路信号)和信息选择(例如匹配滤波器)等四类滤波器。 (3)按频率通带范围或实现的功能分类,滤波器可分为低通、高通、带通、带
15、阻、全通五个类别,而梳形滤波器属于带通和带阻滤波器,因为它有周期性的通带和阻带。每一种滤波器对信号的作用不同。低通滤波器可以平滑信号的突变;相反,高通滤波器可以强化信号的锐变。注意,将低通和高通的输出结合起来可重建原来的信号3。2.3数字滤波器2.3.1 数字滤波器的优点前节已给出了它们的概念,它们的概念相同,只是信号的形式和实现滤波的方法不同。数字滤波器具有滤波器无法比拟的优点,所以在许多情况下宁可选用数字滤波器。模拟滤波器是由电阻,电容和电感等部件构成的电路,这样,滤波器特性对所用部件的值非常敏感,而有些部件的特性随温度变化很大。数字滤波用软件实现,很少依赖硬件。滤波软件只是一系列程序指令
16、,虽然它在硬件平台上运行,但是,硬件不决定滤波器的性能,而滤波器的性能由一系列数字系数来确定。重新设计数字滤波器很简单,只要重新确定滤波程序的系数即可。事实上,数字滤波器的系数可以在滤波器工作时进行调整,以改变滤波器的性能。重新设计模拟滤波器则需要全部重新设计并构电路,当滤波器的阶数增加时,所需部件也就越多,加大了部件容差处理的难度。相比之下,高阶数字滤波器容易实现,只是滤波器的系数列表比以前变长而已。 数字电路中,信号仅在一组确定的量化电平上取值;而模拟电路中,信号可取任意值,数字电路比模拟电路抗干扰能力强。虽然在这个意义上,量化是有好处的 ,但量化同时也带来了噪声,对数字信号产生影响。采样
17、所引起的混叠现象也仅仅影响数字信号。事实上,对于模拟电路,除非采取特别的措施减小噪声,一般情况下,它的噪声比数字电路中量化和混叠引起的总噪声要大。数字滤波器的性能不像模拟滤波器那样随环境的改变(例如温度的变化)而改变,这样就不必经常去校正。几个输入信号或通道可以用一个数字滤波器来滤波,而不需要重复硬件。数字滤波器的性能从单元到单元是可以重复的9。总之,与模拟滤波器相比,数字滤波器具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及实现模拟滤波器无法实现的特殊滤波功能等优点。如果要处理的是模拟信号,可通过a/d、d/a转换,在信号形式上进行匹配,同样可以使用数字滤波器对模拟信号进行滤波。2
18、.3.2数字滤波器的类型数字滤波器从结构上来分,有递归式与非递归式两种,递归式数字滤波器的差分方程形式为 (4)且至少有;非递归式数字滤波器的差分方程为 (5)由式(4)可见,递归式滤波器y(n)不仅与x(n)等激励有关,而且与n以前的输出y(n-k)有关;式(5)则表明:非递归滤波器的输出y(n)只与激励有关。数字滤波器从频响应的特征来分,有低通、高通、带通 、带阻、全通等多种,从相频相应来分,有线性与非线性两类。从实现的网络结构或者从单位冲激响应来分,有无限脉冲响应(iir)滤波器和有限脉冲响应(fir)滤波器。2.3.3 有限脉冲响应滤波器和无限脉冲响应滤波器有限脉冲响应滤波器关键特征:
19、(1)精确的线性相位响应能力是fir滤波器最重要的特征之一。当信号通过滤波器时,其振幅和相位被修正,信号修正的程度和性质依赖于滤波器的振幅和相位特性。滤波器的相位延迟和群延迟(或称包络线延迟)为滤波器如何修正信号相位提供了一种有用的度量。如果我们考虑由几个频率部分组成的信号(如语音波形和调制信号),那么滤波器的相位延迟是信号的各个频率分量通过滤波器所经历的时延量。另一方面,群延迟是合成信号在每个频率经历的平均时延9。从数学上讲,相位延迟等于相位角除以频率的负数,而群延迟是相位相对于频率的导数的负数; (6) (7)具有非线性相位特征的滤波器,当信号通过滤波器时会引起相位失真。这是因为信号中的每
20、一个频率分量的延迟大小与频率不成比例,因此改变了它们之间的谐波关系9。这样的失真在许多应用中是不希望出现的,如乐曲、数字传输、录像和生物医学。对感兴趣频段使用具有线性相位响应的滤波器可以消除相位失真。如果滤波器的相位响应满足下面两个关系的一个,该滤波器就称为具有线性相位响应的滤波器: (8) (9)其中和是常量。线性相位fir滤波器是fir滤波器的一个重要类型,它们有一组独特的特性,这些特性对我们如何设计和实现滤波器有一定的影响。(2)fir滤波器实现起来非常简单,目前所有可用的dsp处理器具有适合于fir滤波的结构。非递归fir滤波器受有限长的影响要比iir滤波器小。递归fir滤波器有着重要
21、的计算优势。无限脉冲响应滤波器即递归滤波器,可以说是某种类型的反馈系统,iir滤波器的优势源于反馈系统提供的灵活性。例如,对于同样的技术规范,iir滤波器要求的系数通常比fir滤波器少,这也就是当重点要求锐截止和高吞吐率时为什么要使用iir滤波器的原因。这样的代价是,iir滤波器可能变得不稳定,或者在设计时没充分考虑细节,那么它的性能会显著降低。设计递归滤波器的方法是选择具有待求特性的原型模拟滤波器,然后将其转换为数字滤波器9。选择fir滤波器或者iir滤波器大体上依赖于两种滤波器的优点。(1)fir滤波器可以具有精确的线性相位响应。其潜在的含义就是采用这种滤波器不会给信号带来相位失真。这在许
22、多应用中,例如数据传输、生物医学、数字音频和图象处理等,相位不失真是非常重要的要求。iir滤波器的相位响应特别是在带沿为非线性的。(2)fir的实现是非递归的,它总是稳定的。而iir滤波器的稳定性不是一直都能得到保证得。(3)采用有限位数实现滤波器得影响,例如舍入噪声和系数量化误差,fir比iir要小的多。(4)对锐截止滤波器,fir要求的系数比iir要多。因此对一个给定的幅值响应的规范,fir实现要求更多的处理时间和更大的存储。然而,我们可以很容易地利用fft的计算速度和多速率技术来有效地提高fir实现的效率。(5)模拟滤波器可以很容易地转化成等价地满足类似性能规范地iir数字滤波器。使用f
23、ir滤波器是不可能的,因为它没有对应的模拟滤波器。然而,通过fir可以更容易地合成具有任意频率响应的滤波器9。综上所述,下面给出一个什么时候用fir及什么时候用fir及什么时候用iir的大致指南。(1)当锐截止滤波器和高吞吐率是惟一重要的要求时,采用iir滤波器。因为iir滤波器,特别是具有椭圆特性的iir滤波器,所需的系数比fir少。(2)如果滤波器系数的数目不是太大,而且在实践中需要相位失真很小或者不能有相位失真,那么采用fir滤波器。2.3.4数字滤波器技术要求常用的数字滤波器一般属于选频滤波器。假设数字滤波器的传递函数h()用下式表示: h()=h() (10)式中,h()为幅频特性;
24、q()为相频特性。频率特性表示信号通过该滤波器后各频率成分衰减情况,而相频特性反映各频率成分通过滤波器后在时间轴上的延时情况。因此,即使两个滤波器的幅频特性相同,而相频特性不一样,对相同的输入,滤波器输出的信号波形也不一样的。选频滤波器的技术要求一般由幅频特性给出,相频特性一般不作要求。对于各种理想滤波器,必须设计一个因果可实现的滤波器取逼近。实用中通带和阻带中都允许一定的误差容限,即通带不一定是完全水平的,阻带不一定绝对衰减到零。此外,在通带与阻带之间还应设置一定宽度的过渡带7。如图3给出了最常用的特性。和分别为通带截止频率和阻带截止频率。它们在滤波器设计中是很重要的。滤波器的通带定义了滤波
25、器允许通过的频率范围。在阻带(stop band)内,滤波器对信号严重衰减。参数定义了通带波纹,即滤波器通带内偏离单位增益的最大值。通带(pass band)边缘增益定义为1。参数定义了阻带波纹,即滤波器阻带内偏离零增益的最大值,阻带边缘处,滤波器的增益为。过渡带宽度(transition width)就是阻带和通带边缘之间的距离,或: 过渡带宽度阻带边缘频率通带边缘频率 (11)图3 滤波特性3 虚拟仪器及labview3.1 虚拟仪器3.1.1虚拟仪器概述虚拟仪器是技术是基于计算机的仪器及测量技术,就是在计算机上加载一些具有和实际独立仪器类似外观和性能的软件或硬件,用户操作这台计算机,就像
26、是在操纵一台自己专门设计的传统电子仪器。虚拟仪器技术的实质,硬件软件化,充分利用最新的计算机技术来实现和扩展传统仪器的功能。由于仪器的专业化功能和面板控件都是由软件形成,因此国际上把这类新型的仪器称为“虚拟仪器”。有的资料上甚至直接将虚拟仪器这种形式称为“软件即仪器” 10。与传统测试仪器不同,虚拟仪器技术在包含数据采集设备的通用计算机平台上,根据需求可以高效率地构建起形形色色的测量系统。虚拟仪器技术突破了传统仪器的局限,可以将多种信号处理的方法方便地用于测量种,并且为自动测量和网络化测量创造条件。虚拟仪器的主要特点有: (1)能采用通用的硬件,各种仪器的差异主要是软件。 (2)可充分发挥计算
27、机的能力,有强大的数据处理能力,可以设计出功能强大的仪器。 (3)用户可以根据自己的需要定义和知道各种仪器。与传统仪器相比,虚拟仪器具有以下优点: (1)虚拟仪器极大的降低了硬件开销。硬件开销的降低可以较少设备的投入费用,设备的维修费用,同时降低了故障率。 (2)虚拟仪器可以更好的马民族用户的需要,设计出自己的仪器。仪器制造商仅需提供基本的硬件和软件,真正要实现什么样的仪器功能则是用户自己的事情。 (3)虚拟仪器可以改善测量精度。这是因为信号每经过一次硬件处理都会引进误差,由于虚拟仪器减少了硬件的使用,因此也就减少了测量误差。 (4)在某种程度上,使用虚拟仪器可以测量传统仪器不可能实现的测试对
28、象,如某些复杂波形的动态测量。 (5)虚拟仪器是建立在计算机技术和数据采集技术基础之上的,而这类技术发展非常迅速,因此虚拟仪器技术具有较短的技术更新周期。据不完全统计,传统仪器的技术更新周期为510年,而虚拟仪器的技术更新周期为12年10。另外,虚拟仪器还有许多其他方面的优点,如系统组建时间短,易于扩展,可以实现远程网络测试,并行测试等。虚拟仪器是计算机技术介入仪器领域所形成的一种新型的,富有生命力的仪器系统。虚拟仪器就是在现有计算机基础上,配有相应的硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的高档低价的新型仪器。由于虚拟仪器不依赖功能和结构复杂的仪器模块,使得开
29、发成本大幅度降低,加之从设计开发到用户使用过程种的众多优点,可以预见在不远的将来,在测试系统领域,虚拟仪器系统将取代传统的测试设备,成为测试系统的主流。3.1.2 虚拟仪器的组成虚拟仪器由仪器硬件平台和应用软件两部分组成。 (1)构成虚拟仪器的硬件系统一般分为计算机硬件平台和接口设备。硬件平台可以是台式机,笔记本电脑,工作站,嵌入式计算机等。计算机管理着虚拟仪器的软,硬件资源,是虚拟仪器的硬件基础。计算机管理着虚拟仪器的软,硬件资源,是虚拟仪器的硬件基础。计算机在显示,存储,处理性能,网络,总线标准等方面的发展,促进了虚拟仪器系统的快速发展6。i/o接口设备主要完成北测试输入信号的采集,放大,
30、模/数转换。不同的总线有其相应i/o接口硬件设备,如利用pc机总线的数据采集卡,gpib总线仪器,vxi总线仪器模块,串行总线仪器等。虚拟仪器的核心思想,就是使本来需要硬件或电路实现的技术软件化和虚拟化,最大限度地降低系统成本,增强系统地测试精度很灵活性。基于软件在虚拟仪器系统种地重要作用,从低层到顶层,虚拟仪器的软件框架包括三个部分:visa库,仪器驱动程序和应用软件。visa库实质就是标准i/o函数库及相关规范的总称。它驻留于计算机系统之中,执行仪器总线的特殊功能,是计算机与仪器之间的软件层连接,用来实现对仪器的控制。对于仪器驱动程序开发者来说,visa库是一个可调用的操作函数库或集合。仪
31、器驱动程序是完成某一特定仪器的控制与通讯的软件程序集合,是应用程序实现仪器控制的桥梁。每个仪器模块都有自己的仪器驱动程序,仪器厂商将其以源码的形式提供给用户,用户在应用程序中调用仪器驱动程序6。应用软件建立在仪器驱动程序之上,直接面对操作用户,通过提供只管,友好的操作界面,丰富的数据分析与处理功能,来完成自动测试任务。应用软件还包括通用数字处理软件。通过数字处理软件包括用于数字信号处理的各种功能函数,如频域分析的功率谱估计、fft、逆fft和细化分析等;时域分析的相关分析的相关分析、卷积运算、反卷运算、均方根估计等。这些功能函数为用户进一步扩展虚拟仪器的功能提供了基础。3.2 labview的
32、概述3.2.1 labview应用程序的构成所有的labview应用程序,即虚拟仪器(vi),包括前面板,流程图以及图标/连结器三部分5。 (1)前面板前面板包括用户输入和显示输出两类控件,分别用于参数的设置和测量结果的数值、波形显示等,具体表现有开关,旋钮,图形以及其它控制和显示对象。图4是一个简单的波形发生器vi的前面板,上面有5个控制对象,分别为信号类型的选择,波形的频率,幅值,相位以及停止。有一个显示对象,显示了所产生的波形。在前面板后面还有一个与之配套的流程图。图4 波形发生器的前面板(2)流程图流程图提供vi的图形化源程序。在流程图中对vi编程,以控制和操纵定义在前面板上的输入和输
33、出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等5。图5 波形发生器的流程图图5是图4对应的流程图。在图中我们可以看到流程图中包含了与前面板上对应的连线端子,还有一个基本函数发生器的函数及程序的循环结构。基本函数发生器通过连线将产生的波形送到显示控件,为了使它持续工作下去,设置了一个while loop循环,由开关控制这一循环的结束。(3)图标/连接器vi具有层次化和结构化的特征。一个vi可以作为子程序,这里称为子vi,被其它vi调用。图标与连接器在这里相当与图形化的参数。3.2.2 labview的操作模板labview中的操作模
34、板分为工具模板,控件模板和函数模板,labview程序的创建主要依靠这三个模板完成。这些模板集中反映了该软件的功能与特征5。(1)编辑工具工具模板图6 labview的工具模板工具模板如图6所示,利用工具模板可以创建、修改labview中的对象,并对程序进行调试。如果该模板没有出现,则可以在“查看”菜单下选择“工具模板”以显示该模板。当从模板内选择了任意一种工具后,鼠标箭头就会变成该工具相应的形状。(2)前面板设计工具控件模板控件模板中包括了用来创建前面板对象的各种控制量和显示量,是用户设计前面板的工具,labview中的控件模板如图7所示。在控件模板中,按照所属类别,各种控制量和显示量被分门
35、别类地安排在不同地子模板中,应用这些子模板,用户可以创建出界面美观且功能强大地vi前面板。图7 labview的控件模板(3)框图程序设计工具函数模板 与控件模板相对应的函数模板主要用于对vi后面板的设计,在函数模板中,按照功能分门别类地存放着一些函数,vis和express vis。可以在流程图程序窗口的空白处点击右键以弹出函数模板。函数模板如图8所示。图8 labview的函数模板3.2.3 labview的特点labview是由美国国家仪器公司在1986年推出的一种基于图形编程语言(g语言)的开发环境,它具有十分强大的功能,包括数值函数运算、数据采集、信号处理、输入/输出控制、信号生成、
36、图象的获取、处理和传输等等。labview与c、basic等传统编程语言有着诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具,以及模块化的编程特点等。但二者最大的区别在于:传统编程语言用文本语言编程;而labview使用图象语言编程,界面非常直观形象,而且使用的都是测试工程师们熟悉的旋钮、开关、波形图等,因此是一种直觉式图形程序语言。用labview编程无需太多编程经验,只要以很直觉的方法建立前面板界面和方块图程序,便可以完成编程过程,使用户免于传统程序语言线性结构的困扰,这对于美誉哦丰富编程经验的工程师们来说无疑是个极好的选择。同时,labview的执行顺序是依方块图间数据的传递
37、来决定的,并不像传统文字式程序语言必须逐行地执行,因此用户能设计出可同时执行多个程序地流程图。3.2.4 labview设计虚拟仪器的方法labview的图形化程序设计是基于现代软件地面向对象技术和数据流技术而发展起来的。数据流程序设计表示只有在所有输入都有效时,一个对象才开始执行,同样,只有当对象的功能完成以后,对象输出才有效。这样的话,互相在对象间的数据流控制执行顺序,执行顺序不局限于来自文本式程序设计的线性顺序,它可以不受其限制。用户能够通过连接功能模块来快速开发自己地应用程序,甚至能够使用多路数据通道,实现同步操作6。与传统的文本程序设计一样,labview也有控制流程图功能执行的部分
38、,它们包括循环结构、分支结构、顺序结构,它们被图形化地描述成边界结构,像在传统的线性化程序设计中可以插入代码段一样,可以把图标放在labview图形结构的界限内部。labview有一个图形编辑器来产生最优化编辑代码,虚拟仪器执行它们相当编译c的速度。利用应用程序生成器,用户能够产生虚拟仪器,就像独立的执行程序一样。下面按步骤说明进行图形化的程序设计。 (1)建立方案:选用labview软件,可以构建虚拟仪器,而不是编写程序。有了交互式控制的软件系统,用户可以很方便地建立其前面板接口。为了实现具体功能,用户利用向导把流程图组合在一起。 (2)建立前面板:从控制模块上选择你需要的对象,放在虚拟仪器
39、的前面板上。当你的虚拟仪器完成以后,就能在虚拟仪器工作时利用前面板去控制整个系统,如移动滑动片、在图象中变向、从键盘输入等。 (3)构建图形化的流程图:对虚拟仪器进行程序设计,你不必担心很多传统程序设计所需的语法细节,而可自己构建流程图。从函数模板上选择对象(用图标表示),并用线将它们连接起来以便数据进行传递。函数模板上的对象包括简单的数学运算、高级数据采集和分析方法、以及网络和文件输入输出操作。 (4)数据流程序设计:labview用一种精巧的数据流程序设计模式把用户从文本式语言的线性化方式构建程序的办法中解放出来。因为在labview软件中程序的执行顺序由各方块中的数据流决定。 (5)模块
40、化和层次:labview虚拟仪器实行模块化设计,因而任何虚拟仪器既能独立运行,又能被用作其他虚拟仪器的一部分。甚至可以创建自己的虚拟仪器图标,因而可以设计由虚拟仪器构成的多层系统,并可以改变它,同其他虚拟仪器交换和连接以满足不断变化的应用需要。4 多功能滤波器的设计4.1 滤波器的总体设计方案我的毕业设计的题目是基于labview的多功能滤波器设计。如图9为总体设计方案的示意图。图9 总体设计示意图通过软件labview设计一个虚拟的数字滤波器,使其能产生基本的带有噪声的模拟信号,或是能通过数据采集卡采集信号输入到微机里,并能使用户通过在前面板调节按钮,变换参数产生想要的滤波器,来对所产生的信
41、号或从外界输入的信号进行数字滤波,这里的滤波器可以根据用户的需要进行选择,可以找出最适合的滤波器。我设计的滤波器包括fir滤波器,iir滤波器以及小波去噪。其中这三大类滤波器分别有一些参数可调,例如iir滤波器滤波的窗函数。进行完滤波后还能对信号进行各种频谱分析。然后通过显示面板来显示滤波前后的信号及频谱分析的信号。4.2 滤波器的各个模块的设计我设计的滤波器的模块有信号发生模块,滤波模块,以及频谱分析模块。4.2.1 信号发生模块信号发生模块是信号有两种,一种是通过基本函数发生器产生基本波形,包括正弦波、方波、三角波、锯齿波四种;一种是用户通过编写公式来产生想要的波形。然后分别叠加噪声信号,
42、以此来模拟现实中的信号。其中噪声的类型有均匀白噪声、高斯噪声、周期性随机噪声、泊松噪声。噪声的幅值也可以调节。如图10是信号发生模块流程图。图10 信号发生模块流程图 其中需要注意的是采样频率的选择,不然的话会出错,系统不能运行。根据奈圭斯特采样定理,采样频率应大于或至少等于信号截止频率的2倍,以保证数字化后的信号数据不丢失原信号的特性。但是奈圭斯特采样定理假设有一个理想的低通滤波器来恢复信号,并且被采样的信号的频带范围有限,这些条件在实际使用中是很难实现的,所以它只在理论上成立。对同一信号以不同的采样率采集得到的结果是不同的,显然采样频率越高,采集信号越接近真实信号,但是高采样频率意味着对存
43、储空间和内存的更高要求,工程上用到的采样频率常常是信号最高频率的510倍。如图11所示为信号发生模块流程图对应的前面板。图11 输入信号参数选板4.2.2 滤波去噪模块图12 滤波去噪模块流程图图13 滤波参数选板滤波去噪模块的流程图如图12所示,信号的滤波去噪就是通过这个模块来实现的。图13为滤波参数选板,第一个布尔控件是来选择是否要进行滤波,当指示灯亮时就进行滤波了。布尔控件下面的叫做菜单下拉列表,是用来选择滤波器的类型的。再往下的三个框分别是iir滤波器规范,fir滤波器规范,小波去噪规范,通过调节文本下拉列表可以搭配出最好的滤波器。其中有三点需要说明一下,一是case结构,二是labv
44、iew调用matlab函数。三是小波去噪的相关内容。(1)case结构是执行条件语句的一种方法。这类似于常规的文本编程语言中常见的ifthenelse语句。从“函数”选项板的“控制过程执行”子选项板中选择case结构并将其放置在框图上,并使其边框包围所希望的对象;也可以先将case结构放置在框图上,然后再根据需要调整其大小并将对象拖拽到结构内部12。case结构可有多个子框图,这些子框图就像一叠卡片,一次只能看到一张。在case结构边框的顶部使子框图标识符。子框图标识符可以是数字,布尔,字符串或枚举型控件。在枚举型控件就是无符号字节、无符号字或无符号长整型,如图14、图15所示。可将选择器器端
45、子放在case结构左边框上的任何地方。选择器标签自动调整为输入的数据类型。例如,如果选择器连接的值从枚举型改变到布尔型,那么对应的0和1分支将分别改变成false和true。需要注意的一点是如果选择器也值与连接到选择器端子对象的类型不同,那么选择器值以红色显示,并且置vi于中断状态。隧道是结构上的数据出入口。可将case结构外的端子连接到结构内的端子。连接后,结构的边框上将出现矩形框表示隧道,见图12。也可通过将外部端子连接到结构边框来创建隧道,然后再进一步将端子连接到内部端子。隧道也可在其他结构中找到,例如顺序结构,while循环和for循环。所有分支都能使用输入隧道的所有数据。图14 布尔
46、型case结构图15 多帧数字case结构如图12所示,在滤波去噪模块中,用到了三个case结构。最外围的是一个布尔型的,通过它来选择是否进行滤波;中间的那个case结构是一个枚举型的,通过它来选择滤波器的类型;最里面的那个case结构也是枚举型的,当滤波器是小波滤波器时,通过这个case可以选择不同的小波基来进行滤波。(2) labview调用matlab函数,会用到matlab toolbox或采用matlab script这时需要安装matlab,不可以脱离matlab环境。matlab是科学和工程可视化计算领域广泛流行的交互式编程环境。如果涉及到比较复杂的数学运算,则可以调用matla
47、b的脚本文件来实现。labview调用matlab的功能是通过matlab节点来实现的。可以从“函数”选项板的“数学”“脚本与公式”“脚本节点”来访问matlab脚本节点。如图16所示为matlab节点流程图。图16 matlab节点流程图向matlab节点输入matlab文件的方法有两种:一种是直接在框图内写入文件代码,另一种是在matlab节点的边框上单击鼠标右键,在弹出的快捷菜单中选择“导入”命令选项,在弹出的对话框中输入matlab脚本文件即可。matlab脚本节点把流程图内涉及的变量分为两大类:输入变量和输出变量。顾名思义,输入变量是指需要用户定义的变量;输出变量包括公式节点传递给其
48、他节点的变量。创建变量的方法很简单,在公式节点的流程图上单击鼠标右键,选择“添加输入”命令或者“添加输出”命令即可。输入变量的边沿是细线,输出变量的边沿是粗线,它们的分布位置可以是公式节点边框上的任意位置,如图16所示。在matlab中,用户一般不用指定数据类型,所有输入变量会有缺省的类型,而在labview里面,matlab节点并不能够判断数据类型,因此用户必须要为每个数据变量指定一个类型。给matlab节点变量定义类型的方法是:在变量上面单击鼠标右键,在弹出的快捷菜单中选择“选择数据类型”命令选项,就会出现matlab中的各种数据类型名称,然后按照事先在matlab中定义的类型给每个变量选
49、择合适的数据类型,则系统就会把变量变成相应的labview内的类型12。如图12所示,当在第二层的case结构中选择小波去噪时,此时就用到了matlab脚本节点,这里采用了第一种向matlab节点输入matlab文件的方法,即直接在框图内写入文件代码。这里调用了小波分析工具箱函数wden,它的功能是用小波进行一维信号的自动消噪。这里的小波基我列举了6种供选择,所以使用了6个matlab脚本节点,在图12中只能看到一个,在case结构的每一帧中有一个。在公式节点的流程图上单击鼠标右键添加输入s和n,同理添加输出xd,下表为它们的控件类型、数据类型和功能。最需要注意的就是数据类型,如果数据类型不对
50、,会出现错误,“运行”的箭头是断开的,双击断开的箭头会弹出错误提示,可以按错误提示来改正,才能运行。表1 matlab脚本节点的输入,输出名称控件类型数据类型功能输入波形(s)1d array of real输入波形输出波形(xd)waveform graph1d array of real输出波形分解层数(n)digital controlreal显示小波去噪的分解层数基小波选择menu ring显示小波消噪使用的基小波 (3)小波去噪的相关知识。小波分析属于时频分析的一种。传统的信号分析时建立在傅立叶变换的基础之上的,由于傅立叶分析使用的是一种全局的变换,要么完全在时域,要么完全在频域,因
51、此无法表述信号的时频局域性质,而这种性质恰恰是非平稳信号最根本和最关键的性质。与标准傅立叶变换相比,小波分析中所用到的小波函数具有不唯一性,即小波函数具有多样性19。但小波分析在工程应用中,一个十分重要的问题是最优小波基的选择问题,这是因为用不同的小波基分析同一个问题会产生不同的结果。常用的小波函数介绍:daubechies(dbn)函数的小波函数和尺度函数的有效长度为2n-1,小波函数消失矩阶数为n。dbn大多数不具有对称性;对于有些小波函数,不对称性是非常明显的。正则性随着序号n的增加而增加。该函数具有正交性。daubechies系中的小波基记为dbn,n为序号,且1,2,10。coifl
52、et(coifn)函数也是由daubechies构造的一个小波函数,它具有coifn(1,2,3,4,5)这一系列。coiflet具有比dbn更好的对称性。从支撑长度的角度看,coifn具有和db3n及sym3n相同的长度;从消失矩的数目来看,coifn具有和db2n及sym2n相同的消失矩数目。symlets(symn)小波系是由daubechies提出的近似对称的小波函数,它是对db函数的一种改进。symlets函数系常常表示为symn(n2,3,8)的形式。小波分析的应用很多,本设计中是用于信号消噪处理。运用小波分析进行一维信号消噪处理是小波分析的一个重要应用之一,下面将其消噪的基本原理
53、作一个简要的说明。一个含噪声的一维信号的模型可以表示成如下的形式:其中,f(i)为真实信号,e(i)为噪声,s(i)为含噪声的信号。 s(i)=f(i) + e(i),i=0,n-1 (12)在这里,我们以一个最简单的噪声模型加以说明,即认为e(i)为高斯白噪声,噪声级为1。在实际的工程中,有用信号通常表现为低频信号或是一些比较平稳的信号,而噪声信号则通常表现为高频信号。所以消噪过程可以按如下方法进行处理:首先对信号进行小波分解(如进行三层分解,分解过程如图17所示),则噪声部分通常包含在cd1, cd2, cd3中,因而,可以以门限阈值等形式对小波系数进行处理,然后对信号进行重构即可以大道消
54、噪的目的。对信号s(i)消噪的目的就是要抑制信号中的噪声部分,从而在s(i)中恢复出真实信号f(i)。图17 小波三层分解图一般来说,一维信号的消噪过程可以分为三个步骤进行:(1)一维信号的小波分解。选择一个小波并确定一个小波分解的层数n,然后对信号s进行n层小波分解。(2)小波分解高频系数的阈值量化。对第1到第n层的每一层高频系数,选择一个阈值进行软阈值量化处理。(3)一维小波的重构。根据小波分解的第n层的低频系数和经过量化处理后的第1层到第n层的高频系数,进行一维信号的小波重构。在这三个步骤中,最关键的就是如何选择阈值和如何进行阈值的量化,从某种程度上说,它直接关系到信号消噪的质量。下面介
55、绍一下函数wden。功能:用小波进行一维信号的自动消噪格式:(1)xd,cxd,lxd=wden(x,tptr,sorh,scal,n,wname) (2)xd,cxd,lxd=wden(c,l,tptr,sorh, scal,n,wname)说明:wden是一个利用小波对一维信号进行自动消噪的函数。其中,x为原始信号,tptr为阈值选择规则。tptrrigrsure时,采用史坦的无偏似然估计原理。tptrheursure时,是启发式阈值选择。tptrsqtwolog时,是固定阈值。tptrminmaxi时,用于极大极小值原理进行阈值的选择。sorh是软阈值或硬阈值的选择。sorhs时为软阈值。sorhh时为硬阈值。scal定义所乘的阈值是否要重新调整:scalone时,不用重新调整。scalsln时,根据第一层的系数进行一次噪声层的估计来调整阈值。scalmln时,在不同层估计噪声层,以此来调整阈值。n为小波分解的层数。wname是一个指定的正交小波名,即基小波。xd为消噪后的信号,cxd,lxd为消噪后信号xd的小波分解结构。本设计中调用的代码如下所示,xd=wden(s,heursure,s, one,n,sym4);其中xd为输出,s为输入,采用启发式阈值选择,阈值不重新调整。可供选的基小波的类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度企业内部信息安全管理与保密合同
- 二零二五年度农村土地承包经营权与租赁权管理合同
- 2025版新材料研发企业新增股东协议书样本3篇
- 2025年度住宅小区智能车位代理销售及监控系统合同4篇
- 2025年度物流企业司机劳务外包管理协议范本
- 二零二五年度旅游产品售后服务合同规范4篇
- 二零二五年度厨房设备销售与品牌推广合作合同3篇
- 珠海科技学院《东方人文经典》2023-2024学年第一学期期末试卷
- 2025版卖方汽车零部件购销合同范本详细2篇
- 二零二五版茶叶种植基地土壤改良与肥料施用合同3篇
- 平安产险陕西省地方财政生猪价格保险条款
- 铜矿成矿作用与地质环境分析
- 30题纪检监察位岗位常见面试问题含HR问题考察点及参考回答
- 询价函模板(非常详尽)
- 《AI营销画布:数字化营销的落地与实战》
- 麻醉药品、精神药品、放射性药品、医疗用毒性药品及药品类易制毒化学品等特殊管理药品的使用与管理规章制度
- 一个28岁的漂亮小媳妇在某公司打工-被老板看上之后
- 乘务培训4有限时间水上迫降
- 2023年低年级写话教学评语方法(五篇)
- DB22T 1655-2012结直肠外科术前肠道准备技术要求
- GB/T 16474-2011变形铝及铝合金牌号表示方法
评论
0/150
提交评论