首页 产业智能 正文

回复

传感器数据的重建

产业智能 浏览:12184 回复:43 收藏

MW陈建平  2019-08-01 10:07

传感器数据的重建

如果事情有变坏的可能,不管这种可能性有多小,它总会发生。

—— 墨菲定律

 

我们在前面的文章中,给出了一个开发预测性维护系统的总体流程。今天,我们从数据的源头开始,讨论一下工程实现可能碰到的第一个问题:传感器数据的重建


在预测性维护场景下,我们的处理对象都是来自于传感器或者其他手段获取的时间序列,在信号处理领域叫做信号。而传统机器学习或者分析方法都是基于点(没有时间轴)的方法,与之大相径庭。这是由预测性维护的数据特点决定的:数据来源于连续的传感器采样或者人工连续记录。我们一般习惯上称这一类的数据叫做工程数据,对应的分析方法叫工程数据分析


为了复用现有的基于点的处理方法,比如机器学习算法,我们需要把连续采样的数据按照某种方法,比如滑窗法,转化为适合于点的数据。比如图. 1所示的信号中,我们几乎无法直接观察出足够的信息。我们需要采用信号分析的方法和手段来提取信息,常见的包括时频信号分析和小波分析。比如,我们可以从振动传感器中提取出机械的转动周期的随时间的变化信息,以跟踪机械设备的运转状态。

resampling-sensor-data.png

Figure 1: 一对传感器信号,几乎不太可能从时域信号中直接得到有用的信息


本文中,我们将分析非均匀采样带来的影响,并讨论如何非均匀采样和样点缺失进行信号重建,如下图的绿色方框所示。

resampling-workflow.png


一个预测性维护系统的预处理流程


非均匀采样及其影响

现代的信号分析经过长时间的发展,几乎所有现有能用的信号分析方法都基于均匀连续采样。现实工程数据中,可能出现既非均匀,又非连续的数据。比如,一些历史数据是通过人工采样搜集的,采样时刻偏差几乎一定会存在。即使我们采用传感器搜集数据,也可能因为干扰导致采样点缺失,甚至出现大片数据丢失。而对于精度要求较高的场合,温度等外界条件的变化也会导致晶振出现频率漂移导致采样偏差。


resampling-large-gap.png

Figure 2: 非理想采样导致的数据丢失


非理想采样数据不可避免,我们需要有相应的手段把非均匀采样或者数据丢失引起的误差控制在最小的范围内。我们从一段理想信号的采样分析开始,来看一看非均匀采样对后续预处理潜在的干扰。

视频中,我们在 40kHz 的采样速率下,对两个理想的正弦信号,频率分别为 5kHz 15kHz 进行采样,视频是对在不同的采样时间偏差(正态分布)下的频域的观测结果。理想采样情况下,应该是在 5kHz 15kHz 下的两个尖脉冲。


左边的尖峰和右边的尖峰分别是没有采样干扰下的理想信号,非常尖锐,对其他的频率干扰几乎都抑制在 100dB 以下。而蓝色功率和绿色功率谱分别是在相同的采样偏差下的采样信号。我们从这段视频可以观察到: 1. 随着信号频率的增加,相同采样偏差带来的信号功率损失增大。 2. 随着信号频率的增加,相同采样偏差带来的噪声功率越大。 3. 随着采样偏差的增加,相同的信号的功率损失增大,带外噪声随之增加。

在预测性维护场景下,我们经常需要从一些缓变的信号里寻求突变,比如机械故障可能给震动传感器里可以观测到高频的突发频谱,采样的噪声和特征混合在一起,无法通过传统的滤波的方法滤除

非均匀采样可能会导致一下问题:

1.      采样噪声增加,干扰特征提取;

2.     增加数据的存储量,我们需要同时存储时间轴和幅度轴;

信号重采样

从上面的简单讨论可知,非均匀采样可能会在特征处带来额外的噪声,导致我们提取的特征失效。除非从源头上保证均匀采样,我们无法根除非均匀采样带来的噪声,只能对齐均匀化最大限度保留有用信息。我们用 MATLAB 信号处理工具箱自带的 resample 函数就可以实现信号的均匀化。


[y, ty] = resample(x, tx, 100, 'spline');


代码里的变量 x tx 是非均匀采样的信号的时间和幅度矢量,输出 y ty 是经过均匀化采样以后的信号。我们需要针对不同的场景选择合适的差值方法,这里我们采用样条插值来恢复信号。具体工程中,根据需求,我们也可以用其他方法实现重采样。比如对于边缘设备这些计算能力很差的嵌入式设备,我们可能会用更加简单的线性差值方法重采样。

resampling-spectrum.png

Figure 3: 不同频率信号重采样结果

这个图展示的是对 10Hz 40Hz 的正弦信号的重采样的功率谱。频域中,较高频率的正弦波(40 Hz)具有比较低频率正弦波(10 Hz)更大的缺陷。在频域显示中,重采样的 40Hz 正弦波具有大约-30dB 的基底噪声,而重采样的 10Hz 正弦波具有大约 -80dB 的基底噪声。避免输入信号中的高频内容的一种方法是在执行随机采样时增加平均采样率。请注意,如果只是增加重采样输出信号的采样率,则无助于降低本底噪声。

重采样有助于尽可能保留信息,减少采样噪声带来的干扰,减少信号的传输。而最后一点对于基于无线传输的设备意义重大。

丢失样点的填充

在多个传感器收集数据的情况下,通常会发现这种少量样点丢失的信号。这种丢失的数据会零零散散分布到信号的各个时间点,如果你把这类问题看成非均匀采样的情况,采用简单的重采样操作就可以恢复信号,蓝色 x 点都是补齐的样点:

resampling-small-gap.png

Figure 4: 少量样点丢失的恢复


在某些特殊的条件下,我们会碰到信号较长宽度的缺损的问题。比如,传感器停机几秒后再次恢复,就会导致有一段连续的信号丢失的情况。技术上,我们可以采用跟踪原始信号走势,根据信号的历史数据,构建出一些回归模型来填充大数据段。这类问题的处理方法多种多样,其中 fillgaps 函数经常用于这个目的。


resampling-rebuilt.png

Figure 5: 左侧是重建前的数据,右侧是重建之后的数据。这是一种基于统计学的重建方法,可以看到,二者的时域是有一定的差异的;如果从频域来观察,二者将十分相似。

结论

在预测性维护的第一步,信号采集中,我们可能碰到非均匀采样和样点丢失的问题。这类问题可能带来对特征提取的干扰,影响我们后续处理的精度,甚至于无法采用某些算法。本文中给出了一些简单的解决方法。在真实的工程现场,我们可能碰到更加复杂的情况,需要综合运用领域知识重建信号。重建出连续均匀信号有利于复用常用分析例程和压缩数据,这一点对于 IoT 和边缘设备尤其重要。


下一次,我们来探讨一下如何通过时频分析和可视化手段来探索传感器数据特征。


我知道了