基于KNN-EMD算法的机车轴承故障诊断方法
2021-12-10王嘉浩胡园园
王嘉浩,罗 倩,胡园园
(北京信息科技大学信息与通信工程学院,北京 100192)
1 引言
随着工业的进步,旋转机械日益向集成化、大型化、高速化和智能化的方向发展[1]。在各种旋转机械中,滚动轴承是常见也是易于损坏的零部件之一,具有易启动、摩擦小、润滑简单和更换方便的优点,广泛用于精密仪器、航空航天、汽车、机床、机器人等领域。据有关资料统计,旋转机械的故障中振动故障占70%,而30%的振动故障是由滚动轴承故障引起的[2]。因此,滚动轴承的故障诊断理论和应用研究一直是旋转机械故障诊断领域的一个重点。
由于机车滚动轴承发生故障时信号是非平稳的,其振动信号各频带的能量发生相应变化,利用各频带能量分布作为该状态下轴承故障特征[3]。传统的距离度量方法,多数针对空间中不同的样本点,对不同分布间的相似度难以实现有效度量。传统的分布相似度度量方法,在度量不同分布间的相似度时,受重叠程度的影响严重,难以实现有效的相似性度量。EMD在度量不同分布间的相似度时,具有不受分布位置影响的优势[4]。针对EMD的这种特性,本文将EMD引入KNN算法中,提出了基于KNN-EMD算法的机车轴承故障诊断方法,提高诊断准确率。
2 小波包分析及能量提取
2.1 小波包理论分析
小波包分解以小波变换为基础,但比小波分解更加精细。小波包分解不仅针对信号的低频部分进行分解,对信号的高频部分也同样进行分解[5]。这种分解方式解决了小波分解再高频段内频率分辨率差,在低频段内时间分辨率差的缺陷。
在多分辨率过程中,将小波包分解视为对一个函数空间逐级进行正交分解的过程[6]。小波包分解公式为
(1)
2.2 能量分布特征
小波包变换对信号的分解相对于小波变换来说更加的细致,基于小波包分析方法,通过对原始信号分解,可以得到原始信号在不同的频带内的能量分布。基于这种方法,可以针对在原始信号中需要分析的频率范围,将原始信号在指定的尺度上进行分解,并得到其能量分布,进而达到提取特征的目的。将这种分析方法成为能量分析[7]。
基于小波包变换对信号进行能量分析主要依赖于小波包的分解原理及小波包分解频带能量检测技术。信号经小波包分解后得到的信号在各频带上的能量折射出原始信号能量分布的整体特征,因此可以利用原始信号的能量特征对信号进行分类[8]。
信号经过j层小波包分解后,信号的总能量也被分解到了2j个互不重叠的频率区间内,因此通过考察信号整体能量在各个频段内分布比例的变化,便可以作为原始信号的特征信息[9]。
信号小波包分解后第j层上第k个频带Xjk(n)上的能量
(2)
归一化后得到能量特征如下
p=[E1,E2,…E(2j-1)]/E总
(3)
其中
(4)
3 KNN-EMD算法
3.1 KNN(K-nearest neighbor)算法
K近邻法(K-nearest neighbor,KNN)是一种基本分类与回归方法,其基本做法是:给定测试实例,基于某种距离度量找出训练集中与其最靠近的K个实例点,然后基于这K个最近邻的信息来进行预测。通常,在分类任务中使用“投票法”,即选择这K个样本中出现最多的类别标记作为预测结果。
KNN 算法是一种简单高效的分类算法,该算法规则分为以下3个步骤:
1)计算数据集中的点与当前测试样本中点之间的距离,并且按照距离递增的顺序进行排序;
2)选取与当前测试样本点距离最小的K个点;
3)统计前K个点所在类别中所出现的频率,并返回前K个点出现频率最高的类别作为当前的预测分类结果,即多数表决的分类决策。
K=3与K=5时的KNN决策流程如图1。
图1 KNN决策流程
3.2 EMD(Earth Mover’s Distance)
EMD是一种衡量2个分布相似性的度量。它的正式定义是一个线性规划问题[10],给定两个分布
P={(p1,ωp1),…(pm,ωpm)}
(5)
Q={(q1,ωq1),…(qn,ωqn)}
(6)
分布P和分布Q之间的EMD的规范化定义为
(7)
其中对fij有以下四个约束条件
fij≥0,i=1,2,…,M;j=1,2,…,N
(8)
(9)
(10)
(1)
EMD在直方图中的体现如图2。
图2 EMD图示
3.3 KNN-EMD算法
传统KNN算法中,度量数据集中两点之间的距离采用欧式距离。欧式距离在度量不同分布的差异时,难以做到准确有效。EMD在度量不同分布间的相似度时,具有不受分布位置影响的优势[4]。同时,原始信号在经过小波包分解后产生的能量分布与直方图具有相同的特征,因此本文将EMD引入到KNN算法中,代替欧式距离对能量分布进行度量。
在不同的K值下,计算测试数据与周围K个最近邻点的EMD,最后根据多数表决的分类决策规则将测试数据分类。
KNN-EMD算法步骤可总结如下:
1)设X=(x1,x2,…xm)为小波包能量法提取的滚动轴承振动信号能量特征的集合;
2)将X划分为训练集Xtrain与测试Xtest;
3)对不同参数K值进行训练,K的取值一般位于区间[1,10];
4)计算训练集与测试集之间的EMD;
5)为测试集样本选取K个与之距离最小的样本;
6)使用多数表决分类决策规则得到测试集样本分类结果。
4 仿真分析
4.1 仿真数据
在本次仿真中,利用美国凯斯西储大学所给出的轴承故障数据进行实验。待检测的轴承支撑着电动机的转轴,驱动端轴承型号为SKF6205,风扇端轴承型号为SKF6203.
在数据测量中,机器风扇端和驱动端的轴承座上方各放置一个加速度传感器。振动加速度信号由16通道数据记录仪采集得到,采样频率为12kHz,所测试损伤直径为0.1778mm。
仿真数据包含滚动轴承的4种运行状态,分别是正常状态、内圈故障状态、滚动体故障状态、外圈故障状态。仿真采集的滚动轴承各状态下时域振动信号波形如图3。
图3 轴承各个状态下时域振动信号图
通过观察图3,滚动轴承的时域振动波形区分度较低,很难将轴承各状态区分开,为了更为直观的区分度,对滚动轴承实现有效的故障诊断,对4种运行状态下的滚动轴承振动信号进行小波包能量分布提取,结果如图4-图7。
图4 内圈故障信号能量谱
图5 滚动体故障信号能量谱
图6 外圈故障信号能量谱
图7 正常信号能量谱
通过图4,图5,图6,图7可以比较直观的观察到滚动轴承处于不同状态时,其振动信号各子频带的能量分布具备较大的区分度。正常状态下,轴承能量主要集中分布在前4个子频带,与故障状态下能量分布有明显差异。三种故障状态下能量分布均集中分布在第3子频带与第7子频带,但三者仍具备分布上的差异。滚动体故障信号能量谱与外圈故障信号能量谱相比,前者能量谱子频带3能量所占比重小于子频带7,而后者与之相反。相比这两种故障能量谱能量分布,内圈故障信号能量谱分布相对分散。
4.2 仿真方案及结果分析
对上述轴承4种状态下共4*81(324)组数据进行划分,对其数据集随机提取20%的数据作为测试集,其余数据作为训练集。
在小波基的选取上,daubechies和haar小波常用于对数字信号进行处理。在实际工程应用中,所选的的小波基支集长度多为5-10。haar小波支集长度较小,仅为1,对于现在大部分的工程应用都不合适,而在db系列小波中,仅db3小波满足工程应用对支集长度的要求,故本文选用‘db3’小波作为小波基。
本文中,将所提取到第三层各结点能量值组成一维能量分布,因此,在计算不同分布间EMD时,可将其权重设置为1。
在不同K值下进行训练测试,并将测试结果与传统KNN比较。
利用传统KNN算法对测试集进行分类时,得到分类见表1。
表1 KNN准确率
对不同K值时,分类准确率曲线如图8。
图8 不同K值KNN准确率曲线
从表1可以看出,对测试集使用KNN分类时,对不同的K值可以获得不同的分类效果。从图8中看出,传统KNN算法的分类精度在K=1时可以达到最佳分类效果,其分类准确率为98.46%。
利用KNN-EMD算法对测试集进行分类时,得到不同K值下分类准确率见表2。
表2 KNN-EMD准确率
对不同K值时,分类准确率曲线如图9。
图9 不同K值KNN-EMD准确率曲线
图9反映出KNN-EMD算法与KNN算法相同,在K=1时达到最佳分类效果。由表2可以看出,本文提出的KNN-EMD算法分类准确率相较于K=1时的KNN算法提高了接近百分之一,诊断准确率达到99.23%,能够有效轴承故障部位对轴承故障部位进行分类定位,达到工业生产要求,可以在工业生产中实际应用。
理论上EMD度量特征分布之间的距离,因而在处理经过小波包分解提取的轴承振动信号的能量分布时具有它本身优异的特性。EMD在对多个分布间距离进行度量时,具有不受分布位置影响的优势,因此可以对提取到的能量特征进行有效度量,并结合KNN算法分类决策规则实现有效分类。
5 总结
本文通多对小波包分解,能量分布提取以及KNN-EMD的综合使用,提出了一种机车轴承故障诊断方法。针对故障信号时域特征不明显这一问题,
利用小波包对故障信号能量特征进行提取进而得到差异较大的特征量。针对传统KNN算法中,欧式距离在度量不同分布相似度的局限性以及EMD在度量不同分布间的相似度的优势,将EMD引入到KNN算法中,代替欧式距离对能量分布进行度量。相较于传统KNN算法,在诊断准确率上得到有效提高。但由于EMD的计算需要涉及到线性规划问题,因此造成了计算量的增加,这一缺陷会增加故障诊断的时间,本文下一步的研究重点将是通过对线性规划的分析解决EMD计算复杂度的问题。