Professional Documents
Culture Documents
第7章
第7章
产生波形仿真信号。本书中为了方便程序模块的调试,在很多
时候用这个模块产生仿真信号来测试我们的程序。这样,可以
不必每次调试都连通真实的信号源或被测对象。
根据所选择的信号类
型产生波形信号。可以产
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 中信号分析与处理
VI 的使用方法。
三角波、方波和锯齿波四种,其中,可利用产生的标准正弦信
号对测试程序本身进行自检。该实例的产生信号的前面板图和
在前面板的操作面板中,我们既可以选择产生正弦波、三
角波、方波或者是锯齿波,也可以改变频率、幅值和相位等
参数来改变具体波形的属性。在这个实例中用到的 VI 主要有
两个:
1) Basic Function Generator.vi
Basic Function Generator.vi 位于 Function→Analyze→Wa
veform Generation 中,其图标和端口如图 7-3 所示。
第 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 中信号分析与处理
功能:计算信号的功率谱密度。
主要端口说明:
restart averaging :平均处理是否重置。
time signal :输入的时间信号。
window :指定时域窗函数类型。
dB On(F) :设定表示结果是否表示为分贝,默认值
为 False 。
error in :错误输入。
averaging parameters :平均处理参数。
averaging done :若已完成平均数大于或等于平均参
数中指定的平均数目,将返回 TRUE ,否则返回 FALSE 。
第 7 章 LabVIEW 中信号分析与处理
在 Signal 栏中我们可以对信号的类型、频率、相位、幅值
和偏移进行设置 ( 当然,也可以在前面板中对这些属性进行设
置 ) 。在选中了 Add noise 栏后,可以根据需要对产生信号加
入不同的噪音。 Simulate Signal.vi 产生信号的前面板图和流程
框图分别如图 7-6 和图 7-7 所示。通过 Simulate signal.vi ,我
们可以看出 NI 在对程序模块化方面所做的努力,尽量简化例
行的操作,从而使得用户把精力放在整个程序的构建上来。类
似地,也可以从 Function→Express VI 所出现的模块中选择所
需要的模块来简化我们的应用程序。
第 7 章 LabVIEW 中信号分析与处理
图 7-8 所示为正弦波信号加入伯努利噪音信号后的示意图。
图 7-8 正弦波信号加入伯努利噪音信号后的示意图
第 7 章 LabVIEW 中信号分析与处理
供的功能包括了交直流成分分析、振幅测量、脉冲测量、傅立
叶变换、功率谱计算、谐波失真分析、过渡分析、频率响应等。
表 7-2 中列出了波形测量模块所有的子模块。
第 7 章 LabVIEW 中信号分析与处理
计算输入信号的
直流分量大小和信
号的均方根。使用的
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 中信号分析与处理
图 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 中信号分析与处理
window :选择窗函数。
error in :错误输入。
DC value :计算的直流分量值。
RMS value :计算的均方根值。
error out :错误输出。
measurement info :测量信息。
在编写程序时,需要注意以下几点:
(1) 模拟信号源。本例中,我们利用一个数值型输入控件
来模拟直流分量,取值为 3 V 。利用 Sine Waveform.vi 来产生
一个振幅为 2 ,频率为 10 Hz 的正弦信号。
第 7 章 LabVIEW 中信号分析与处理
然后将模拟的正弦信号和直流分量相加生成我们所需要的
模拟信号源。这样做也是为了在计算输入信号的直流分量和信
号的均方根时对计算结果有一个较为直观的解释和对比。
(2) 计算输入信号的直流分量和信号的均方根。对于输入
2 .提取振幅最大的谐波信号
在一些实际工程应用中,对于采集到的信号进行分析时,
可能希望检测到振幅最大的信号。例如,在振动检测中,振幅
最大的信号往往是我们希望得到的信号特征。下面的例子就是
利用 Extract Single Tone Information.vi 来对模拟信号源进行分
析,从而得到其振幅最大的信号分量。
下面对本例中所用到的 VI 作一详细介绍:
Extract Single Tone Information.vi 位于 Function→Ana
lyze→Waveform Measurements 中,其图标和端口如图 7-12 所
示。
第 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 中信号分析与处理
(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 中信号分析与处理
功能:用于信号谐波畸变分析。
主要端口说明:
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 中信号分析与处理
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 中信号分析与处理
数字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 中信号分析与处理
g VI 的使用方法。
滤波器的设计。
以下是对本例中所用到的 VI 的详细介绍:
Window :平滑窗的选择。
signal out :滤波后的输出信号。
filter information :包括了幅频响应和相频响应以及
滤波器阶数的信息。
error out :错误信息输出。
在编写程序时,需要注意以下几点:
(1) 模拟信号源。在本例中我们利用波形发生模块中的 Si
ne Waveform.vi 来产生所需要的模拟信号。在这里共采用了三
组正弦信号合成模拟信号,其频率分别为 80 Hz 、 2000 Hz 和
3000 Hz ,其余参数采用其默认值。
第 7 章 LabVIEW 中信号分析与处理
在设置采样值的时候请注意我们将采样频率设置为 8000
Hz ,在读者进行设置时需要根据合成信号中最高频率成分
设置。
为相对应的流程框图。
第 7 章 LabVIEW 中信号分析与处理
滤波器类似,在这里我们不作详细介绍,仅给出利用 IIR 数字
边界监测,监测信
1 号是否完全处于边界
内部
创建信号的监测边
2 界,其输出Limit参数
为Limit Testing.vi所用
用公式创建信号的
3 监 测 边 界 , 和 Limit
Testing.vi联合使用
第 7 章 LabVIEW 中信号分析与处理
序号 图 标 和 端 口 功 能 简 介
波形峰值监测,可
4
以监测波峰和波谷
5 监测波形的触发点
第 7 章 LabVIEW 中信号分析与处理
6 波形监测
利用触发和门限抽
7
取所需信号片段
第 7 章 LabVIEW 中信号分析与处理
图 7-23 波形边界的监测前面板图
第 7 章 LabVIEW 中信号分析与处理
图 7-24 波形边界的监测流程框图
第 7 章 LabVIEW 中信号分析与处理
以下是对本例中所用到的几个 VI 的详细介绍:
1) Limit Specification.vi
Limit Specification.vi 位于 Function→Analyze→Waveform
Monitoring 中,其图标和端口如图 7-25 所示。
功能:用于设定信号监测边界。
主要端口说明:
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 所示。
功能:对输入信号进行边界监测。
主要端口说明:
signal in :输入信号。
upper limit: 上界的设定值 , 由 Limit Specification.vi 指
定。
lower limit: 下界的设定值 , 由 Limit Specification.vi 指
定。
limit test config :边界监测的配置。
error in :错误输入,默认为无错误输入。
failures :返回越界的数据点。
test passed? :布尔值数据,反映监测通过与否 ( 只要
一个数据点没有通过,则返回值为 false) 。
第 7 章 LabVIEW 中信号分析与处理
然后将两个信号合成作为模拟信号源。在运行本例时,我
们可以通过调节白噪音信号的幅值来观察边界监测的结果。
(2) 设定预定的边界值。用 Limit Specification.vi 设定边
界的范围。上界分为 X 轴和 Y 轴,均为一维数组。本例中我
们利用 12 组数据来设定监测上界和下界,具体边界数据见表
7-5 。这里给定上界和下界的值是为了能够形象直观地观察监
测结果所设定的,实际中可能需要认真分析才能得到边界值。
还需要注意的一点是,对于时间间隔和初始时间必须和输入信
号相同。
第 7 章 LabVIEW 中信号分析与处理
从输出波形已经很明显看到输入信号已经越界,因此监测结果
中的“监测通过 ?” 项为红灯,表示输入信号越界。而“监测
结果”项部分为绿灯,表示在这些数据点处没有越界,另外一
部分为红灯,表示这些数据点超出了我们设定的范围。当然我
示。
第 7 章 LabVIEW 中信号分析与处理
表 7-5 边界值设定表
上 界 下 界
X Y X Y
0 1.05 0 0.95
图 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 中信号分析与处理
功能:对输入信号进行波峰 / 波谷监测。
主要端口说明:
peaks/valleys :由此端口选择监测波峰或者波谷。
Signal In :输入信号端口。
threshold :设定峰值监测门限值。
width :设定用于最小二乘法拟合的数据点数。
error in :错误输入。
initialize :初始化,默认值为 true 。
end to data :默认值为 true ,处理最后一个数据块。
# found :在目前数据块中监测到的波峰 / 波谷的数
目。
Locations :监测到的波峰 / 波谷所在位置。
Amplitudes :监测到的波峰 / 波谷的幅值。
第 7 章 LabVIEW 中信号分析与处理
本 章 小 结
掌握利用上述模块进行信号分析和处理的基本方法。
第 7 章 LabVIEW 中信号分析与处理
练 习 与 思 考
1 .利用波形发生模块中的 VI 产生包含频率为 200 Hz 、
2000 Hz 以及 20 000 Hz 的正弦波,其它参数可以由用户选择
输入。
2 .利用波形测量模块中的 VI 对上题产生的正弦信号测
量其信号的幅值、最大、最小值并提出振幅最大的谐波信号,
输出其频率、幅值和相位信息。
3 .对于第 1 题中产生的正弦信号,如何滤除其中的 20
Hz 信号?如果在输出信号中只想得到 2000 Hz 信号,又该如
何处理?