2026/10/3 4:36:04

粒子群算法优化随机共振:滚动轴承早期故障诊断新方法

粒子群算法优化随机共振:滚动轴承早期故障诊断新方法 滚动轴承早期故障其实是最容易被“正常振动”盖过去的一类信号。峰值很弱冲击周期还不稳定放在整个机组的加速度谱里看起来就像噪声里的一个局部小鼓包肉眼几乎分辨不出来。前两年做设备状态监测时我一直对传统降噪路线的效果不太满意后来把粒子群算法优化随机共振这套方法重新搬上实验台才发现它在处理“小幅值、强背景噪声”的轴承信号时效果比我预期要稳得多。这套诊断法的核心思路不是把噪声去掉而是反过来利用噪声把微弱特征“托”出来先用粒子群算法自动匹配随机共振的参数再用包络谱识别特征频率。这篇文章就把我这个过程中的原理理解、参数设计、实测结果和踩过的坑一次讲清楚适合正在做故障诊断实验、或者对非线性信号处理方法感兴趣的同行参考。1. 早期故障信号为什么难抓先弄清楚信号藏在哪儿1.1 滚动轴承故障特征频率的基本规律想诊断滚动轴承第一步就是要知道你找的是什么样的“节奏”。轴承各部件损伤后在转动过程中会周期性产生冲击这种冲击在振动信号里表现为一系列间隔大致相等的脉冲。我们习惯上把这些脉冲对应的重复频率叫“特征频率”常见有外圈特征频率BPFO、内圈特征频率BPFI、滚动体特征频率BSF还有保持架特征频率FTF。以深沟球轴承为例外圈故障特征频率可以表示为f_o (N / 2) × f_r × (1 - (d / D) cos α)N是滚动体个数f_r是转频d是滚动体直径D是节圆直径α是接触角。内圈和滚动体的公式结构也类似区别在于内圈故障频率有个乘因子(1 d/D cos α)滚动体还额外乘一项滚动体自转修正。虽然公式看着不复杂但真正麻烦的是早期故障产生的冲击力很小和正常滚动接触力叠加后幅值差异可能只有1%到5%。拿整段时域波形去肉眼看根本看不出周期冲击的痕迹。1.2 早期故障在频域里的“藏身方式”早期故障信号在频域里有两个明显特点。第一它的幅值非常低通常比齿轮啮合频率、转频谐波、结构共振幅值低一个数量级甚至更多。第二它的能量分布在很宽的频带内而且往往和轴承结构振动带来的自然频率重叠在一起不是孤立一根谱线。你如果只做一个FFT功率谱特征频率那几根谱线大概率淹没在连续噪声谱里。就算你把频谱整体放大也只能看到边缘微微隆起的“土包”说不出哪根是特征峰。正因为这样很多工程诊断里大家习惯用“包络谱”而不是原始FFT频谱来识别早期故障。先用带通滤波把某个共振频段取出来再做希尔伯特解调得到包络信号最后对包络做FFT特征频率的周期性冲击就会变成包络谱上的离散峰。这个方法好上手但它对“带通滤波的频带选在哪里”非常敏感。选窄了特征频段被切掉一半选宽了噪声进来又压不住。尤其在不同设备、不同转速下共振频率是会变的固定频带判断就很容易漏检。1.3 传统思路和随机共振思路的分野我自己最早踩的弯路就是死磕“降噪”。用各种小波阈值、经验模态分解、谱减法把噪声压低然后期望噪声降下去后特征自然显现。但问题在于早期故障信号本身幅值就接近噪声水平降噪算法分不清哪些是噪声、哪些是真实信号很容易把它们一起抹掉或者把噪声的随机尖峰误当成故障信号。做仿真时信噪比还能算一到实测数据上降噪效果就非常不稳定。后来我开始关注随机共振。它的思路是完全反着来的既然早期微弱信号和噪声出现在同一个频段那我们不妨让信号和噪声共同通过一个非线性系统利用噪声能量向信号频率转移的机制让微弱特征峰在输出频谱中变突出。这是一种“用噪声换信噪比”的办法在很低的输入信噪比下依然可能有效。当然它也不是万能药能不能成功关键看系统参数匹配得怎么样——而这一步就是粒子群算法优化随机共振诊断法要解决的问题。2. 随机共振不是“玄学”双稳态模型到底在干嘛2.1 双稳态系统一个小球在两个坑里跳随机共振最常见的物理模型是双稳态系统。你可以把它想象成放在凹凸地形上的一个小球地形有两个对称的低洼处中间隔着一个坎也就是“势垒”。小球没有能量时就停在其中一个坑里。当输入一个弱周期信号时这个信号本身能量太小小球根本爬不过中间那道坎于是只在原来的坑里小幅晃动。这时候如果同步加入噪声噪声的随机推力会时不时帮小球攒够能量让它跨过势垒跳到另一个坑。弱周期信号会在“哪边坑待的时间更长”上做文章信号往正向推的时候小球更可能跳到右边的坑信号往负向推的时候更容易留在左边的坑。结果就是输出状态在左右两个坑之间以信号频率为主进行切换切换幅度远大于输入信号本身再加上系统自身的弛豫过程周期信息就被明显增强并显现出来了。数学上常用的一维朗之万方程长这样dx/dt a x - b x³ s(t) ξ(t)其中a和b是双稳态系统的势函数参数s(t)是微弱信号ξ(t)是噪声。x(t)是系统输出。这里a和b不是摆设a控制势垒的形状a越大系统对输入的响应速度越快b控制势阱间距b越大输出动态范围越大。二者配合决定了“最优共振条件”落在哪个频率和噪声强度区间。我一直觉得用这个模型比喻到轴承诊断时它对应的是“冲击信号是小球、噪声是推手、势垒是系统阈值”这么一组关系理解了这个后面所有参数调整才有方向。2.2 数值离散和变步长二次采样从理论到能跑的代码连续方程没法直接用计算机算得用数值方法离散最常用的是四阶龙格库塔法求解时核心注意两点步长h要足够小否则系统会发散输出变成一条不断抖的随机线但h又不能太小否则轴承原始采样率动辄20 kHz、100 kHz算起来天文数字。更关键的是随机共振原本是从统计物理中来的理论它对信号频率的适配范围其实偏向低频。轴承振动信号的特征频率经常在几百赫兹到几千赫兹直接代入原模型几乎没法共振。于是工程上普遍采用“变步长二次采样”的方法。思路很简单先把原始高采样率信号按压缩比R进行抽取或分段重采样把等效采样率降下来同时把整个频谱的横轴按比例压缩。比如原始采样率是20000 Hz特征频率约3000 Hz若取二次采样频率为20 Hz那么R ≈ 1000经过二次采样后信号在压缩坐标上的特征频率变成了约3 Hz进入随机共振最敏感的低频区间。做完随机共振处理之后再把输出谱的横轴按照R还原回来。我在第一次做二次采样时犯过一个错误就是把压缩比等同于简单的“每隔R个点取一个”。这样做会造成混叠尤其是原始信号里存在高于二次采样奈奎斯特频率的高频能量时混叠会把杂散频率折回到感兴趣频段。稳妥的做法是先做抗混叠低通滤波再抽取或者用分段平均的方式做重采样。实测下来前者更稳。2.3 随机共振的适用边界谁都能被增强吗必须要泼一盆冷水随机共振不是对任何信号都能“越噪越好”。它存在一个经典的正弦信号与噪声强度的匹配关系只有当噪声强度和势垒高度在同一量级时共振增益才最大。噪声太小小球翻不过坎噪声太大小球在两个坑之间疯狂乱跳输出状态变成纯粹随机翻转信号节奏反而被淹没。还有一个前提输入信号必须有明显的周期性或准周期性成分。早期轴承故障的冲击序列虽然不是理想周期信号但滚动体经过损伤点时产生的冲击在转速稳定的条件下重复间隔非常规律只是每圈冲击的幅值和相位略有抖动。这种“准周期”结构恰好满足随机共振对“弱周期信号”的要求。如果是完全没有周期结构的随机脉冲比如强烈碰撞带来的瞬态振动随机共振增强的效果就很差甚至会放大噪声尖峰。所以实际用的时候先做周期性检验再上随机共振是很有必要的。3. 粒子群算法把调参从手工活变成自动寻优3.1 为什么手工调参不可靠随机共振系统看着只有a、b、二次采样压缩比R、噪声强度几个关键量真调起来你会发现它们相互纠缠。a影响势垒高度势垒高度又决定了最优噪声强度R改变等效频率等效频率又影响系统频率响应是否匹配而真实轴承信号里的噪声强度是未知的、还会随工况变化。每次更换转速、更换测点参数都要重新摸一遍。我早期用手动网格搜索在同一段数据上调出一个看起来不错的a和b换到下一段数据效果立刻打折扣非常折磨。这时候就需要一个自动寻优算法在每个样本数据上自动找到这组参数。粒子群算法优化随机共振诊断法本质上就是把“参数匹配”这个任务交给粒子群算法来完成每个粒子代表一组候选参数组合利用群体信息共享和个体历史经验反复迭代收敛到当前工况下的最优参数组合。比起网格搜索它不需要枚举全部组合比起遗传算法它的实现更简单、收敛速度更快迭代中调整也直观。3.2 粒子群优化随机共振的整体框架整个流程我习惯这样组织对原始轴承振动信号做预处理去直流、去趋势项必要时做带通粗滤波把关注频带锁到特征频率可能出现的区域设定二次采样频率和压缩比R的取值范围初始化一群粒子每个粒子的位置是一个五维向量代表(a, b, R, 噪声增益, 信号幅值补偿等参数)对每个粒子按它对应的参数执行变步长二次采样和双稳态系统的龙格库塔迭代得到输出信号计算适应度值比如输出包络谱中信噪比增益和特征频率峰清晰度的综合指标更新个体最优pbest和全局最优gbest调整粒子速度和位置达到最大迭代次数或适应度收敛后用全局最优参数作为最终随机共振处理参数输出增强信号再做包络谱分析读取特征频率峰值。这个框架看起来简单但每一步都有可以优化的地方后面我会细讲。重点先放在粒子群算法本身它不是黑魔法核心就是一群粒子在解空间里“飞”把自己当前位置和历史上最好的位置、群体最好的位置做对比然后向好处移动。速度和位置更新公式是v_{i}(t1) w v_i(t) c1 r1 (pbest_i - x_i) c2 r2 (gbest - x_i)x_{i}(t1) x_i(t) v_{i}(t1)这里w是惯性权重c1、c2是加速因子r1、r2是[0,1]随机数。简单理解就是老经验惯性、个人记忆pbest、集体智慧gbest三股力量共同决定下一步往哪飞。w越大越偏向全局探索w越小越偏向局部精细开发。早期迭代建议w取0.9附近后期降到0.4附近这样能先快速找出大致区域再精细收敛到最优解。3.3 适应度函数怎么设计才靠谱这是整个粒子群算法优化随机共振诊断法里最影响成败的一步。适应度函数就是粒子群的“裁判”如果你告诉粒子“只要输出谱里最大峰越高越好”粒子很容易找到一组让系统产生虚假周期振荡的参数输出一个幅度很高的伪峰可这个峰对应的频率可能根本不是故障特征频率。我试过几种适应度简单说结论只用信噪比增益容易过度增强某一根随机谱线形成假目标只用峰值幅度容易把系统调到振荡临界输出一堆等间隔尖峰用包络谱中特征频率处的幅度与整个包络谱噪声均值的比值并且乘以一个“峰值周期度”惩罚项这个组合比较稳定。具体做法是先在包络谱里搜索与理论特征频率最接近的峰计算峰幅值与局部噪声底之比再检查该峰周围的谐波结构是否清晰。如果只有孤立一根峰、没有谐波结构判定为可疑适应度加权折扣。我在仿真数据上验证过加入周期度惩罚项之后误检率下降非常明显代价是迭代次数稍微多了一点但这在离线诊断里完全可以接受。4. 从仿真到实验台的完整流程看一个实际验证过程4.1 仿真信号把真实难点搬进电脑为了确定算法流程没毛病我先生成了模拟轴承外圈故障信号。仿真参数设置为特征频率约118 Hz转频约29.75 Hz采样频率20000 Hz信号时长1秒左右。仿真里我给特征频率对应的冲击序列加上随机幅值抖动模拟滚动体滑移再把高斯白噪声加进去让输入信噪比降到大约-12 dB。这时候如果直接做FFT118 Hz那一根峰在功率谱里几乎看不出来做传统带通滤波后噪声虽然略有降低但峰值仍然很糊。接着跑粒子群优化随机共振。粒子数20最大迭代30次搜索范围限定为a在0到5之间b在0到2之间R在100到1000之间。适应度函数用上面说的“包络谱信噪比增益×周期度惩罚项”。整个寻优过程在普通笔记本电脑上大概十秒左右收敛。选出的参数组合大概落在a≈1.82b≈0.34R≈260附近四阶龙格库塔步长取0.1输出谱在压缩坐标的118/R Hz处出现一个清晰峰。把横轴还原后特征频率读数为117.4 Hz和理论值误差不到1%。同一条数据再用固定参数a1b1R300跑一次特征峰虽然也能看见但峰值比噪声底只高不到2倍谱线非常勉强。这个对比让我确认了粒子群自动寻优不是锦上添花而是让随机共振真正进入有效区间的关键。4.2 实验台实测不是所有“清晰”都可信仿真顺利之后我把它搬到实验台上验证。轴承型号选6205深沟球轴承外圈人为加工微小缺损转频约29.5 Hz理论BPFO约118.2 Hz。加速度传感器安装在轴承座上采样频率为20 kHz。这段数据的麻烦在于真实噪声不是白噪声而是包含转频谐波、齿轮箱背景振动和环境工频干扰的复杂底噪。直接包络谱分析结果里118 Hz附近有一簇峰最高峰在121 Hz左右和理论频率差了2.8 Hz你说它是故障峰也行说它是背景干扰也说得过去典型的不确定状态。改用粒子群优化随机共振处理后再做包络谱原来那簇峰收敛为两根明显的相邻峰主峰在118.5 Hz第二峰约在222 Hz接近2倍频。到这一步诊断结论才比较有底气确实存在外圈早期故障特征且重复性很好。要说明的是随机共振处理之后得到的谱线位置有可能存在微小偏移因为二次采样过程中的频率压缩在还原时会有量化误差。所以我在工程判读时容忍的频差范围放宽到理论值的±3%同时要求有可辨认的倍频结构两者都满足才下结论。4.3 用数据对比说话三种处理的差异为了更直观地表达我给这段外圈早期故障数据做了三种处理结果整理在一张表里处理方法118 Hz附近峰可见性噪声底平坦程度判断难度原始FFT功率谱不可见中极高固定带通滤波包络谱勉强可见差高粒子群优化随机共振包络谱明显主峰二倍频较好低这张表其实就是我做这项研究的核心论据随机共振结合粒子群参数寻优对早期微弱故障的“凸显能力”比传统带通滤波加包络谱要强尤其在特征频率与背景噪声重叠的频段。但代价是处理链路更复杂、计算量更大、对参数范围设定的经验要求更高后面这套方法能不能落地主要就看这三条能不能接受。5. 我把这套方法落地时踩过的四个关键坑5.1 适应度函数设计不当导致“假共振”最开始我做适应度函数直接用了输出信号的最大峰幅值与噪声方差的比值结果粒子群很快收敛到一组使系统进入极限环的参数输出信号的包络序列几乎全是等间隔大尖峰谱线非常漂亮但频率和轴承特征频率完全没有关系。后来查输出时域图才发现系统已经被参数推到自激振荡的边界噪声和信号的相互作用被放大到失真程度。解决办法就是前面说的周期度惩罚项要求峰值对应的频率必须处于理论特征频率附近的容差窗内且其2倍频处存在一定的谐波响应。对于早期轴承故障物理上一定存在倍频能量把这个先验知识编进适应度函数可以过滤掉绝大多数假共振。5.2 二次采样压缩比选择不当频率分辨率崩掉二次采样压缩比R不是越大越好。R越大等效采样率越低随机共振匹配效果可能更好但输出谱的频率分辨率会被压缩如果原始数据长度不够压缩之后一根特征峰可能跨越好几个谱线间隔峰形变得又矮又宽反而很难定位。我踩过的坑是一段1秒、采样率20 kHz的数据取R2000处理完以后频谱在还原坐标上的分辨率只有0.5 Hz看起来还行但换成0.25秒的短数据R还是2000分辨率直接变成2 Hz特征峰的实测读数跳来跳去完全没法用。经验是R的取值范围要结合数据长度和特征频率估算值来反推。先做一次常规包络谱粗定位确定特征频率的大致范围然后保证二次采样后的等效特征频率落在随机共振最佳响应区间通常几赫兹以内同时让压缩降到的最低频率分辨率至少不小于2倍特征频率带宽。如果数据太短宁可适当提高二次采样频率也别硬压。5.3 数值求解发散和计算量爆炸四阶龙格库塔步长h如果取得太大双稳态系统在噪声刺激下很容易发散输出信号变成绝对值很大的随机尖峰不仅频谱没法看适应度计算也会直接爆掉。我的处理习惯是搜索参数时先固定h0.05并把输出幅度检查放入流程一旦发现任一时刻|x(t)|超过预设上限比如10倍的输入信号标准差直接给该粒子一个极低的适应度避免它浪费迭代。计算量也是实际应用中绕不开的。粒子数20、迭代30次每次迭代都要对一整段1秒数据做二次采样和龙格库塔迭代总体计算量在笔记本电脑上大概40秒左右。如果换成8秒长数据时间翻倍不止。如果想在线使用建议做两件事一是离线跑一次寻优把最优参数固化二是把数据分段在较短片段上完成参数搜索后再用全数据进行一次处理。我后来到的项目里就采用“先粗筛、后精调”的两级策略在线部分只做固定参数随机共振输出计算压力非常小。5.4 粒子群早熟粒子全部挤在一起动弹不得粒子群算法有一个常见问题就是早熟收敛。具体表现是迭代没几次所有粒子已经挤到某个局部最优附近速度衰减到很小群体失去了继续探索其他区域的能力。我遇到一次粒子全部落在a接近0的边界上适应度卡在0.35不涨了。检查发现是惯性权重w降得太快前期探索不足粒子很快被个体最优吸引到一处。后来我改成了线性递减策略初始化w0.9每迭代一次按w 0.9 - t × (0.9 - 0.4)/T递减并且给粒子速度加一个上限限制它不要飞出搜索范围。同时把搜索范围设置得比经验范围略宽让粒子有机会发现完全不同区域的参数组合。再跑起来适应度收敛曲线明显更平滑最终结果也更稳定。粒子群算法本身是一个成熟工具但工程使用时不要拿着默认参数硬跑稍微做点自适应处理效果差异很大。6. 适合用到什么场景给设备维护工作者的落地建议6.1 哪些工况适合哪些不适合这套“粒子群算法优化随机共振诊断法”不是用来替代所有诊断流程的。从我这一年多的实测体会看它最适合的场景有三个特征故障处于早期、故障冲击具有周期性、背景噪声强但大致平稳。比如压缩机轴承早期点蚀、电机轴承跑合初期的微损伤、风机齿轮箱轴承在低负荷下的早期外圈故障都见到过不错的效果。反过来如果故障已经非常严重冲击幅值大到常规包络谱就能直接识别随机共振反而是多此一举如果信号里混有大量非周期冲击比如间歇性碰撞、松动引起的随机敲击随机共振的增强效果并不好甚至会把噪声脉冲放大成假故障。所以我建议的工程流程是先用常规包络谱和谱峭度做一次快速筛查确定疑似故障轴承和特征频率带对常规方法能确诊的直接出结论对常规方法拿不准、信号时域又没有明显冲击的再动用粒子群优化随机共振来做二次确认。这样既能降低漏检率又不至于让每台设备都跑一遍完整算法。6.2 工程化部署时的一些实操建议部署到实际监控系统时有三点我想特别提醒第一固定好随机共振参数之后不代表一劳永逸。转速变化超过3%到5%最优参数就要重新寻优。所以在部署方案里最好把转速信号一并采集进来转速波动较大时自动触发新一轮粒子群寻优。第二输出谱的判读要结合物理约束。除了看主峰频率是否接近理论值还要看是否有稳定的二倍频或三倍频、故障特征频率在包络谱中的幅值是否随负荷变化而合理变化。我遇到过一段数据随机共振输出谱在特征频率处出现明显峰但用转速谱对比后发现这个峰对应的其实是转频的某阶谐波只因为谐波和特征频率差点重合就被误判了。所以诊断结论永远要回到物理机理上算法只是放大工具。第三参数库的建设很重要。每台设备在不同工况下会有不同的最优参数组合我建议把每次寻优得到的最优参数、转速、负载、故障类型全部记录入库。做久了你会发现同型号轴承、同一测点位置的参数具有较强迁移性可以直接作为下一次预搜索的初值大大缩短寻优时间。这也是我从“研究项目”走向“状态监测工具”过程中最有价值的经验之一。6.3 后续还可以往哪个方向扩展从我个人的研究计划看接下来有三个方向值得继续试。一是把适应度函数改成多目标优化同时兼顾信噪比增益和包络谱谐波清晰度用多目标粒子群优化进行一次搜索得到一组Pareto非劣解现场根据实际情况选参数鲁棒性会更好。二是把随机共振的势函数从双稳态换成三稳态、周期势甚至带有轴向漂移势阱的形式针对不同轴承结构和不同损伤形态做势函数自适应匹配。三是把随机共振增强后的信号作为深度学习模型的输入替代原始时域波形或传统特征向量在早期故障分类任务里很可能比单纯用原始数据的准确率更高。这套方法这两年在我手里的设备数据集上验证下来最让我印象深刻的一点是当传统频谱分析告诉你“没特征”的时候随机共振方法偶尔会亮出让完全出乎意料的清晰峰。当然每个峰都值得被审慎对待需要回到设备本身去求证。可反过来想当现场工程师对着普通频谱皱眉头时手里多一种从噪声里“打捞”微弱特征的手段总归是件让人安心的事。