You are on page 1of 100

第 7 章 LabVIEW 中信号分析与处理

第7章 LabVIEW 中信号分析与处理

7.1 Waveform Generation VI模块


7.2 Waveform Measurements VI模块
7.3 Waveform Conditioning VI模块
7.4 Waveform Monitoring VI模块
本章小结
练习与思考
第 7 章 LabVIEW 中信号分析与处理

7.1 Waveform Generation VI 模块


Waveform Generation VI 模块为波形发生模块,主要用来

产生波形仿真信号。本书中为了方便程序模块的调试,在很多

时候用这个模块产生仿真信号来测试我们的程序。这样,可以

不必每次调试都连通真实的信号源或被测对象。

Waveform Generation VI 包括的 VI 的功能如表 7-1 所示。


第 7 章 LabVIEW 中信号分析与处理

表 7-1 Waveform Generation VI 功能列表


序号 图 标 和 端 口 功 能 简 介

根据所选择的信号类
型产生波形信号。可以产
1
生四种基本波形,其中的
默认值为正弦波
第 7 章 LabVIEW 中信号分析与处理

续表(一)
序号 图 标 和 端 口 功 能 简 介

产生由正弦、噪音和直
2 流偏移量复合而成的波形
信号

根据所给定的公式产生
3
波形信号
第 7 章 LabVIEW 中信号分析与处理

4 产生正弦波波形信号

5 产生方波波形信号
第 7 章 LabVIEW 中信号分析与处理

6 产生三角波波形信号

7 产生锯齿波波形信号
第 7 章 LabVIEW 中信号分析与处理

序号 图 标 和 端 口 功 能 简 介

产生由多个频率组成的
8
正弦波波形信号

产生由多个频率组成的
正弦波波形信号,与Basic
9 Multitone.vi不同的是,每
个频率的幅值可以单独由
tone amplitudes 决定
第 7 章 LabVIEW 中信号分析与处理

产生由多个频率组成的
正弦波信号。需要注意的
是:tone frequencies、tone
10 amplitudes和tone phases三
个参数均为数组,这样我
们可以分别设置不同频率
的幅值和相位

11 白噪音发生器
第 7 章 LabVIEW 中信号分析与处理

高斯白噪音发生器中的
标 准 偏 差 可 由 standard
12
deviation 设定,其默认值
为1.0

13 周期随机噪声发生器
第 7 章 LabVIEW 中信号分析与处理

序号 图 标 和 端 口 功 能 简 介

用于产生一个为指定频
14
率倒数的噪音信号

15 伽马噪音发生器
第 7 章 LabVIEW 中信号分析与处理

16 泊松噪音发生器

17 二项噪音发生器
第 7 章 LabVIEW 中信号分析与处理

18 伯努利噪音发生器

19 MLS序列发生器

20 仿真信号发生器
第 7 章 LabVIEW 中信号分析与处理

下面,通过几个简单的实例来说明 Waveform Generation

VI 的使用方法。

1 .利用 Basic Function Generator.vi 产生常见的波形

利用 Basic Function Generator.vi 产生的常见波形有正弦波、

三角波、方波和锯齿波四种,其中,可利用产生的标准正弦信

号对测试程序本身进行自检。该实例的产生信号的前面板图和

相对应的流程框图分别如图 7-1 和图 7-2 所示。


第 7 章 LabVIEW 中信号分析与处理

图 7-1 Basic Function Generator.vi 产生信号的前面板图


第 7 章 LabVIEW 中信号分析与处理

图 7-2 Basic Function Generator.vi 产生信号的流程框图


第 7 章 LabVIEW 中信号分析与处理

在前面板的操作面板中,我们既可以选择产生正弦波、三
角波、方波或者是锯齿波,也可以改变频率、幅值和相位等
参数来改变具体波形的属性。在这个实例中用到的 VI 主要有
两个:
1) Basic Function Generator.vi
Basic Function Generator.vi 位于 Function→Analyze→Wa
veform Generation 中,其图标和端口如图 7-3 所示。
第 7 章 LabVIEW 中信号分析与处理

图 7-3 Basic Function Generator.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:产生一个基本的函数信号 ( 正弦波、三角波、方波、
锯齿波 ) 波形。
主要端口说明:
 offset :信号直流偏移,默认值为 0.0 。
 reset signal :是否将信号复位。此端口只有在进行连
续运行时有效。默认值为 False ,即下次产生的信号延续前次
信号结束时的时间和相位,相当于连续采集。当设置为 True
时表示每次产生的信号相当于将信号复位至初始时间为 0 ,初
始相位为相位端口的设定值。
 signal type :信号类型,包括正弦波、三角波、方波
和锯齿波。
 frequency :信号频率。
第 7 章 LabVIEW 中信号分析与处理

 amplitude :信号幅值。
 phase :信号初始相位。
 error in(no error) :错误信息输入。
 sampling info :采样信息设置。可以设置采样频率和
采样点。
 square wave duty cycle(%) :方波的占空比。
 signal out :输出的信号。
 phase out :信号采样结束时的相位。
 error out :错误输出。
第 7 章 LabVIEW 中信号分析与处理

2) FFT Power Spectrum.vi


FFT Power Spectrum.vi 位于 Function→Analyze→Wavefor
m Measurements 中,其图标和端口如图 7-4 所示。

图 7-4 FFT Power Spectrum.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:计算信号的功率谱密度。
主要端口说明:
 restart averaging :平均处理是否重置。
 time signal :输入的时间信号。
 window :指定时域窗函数类型。
 dB On(F) :设定表示结果是否表示为分贝,默认值
为 False 。
 error in :错误输入。
 averaging parameters :平均处理参数。
 averaging done :若已完成平均数大于或等于平均参
数中指定的平均数目,将返回 TRUE ,否则返回 FALSE 。
第 7 章 LabVIEW 中信号分析与处理

 power spectrum :返回功率谱密度值 ( 这里的返回值


为簇类型,我们可以根据实际需要分解出所需要的参数 ) ,包
括起始频率 f0 、间隔频率 df 和平均功率谱密度幅值。
 averages completed :返回到目前为止平均处理完成
的数目。
 error out :错误输出。
这个实例比较简单, Basic Function Generator.vi 模块各项
参数的设置很容易,只需要按照所需的参数值设置就可以得到
预期的模拟信号源。在以后的例子中,我们仍利用 Basic Funct
ion Generator.vi 产生所需要的模拟信号。
第 7 章 LabVIEW 中信号分析与处理

2 .利用 Simulate signal.vi 产生复杂的波形信号


前一个实例中,我们利用 Basic Function Generator.vi 产生
了几个最为常见的波形信号,本实例中我们利用另外一个 VI
来产生更为复杂的波形信号。 Simulate signal.vi 是 LabVIEW
7.1 中新出现的一个 VI ,它的功能很强大,几乎包括了 Wavef
orm Generation VI 中所有的功能。它的使用比较简单,只要将
输出和我们的输入接口相连接就可以了。例如,若要产生正弦
波,只需设置好 Simulate signal.vi 的属性。在流程框图中双击
Simulate signal.vi 的图标或者单击右键,在弹出菜单中选择属
性,我们就可以看到如图 7-5 所示的属性图。
第 7 章 LabVIEW 中信号分析与处理

图 7-5 Simulate signal.vi 的属性图


第 7 章 LabVIEW 中信号分析与处理

在 Signal 栏中我们可以对信号的类型、频率、相位、幅值
和偏移进行设置 ( 当然,也可以在前面板中对这些属性进行设
置 ) 。在选中了 Add noise 栏后,可以根据需要对产生信号加
入不同的噪音。 Simulate Signal.vi 产生信号的前面板图和流程
框图分别如图 7-6 和图 7-7 所示。通过 Simulate signal.vi ,我
们可以看出 NI 在对程序模块化方面所做的努力,尽量简化例
行的操作,从而使得用户把精力放在整个程序的构建上来。类
似地,也可以从 Function→Express VI 所出现的模块中选择所
需要的模块来简化我们的应用程序。
第 7 章 LabVIEW 中信号分析与处理

图 7-6 Simulate signal.vi 产生信号的前面板图


第 7 章 LabVIEW 中信号分析与处理

图 7-7 Simulate signal.vi 产生信号的流程框图


第 7 章 LabVIEW 中信号分析与处理

图 7-8 所示为正弦波信号加入伯努利噪音信号后的示意图。

图 7-8 正弦波信号加入伯努利噪音信号后的示意图
第 7 章 LabVIEW 中信号分析与处理

7.2 Waveform Measurements VI 模块

Waveform Measurements VI 为波形测量模块。该模块提

供的功能包括了交直流成分分析、振幅测量、脉冲测量、傅立

叶变换、功率谱计算、谐波失真分析、过渡分析、频率响应等。

表 7-2 中列出了波形测量模块所有的子模块。
第 7 章 LabVIEW 中信号分析与处理

表 7-2 Waveform Measurements VI 功能列表


序号 图 标 和 端 口 功 能 简 介

计算输入信号的
直流分量大小和信
号的均方根。使用的
1
时候需要选择其平
均值类型和所加的
窗函数

比 Basic Averaged
DC-RMS.vi 控 制 方
2 式和输出精度更高,
可以处理单通道或
者多通道数据
第 7 章 LabVIEW 中信号分析与处理

计算信号的周期
3 平均值和周期均
方值

4 过渡过程测量
第 7 章 LabVIEW 中信号分析与处理

5 脉冲测量

测量输入信号的
6
幅值、最大、最小值
第 7 章 LabVIEW 中信号分析与处理

序号 图 标 和 端 口 功 能 简 介

提取振幅最大的
谐波信号,输出其频
7 率、幅值和相位信
息。可以指定搜索
频段

8 谐波失真分析
第 7 章 LabVIEW 中信号分析与处理

带噪音信号的谐
9
波失真分析

计算信号的功
10
率谱
第 7 章 LabVIEW 中信号分析与处理

计算信号的功率
11
谱密度

计算信号的傅立
12 叶变换频谱,结果表
示为幅值和相位

计算信号的傅立
13 叶变换频谱,结果表
示为复数形式
第 7 章 LabVIEW 中信号分析与处理

序号 图 标 和 端 口 功 能 简 介

计算系统的频率
响应,time signal X
为 激 励 信 号 , time
14
signal Y为系统响应
信号。结果表示为幅
值和相位

计算系统的频率
响应,time signal X
为 激 励 信 号 , time
15
signal Y为系统响应
信号。结果表示为复
数形式
第 7 章 LabVIEW 中信号分析与处理

计算信号的互功
16 率谱,结果表示为幅
值和相位

计算信号的互功
17 率谱,结果表示为复
数形式

完成信号的谱测
18 量,可以根据需要选
择所测量的谱的类型
第 7 章 LabVIEW 中信号分析与处理

完成信号的谐波
19
畸变分析

提取谐波信息,可
20
以指定搜索频段
第 7 章 LabVIEW 中信号分析与处理

序号 图 标 和 端 口 功 能 简 介

完成过渡过程的
21
测量

完成信号电压测
22 量,可以提供最基本
的信号信息
第 7 章 LabVIEW 中信号分析与处理

下面通过几个简单的实例来介绍 Waveform Measurements


VI 的使用方法。
1 .计算输入信号的直流分量和信号的均方根
在学习虚拟仪器的概念时,我们常把用硬件电路实现直流
分量计算、信号均方根计算与用虚拟仪器来实现这两项参数计
算做比较,可以看出,虚拟仪器的实现非常简单而且符合常规
数学逻辑思路。这里,我们再次使用这个例子是为了说明在 L
abVIEW 中进行这样的工作更为简单易行。该测试程序的前面
板图和流程框图分别如图 7-9 和图 7-10 所示。
第 7 章 LabVIEW 中信号分析与处理

图 7-9 直流和均方根值的计算前面板图
第 7 章 LabVIEW 中信号分析与处理

图 7-10 直流和均方根值的计算流程框图
第 7 章 LabVIEW 中信号分析与处理

下面对本例中所用到的 VI 作一详细介绍:
Basic Averaged DC-RMS.vi 位于 Function→Analyze→Wav
eform Measurements 中,其图标和端口如图 7-11 所示。
功能:用于计算输入信号的直流分量和信号的均方根。
主要端口说明:
 reset :重置控制。
 signal in :输入信号。
 averaging type :平均值类型,在这里可选择线性方
式和指数方式两种。
第 7 章 LabVIEW 中信号分析与处理

图 7-11 Basic Averaged DC-RMS.vi 端口


第 7 章 LabVIEW 中信号分析与处理

 window :选择窗函数。
 error in :错误输入。
 DC value :计算的直流分量值。
 RMS value :计算的均方根值。
 error out :错误输出。
 measurement info :测量信息。
在编写程序时,需要注意以下几点:
(1) 模拟信号源。本例中,我们利用一个数值型输入控件
来模拟直流分量,取值为 3 V 。利用 Sine Waveform.vi 来产生
一个振幅为 2 ,频率为 10 Hz 的正弦信号。
第 7 章 LabVIEW 中信号分析与处理

然后将模拟的正弦信号和直流分量相加生成我们所需要的

模拟信号源。这样做也是为了在计算输入信号的直流分量和信

号的均方根时对计算结果有一个较为直观的解释和对比。

(2) 计算输入信号的直流分量和信号的均方根。对于输入

的模拟信号,我们利用 Basic Averaged DC-RMS.vi 进行分析,

可以直接得到直流分量和信号的均方根。如图 7-9 所示,直流

分量值为 3.00 ,均方根值为 3.32 ,这符合我们的预期。


第 7 章 LabVIEW 中信号分析与处理

2 .提取振幅最大的谐波信号
在一些实际工程应用中,对于采集到的信号进行分析时,
可能希望检测到振幅最大的信号。例如,在振动检测中,振幅
最大的信号往往是我们希望得到的信号特征。下面的例子就是
利用 Extract Single Tone Information.vi 来对模拟信号源进行分
析,从而得到其振幅最大的信号分量。
下面对本例中所用到的 VI 作一详细介绍:
Extract Single Tone Information.vi 位于 Function→Ana
lyze→Waveform Measurements 中,其图标和端口如图 7-12 所
示。
第 7 章 LabVIEW 中信号分析与处理

图 7-12 Extract Single Tone Information.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:用于提取信号振幅最大的谐波分量。
主要端口说明:
 time signal in :输入信号 ( 时间域 ) 。
 export signals :设定输出信号类型。其选择的类型有
四种, none 表示快速计算; input signal 表示输出为输入信号;
detected signal 表示检测到的振幅为最大的信号; residual signa
l 表示除过最大振幅信号的其余信号。
 error in :错误输入,默认为无错误。
 advanced search :高级搜索配置。
 exported signals :输出信号 ( 其输出类型由 export sig
nals 端口决定 ) 。
第 7 章 LabVIEW 中信号分析与处理

 detected frequency :检测到的信号频率 ( 最大振幅


相对应 ) 。
 detected amplitude :检测到的信号幅值 ( 最大振幅
相对应 ) 。
 error out :错误输出。
 measurement info :测量信息。
在编写程序时,需要注意以下几点:
(1) 模拟信号源。本例中,我们采用 Tones and Noise
Waveform.vi 来模拟信号源。设置其中振幅最大谐波分
量的频率为 10 Hz ,振幅为 4 。其余分量设置时注意振幅要
小于 4 ,否则不能达到预期的目的。
第 7 章 LabVIEW 中信号分析与处理

(2) 最大振幅谐波分量提取。对于输入的模拟信号,利用
Extract Single Tone Information.vi 进行分析,可以直接得到振
幅最大的谐波分量。图 7-13 为提取振幅最大的谐波分量的前
面板图,图 7-14 为相对应的流程框图。

图 7-13 提取振幅最大的谐波分量前面板图
第 7 章 LabVIEW 中信号分析与处理

图 7-14 提取振幅最大的谐波分量流程框图
第 7 章 LabVIEW 中信号分析与处理

3 .谐波失真分析
在学习“信号与系统”这门课程的时候,我们知道如果一
个系统是非线性的,那么当某个频率的信号通过该系统后,在
我们得到的输出信号中不可避免地会出现高次谐波,我们把这
种现象叫谐波畸变或者叫谐波失真。如果在我们的测试系统中
需要检测谐波畸变这项参数,就得进行度量。通常谐波畸变的
程度用总谐波畸变来表示,即

A12  A 22    A 2n
THD%   100%
A12
第 7 章 LabVIEW 中信号分析与处理

式中, THD% 表示总畸变; An 表示各频率分量的振幅,其


中 A1 表示基频分量的振幅, A2 表示二次分量的振幅,其他
依次类推。
下面对本例中所用到的 VI 作一详细介绍:
Harmonic Distortion Analyzer.vi 位于 Function→Analyze→
Waveform Measurements 中,其图标和端口如图 7-15 所示。

图 7-15 Harmonic Distortion Analyzer.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:用于信号谐波畸变分析。
主要端口说明:
 stop search at Nyquist :布尔值参数。为 true 时,搜
索 Nyquist 频率以下的频率段;为 false 时,搜索所有频率段。
默认为 true 。
 signal in :输入信号。
 export signals :输出信号的模式。有以下六种类型可
供选择, none 表示快速计算不进行信号提取; input signal 表
示输出波形为输入信号; fundamental signal 表示输出波形为
基频信号; residual signal 表示输出波形为除去基频信号的残
留信号; harmonics only 表示输出波形为发现的谐波信号; no
ise and spurs 表示输出波形为噪音和其他激励信号。
第 7 章 LabVIEW 中信号分析与处理

 highest harmonic :设定需要分析的最高次谐波的次


数。
 error in :错误输入。
 advanced search :设定高级搜索参数。
 exported signals :输出的信号,包括时域和频域信号。

 detected fundamental frequency :监测到的基频频率。

 THD :总谐波畸变。
 components level :各次谐波分量的幅值 ( 注意数组
索引号为零的项是指直流分量 ) 。
 error out :错误输出。
第 7 章 LabVIEW 中信号分析与处理

在编写程序时,需要注意以下几点:
(1) 模拟信号源。由于方波信号本身的特点,在本例中我
们可以利用 Simulate Signal Express 生成一个频率为 10 Hz 、
振幅为 1 的标准方波信号来模拟一个通过非线性系统后的信号。

(2) 信号总谐波畸变分析。对于输入的模拟信号,我们利
用 Harmonic Distortion Analyzer.vi 进行分析。其中端口输出时,
如果我们想要显示输出的波形信号或者是频域的信号,需要使
用 unbundle.vi 进行 cluster 的分解。图 7-16 为信号总谐波畸变
分析的前面板图,图 7-17 为相对应的流程框图。
第 7 章 LabVIEW 中信号分析与处理

图 7-16 信号总谐波畸变分析前面板图
第 7 章 LabVIEW 中信号分析与处理

图 7-17 信号总谐波畸变分析流程框图
第 7 章 LabVIEW 中信号分析与处理

7.3 Waveform Conditioning VI 模块


Waveform Conditioning VI 为波形调理模块,该模块包
含了数字滤波和其他一些数字信号调理方法。我们假定读者已
经学习了数字信号处理课程或者已经熟悉了有限冲击响应 (FI
R) 和无限冲击响应 (IIR) 的概念。本部分内容主要介绍最为常
用的数字 FIR 滤波器和数字 IIR 滤波器。在其他一些信号处理
工具软件中,设计一个滤波器可能需要很大的工作量,但在 L
abVIEW 中只需按照要求设置相应的参数就可以实现所需的滤
波器。这使得我们的工作变得轻松、简单、易行。表 7-3 列出
了波形调理模块中各子模块的图标、端口和简单的功能。
第 7 章 LabVIEW 中信号分析与处理

表 7-3 Waveform Conditioning VI 功能列表


序号 图 标 和 端 口 功 能 简 介

数字FIR滤波器,FIR
filter specifications端口
1
可以设置滤波器的各
种参数

数字 IIR 滤波器,
IIR filter specifications
2
端口可以设置滤波器
的各种参数
第 7 章 LabVIEW 中信号分析与处理

归一化窗函数,
window 端 口 用 来 设
3 置 窗 函 数 , window
constants 端口返回窗
函数的参数

波形调理(连续),其
4 端口interpolation mode
用来设定插值模式
第 7 章 LabVIEW 中信号分析与处理

波形调理(单值),其
5 端口interpolation mode
用来设定插值模式

6 二次采样(连续)
第 7 章 LabVIEW 中信号分析与处理

序号 图 标 和 端 口 功 能 简 介

7 二次采样(单值)

Express方式的滤波
8 器,可以设置滤波器
的工作方式

Express方式的波形
9 调理和二次采样,可
以设置
第 7 章 LabVIEW 中信号分析与处理

下面,我们通过简单的实例来说明 Waveform Conditionin

g VI 的使用方法。

在本例中,我们使用 Digital FIR Filter.vi 来完成一个低通

滤波器的设计。

以下是对本例中所用到的 VI 的详细介绍:

Digital FIR Filter.vi 位于 Function→Analyze→Waveform C

onditioning 中,其图标和端口如图 7-18 所示。


第 7 章 LabVIEW 中信号分析与处理

图 7-18 Digital FIR Filter.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:用于 FIR 数字滤波。


主要端口说明:
 reset filter :重置滤波器状态。
 signal in :输入信号。
 error in :错误输入。
 FIR filter specifications :滤波器参数设置。这项参数
包括以下几项:
Topology :滤波器设计方法,包括 FIR by Specification 、 Equ
i-ripple FIR 和 Windowed FIR 三种;
Type :设置滤波器类型,包括低通、高通、带通和带阻
四种;
第 7 章 LabVIEW 中信号分析与处理

Lower PB :带通的最低频率,默认值为 100 Hz ;


Upper PB :带通的最高频率,默认值为 0 ;
Lower SB :带阻的最低频率,默认值为 200 Hz ;
Upper SB :带阻的最高频率,默认值为 0 。
 optional FIR filter specifications :滤波器可选参数设
置,这项参数包括以下几项:
PB Gain :带通增益,默认值为- 3 dB ;
SB Gain :带阻增益,默认值为- 60 dB ;
Scale :带通增益和带阻增益参数的选择;
第 7 章 LabVIEW 中信号分析与处理

Window :平滑窗的选择。
 signal out :滤波后的输出信号。
 filter information :包括了幅频响应和相频响应以及
滤波器阶数的信息。
 error out :错误信息输出。
在编写程序时,需要注意以下几点:
(1) 模拟信号源。在本例中我们利用波形发生模块中的 Si
ne Waveform.vi 来产生所需要的模拟信号。在这里共采用了三
组正弦信号合成模拟信号,其频率分别为 80 Hz 、 2000 Hz 和
3000 Hz ,其余参数采用其默认值。
第 7 章 LabVIEW 中信号分析与处理

在设置采样值的时候请注意我们将采样频率设置为 8000

Hz ,在读者进行设置时需要根据合成信号中最高频率成分

设置。

(2) 滤波器以及参数设置。在滤波器部分我们选择 Digital

FIR Filter.vi 。具体的参数设置可以参考图 7-19 中的 FIR 滤波

器参数设置。图 7-19 为 FIR 数字滤波器的前面板图,图 7-20

为相对应的流程框图。
第 7 章 LabVIEW 中信号分析与处理

图 7-19 FIR 低通滤波器前面板图


第 7 章 LabVIEW 中信号分析与处理

图 7-20 FIR 低通滤波器流程框图


第 7 章 LabVIEW 中信号分析与处理

因为 IIR 数字滤波器的特性和应用的基本方法和 FIR 数字

滤波器类似,在这里我们不作详细介绍,仅给出利用 IIR 数字

滤波器使用的程序图,具体可参照图 7-21 和图 7-22 。图 7-21

为 IIR 数字滤波器的前面板图,图 7-22 为相对应的流程框图。


第 7 章 LabVIEW 中信号分析与处理

图 7-21 IIR 低通滤波器前面板图


第 7 章 LabVIEW 中信号分析与处理

图 7-22 FIR 低通滤波器流程框图


第 7 章 LabVIEW 中信号分析与处理

7.4 Waveform Monitoring VI 模块


Waveform Monitoring VI 为波形监测模块。波形监测模
块用来对波形进行边界监测、峰值监测以及触发点监测。这个
模块在实际工程中使用起来非常方便,可以利用 Limit Specific
ation.vi 、 Limit Specification By Formula.vi 和 Limit Testing.vi
来分析被测信号是否处于我们所希望的范围内。其中,前两个
VI 用于监测边界的设置,后一个 VI 用于实际的边界监测。另
外,波形监测模块还包括波形的峰值监测和两个 Express 方式
的波形监测模块。表 7-4 列出了波形监测模块中所有子 VI 的
图标、端口信息以及主要功能简介。
第 7 章 LabVIEW 中信号分析与处理

表 7-4 Waveform Monitoring VI 功能列表


序号 图 标 和 端 口 功 能 简 介

边界监测,监测信
1 号是否完全处于边界
内部

创建信号的监测边
2 界,其输出Limit参数
为Limit Testing.vi所用

用公式创建信号的
3 监 测 边 界 , 和 Limit
Testing.vi联合使用
第 7 章 LabVIEW 中信号分析与处理

序号 图 标 和 端 口 功 能 简 介

波形峰值监测,可
4
以监测波峰和波谷

5 监测波形的触发点
第 7 章 LabVIEW 中信号分析与处理

6 波形监测

利用触发和门限抽
7
取所需信号片段
第 7 章 LabVIEW 中信号分析与处理

下面,我们通过几个简单的实例来说明 Waveform Monito


ring VI 的使用方法。
1 .波形边界的监测
在实际工程应用中,我们可能在信号分析和处理模块时需
要对所采集到的信号进行监测,其中很重要的一项任务就是监
测信号是否落在了给定的范围内。 LabVIEW 可以很方便地设
置监测范围,并且能够直观形象地观察我们的监测结果。这个
例子中,我们利用 Limit Specification.vi 和 Limit Testing.vi 进
行方波边界监测。其前面板图如图 7-23 所示,流程框图如图
7-24 所示。
第 7 章 LabVIEW 中信号分析与处理

图 7-23 波形边界的监测前面板图
第 7 章 LabVIEW 中信号分析与处理

图 7-24 波形边界的监测流程框图
第 7 章 LabVIEW 中信号分析与处理

以下是对本例中所用到的几个 VI 的详细介绍:
1) Limit Specification.vi
Limit Specification.vi 位于 Function→Analyze→Waveform
Monitoring 中,其图标和端口如图 7-25 所示。

图 7-25 Limit Specification.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:用于设定信号监测边界。
主要端口说明:
 Reset :如果为 true 则进行边界监测;为 false 则不进
行边界监测。至少监测一次。
 Specification Cluster :进行边界的设定。边界包括上
界和下界两组值,上界和下界均为数组形式。
 dx :设定 X 轴的时间间隔。
 x0 : X 轴数据输入的初始时间。
 error in :错误输入,默认为无错误输入。
 Limit :创建的边界区。
 error out :错误输出。
第 7 章 LabVIEW 中信号分析与处理

2) Limit Testing.vi
Limit Testing.vi 位于 Function→Analyze→Waveform Moni
toring 中,其图标和端口如图 7-26 所示。

图 7-26 Limit Testing.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:对输入信号进行边界监测。
主要端口说明:
 signal in :输入信号。
 upper limit: 上界的设定值 , 由 Limit Specification.vi 指
定。
 lower limit: 下界的设定值 , 由 Limit Specification.vi 指
定。
 limit test config :边界监测的配置。
 error in :错误输入,默认为无错误输入。
 failures :返回越界的数据点。
 test passed? :布尔值数据,反映监测通过与否 ( 只要
一个数据点没有通过,则返回值为 false) 。
第 7 章 LabVIEW 中信号分析与处理

 test results :布尔值数据,反映监测通过与否 ( 显示


每个数据点是否越界,用布尔值数组来表示 ) 。
 output values :输出数据。
 clearance :返回输入信号和边界的距离。
 error out :错误输出。
在编写程序时,需要注意以下几点:
(1) 模拟信号源。用 Square Waveform.vi 生成一个频率为
1 Hz 、振幅为 1 V 的标准方波信号;用 Uniform White Noise
Waveform.vi 生成一个白噪音信号,其幅值可手动调节。
第 7 章 LabVIEW 中信号分析与处理

然后将两个信号合成作为模拟信号源。在运行本例时,我
们可以通过调节白噪音信号的幅值来观察边界监测的结果。
(2) 设定预定的边界值。用 Limit Specification.vi 设定边
界的范围。上界分为 X 轴和 Y 轴,均为一维数组。本例中我
们利用 12 组数据来设定监测上界和下界,具体边界数据见表
7-5 。这里给定上界和下界的值是为了能够形象直观地观察监
测结果所设定的,实际中可能需要认真分析才能得到边界值。
还需要注意的一点是,对于时间间隔和初始时间必须和输入信
号相同。
第 7 章 LabVIEW 中信号分析与处理

(3) 波形边界的监测。用 Limit Testing.vi 进行边界的监测。


在介绍 Limit Testing.vi 时我们已经知道边界监测输出结果可以
用五种形式表示,它们分别是 failures 、 test passed? 、 test res
ults 、 output values 和 clearance 。在本例中我们采用 test passe
d? 、 test results 和 output values 三种形式表示监测结果。从其
具体的布置图 ( 见图 7-23) 中可以看到,当噪音幅值比较小时
( 大约为 0.04) ,尽管方波中已经夹杂了白噪音,但合成的信
号源仍然处于边界内没有越界,因此监测结果中的“监测通
过?”项和“监测结果”项均为绿灯,表示输入信号在我们设
定的监测范围内。
第 7 章 LabVIEW 中信号分析与处理

当我们把噪音幅值大致调节到 0.12 时,如图 7-27 所示,

从输出波形已经很明显看到输入信号已经越界,因此监测结果

中的“监测通过 ?” 项为红灯,表示输入信号越界。而“监测

结果”项部分为绿灯,表示在这些数据点处没有越界,另外一

部分为红灯,表示这些数据点超出了我们设定的范围。当然我

们也可以用 failures 端口来得到越界数据点具体数值大小的表

示。
第 7 章 LabVIEW 中信号分析与处理
表 7-5 边界值设定表
上 界 下 界

X Y X Y

0 1.05 0 0.95

0.55 1.05 0.45 0.95

0.55 - 0.95 0.45 - 1.05

0.95 - 0.95 1.05 - 1.05

0.95 1.05 1.05 0.95

1.55 1.05 1.45 0.95

1.55 - 0.95 1.45 - 1.05

1.95 - 0.95 2.05 - 1.05

1.95 1.05 2.05 0.95

2.55 1.05 2.45 0.95

2.55 - 0.95 2.45 - 1.05

2.95 - 0.95 3.05 - 1.05


第 7 章 LabVIEW 中信号分析与处理

图 7-27 波形边界监测越界示意图
第 7 章 LabVIEW 中信号分析与处理

2 .波形峰值的监测
本例我们利用 Waveform Peak Detection.vi 来实现波形峰
值的监测,主要是监测仿真信号 ( 正弦波 ) 的波峰值和波谷值。
在实际应用中遇到的信号可能不会是简单的正弦波信号,但其
方法和思路是一致的。程序前面板图如图 7-28 所示,流程框
图如图 7-29 所示。
Waveform Peak Detection.vi 位于 Function→Analyze→Wa
veform Monitoring 中,其图标和端口如图 7-30 所示。
第 7 章 LabVIEW 中信号分析与处理

图 7-28 波形峰值获取前面板图
第 7 章 LabVIEW 中信号分析与处理

图 7-29 波形峰值获取流程框图
第 7 章 LabVIEW 中信号分析与处理

图 7-30 Waveform Peak Detection.vi 端口


第 7 章 LabVIEW 中信号分析与处理

功能:对输入信号进行波峰 / 波谷监测。
主要端口说明:
 peaks/valleys :由此端口选择监测波峰或者波谷。
 Signal In :输入信号端口。
 threshold :设定峰值监测门限值。
 width :设定用于最小二乘法拟合的数据点数。
 error in :错误输入。
 initialize :初始化,默认值为 true 。
 end to data :默认值为 true ,处理最后一个数据块。
 # found :在目前数据块中监测到的波峰 / 波谷的数
目。
 Locations :监测到的波峰 / 波谷所在位置。
 Amplitudes :监测到的波峰 / 波谷的幅值。
第 7 章 LabVIEW 中信号分析与处理

 2nd Derivatives :计算波峰 / 波谷点的二阶导数。


 error out :错误输出。
这个例子是比较简单的一个实例,其主要部分是 Wavefor
m Peak Detection.vi 的使用。在 Waveform Peak Detection.vi 的
输出参数中,我们可以根据具体要求来得到我们所需要的参数。
例如,计算在目前数据块中监测到的波峰 / 波谷的数目;计算
监测到的波峰 / 波谷所在位置;计算监测到的波峰 / 波谷的幅
值;计算波峰 / 波谷点的二阶导数。图 7-29 为波形峰值获取
的前面板图,图 7-30 为相对应的流程框图。
第 7 章 LabVIEW 中信号分析与处理

本 章 小 结

本章主要介绍了如何在 LabVIEW 中进行信号分析与处

理的基础知识。重点内容包括 Waveform Generation 模块、 W

aveform Measurements 模块、 Waveform Conditioning 模块以及

Waveform Monitoring 模块。通过本章的学习,希望读者能够

掌握利用上述模块进行信号分析和处理的基本方法。
第 7 章 LabVIEW 中信号分析与处理

练 习 与 思 考
1 .利用波形发生模块中的 VI 产生包含频率为 200 Hz 、
2000 Hz 以及 20 000 Hz 的正弦波,其它参数可以由用户选择
输入。
2 .利用波形测量模块中的 VI 对上题产生的正弦信号测
量其信号的幅值、最大、最小值并提出振幅最大的谐波信号,
输出其频率、幅值和相位信息。
3 .对于第 1 题中产生的正弦信号,如何滤除其中的 20
Hz 信号?如果在输出信号中只想得到 2000 Hz 信号,又该如
何处理?

You might also like