SympPrognosis:基于辛几何机理嵌入的机械故障诊断方法(Python)

作品简介

这个算法从振动信号的相空间重构入手,借助辛几何里的Hamiltonian矩阵谱分析来提取轴承不同工况下的动力学特征。先通过常规的时域统计和概率密度图对信号有个直观认识,然后对每个信号段构造位置和动量矩阵,进而生成能反映系统保守结构的Hamiltonian矩阵,取其特征值模作为特征。这样做的好处是把时间序列里的动力学信息浓缩成一组数值,而且完全不用机器学习模型,全靠物理和数学推导。实际用CWRU数据跑下来,正常状态的特征极其稳定,几乎看不出波动,内圈和滚动体故障的特征一致性也不错,说明辛几何能抓住它们本质的振动模式;唯独外圈故障的特征波动较大,可能跟它的信号弱冲击、幅值变化大有关,需要进一步调整窗口或嵌入维数来优化。

算法步骤

数据读取与预处理 从CWRU数据集的MAT文件中读入加速度振动信号,对每种轴承状态(内圈故障、滚动体故障、外圈故障、正常状态)分别处理。先减去信号的均值去掉直流分量,得到零均值的时域序列,方便后续分析。

时域波形与概率密度分析

将预处理后的信号绘制成时域波形图,直观显示振动幅值随时间的变化,并标记对应的轴承状态。

计算信号的均值、标准差、偏度和峭度等统计特征,并输出到控制台,以便初步了解信号的分布特性。

对每种状态分别绘制概率密度图:先画归一化直方图,再用核密度估计(KDE)拟合出平滑的概率密度曲线,同时画出理论正态分布曲线作为参照,这样能直观比较实际分布与高斯分布的差异。

将所有四种状态的核密度曲线汇总到一张图中,方便对比不同故障下幅值分布的总体特征。

辛几何特征提取

对每种状态的振动信号,设置相空间重构的参数:嵌入维度取10,延迟步长取2,滑动窗口长度取2000个点,窗口移动步长取1000个点。

对每个窗口内的数据段进行相空间重构,得到延迟向量矩阵。

从延迟向量矩阵中构造“位置”矩阵(去掉最后一行)和“动量”矩阵(相邻行的差分),模拟物理系统中的位置与速度关系。

计算位置自协方差、位置与动量的互协方差以及动量自协方差,拼接成一个2倍嵌入维度的总协方差矩阵。

引入标准的辛矩阵,将总协方差矩阵与辛矩阵相乘,得到Hamiltonian矩阵。

求解Hamiltonian矩阵的特征值,取模并按从大到小排序,保留前10个最大的模值作为该窗口的特征向量。

滑动处理完所有窗口后,每个状态得到一组特征向量(正常状态有484个窗口,故障状态各121个窗口)。

特征降维与可视化

将四种状态的所有特征向量合并,用主成分分析(PCA)把高维特征降到二维,便于在平面上展示。

用不同颜色区分不同状态的样本点,画出二维散点图,观察它们在特征空间中的分布是否可分。

状态内变异量化

对每种状态单独计算其特征向量的均值,然后计算每个窗口的特征向量到均值的欧几里得距离,再求出这些距离的平均值和标准差。

这个平均距离反映了该状态内部特征的稳定程度:距离越小说明不同时间窗口的振动模式越相似,状态越平稳。

 








创作时间: