真不是吓唬你,搞机械设计这些年,我见过太多“数据看起来很美,一用就翻车”的案例。比如某次现场测一台离心泵的振动,加速度传感器采回来的波形,时域里看着乱糟糟的,频谱上一堆毛刺,压根没法判断是哪个轴承出了问题。后来才发现,是传感器安装位置不对,加上采样率设低了,连混叠都没处理。
采集端:先让数据“干净”进场
说起来,数据处理的第一步,其实是硬件设置。很多工程师喜欢直接把数据往FFT里丢,结果谱线全糊了。这里有个坑:采样定理。你至少得让采样频率大于分析频率的两倍吧?实际操作中,我一般留2.56倍余量。举个例子,你要分析到1000Hz,那采样率就设2560Hz。别问为什么,这是工程惯例。

再说抗混叠滤波器。现在的采集仪都内置了,但你要看看它是不是真正生效了。我曾经为了省事,用了个老型号的数采仪,没注意它的低通滤波器截止频率不对,结果把高频噪声折回低频,频谱上出现一些假峰。那时候,我还傻乎乎地以为设备真有故障,差点让车间停机大修。教训啊!
所以,采集端务必确认三件事:传感器固定方式(螺栓固定比磁座靠谱得多)、采样率、滤波器类型。你如果是在做状态监测,推荐参考ISO 10816的测量标准,里面有详细的测点布置要求。
滤波与去噪:别把有效信号也削了

信号采回来了,肯定有噪声。常见的有随机噪声、工频干扰、脉冲干扰。中值滤波对脉冲很有效,但它会把边缘磨平。要是你想分析轴心轨迹,那最好用巴特沃斯低通滤波器,但要注意相位失真。
我记得有次处理齿轮箱的振动信号,有个明显的周期性冲击。我一开始用高通滤除低频,结果冲击反而变模糊了。后来才明白,那种故障特征往往集中在某一频带,过度滤波反而会把边带去掉。
这里教大家一个小诀窍:先看原始时域波形,再决定滤波策略。别一上来就整个带通。说实话,我做这行十几年,真正有用的经验就是“先看,再处理”,数据里藏着很多你没留意的细节。
特征提取:从一堆数里找“灵魂”
把噪声去得差不多了,就该算指标了。时域里,峰值、均方根值(RMS)、峭度,这些是基础。但峭度对脉冲很敏感,如果工况不稳,它会忽高忽低。频域里,FFT是标准工具,但你得选对窗函数。我一般用汉宁窗,泄漏小。对于瞬态冲击,用矩形窗反而更好,因为汉宁窗会把冲击的幅值压低。

具体算FFT时,谱线数也有讲究。比如采样率2560Hz,分析频率1000Hz,谱线数设为800线,分辨率就是1.25Hz。够用了。如果你想分辨出两个非常接近的故障频率,就得提高谱线数,但那样会牺牲平均次数。这是个权衡。
再说一个容易忽略的点:特征值要结合转速。机械设备的振动是随转速变化的。你要是只取一个固定工况下的数据,那没什么代表性。最好做阶比分析,把时域信号重采样到角度域,这样就不受转速波动影响了。
异常判断:别被“阈值”牵着走

我们常设个固定阈值来报警。可实际工况哪有那么稳定?比如一台风机,启动初期和运行平稳后的振动值差一倍都正常。固定阈值要么漏报,要么误报。我建议用趋势+相对阈值的方法。简单说,就是观测一段时间的数据,取一个基准值,再设定偏差。
这里要给各位提个醒:先算滑动窗口的统计量,比如每小时计算一次RMS,然后看它是否超出“基准值+3σ”。σ是全过程的方差。这个方法在大多数情况下都适用。但遇到非平稳工况,比如变转速,那就得用自适应算法了,比如卡尔曼滤波。
数据存储与压缩:别让硬盘成为瓶颈
工业数据是海量的。一个通道每秒采2560个点,一天下来就有2亿多个点。你要全部存起来,磁盘那点空间真不够。所以得压缩。
常规做法:只存特征值,不存原始波形。但这样会丢失很多细节。我现在的做法是,对正常数据只存特征值,一旦触发报警,就保存前后一段时长的原始波形。这样既省空间,又保留故障样本。
还有一点,文件格式尽量用二进制,别用ASCII,省空间也读写快。像TDMS、HDF5都是好选择。我见过一家工厂,用CSV存振动数据,一个文件几百MB,读取时卡得不行。换用TDMS后,速度快了十倍不止。
结语
工业数据处理并不神秘,核心在于“不迷信数据,不偷懒设置”。每一条曲线背后都有物理意义,你要做的是把它挖出来。别怕踩坑,我当年也被泥坑吞过,摔得灰头土脸,但那些教训比任何公式都值钱。