LabVIEW中的波形数据剖析
- 格式:doc
- 大小:1.31 MB
- 文档页数:10
LabVIEW中的波形数据与其他基于文本模式的编程语言不同,在LabVIEW中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。
但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。
这一节将主要介绍创建波形数据以及处理波形数据的方法。
1 波形数据的创建LabVIEW中的波形数据既可以由一些用于产生波形的函数、VIs以及Express VIs生成,也可以由数据采集函数从数据采集卡中采集数据而得到。
下面主要介绍用函数、VIs以及Express VIs生成波形数据的方法。
在LabVIEW中,与创建波形数据相关的函数、VIs以及Express VIs主要位于函数选板中的波形(Waveform)子选板以及信号处理(Signal Processing)子选板中,两个选板分别如图6-19以及图6-20所示。
图6-19 波形子选板图6-20 信号处理子选板下面介绍一些常用的用于产生波形数据的函数、VIs以及Express VIs的使用方法。
1.基本函数发生器函数(Basic Function Generation.vi)基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。
图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。
程序的后面板如图6-22所示。
图6-21 基本函数发生器函数演示程序的前面板图6-22 基本函数发生器函数演示程序的后面板2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi)调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。
LabVIEW中的信号发生器与波形分析在LabVIEW中,信号发生器和波形分析是两个非常重要的功能模块。
信号发生器可以帮助我们生成各种类型的信号波形,而波形分析则可以对实时采集到的波形进行分析和处理。
本文将介绍LabVIEW中信号发生器和波形分析的基本原理及使用方法,并结合具体案例进行说明。
一、信号发生器在LabVIEW中,信号发生器可以帮助我们生成各种类型的信号波形,比如正弦波、方波、三角波等。
使用信号发生器,我们可以通过调节参数来调整信号的频率、幅度、相位等属性。
下面将以生成正弦波为例,介绍LabVIEW中信号发生器的使用方法。
1. 创建信号发生器 VI首先,在LabVIEW中创建一个新的VI,将信号发生器模块拖拽到VI的面板上,然后双击打开该模块进行配置。
2. 设置信号参数在信号发生器模块的属性窗口中,可以设置信号的频率、幅度、相位等参数。
以生成正弦波为例,我们可以设置频率为1000Hz,幅度为1V,相位为0度。
3. 运行信号发生器将信号发生器模块与输出设备(如声卡)连接起来,然后点击运行按钮即可生成对应的信号波形。
二、波形分析在LabVIEW中,波形分析是对实时采集到的波形进行分析和处理的功能模块。
通过波形分析,我们可以获取波形的幅值、频率、相位等参数,并进行进一步的数据处理。
下面将以频谱分析为例,介绍LabVIEW中波形分析的使用方法。
1. 创建波形分析 VI同样地,在LabVIEW中创建一个新的VI,将波形分析模块拖拽到VI的面板上,然后双击打开该模块进行配置。
2. 设置分析参数在波形分析模块的属性窗口中,可以设置分析的类型、窗口函数、采样率等参数。
以频谱分析为例,我们可以选择FFT算法作为分析类型,并设置采样率为1000Hz。
3. 运行波形分析将波形分析模块与输入设备(如声卡)连接起来,然后点击运行按钮即可进行波形的实时分析。
三、应用案例为了更好地理解LabVIEW中信号发生器和波形分析的使用方法,下面将结合一个实际应用案例进行说明。
LabVIEW 中的波形数据与其他基于文本模式的编程语言不同,在LabVIEW 中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。
但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。
这一节将主要介绍创建波形数据以及处理波形数据的方法。
1 波形数据的创建LabVIEW 中的波形数据既可以由一些用于产生波形的函数、VIs 以及Express VIs 生成,也可以由数据采集函数从数据采集卡中采集数据而得到。
下面主要介绍用函数、VIs 以及Express VIs 生成波形数据的方法。
在LabVIEW 中,与创建波形数据相关的函数、VIs 以及Express VIs 主要位于函数选板中的波形(Waveform )子选板以及信号处理(Signal Processing )子选板中,两个选板分别如图6-19以及图6-20所示。
下面介绍一些常用的用于产生波形数据的函数、VIs 以及Express VIs 的使用方法。
1.基本函数发生器函数(Basic Function Generation.vi )基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设图6-19 波形子选板图6-20 信号处理子选板定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。
图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。
程序的后面板如图6-22所示。
2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi )调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。
数据类型:数组、簇和波形.1概述数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n – 1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
图3-1数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
labvie w中波形图和波形图标到底有什么区别2009-09-06 17:33先说明一下,不知道你在补充问题中说的公式模型发生器是什么函数,主要要看它的输出数据类型。
波形图和波形图表支持以下数据类型。
LabVIE W使用波形图和图表显示具有恒定速率的数据。
波形图用于显示测量值为均匀采集的一条或多条曲线。
波形图仅绘制单值函数,即在y = f(x)中,各点沿x轴均匀分布。
例如一个随时间变化的波形。
波形图可显示包含任意个数据点的曲线。
波形图接收多种数据类型,从而最大程度地降低了数据在显示为图形前进行类型转换的工作量。
注:数字波形图用于显示数字数据。
在波形图中显示单条曲线波形图接收多种数据类型以显示单条曲线。
对于一个数值数组,其中每个数据被视为图形中的点,从x = 0开始以1为增量递增x索引。
波形图接受包含初始x值、△x及y数据数组的簇。
波形图也接收波形数据类型,该类型包含了波形的数据、起始时间和时间间隔(△t)。
波形图还接收动态数据类型,用于Express VI。
动态数据类型除包括对应于信号的数据外,还包括信号信息的各种属性,如信号名称、数据采集日期和时间等。
属性指定了信号在波形图中的显示方式。
当动态数据类型中包含单个数值时,波形图将绘制该数值,同时自动将图例及x标尺的时间标识进行格式化。
当动态数据类型包含单个通道时,波形图将绘制整个波形,同时对图例及x标尺的时间标识自动进行格式化。
在波形图中显示多条曲线波形图接收多种数据类型以显示多条曲线。
波形图接收二维数值数组,数组中的一行即一条曲线。
波形图将数组中的数据视为图形上的点,从x = 0开始以1为增量递增x索引。
将一个二维数组数据类型连接到波形图上,右键单击波形图并从快捷菜单中选择转置数组,则数组中的每一列便作为一条曲线显示。
LabVIEW中的波形图所谓曲线就是一组X与Y对应数值的图形化显示。
通常曲线图中的Y值代表了数据值,而X值则代表了时间。
波形图控件(waveform chart)可以在Controls工具面板的Modern>>Graph子面板中找到。
这个控件是一个专门用来显示一个或多个数据曲线的数值类型的指示器控件。
这个控件经常在循环结构中使用,用来保留与显示以前采集到的数据,并追加新产生的数据,将这些数据以连续更新的方式进行显示。
在波形图控件中,Y值表示了新产生的数据,X值表示了时间(通常,每次循环就产生一组新的Y值,而X值则表示了一个循环的时间)。
在LabVIEW中只有一种波形图控件,不过这个控件有三种数据刷新模式。
下图就是一个多曲线波形图的例子。
波形图更新模式波形图控件的三种数据更新模式分别是带状记录纸模式(strip chart),示波器图模式(scope chart)以及扫描图模式(sweep chart),如下图所示。
数据更新模式可以通过在波形图控件上面点击鼠标右键后在弹出菜单中的Advanced>>Update Mode>>子菜单来加以改变。
如果在VI程序运行期间想要修改波形图控件的数据更新模式,由于运行时的控件右键菜单与编程时的不同,就在该控件的邮件菜单中的Update Mode中选择即可。
带状记录纸模式的显示和真正的带状记录设备的显示相像。
示波器图模式则和真正示波器的曲线显示相像,该模式中当曲线到达波形图的右边界之后,整个曲线就会清除并从波形图的左边界重新开始显示。
扫描图模式与示波器图模式十分相似,不过扫描图模式中曲线到达右边界后并不会有清除动作,而是有一个竖线出现在波形图中,该竖线标识着新数据的开始,并在新数据不停添加的时候,该竖线会慢慢移动。
这些区别在看到实际波形图控件在不同刷新模式先运行之后就很容易区别开来的。
由于示波器图模式与扫描图模式在追溯以往曲线上比带状记录纸模式的开销要少,所以这两种数据更新模式要比带状记录纸模式很明显的快得多。
LABview波形数据波形数据类型是由3个元素构成的簇:当第一个采样点为采集的初始时(t0),时间值的增加或步进值(dt),以及采集到的数据数组(Y)。
如果您测到的数据已经是波形数据类型的话,您可以直接把它连接到waveform chart和graph控件。
关于引入时间信息作为waveform chart和graph控件的x轴请参考以下的知识库链接。
非波形数据如果您采集的数据不是波形数据类型,但是您仍旧希望绘制数据及其采集时间的图,您需要做以下工作(参考下面的LabVIEW VI例程):1.使用Get Date/Time In Seconds VI位于Functions » Time & Dialog选板。
注意不要使用Get Date/Time String函数。
将该函数放置在您获得数据的循环内。
2. 使用Bundle函数位于Functions » Cluster选板将您的数据点和时间值在该循环内组合成簇。
注意,您需要将时间值连在bundle函数上面的输入端口,(对应x轴数值)数据位于bundle函数下端的输入端口(对应于y轴数值)3. 将Bundle函数的输出连到XY Graph端口位于您程序框图的循环之外。
该XY 图能够从前面板的Controls » Graph子选板中得到。
确认在循环的边界的簇连线上允许索引(enable indexing)。
您可以右击循环边界上的连线隧道选择允许索引实现该功能。
4. 右击前面板上的XY图进入并点击X Scale » Formatting...5. 从Format下拉菜单,选择Time & Date6. 完成您期望在x轴上显示的时间以及/或者日期格式7. 选择OK保存该更改。
基于Labview的波形产生和测量以及波形数据加密程序的设计物理与微电子学院2005级基地班徐明升(20051001143)摘要:本文简单介绍了labview软件的优势,然后介绍了一种利用labview语言设计的波形产生以及显示,同时对波形数据进行存储和加密,具体阐述了波形产生和波形数据加密程序的设计流程以及具体语言实现。
最后对自己短时间内学习labview的体会做了一些叙述。
关键词:Labview语言波形产生波形测量文本文件加密程序Keywords:labview language Wave ProduceWave Measure Text file Encrpytion software1. LabVIEW语言简介LabVIEW是美国NI公司利用虚拟仪器(virtual instnlments)技术开发的32位,主要面向计算机测控领域的虚拟仪器软件开发平台。
LabVIEW同时也是一一种功能强大的图形编程语言,但它与传统的文本编程语言(如c语言)不同,采用了一种基于流程图的图形化编程形式,因此也被称为G语言(graphical language)。
这种图形化的编程形式,方便了非软件专业的工程师快速编制程序。
在完成本程序的设计过程中,我十分强烈的感受到“基于流程图的图形化编程”的优势和便捷。
2.程序流程图运用labview设计程序进行相关测量已经被广泛运用,而测量数据有些时候需要远程传送,为了增强保密性,故设计了本程序。
波形产生以及数据文件加密的方式有很多种,由于本人认真学习labview语言不足半周,对其了解非常少,因此本程序设计的也非常简单。
2.1 波形产生的程序流程图设计2.2 数据加密程序的流程图3.最终程序前面板如下图所示:后面板如下图所示:4.程序设计详述:为了使程序一直运行,因此选取while循环结构,使所有程序在其中运行,运行条件为“真停止运行”并在运行条件前加布尔常量“F”。
选取布尔开关量作为第一个选择语句的条件,当开关量为“1”时,程序进入装换部分,为“0”时进入空操作。
LabVIEW中的时标、波形以及动态数据在LabVIEW中我们分析或采集的数据通常都是时间的函数。
例如,我们可能希望知道在一天中温度随着时间的变化,或者是变化的波形在时间轴上绘出之后的样子。
LabVIEW有一些特殊的数据类型可以用来帮助一般的用户来以曲线的形式分析或展示这些数据。
这些特殊的数据类型就是时标(Time Stamp)、波形(Waveform)和动态数据(dynamic data)。
时标数据用来存储波形中的时间信息而多个波形可以保存在动态数据中。
由于时标、波形以及动态数据的自然依赖关系,我们就在本文中对它们一起介绍。
时标(Time Stamp)时标这个数据类型用来存储绝对日期/时间值,比如数据采集的时间。
它的精度非常高,不论是对于计数秒的整数部分还是分数部分都有19位的精度。
虽然我们可通过将一个数值控件的显示方式设定为日期/时间来存储与显示时标值,不过数值控件保存的是相对值,而时标控件保存的则是绝对值。
在LabVIEW中,我们可以使用Get Date/Time In Seconds函数来获取当前的时标值。
一个时标控件如下图所示:时标是一个高精度保存绝对时间的手段,而时标控件则可以用来查看与修改时标的值。
时标控件可以在Controls控件面板的Modern>>Numeric子面板中找到。
通过点击你要修改的时标控件左侧的上下箭头就可以对该时标的值进行增减操作。
或者是通过键盘直接键入数值来取代时标的当前值。
也可以在时标控件上点击鼠标右键,并在右键菜单中选择Data Operations>>Set Time to Now将时标的值设置为当前的日期与时间。
日期/时间浏览按钮不过我们还有一个更有趣的修改时标的方法,那就是点击时标控件右侧的日期/时间浏览按钮。
在点击该按钮之后,就会弹出下面的日期与时间设置对话框。
从这个对话框,我们能够轻松的用这个日历式的界面来修改时标的日期与时间值。
LabVIEW中的波形数据
与其他基于文本模式的编程语言不同,在LabVIEW中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。
但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。
这一节将主要介绍创建波形数据以及处理波形数据的方法。
1 波形数据的创建
LabVIEW中的波形数据既可以由一些用于产生波形的函数、VIs以及Express VIs生成,也可以由数据采集函数从数据采集卡中采集数据而得到。
下面主要介绍用函数、VIs以及Express VIs生成波形数据的方法。
在LabVIEW中,与创建波形数据相关的函数、VIs以及Express VIs主要位于函数选板中的波形(Waveform)子选板以及信号处理(Signal Processing)子选板中,两个选板分别如图6-19以及图6-20所示。
图6-19 波形子选板
图6-20 信号处理子选板
下面介绍一些常用的用于产生波形数据的函数、VIs以及Express VIs的使用方法。
1.基本函数发生器函数(Basic Function Generation.vi)
基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设
定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。
图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。
程序的后面板如图6-22所示。
图6-21 基本函数发生器函数演示程序的前面板
图6-22 基本函数发生器函数演示程序的后面板
2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi)
调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。
图6-23与图6-24所示的程序演示了调谐与噪声波形发生函数的使用方法。
程序中用一个频率10Hz和一个频率为1Hz,幅值均为10V,相位均为0度的两路正弦波叠加,并将叠加后的波形展示于波形图形(Waveform Graph)控件中加以显示。
图6-24 调谐与噪声波形发生函数演示程序的后面板
3.公式波形发生器函数(Formula Waveform.vi)
公式波形发生器函数可以按照用户编辑的公式产生波形数据。
在图6-25和图6-26所示的程序中,按照公式Y=sin(wt)*sin(2*pi(1)*t)产生波形数据,并交给波形图形控件(Waveform Graph)实时显示。
图6-25 公式波形发生器函数演示程序的前面板
图6-26 公式波形发生器函数演示程序的后面板
4.正弦波发生器函数(Sine Waveform .vi)
正弦波发生器是一种十分常用的函数,可以用来产生频率、幅值和相位可控的正弦波波形数据。
图6-27和图6-28分别是正弦波发生器函数演示程序的前面板和后面板。
图6-27 正弦波发生器函数演示程序的前面板
图5-28 正弦波发生器函数演示程序的后面板
5.方波发生器函数(Square Waveform.vi)
方波发生器也是一种十分常用的函数,可以用来产生频率、幅值和相位可控的方波波形数据。
图6-29和图6-30是方波发生器函数演示程序的前面板和后面板。
图6-30 方波发生器函数演示程序的后面板
6.信号仿真函数(Simulate Signa)
信号仿真函数是LabVIEW中具有代表性的Express VIs,它具备Express VIs功能强大、使用方便的一般特点。
只要在该Express VI的属性窗口中对其属性作简单的设置就可以生成正弦波、方波、三角波、锯齿波以及直流信号,并且可以设置波形的幅值、频率等多种属性。
利用信号仿真函数编写的例程的前面板和后面板分别如图6-31和图6-32所示。
图6-31 信号仿真函数演示程序的后面板
图6-32 信号仿真函数演示程序的后面板
2 波形数据的使用
LabVIEW 中用于处理波形数据的函数、VIs 、以及Express VIs 主要位于函数选板中的信号分析(Analyze )子选板和波形(Waveform )子选板中,下面对其中比较常用的几个函数、VIs 和Express VIs 作简要的介绍。
1.获取波形数据中的成员函数(Get Waveform Components.vi )
获取波形数据中的成员函数可以将波形数据中的波形触发的时刻、波形数据的数据点之间的时间间隔以及波形数据值等信息提取出来,便于后续分析和处理。
在图6-33所示的获取波形数据中的成员函数演示程序中,用基本函数发生器产生一个正弦信号,并获得这个正弦信号的波形的起始时刻t 0,波形采样时间间隔d t 以及波形数据Y 。
2.脉冲测量函数(Pulse Measurements.vi )
脉冲测量函数可以用来测量波形数据的周期、脉冲持续时间等波形数据的属性。
图6-34所示的程序演示了该VI 的使用方法。
3.测量波形的幅值及其最大值、最小值函数(Amplitude and Levels.vi )
该函数用来测量波形数据的幅值、最大值以及最小值。
图6-35所示的程序测量了一个正弦波发生器函数产生的波形数据的幅值、最大值以及最小值。
图6-34 脉冲测量函数演示程序的前、后面板
图6-33 获取波形数据中的成员函数演示程序的前、后面板
4.波形的频谱测量函数(Spectral Measurements.vi )
波形的频谱测量函数可以对波形数据作频谱分析,测量数据的幅值谱和相位谱,该函数的[属性]对话框如图6-36所示,只要在[属性]对话框中对该函数的属性作设置就可以简单地对该VI 进行频谱分析。
图6-37所示的程序分析了正弦波发生器产生的正弦数据的频谱。
图6-35 测量波形的幅值及其最大值、最小值函数演示程序的前、后面板
图6-36 波形的频谱测量函数的属性对话框
图6-37 波形的频谱测量含糊演示程序的前、后面板
5.波形的幅值与极值测量(Amplitude and Level Measurements)
波形的幅值与极值测量函数可以测量波形数据的幅值、最大值、最小值、平均值、均方差值等数值。
它的属性窗口如图6-38所示。
图6-38 波形的幅值与最值测量函数的属性窗口
图6-39和图6-40所示的程序演示了波形的幅值与最值测量函数的使用方法。
图6-39 波形的幅值与最值测量函数演示程序的前面板
图6-40 波形的幅值与最值测量函数演示程序的后面板
6.波形的时间以及过渡态测量函数(Timing and Transition Measurements)
这个函数可以用来测量波形数据的周期、脉冲宽度、占空比、超调等多种时域以及过渡态的性质、图6-41展示了这个函数的属性窗口,在这里可以设置该Express VI输出哪些属性。
图6-42和图6-43所示的程序演示了波形的时间以及过渡态测量函数的使用方法。
图6-41 波形的时间以及过渡态测量函数的属性窗口
图6-42 波形的时间以及过渡态测量函数演示程序的前面板
图6-43 波形的时间以及过渡态测量函数演示程序的后面板。