信号处理与分析
1、概述
? 本章将介绍数字信号处理的基本知识,并
介绍由上百个数字信号处理和分析的 VI构成
的 LabVIEW分析软件库。
? 目前,对于实时分析系统,高速浮点运算
和数字信号处理已经变得越来越重要。
? 通过分析和处理数字信号,可以从噪声中
分离出有用的信息,并用比原始数据更全
面的表格显示这些信息。下图显示的是经
过处理的数据曲线。
VI的典型的测量任务有,
? 计算信号中存在的总的谐波失真。
? 决定系统的脉冲响应或传递函数。
? 估计系统的动态响应参数,例如上升时间、
超调量等等。
? 计算信号的幅频特性和相频特性。
? 估计信号中含有的交流成分和直流成分。
这些用于测量的虚拟仪器是建立在数据采集
和数字信号处理的基础之上 。
LabVIEW信号处理特性:
? 输入的时域信号被假定为实数值。
? 输出数据中包含大小、相位,并且用合适的单位
进行了刻度,可用来直接进行图形的绘制。
? 计算出来的频谱是单边的( single_sided),范围
从直流分量到 Nyquist频率 (二分之一取样频率 )。
(即没有负频率出现)
? 需要时可以使用窗函数,窗是经过刻度地,因此
每个窗提供相同的频谱幅度峰值,可以精确地限
制信号的幅值。
VI中常用的数字信号处理函数
Analyze-Signal Processing子模板
? ①,Signal Generation(信号发生):用于产生数字特性
曲线和波形。
? ②,Time Domain(时域分析):
– 用于进行频域转换、频域分析等。
? ③,Frequency Domain(频域分析):
? ④,Measurement(测量函数):用于执行各种测量功能,
例如单边 FFT,频谱、比例加窗以及泄漏频谱、能量的
估算。
? ⑤,Digital Filters(数字滤波器):用于执行 IIR,FIR 和
非线性滤波功能。
? ⑥,Windowing(窗函数):用于对数据加窗。
2、信号的产生
? 本节将介绍怎样产生标准频率的信号, 以
及怎样创建模拟函数发生器 。 参考例子见
examples\analysis\sigxmpl.llb。
信号产生的应用主要有:
? 当无法获得实际信号时,(例如没有 DAQ
板卡来获得实际信号或者受限制无法访问
实际信号),信号发生功能可以产生模拟
信号测试程序。
? 产生用于 D/A转换的信号
基本函数发生器
? 在 LabVIEW 中提供了波形函数,为制作函
数发生器提供了方便。以 Waveform -
Waveform Generation中的基本函数发生器
( Basic Function Generator.vi)为例,其
图标如下:
基本函数发生器示例
3、标准频率 - 数字频率
? 在模拟状态下,信号频率用 Hz或者每秒周期数为单位。但
是在数字系统中,通常使用数字频率,它是模拟频率和采
样频率的比值,表达式如下:
? 数字频率=模拟频率 /采样频率
? 这种数字频率被称为标准频率,单位是周期数 /采样点。
? 有些信号发生 VI使用输入频率控制量 f,它的单位和标准频
率的单位相同:周期数 /每个采样点,范围从 0到 1,对应
实际频率中的 0到采样频率 fs的全部频率。它还以 1.0为周
期,从而令标准频率中的 1.1与 0.1相等。例如某个信号的
采样频率是奈奎斯特频率( fs/2),就表示每半个周期采
样一次(也就是每个周期采样两次)。与之对应的标准频
率是 1/2 周期数 /采样点,也就是 0.5 周期数 /采样点。标准
频率的倒数 1/f表示一个周期内采样的次数。
? 如果你所使用的 VI需要以标准频率作为输入,就必须把频
率单位转换为标准单位:周期数 /采样点。
4、数字信号处理
? (1) FFT变换
? 信号的时域显示(采样点的幅值)可以通过离散傅立叶变
换( DFT)的方法转换为频域显示。为了快速计算 DFT,
通常采用一种快速傅立叶变换 (FFT)的方法。当信号的采
样点数是 2的幂时,就可以采用这种方法。
? FFT的输出都是双边的,它同时显示了正负频率的信息。
通过只使用一半 FFT输出采样点转换成单边 FFT。 FFT的
采样点之间的频率间隔是 fs/N,这里 fs是采样频率。
? Analyze库中有两个可以进行 FFT的 VI,分别是 Real FFT
VI 和 Complex FFT VI。这两个 VI之间的区别在于,前者
用于计算实数信号的 FFT,而后者用于计算复数信号的
FFT。它们的输出都是复数。
FFT变换
? 大多数实际采集的信号都是实数,因此对于多数应用都使
用 Real FFT VI 。当然也可以通过设置信号的虚部为 0,使
用 Complex FFT VI 。使用 Complex FFT VI 的一个实例是
信号含有实部和虚部。这种信号通常出现在数据通信中,
因为这时需要用复指数调制波形。
? 计算每个 FFT显示的频率分量的能量的方法是对频率分量
的幅值平方。高级分析库中 Power Spectrum VI可以自动
计算能量频谱。 Power Spectrum VI的输出单位是 Vrms2 。
但是能量频谱不能提供任何相位信息。
? FFT和能量频谱可以用于测量静止或者动态信号的频率信
息。 FFT提供了信号在整个采样期间的平均频率信息。因
此,FFT主要用于固定信号的分析(即信号在采样期间的
频率变化不大)或者只需要求取每个频率分量的平均能量。
(2) 窗函数
? 计算机只能处理有限长度的信号, 原信号 x(t)要以
T(采样时间或采样长度 )截断, 即有限化 。 有限化
也称为加, 矩形窗, 或, 不加窗, 。 矩形窗将信号
突然截断, 这在频域造成很宽的附加频率成分, 这
些附加频率成分在原信号 x(t)中其实是不存在的 。
一般将这一问题称为有限化带来的泄露问题 。 泄露
使得原来集中在 f0上的能量分散到全部频率轴上 。
泄露带来许多问题:如 ① 使频率曲线产生许多, 皱
纹, ( Ripple), 较大的皱纹可能与小的共振峰值
混淆; ② 如信号为两幅值一大一小频率很接近的正
弦波合成, 幅值较小的一个信号可能被淹没 。 ③ f0
附近曲线过于平缓, 无法准确确定 f0的值 。
常用的窗函数如下表所示
窗 定 义 应 用
矩形窗(无窗) W[n]=1.0 区分频域和振幅接近的信号瞬
时信号宽度小于窗
指数形窗 W[n]=exp[n*lnf/N-1]
f=终值
瞬时信号宽度大于窗
海宁窗 W[n]=0.5cos(2nπ/N) 瞬时信号宽度大于窗普通目的
的应用
海明窗 W[n]=0.54-0.46cos(2nπ/N) 声音处理
平顶窗 W[n]=0.2810639-
0.5208972cos(2nπ/N)
+0.1980399cos(2nπ/N)
分析无精确参照物且要求精确
测量的信号
Kaiser-Bessel窗 W[n]=Io(β) 区分频率接近而形状不同的信
号
三角形窗 W[n]=1-|( 2n-N) /N| 无特殊应用
1.0
-1.0
-0.5
0.0
0.5
990 10 20 30 40 50 60 70 80 90
Time Domain
0
-140
-120
-100
-80
-60
-40
-20
2550 50 100 150 200
None
Hanning
?μ óò ì× D?
2? í? àà Dí ′??ú oˉ êy ?ú ?μ óò μ? D§1? ?£ 2? ê1 ó? ′??ú oˉ êy êa,?ù ?μ ?? D? μ? ?y ?ò 2¨1 a? ?í ?? ?£
ê1 ó? H a n n i n g ′??ú oˉ êy oó ( W i n d o w 2 ),?ù ?μ ?? D? μ? ?y ?ò 2¨1 a? ?¢ ?? ?£
Stop
100.0
0.0
20.0
40.0 60.0
80.0
73.92?μ ?ê 1
?y ?ò 2¨D? 1 ?y ?ò 2¨D? 2
?y ?ò 2¨D? 1 + ?y ?ò 2¨D? 2
0.001
?ù ?μ 1
1.000
?ù ?μ 2
100.0
0.0
20.0
40.0 60.0
80.0
59.24
?μ ?ê 2
dB
None
Window 1
Hanning
Window 2
(3) 谐波失真与频谱分析
? 当一个含有单一频率 (比如 f1)的信号 x(t)通过一个
非线性系统时,系统的输出不仅包含输入信号的
频率( f1),而且包含谐波分量 (f2=2f1,f3=3f1,
f4=4f1等等 ),谐波的数量以及它们对应的幅值大
小取决于系统的非线性程度。电网中的谐波是一
个值得关注的问题。
? 下面的一个非线性系统的例子是输出 y(t)是输入 x(t)
的立方。假如输入信号:
? 则输出:
? 因此,输出不仅含有基波频率 w,而且还有三次
谐波的频率 3w
)c os ()( wttx ?
)]3c o s ()[ c o s (25.0)c o s (5.0)(3 wtwtwttx ???
谐波分析器函数
? 该 VI对输入信号进行完整的谐波分析, 包括
测定基波和谐波, 返回基波频率和所有的
谐波幅度电平, 以及总的谐波失真度
( THD) 。
(4) 数字滤波
? 模拟滤波器设计是电子设计中最重要的部分之一 。
尽管很多参考书都提供了简单可靠的模拟滤波器
示例, 但是滤波器的设计通常还是需要专家来完
成, 因为这项工作需要较高深的数学知识和对系
统与滤波器之间的关系有深入的了解 。
? 现代的数字采样和信号处理技术已经可以取代模
拟滤波器, 尤其在一些需要灵活性和编程能力的
领域中, 例如音频, 通讯, 地球物理和医疗监控
技术 。
数字滤波器的优点:
? 可以用软件编程
? 稳定性高,可预测
? 不会因温度、湿度的影响产生误差,不需
要精度组件
? 很高的性能价格比
在 LabVIEW中可以用数字滤波器控制滤波器
顺序, 截止频率, 脉冲个数和阻带衰减等
参数 。
Butterworth Filter.vi
? filter type, 按下列值指定滤波器类型
? 0,Lowpass 低通
? 1,Highpass 高通
? 2,Bandpass 带通
? 3,Bandstop 带阻
? low cutoff freq fl:低 端截止频率。它必须
满足 Nyquist 准则,即 0≦ fi<0.5fs
( 5)曲线拟合
? 曲线拟合( curve fitting)技术用于从一组数据中
提取曲线参数或者系数,以得到这组数据的函数
表达式。
? 通常,对于每种指定类型的曲线拟合,如果没有
特殊说明,都存在两种 VI可以使用。一种只返回
数据,用于对数据的进一步操作,另一种不仅返
回系数,还可以得到对应的拟合曲线和均方差
( MSE)。
? LabVIEW的分析软件库提供了多种线性和非线性
的曲线拟合算法,例如线性拟合、指数拟合、通
用多项式拟合、非线性 Levenberg-Marquardt 拟
合等。
曲线拟合的实际应用
? 消除测量噪声
? 填充丢失的采样点(例如,如果一个或者多个采样点丢失
或者记录不正确)
? 插值(对采样点之间的数据的估计;例如在采样点之间的
时间差距不够大时)
? 外推(对采样范围之外的数据进行估计,例如在需要在试
验以后或者以后的数值时)
? 数据的差分(例如在需要知道采样点之间的偏移时,可以
用一个多项式拟合离散数据,而得到的多项式可能不同)
? 数据的合成(例如在需要找出曲线下面的区域,同时又只
知道这个曲线的若干个离散采样点的时候)
? 求解某个基于离散数据的对象的速度轨迹(一阶导数)和
加速度轨迹(二阶导数)
1、概述
? 本章将介绍数字信号处理的基本知识,并
介绍由上百个数字信号处理和分析的 VI构成
的 LabVIEW分析软件库。
? 目前,对于实时分析系统,高速浮点运算
和数字信号处理已经变得越来越重要。
? 通过分析和处理数字信号,可以从噪声中
分离出有用的信息,并用比原始数据更全
面的表格显示这些信息。下图显示的是经
过处理的数据曲线。
VI的典型的测量任务有,
? 计算信号中存在的总的谐波失真。
? 决定系统的脉冲响应或传递函数。
? 估计系统的动态响应参数,例如上升时间、
超调量等等。
? 计算信号的幅频特性和相频特性。
? 估计信号中含有的交流成分和直流成分。
这些用于测量的虚拟仪器是建立在数据采集
和数字信号处理的基础之上 。
LabVIEW信号处理特性:
? 输入的时域信号被假定为实数值。
? 输出数据中包含大小、相位,并且用合适的单位
进行了刻度,可用来直接进行图形的绘制。
? 计算出来的频谱是单边的( single_sided),范围
从直流分量到 Nyquist频率 (二分之一取样频率 )。
(即没有负频率出现)
? 需要时可以使用窗函数,窗是经过刻度地,因此
每个窗提供相同的频谱幅度峰值,可以精确地限
制信号的幅值。
VI中常用的数字信号处理函数
Analyze-Signal Processing子模板
? ①,Signal Generation(信号发生):用于产生数字特性
曲线和波形。
? ②,Time Domain(时域分析):
– 用于进行频域转换、频域分析等。
? ③,Frequency Domain(频域分析):
? ④,Measurement(测量函数):用于执行各种测量功能,
例如单边 FFT,频谱、比例加窗以及泄漏频谱、能量的
估算。
? ⑤,Digital Filters(数字滤波器):用于执行 IIR,FIR 和
非线性滤波功能。
? ⑥,Windowing(窗函数):用于对数据加窗。
2、信号的产生
? 本节将介绍怎样产生标准频率的信号, 以
及怎样创建模拟函数发生器 。 参考例子见
examples\analysis\sigxmpl.llb。
信号产生的应用主要有:
? 当无法获得实际信号时,(例如没有 DAQ
板卡来获得实际信号或者受限制无法访问
实际信号),信号发生功能可以产生模拟
信号测试程序。
? 产生用于 D/A转换的信号
基本函数发生器
? 在 LabVIEW 中提供了波形函数,为制作函
数发生器提供了方便。以 Waveform -
Waveform Generation中的基本函数发生器
( Basic Function Generator.vi)为例,其
图标如下:
基本函数发生器示例
3、标准频率 - 数字频率
? 在模拟状态下,信号频率用 Hz或者每秒周期数为单位。但
是在数字系统中,通常使用数字频率,它是模拟频率和采
样频率的比值,表达式如下:
? 数字频率=模拟频率 /采样频率
? 这种数字频率被称为标准频率,单位是周期数 /采样点。
? 有些信号发生 VI使用输入频率控制量 f,它的单位和标准频
率的单位相同:周期数 /每个采样点,范围从 0到 1,对应
实际频率中的 0到采样频率 fs的全部频率。它还以 1.0为周
期,从而令标准频率中的 1.1与 0.1相等。例如某个信号的
采样频率是奈奎斯特频率( fs/2),就表示每半个周期采
样一次(也就是每个周期采样两次)。与之对应的标准频
率是 1/2 周期数 /采样点,也就是 0.5 周期数 /采样点。标准
频率的倒数 1/f表示一个周期内采样的次数。
? 如果你所使用的 VI需要以标准频率作为输入,就必须把频
率单位转换为标准单位:周期数 /采样点。
4、数字信号处理
? (1) FFT变换
? 信号的时域显示(采样点的幅值)可以通过离散傅立叶变
换( DFT)的方法转换为频域显示。为了快速计算 DFT,
通常采用一种快速傅立叶变换 (FFT)的方法。当信号的采
样点数是 2的幂时,就可以采用这种方法。
? FFT的输出都是双边的,它同时显示了正负频率的信息。
通过只使用一半 FFT输出采样点转换成单边 FFT。 FFT的
采样点之间的频率间隔是 fs/N,这里 fs是采样频率。
? Analyze库中有两个可以进行 FFT的 VI,分别是 Real FFT
VI 和 Complex FFT VI。这两个 VI之间的区别在于,前者
用于计算实数信号的 FFT,而后者用于计算复数信号的
FFT。它们的输出都是复数。
FFT变换
? 大多数实际采集的信号都是实数,因此对于多数应用都使
用 Real FFT VI 。当然也可以通过设置信号的虚部为 0,使
用 Complex FFT VI 。使用 Complex FFT VI 的一个实例是
信号含有实部和虚部。这种信号通常出现在数据通信中,
因为这时需要用复指数调制波形。
? 计算每个 FFT显示的频率分量的能量的方法是对频率分量
的幅值平方。高级分析库中 Power Spectrum VI可以自动
计算能量频谱。 Power Spectrum VI的输出单位是 Vrms2 。
但是能量频谱不能提供任何相位信息。
? FFT和能量频谱可以用于测量静止或者动态信号的频率信
息。 FFT提供了信号在整个采样期间的平均频率信息。因
此,FFT主要用于固定信号的分析(即信号在采样期间的
频率变化不大)或者只需要求取每个频率分量的平均能量。
(2) 窗函数
? 计算机只能处理有限长度的信号, 原信号 x(t)要以
T(采样时间或采样长度 )截断, 即有限化 。 有限化
也称为加, 矩形窗, 或, 不加窗, 。 矩形窗将信号
突然截断, 这在频域造成很宽的附加频率成分, 这
些附加频率成分在原信号 x(t)中其实是不存在的 。
一般将这一问题称为有限化带来的泄露问题 。 泄露
使得原来集中在 f0上的能量分散到全部频率轴上 。
泄露带来许多问题:如 ① 使频率曲线产生许多, 皱
纹, ( Ripple), 较大的皱纹可能与小的共振峰值
混淆; ② 如信号为两幅值一大一小频率很接近的正
弦波合成, 幅值较小的一个信号可能被淹没 。 ③ f0
附近曲线过于平缓, 无法准确确定 f0的值 。
常用的窗函数如下表所示
窗 定 义 应 用
矩形窗(无窗) W[n]=1.0 区分频域和振幅接近的信号瞬
时信号宽度小于窗
指数形窗 W[n]=exp[n*lnf/N-1]
f=终值
瞬时信号宽度大于窗
海宁窗 W[n]=0.5cos(2nπ/N) 瞬时信号宽度大于窗普通目的
的应用
海明窗 W[n]=0.54-0.46cos(2nπ/N) 声音处理
平顶窗 W[n]=0.2810639-
0.5208972cos(2nπ/N)
+0.1980399cos(2nπ/N)
分析无精确参照物且要求精确
测量的信号
Kaiser-Bessel窗 W[n]=Io(β) 区分频率接近而形状不同的信
号
三角形窗 W[n]=1-|( 2n-N) /N| 无特殊应用
1.0
-1.0
-0.5
0.0
0.5
990 10 20 30 40 50 60 70 80 90
Time Domain
0
-140
-120
-100
-80
-60
-40
-20
2550 50 100 150 200
None
Hanning
?μ óò ì× D?
2? í? àà Dí ′??ú oˉ êy ?ú ?μ óò μ? D§1? ?£ 2? ê1 ó? ′??ú oˉ êy êa,?ù ?μ ?? D? μ? ?y ?ò 2¨1 a? ?í ?? ?£
ê1 ó? H a n n i n g ′??ú oˉ êy oó ( W i n d o w 2 ),?ù ?μ ?? D? μ? ?y ?ò 2¨1 a? ?¢ ?? ?£
Stop
100.0
0.0
20.0
40.0 60.0
80.0
73.92?μ ?ê 1
?y ?ò 2¨D? 1 ?y ?ò 2¨D? 2
?y ?ò 2¨D? 1 + ?y ?ò 2¨D? 2
0.001
?ù ?μ 1
1.000
?ù ?μ 2
100.0
0.0
20.0
40.0 60.0
80.0
59.24
?μ ?ê 2
dB
None
Window 1
Hanning
Window 2
(3) 谐波失真与频谱分析
? 当一个含有单一频率 (比如 f1)的信号 x(t)通过一个
非线性系统时,系统的输出不仅包含输入信号的
频率( f1),而且包含谐波分量 (f2=2f1,f3=3f1,
f4=4f1等等 ),谐波的数量以及它们对应的幅值大
小取决于系统的非线性程度。电网中的谐波是一
个值得关注的问题。
? 下面的一个非线性系统的例子是输出 y(t)是输入 x(t)
的立方。假如输入信号:
? 则输出:
? 因此,输出不仅含有基波频率 w,而且还有三次
谐波的频率 3w
)c os ()( wttx ?
)]3c o s ()[ c o s (25.0)c o s (5.0)(3 wtwtwttx ???
谐波分析器函数
? 该 VI对输入信号进行完整的谐波分析, 包括
测定基波和谐波, 返回基波频率和所有的
谐波幅度电平, 以及总的谐波失真度
( THD) 。
(4) 数字滤波
? 模拟滤波器设计是电子设计中最重要的部分之一 。
尽管很多参考书都提供了简单可靠的模拟滤波器
示例, 但是滤波器的设计通常还是需要专家来完
成, 因为这项工作需要较高深的数学知识和对系
统与滤波器之间的关系有深入的了解 。
? 现代的数字采样和信号处理技术已经可以取代模
拟滤波器, 尤其在一些需要灵活性和编程能力的
领域中, 例如音频, 通讯, 地球物理和医疗监控
技术 。
数字滤波器的优点:
? 可以用软件编程
? 稳定性高,可预测
? 不会因温度、湿度的影响产生误差,不需
要精度组件
? 很高的性能价格比
在 LabVIEW中可以用数字滤波器控制滤波器
顺序, 截止频率, 脉冲个数和阻带衰减等
参数 。
Butterworth Filter.vi
? filter type, 按下列值指定滤波器类型
? 0,Lowpass 低通
? 1,Highpass 高通
? 2,Bandpass 带通
? 3,Bandstop 带阻
? low cutoff freq fl:低 端截止频率。它必须
满足 Nyquist 准则,即 0≦ fi<0.5fs
( 5)曲线拟合
? 曲线拟合( curve fitting)技术用于从一组数据中
提取曲线参数或者系数,以得到这组数据的函数
表达式。
? 通常,对于每种指定类型的曲线拟合,如果没有
特殊说明,都存在两种 VI可以使用。一种只返回
数据,用于对数据的进一步操作,另一种不仅返
回系数,还可以得到对应的拟合曲线和均方差
( MSE)。
? LabVIEW的分析软件库提供了多种线性和非线性
的曲线拟合算法,例如线性拟合、指数拟合、通
用多项式拟合、非线性 Levenberg-Marquardt 拟
合等。
曲线拟合的实际应用
? 消除测量噪声
? 填充丢失的采样点(例如,如果一个或者多个采样点丢失
或者记录不正确)
? 插值(对采样点之间的数据的估计;例如在采样点之间的
时间差距不够大时)
? 外推(对采样范围之外的数据进行估计,例如在需要在试
验以后或者以后的数值时)
? 数据的差分(例如在需要知道采样点之间的偏移时,可以
用一个多项式拟合离散数据,而得到的多项式可能不同)
? 数据的合成(例如在需要找出曲线下面的区域,同时又只
知道这个曲线的若干个离散采样点的时候)
? 求解某个基于离散数据的对象的速度轨迹(一阶导数)和
加速度轨迹(二阶导数)