振动解调用的包络谱计算

1缘起

在振动分析中,对于一些高频频点的分析计算,使用包络谱技术,进而得到特化谱是最适宜的。

1.1 包络谱是什么样子的?

我们看matlab信号分析中提供的一个实例:

https://www.mathworks.com/help/signal/ug/compute-envelope-spectrum.html

轴承故障有4个故障频点,示例中模拟了一个外圈故障的数据,然后对BPFO附近的谱线进行分解,最终用于分析的BPFO特化谱在这里:

包络谱可以在频域,也可以在时域时域可以通过幅值特征进行故障类别的定性分析。比如等幅周期性振波,幅度起伏的周期性振波各自有可能的来源。频域可以确认频点,然后根据设备频点数据库查找对应的故障部件。

上图的纵坐标有问题,最终的图理论上需要用db坐标。粗略的考量,-40db一般认为是振动故障信号出现的门限。此外峭度作为普通信号的离散程度的度量,也可以用来粗判有效信号是否出现。不是正态分布的白噪声,那肯定是某种有效信号。

外圈故障最开始时,大多是点蚀作用,非标准正弦波,所以倍频丰富。形成的最终包络谱视图可以很清晰地看到相关故障信号的基频和倍频特征。方便进行相关的故障分析的定量和定性分析。

1.1 为什么要计算包络?

因为特征信号极微弱。包络其实是一个目标频带内微小信号,信噪比的相对提升技术。

振动监测的时候,如果涉及在线监测,信号会非常嘈杂,电磁噪声也会混入,最重要的是多个频点的振动数据会混叠在一起,在线监测时会更麻烦,因为采集器的成本在那里,你不可能对齐各个传感器的频点进行单独的采样------这样会涉及到很多协调工作。包络的一大功能就是在疑似故障已经出现时,把相关频点部分的故障信号的特征从频谱中抽取出来,就像是专门对这个频点做了一个针对性的观测。

包络能够把故障频点的基频和倍频移至低频,并且因为这个信号通常非常微弱,利用包络还可以过滤掉更高频段的干扰,而专注于这个微小信号的解析。全域图,谱线虽然也在,但是会被更高的能量峰完全淹没。

1.2 更多的话

这个问题,我看了无数的文章,看了希尔伯特变换的一篇论文,但是似乎没有人能说清楚包络变换的原理和操作步骤,很多人在进行包络计算时,只是调用了一个数学工具库中的函数。它做了什么,甚至,最终视图的坐标轴的档位都不明晰。

奇怪的是,这个重要的数学工具,在我查阅的一些标准的振动分析教材上也鲜有提及------也许它太过简单,是个常识?但关于希尔伯特变换的含义和在包络运算的使用,又确实没有几个人能说得清。感谢matlab,感谢一切在网络上积极进行理论和技术传播的从业人员和热心人士。希望和你们继续同行。

2.包络谱的计算步骤

四个步骤:

1.去零点

2.带通滤波

3.包络解调

4.去零点

然后在展示时:

5.功率谱显示

6.设置maxFreq。修饰倍频谱线位置。

3.FAQ

1.为什么文章开头的包络谱线能达到谱线移动的效果?

看到上面带通滤波后的红色频谱和时域图就明白了。(出处:Bandpass-filter signals - MATLAB bandpass)

经过带通之后的时域图红色的部分是个非常典型的调制波。在它的这个高频频点附近BPFO的基频和倍频以调制波上叠加低频信号呈现。因为所有关心谱线之外的频段已经都被带通滤波器抑制,所以,最终经过标准的希尔伯特envelope解调后,这段细节谱就会看似被移动到低频部分。其实频率是不变的,它只是把那个频带的信号放大了。谱线的位置还在。那些会对解析产生干扰的高能谱线被抑制。

此外,注意如果使用标准的希尔伯特解调,解调前后似乎会有一个两倍幅度加乘,如果你无法使用好用的数学运算库,要注意核对最终生成的全域包络谱的幅度,要把额外的加成消掉。

2.我们总能找到故障源吗?

全自动无人干预的振动故障定位是相对困难的。故障分析报告可以分级处理。定位不准确的,就给出可能失效的故障元件清单,方便人工后期确认。

如果已经能够非常清晰地判断出故障发生的器件以及振动类型。直接出报告即可,这肯定会更惊艳。始终要处理针对问题的分级处理。从75%~95%,付出的努力要大得多的多。我觉得对与工程应用,因为受限于成本工期等资源限制,永远不要奢望于达到全覆盖,全覆盖一定会不准确,而且代码会出现不必要的复杂性,易出错,难维护,而且报告的可信度会下降,而不是上升。

附录A 各种中间波形和频谱图

原始时域图

外圈故障是等幅的,因为只有一个BPFO在起作用,内圈故障因为滚珠和轴速接近,会呈现出幅度调制的效果。波形边缘是起伏的。

原始频域功率谱

注意3kHz的一簇梳状故障谱线,高峰已经顶过-40db。故障信号已经形成。在进行FFT变换时,特别注意变换后输出的纵坐标的单位是什么。是原始幅度值还是db这类比率坐标,它直接影响故障的初筛。

包络时域图

注意红色的故障频带幅度是很小的,样例中,这个振动信号刚刚超过-40db,是原始信号的1/100这样的量级。

包络和全频域图

这里高频的下潜部分是由带通滤波实现的,低于-40db无需分析。输出全域谱可以保留,如本文开篇那个BPFO特化谱,可以直接把低于-40db很多的无关部分消掉,不显示。

附录B 希尔伯特变换的数学和物理意义

与包络计算相关的希尔伯特变换的解析参见:

希尔伯特变换的在信号解调时的示例-CSDN博客

相关推荐
Tiandaren3 小时前
Selenium 4 教程:自动化 WebDriver 管理与 Cookie 提取 || 用于解决chromedriver版本不匹配问题
selenium·测试工具·算法·自动化
岁忧4 小时前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
chao_7894 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
秋说6 小时前
【PTA数据结构 | C语言版】一元多项式求导
c语言·数据结构·算法
Maybyy6 小时前
力扣61.旋转链表
算法·leetcode·链表
卡卡卡卡罗特8 小时前
每日mysql
数据结构·算法
chao_7899 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找
lifallen10 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
lixzest10 小时前
C++ Lambda 表达式详解
服务器·开发语言·c++·算法
EndingCoder10 小时前
搜索算法在前端的实践
前端·算法·性能优化·状态模式·搜索算法