峰值削波检查算法及其DSP实现.doc

上传人:温桑 文档编号:67368631 上传时间:2022-12-24 格式:DOC 页数:39 大小:1.04MB
返回 下载 相关 举报
峰值削波检查算法及其DSP实现.doc_第1页
第1页 / 共39页
峰值削波检查算法及其DSP实现.doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《峰值削波检查算法及其DSP实现.doc》由会员分享,可在线阅读,更多相关《峰值削波检查算法及其DSP实现.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、38峰值削波检查算法及其DSP实现摘 要通信,指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递,从广义上指需要信息的双方或多方在不违背各自意愿的情况下采用任意方法,任意媒质,将信息从某方准确安全地传送到另方。其中最基础也是最直接的就是语音通信。削波是语音通信中常见的问题,并且在一系列的语音处理应用中,削波的检测都有很大的用处。随着通信技术的飞速发展,现代通信系统提供了广泛的语音服务,语音通信已经成为生活中不可或缺的交流方式。为了提供更好的语音通信服务,需要对通信网络和语音编解码技术进行性能评价。评判语音通信系统性能优劣的指标是多方面的,其中最重要的一个标志是系统输出语音的质量。由于

2、语音质量直接地影响着用户的体验,因此如何准确有效的评价语音质量成为一个重要的课题。语音质量评价的方法,主要分为主观评价方法和客观评价方法。主观评价方法可以得到较准确的结果,但是,由于其费时和费力,因此不适用于对实时通信系统的评价。客观评价是以计算机信息处理为核心来判别语音的质量,它不受测试条件的限制,也不受测试人员主观因素的影响。所以,客观评价技术成为大家研究的热点。关键词:;峰值检测方法;小波法 Abstract Communication refers to people or between man and nature through the medium of a certain b

3、ehavior or information exchange and transmission, from the broad sense refers to two or more sides need information in the case of not against their will by any method, any media, the information transmitted safely from one side to the other party. One of the most basic and direct is voice communica

4、tion. Clipping is a common problem in speech communication, and in a series of speech processing applications, the detection of clipping is of great use.With the rapid development of communication technology, modern communication system provides extensive voice service, and voice communication has b

5、ecome an indispensable means of communication in life. In order to provide better voice communication services, the communication network and the speech encoding decoding technology need to be evaluated. There are many ways to judge the performance of voice communication system, the most important o

6、f which is the quality of the system output voice. Because voice quality directly influences the users experience, how to evaluate voice quality accurately and effectively becomes an important topic. The method of voice quality evaluation is mainly divided into subjective evaluation method and objec

7、tive evaluation method. The subjective evaluation method can obtain accurate results, but because of its time and effort, it is not suitable for the evaluation of real-time communication system. Objective evaluation is based on computer information processing as the core to judging the quality of th

8、e voice, it is not limited by test conditions, nor by testers subjective factors. Therefore, the objective evaluation technique becomes the hot spot of the study. Keywords: peak; Peak detection method; The wavelet method目 录第一章 绪 论11.1 研究背景11.2 国内外虚拟仪器发展现状21.3 设计的来源和内容2第二章 信号波峰检测原理42.1 峰值检测运算的原理42.1.

9、1峰值检测综述42.1.2三次样条插值42.1.3 峰值检测方法(小波、差分等)42.2 实验过程所用方法的原理102.2.1 相关性运算的原理102.2.2 卷积运算的原理11第三章 Labview编程基础及其信号运算工具箱153.1 Labview的简介153.2 Labview的编程环境153.3 设计过程中常用功能简介163.3.1 数据类型163.3.2 结构163.3.3 数学运算183.3.4 比较运算183.3.5 数组193.4 信号波峰检测工具箱203.4.1 相关函数的图标及使用方法203.4.2 卷积运算的图标及使用方法223.4.3 波峰检波器的图标和使用方法24第四

10、章 信号波峰检测的程序设计及实验264.1 读取文件的程序设计及实验264.1.1 读取电子表格文件的程序框图设计264.1.2 读取电子表格文件程序的前面板264.1.3 读取电子表格文件程序的调试、运行结果274.2 卷积运算的程序设计及实验274.2.1实现卷积运算的程序框图设计274.2.2卷积运算的前面板284.2.3卷积运算的调试、运行界面294.3 峰值检测运算的程序设计及实验294.3.1实现峰值检测运算的程序框图设计294.3.2峰值检测运算的前面板304.3.3峰值检测运算的调试、运行界面30结 论32致 谢33参考文献34第一章 绪 论1.1 研究背景虚拟仪器是基于计算机

11、的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。LabVIEW 的全称为Laboratory Virtual Instrument Engineering Workbench(实验室虚拟仪器集成环境),是美国国家仪器公司(NI)创立的一种强大又灵活的仪器和分析软件应用开发工具。Labview使用图形化语言编程,直观方便,极大节省程序开发时间。它使得对信号波峰检测的分析变得更加方便、精确,在模拟仿真控制中具有极大的作用。虚拟仪器最大的特点就是采用了编译型图形化编程G语言,即用户将程序的大体框架设计好后,只需将系统提供的各种图形化功能模块连接起来,就可得到所需的应用软件。Labview

12、中所用到的的程序被称为VI,每个VI都由前面板和框图程序以及图标、连接端口三部分构成2。信号的波峰检测一直都是信号研究的难点。不同的波形有其自身的单一性与独特性,没有一种方法是万能的,可以测出任何信号的峰值点。在这样的实际背景下,信号的波峰检测方法的研究与设计就很有必要。在科学实验、工业检测等领域经常遇到需对信号的峰值进行检测的情况。峰值检测在实际应用中很典型的就是医院中对人体心电图的分析,每一个心电信号子波形都具有一定的生理学方面的意义。因此,如果在临床上检测心电信号的时候,发现心电波形图上有异常的波形,就需要对此进行分析识别,并以此作为疾病诊断的依据。当前,峰值检测电路在AGC(自动增益控

13、制)电路和传感器最值求取电路中广泛应用。但是研究中,运用虚拟仪器来研究可以减少传统实物研究中出现的成本等问题,传统仪器有比较固定,成本高等缺陷,而虚拟仪器研究可以弥补这部分空缺。本研究课题就是以小波变换为理论依托来设计峰值检测的方法小波法,进一步解决其它方法在信号峰值检测中出现的问题。信号波峰检测是通过研究信号的描述、特性以及信号发生某些变化时其波峰特性相应的变化,来揭示信号的时域、频域特性等。通过用Labview对信号进行波峰分析,构建信号波峰分析的一个系统,从而实现对模拟信号波形峰值的一个实时的监控和分析。基于Labview 平台提出新的软件波峰检测方法,将成熟的软件检测波峰的方法应用到信

14、号波峰分析和处理领域中具有非常重要的意义。1.2 国内外虚拟仪器发展现状在国内虚拟仪器的发展现状不容乐观。因为虚拟仪器是随着传统测控、计算机和通讯技术不断发展从而产生的一项综合性结构化电子测量与控制技术。而我国计算机、通信及电子产业的发展相比欧美国家呈现滞后的地位,从而决定了我国虚拟仪器产业底子薄弱,欠缺相应的软硬件技术的支持,有起步晚,发展慢的特点,直到上世纪九十年代中后期虚拟仪器才逐渐的被引入到我国应用计算机的行业中来。前期已有的不足等各方面的因素使得我国的虚拟仪器行业还处于起步阶段3。但是经过多年的发展,我国国民经济持续的快速发展,进一步加快了工业技术升级的步伐,先进的仪器设备的需求更加

15、强劲;虚拟仪器赖以生存的个人计算机在最近几年里以极高的速度在中国普及,这些都为虚拟仪器在我国的普及发展奠定了良好的基础。因此,我国的虚拟仪器存在巨大的发展潜力。 国际上数据采集信号波峰的设备研发正朝着结合虚拟仪器技术、嵌入式技术和网络技术于一体的势头发展,并对处理系统便携化和微型化提出了要求。然而,当前国内在该领域的研究主要采用的方法有基于PC和Labview的虚拟仪器技术和基于嵌入式系统的智能仪器技术4。1.3 设计的来源和内容本文的设计主要来源于对信号波峰检测方法原理的研究,包括自相关过程,卷积过程,采样过程,波峰检测等峰值检测过程,在各种检测过程原理的指导下,使用LabVIEW图形化系统

16、设计平台完成对算法的程序设计和调试、仿真。本文主要运用方法是小波检测峰值法。顾名思义,“小波”就是小的波形。所谓“小”是指它波形具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与傅里叶变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了傅里叶变换的困难问题,成为继傅里叶变换以来在科学方法上的重大突破。此实验中,通过Labview来对信号波形峰值的分析来构建运算功能,能够加深对Labview的理解和掌握,以便于更好的运用到

17、以后的学习和工作中去,同时也能够寻求更好的方法去解决相关控制领域的关于信号采集和波峰分析的问题,从而提高工作效率和质量。第二章 信号波峰检测原理2.1 峰值检测运算的原理2.1.1峰值检测综述在信号监测中,峰值检测是最重要的时域功能之一。峰值检测是电子测量与其他相关技术方面经常会出现的问题。峰值反映了信号极重要的方面,尤其是小信号。峰值检测的作用就是对输入信号的波峰进行提取,产生输出Vo=Vpeak,为了实现这一目标,电路输出值要持续保持,直到达到一个新的更大的峰值出现或电路复位才可。例如,如果要求一个峰值超过某个阈值是一个简单的特性,然而,如果要求一个峰的形状类似于原型峰值,那么这样的属性就

18、是一个复杂的属性。峰值检测在很多领域都有着它们的用处,像化学、生物及音乐等方面。那些需要使用光谱、色谱法和基调监测等分析技术的科学家和工程师们就经常运用峰值检测方法中某些特定的分析方法来完成相关的信号分析和处理。2.1.2三次样条插值三次样条插值(简称Spline插值)是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程。三次样条函数定义:函数S(x)C2a,b ,且在每个小区间 xj,xj+1 上是三次多项式,其中a =x0 x1. xn= b 是给定节点,则称S(x)是节点x0,x1,.xn上的三次样条函数。若在节点x j 上给定函数值Yj= f (Xj)。(

19、j =0,1,.,n) ,并成立S(xj ) =yj ( j= 0, 1,., n) ,则称S(x)为三次样条插值函数。实际计算还必须引入一定的边界条件以及相应的必要条件才可完成计算过程。边界条件一般有自然边界(边界点的导数为0),夹持边界(边界点导数给定),以及非扭结边界(即现有的两端点的三阶导应当与此两端点各自的邻近点的三阶导相等)。2.1.3 峰值检测方法(小波、差分等)(1)阈值法 一般波形为准周期信号,可以大致划分为一个个脉动周期,在每个脉动周期内,提取波峰、波谷、波峰间隔、波谷间隔。提取准周期信号较为准确的方法是采用自相关法来计算周期,但其数据量过大而且实时性很差,不适于实时处理。

20、采用阈值法来确定实时随机信号的波峰和波谷是较常见的方法。一般的阈值法容易丢失波峰波谷,引起错误。程序开始时要预设阈值,其大小根据波形的峰峰值而定。在每个周期开始以前,即上一周期结束的时候,要设定一些初始值,包括预定本周期阈值,最大值Max、最小值Min等。从起点开始,每个采样点与Max进行比较,若大于Max,则表明波形处于上升阶段,以此采样值来更新Max,同时记录此时的时间为最大值的位置。若小于Max,则表明此波形处于下降阶段,计算此时采样值与Max的差,此差值表示当前采样值与当前最大值的距离(这里提到的差值都是绝对值)。若此差值小于阈值的1/2,则有可能此下降阶段是暂时的,或许以后还会有新的

21、极大值,也有可能此时的极大值会大于当前的最大值,因此,仍要判断以后新的采样值与Max的大小关系,直到Max与采样值的差大于阈值的1/2。若此差值大于阈值的1/2,由于波形为缓变信号波形,可以保证当前最大值即为此周期的最大值,选取波峰部分到此结束,剩下的波形为波谷部分。从上述转折点开始,对每个采样值与Min进行比较,若小于Min,则表明波形现在处于下降阶段,以此采样值来更新Min,同时记录此时时间。若大于Min,则表明波形现在处于上升阶段,计算此时采样值与Min的差,此差值表明当前采样值和当前最小值之间的距离。若此差值小于阈值的1/2,则有可能此上升阶段是暂时的,或许以后还会有新的极小值,也有可

22、能此时的极小值会大于当前的最小值,因此,仍要判断以后新的采样值与Min的大小关系,直到Min与采样值的差大于阈值的1/2。若此差值大于阈值的1/2,由于波形为缓变信号波形,可以保证当前最小值即为此周期的最小值,此次周期到此结束,转入下一个周期的寻找。(2)带通滤波法带通滤波器是一个允许特定频段的波形通过同时屏蔽其他频段的设备。它能通过某一频率范围内的频率分量、但是将其他范围的频率分量衰减到极低水平的滤波器。实际上,并不存在理想的带通滤波器。滤波器并不能够将期望频率外的所有频率完全衰减掉,即是滤波器的滚降现象。滤波器的设计尽量保证滚降范围越窄越好,随着滚降乏味越来越小,频带变得不再平坦,边缘处尤

23、为明显出现“波纹”,这种效应为吉布斯现象。带通滤波器会先设定某一频率来屏蔽初始波形中的噪声波,然后在通过阈值法来检测出波峰与波谷,这种方法较普通的阈值法要检测的峰值更加准确,清晰5。(3)差值法初始信号波形中的后一时刻值与前一时刻值的差值的绝对值可以重新形成一个新的输出波形,对新的波形在进行阈值法对其检测波形的峰值,这个方法较阈值法更精确但是有它的缺点,这个方法找到的峰值和实际波形的峰值会有差别,可能不是实际峰值,会在峰值附近,所以还必须对其附近范围进行比较取值来确定实际波形的确切波形,从而检测出波形峰值。(4)小波法小波(Wavelet)这一术语,顾名思义,“小波”就是小区域、长度有限、均值

24、为0的波形。所谓“小”是指它具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与Fourier变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。小波变换突破了传统傅里叶变化等信号处理方法的限制,在时域和频域上课同时对信号实现局部化处理,因而在检测信号奇异性等方面具有广泛的应用价值6。小波变换是一种新的变换分析方法,它继承和发展了短时傅立叶变

25、换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的时间一频率窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,因此,小波变换在许多领域都得到了成功的应用,特别是小波变换的离散数字算法已被广泛用于许多问题的变换研究中。从此,小波变换越来越引起人们的重视,其应用领域来越来越广泛。这个实验的设计就是采用了小波法来检测信号峰值,实验中依旧阈值法是基础。小波法较其他的方法都要精确,对于弱信号也一样可以检测出其实际峰值,优势明确。 FT的优缺点由其定义决定 优点:频域的分辨率最高缺点:频域丢失了时间信息,时域丢失了频率信息 窗口函

26、数的提出目的:研究信号的时间局部特征,进一步发展到短时傅里叶变换。 小波变换的基本概念如下:设为一平方可积函数,即,若其傅里叶变换满足条件: (2-1)则称为一个基本小波或小波母函数,我们称式(1)为小波函数的可容许性条件。其中t为时间,为频率,R为实数集合,为实数域平方可积空间,由函数经过伸缩和平移得到的一族函数: (2-2)称为小波函数族或依赖于a,b的连续小波,式中a,b为实数且a0,a为伸缩因子,b为平移因子。任意信号,其小波变换定义为: (2-3)由上式可知a的变化不仅改变连续小波的频谱结构,也改变其窗口的大小与形状。随着a的减小,的频谱就向高频方向移动,而的宽度则越来越狭小。这满足

27、了信号频率高相应的窗口应该小,因而它在时间或(空间)域上均有较高的分辨力。小波变换是可逆的,则信号的重构公式 (2-4)式中: (2-5) 应用小波变换对奇异信号进行检测 傅里叶变换是研究函数奇异性的主要工具。但是傅里叶变换缺乏空间局部性,它只能确定一个函数奇异性的整体性质,而难以确定奇异点在空间的位置和分布情况。小波分析具有空间局部化性质,因此,利用小波分析来分析信号的奇异性及奇异点的位置和奇异度的大小是比较有效的。信号的奇异性一般分为两种情况:一种是信号在某一个时刻内,其幅值或频率发生突变,幅值或频率发生突变处是第一种类型的间断点;另一种是信号外观上很光滑,幅值没有突变,但是信号的一阶微分

28、有突变产生,且一阶微分是不连续的,称为第二种类型的间断点。定义:在某一尺度下,如果存在一点使得 (2-6)则称点是局部极值点,且在上有一个模极大值(过零)点。如果对的某一领域内的任点y,有 (2-7)则称为小波变换模极大值(过零)点。尺度空间中所有的模极大值点的模极大值线。关于模极大值与信号的突变(奇异)点有下面的定理。定理:设n为一严格的整数,为具有n阶消失矩、n次连续可微和紧支集的小波,若存在尺度,使得没有局部极大值点,则在区间是一致Lipschitz a(为任意小的正数)。一般来讲,函数在某一点的Lipschitz 指数a表征了该当的奇异性大小,a越大,该点的光滑度越高;a越小,该点的奇

29、异性越大。 基本概念:连续小波变化 (2-8) (2-9) (2-10) 基本概念:基小波与参数参数有 尺度参数 反映频率 平移参数 反映时间图2-1 信号尺度图2-2 信号尺度与频率图2-3信号平移 离散化:a与b取离散值 (2-11) (2-12) (2-13)2.2 实验过程所用方法的原理2.2.1 相关性运算的原理(1)相关性综述所谓相关是指有明显的规律性,即在时间轴上任意时间间隔为的两个时刻的取值x(t1)与x(t1+)、x(t2)与x(t2+)、x(t3)与x(t3+)、x(tm)与x(tm+)均大于或小于平均值m。均有相同的符号,两者均大于或均小于平均值m。对于两两相乘总为正,求

30、其均值的数值大,固相关性好。反之,则间隔的两个时刻的取值x(tm)、x(tm+)无明显的规律性。(2)自相关函数自相关函数描述的是时间间隔为的两个任意时刻t与(t+)的随机信号取值的相关性,记为RX()或Ex(t)x(t +)。x(t)的自相关函数RX()定义如下: RX()=Ex(t)x(t+)= (2-14)将连续时间信号x(t)用等时间间隔t采样取值,则时间t=nt(n=0,1,2,N-1),时延=mt(m=0,1,2, ,I-1),得信号x(t)的离散时间序列x(nt)。 自相关函数的特点: 当=0时的自相关值RX(0)为RX ()的最大值,且RX(0)等于均方值2。 当Rx()m,而

31、随机信号取得很小的值时,此时自相关函数值取得最小值m。 确定性信号x(t)与自相关函数Rx()的周期和周期性是一致的。2.2.2 卷积运算的原理(1)卷积综述 简单介绍卷积是分析数学中一种重要的运算。设:f(x),g(x)是R1上的两个可积函数,作积分(如右图): (2-15)由此可证明,几乎所有的实数x,上述的积分都是存在的。这样,随着不同的x取值,这个积分就定义了一个新的函数h(x),称为函数f与g的卷积,记为h(x)=(f*g)(x)。容易验证,(f * g)(x) = (g * f)(x),并且(f * g)(x)仍为可积函数。卷积运算与傅里叶变换之间存在着密切的联系。利用这一点性质,

32、即两函数进行傅里叶变换后的相互乘积等于它们两者卷积之后再进行的傅里叶变换,这可使傅里叶变换在分析中遇到的许多问题的处理得到充分的简化。由两者卷积后得到的新函数f*g一般要比f和g都光滑。特别当g为具有紧致集的光滑函数时,并且f是局部可积时,它们两者的卷积结果f * g也是光滑函数。利用这个性质,对于出现的任意一个可积函数f,都能简单地形成逼近于f的新的光滑函数列fs,这种方法被称为函数的光滑化或正则化7。(2) 一维卷积运算信号的线性卷积为x(t)和y(t): h(t)=x(t)*y(t) = (2-16) *符号代表线性卷积。 如算法为direct,VI将使用下列等式离散实现线性卷积,并获取

33、X * Y的元素。 hj= (2-17)i = 0, 1, 2, , M+N2, h为X * Y, N是X中元素的个数,M是Y中元素的个数。超出矩阵X和Y范围的索引元素等于零,如下列关系所示:Xj = 0, j 0 或j N与Yj = 0, j 0,或j M。 如算法为frequency domain,VI将按照下列步骤计算线性卷积: 首先,按照下列公式,VI在X和Y的结尾填充0,是其长度为M + N 1。 (2-18) (2-19)然后,VI按照下列公式对X和Y进行傅立叶变换。 X(f) = FFT(x) (2-20) Y(f) = FFT(y) (2-21)最后,VI用X(f)乘以Y(f)

34、得到积的反傅立叶变换。结果为下列公式所示的X和Y的线性卷积。 X * Y = IFFT(X(f) Y(f) (2-22) 因此,VI计算的是线性卷积,而非循环卷积。由于x(t) * y(t)N X(f)Y(f)是傅立叶变换对,可用于创建循环卷积,x(t) * y(t)N是x(t)和y(t)的循环卷积。(3)二维卷积运算算法为direct时,该VI将使用下列方程计算输入矩阵X和Y的二维卷积。 h(i,j) = (2-23)i = 0,1,2,M1+M22,j = 0,1,2, ,N1+N22h为X * Y,M1是矩阵X中的行数,N1是矩阵X的列数,M2是矩阵Y中的行数,N2是矩阵Y中的列数。超出

35、矩阵X和Y范围的索引元素等于零,如下列关系所示:x(m,n),m 0 或m M1 或n 0 或n N1与y(m,n),m 0 或m M2 或n 0 or n N2。如算法为frequency domain,VI将按照下列步骤计算二维卷积:首先,该VI用0填充X和Y的末尾,使信号的大小满足(M1 + M2 1)行(N1 + N2 2)列。如下列方程所示: (2-24) (2-25)然后,VI按照下列公式对X和Y进行傅立叶变换。 X(f) = FFT(x) (2-26)Y(f) = FFT(y) (2-27) 最后,VI用X(f)乘以Y(f)得到积的反傅立叶变换。结果为下列公式所示的X和Y的二维卷

36、积。 X * Y = IFFT(X(f) Y(f) (2-28) 输出大小决定了输出矩阵X * Y的大小。第三章 Labview编程基础及其信号运算工具箱3.1 Labview的简介LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器公司(NATIONAL INSTRUMENTS,简称NI)的创新软件产品,也是目前应用范围最广、发展速度最快、功能最强大的图形化软件开发集成环境。 Labview语言具有丰富的扩展函数库,集成了大量的生成图形界面的模板,如各种表头、旋钮、开关、LED指

37、示灯、图表等,界面直观、形象,相对于传统的编程方式而言,它简单易学而且执行效率高。Labview软件平台采用数据流编程,自动实现了多线路处理多线程运行程,充分利用了多处理器的处理能力。内建有编译器,能在用户编写程序的同时自动完成了编译,因此如果用户在编写程序的过程中有语法错误,能立即在显示器上显示出来。同时,它还提供了大量的驱动和专用工具,几乎能够与任何接口的硬件进行轻松连接。因此,利用Labview可以高效地构建出一个功能丰富、界面美观的虚拟仪器,实现数据信号采集、波峰检测分析等功能8。3.2 Labview的编程环境与一般的程序相比,LabVIEW提供了三个浮动的图形化工具模板,分别是工具

38、模板、控制模板和功能模板。 (1)工具模板 (2)控件模板 (3)函数模板 图3-1 工具模板 图3-2 控件模板 图3-3 函数模板3.3 设计过程中常用功能简介3.3.1 数据类型LabVIEW与传统编程语言中的数据类型相似,除了一般的数据类型外,还存在一些特有的数据类型。LabVIEW中的数据类型包括数字型(Numeric)、布尔型(即逻辑型,Boolean)和字符串型(String);构造数据类型包括数组和簇;其他数据类型包括枚举(RefNum)、空类型等9。数字类型的前面板对象包含在控制模板 Numeric子模板中,传统的数据类型分为变量和常量两种。LabVIEW的子模板包括多种不同

39、形式的控制和指示,它们的外观各不相同,数字量、滚动条、水箱、温度计、旋钮、表头、刻度盘以及颜色框等,但本质是完全相同的,都是数字型,只是外观不同而已。3.3.2 结构LabVIEW中主要有循环结构、顺序结构、公式节点、条件结构和事件结构等。循环结构分为For循环和While循环。(1)For循环For循环是LabVIEW最基本的结构之一,如图3-4所示。它执行指定次数的循环,相当于语言中的For循环: For (i=0; iN; i +) 图3-4 for循环LabVIEW中的For循环可从框图功能模板编程结构子模板中创建。大多数情况下,用户使用For循环处理数组。这是因为LabVIEW已经知

40、道了元素的个数,而且自动变址功能会为用户自动处理迭代:用户所要做的所有事情是将数组装入循环,迭代次数会与数组中的元素的个数相等。(2)While 循环While 循环也是LabVIEW中重要的结构,如图3-5所示,它相当于C语言中的while结构: While() 当前循环环次数当前循环次数 图3-5 While循环LabVIEW在执行while循环时,正常情况下没有必要让while循环以最大速度运行,所以一般给循环加上时间间隔。(3)事件结构如图3-7所示,事件结构也是一种选择结构,程序根据发生的事件决定执行哪一个页面的程序。此时,LabVIEW 的界面编写与 Visual Basic 的界

41、面程序有些类似。 图3-7 时间结构3.3.3 数学运算LabVIEW的数学运算功能主要由功能模板Numeric子模板中的节点完成,如图3-8所示。Numeric 模板由基本的数学运算节点,类型转换节点、三角函数节点、对数节点复数节点和附加常数节点组成。基本数学运算节点不仅实现加、减、乘、除等基本运算,还可以实现求整、开方、求幂、数组求和、求积和复合运算等功能。基本运算节点支持数值输入。但与一般编程语言提供的运算符相比,LabVIEW的数学运算节点功能更强,使用更灵活,它不仅支持单一的数值量输入,还可以支持处理同类型的复合型数值量,比如由数值构成的数组、簇和簇数组等。数值类型包括浮点数、整数和

42、复数10。图3-8 数学运算模板中的Trigonometric子模板可实现各种三角函数运算,该模板中的节点均心为弧度为单位。节点的输入可以是数字标量、数字量的数组或簇、数字量的簇的数组。该模板包括了大部份常用三角函节点,如sinx、coax、tanx、arcsinx、sinc等。基本运算模板还可以通过类型转换节点在各种不同的数据类型之间进行转换,通过对数节点和复数节点进行对数与复数的运算。 3.3.4 比较运算比较运算就是通常所说的关系运算,比较运算节点包含在Comparison子模板中,如图3-9所示。LabVIEW中可以进行以下几种类型的比较:数字值的比较、布尔值的比较、字符串的比较以及簇

43、的比较。比较节点在比较两个数字值时,会先将其转换为同种类型的数字。两个布尔值比较时,Ture比False值大。字符串的比较是按照字符在ASCII表中的等价数字进行比较的。3.3.5 数组创建一个数组,可从函数模板的Array & Cluster子模板中创建,如图3-9所示。但这时只不过是一个数组框架不包含任何内容,再根据需要将相应数据类型的前面板对象放入数组框架中,更得所需的数组类型。当有一串数据需要处理时,它们很可能是一个数组,大多数的数组是一维数组,少数是二维数组,极少数为三维数组。在LabVIEW上可以创建数字类型、字符串类型、布尔类型以及其他任何数据类型的数组。数组是LabVIEW中常用的数据类型之一,

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

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁