FOA-WPT降噪和PSO-SVM在滚动轴承 故障诊断中的应用
2018-12-27,,,,
, ,,,
(西南交通大学机械工程学院,四川 成都 610031)
0 引言
机械行业中,滚动轴承是一类举足轻重的旋转零件,起到关键的承重和连接作用。同时,滚动轴承也是极容易出现故障的零件。轴承故障将会直接导致设备运作不稳定,影响生产安全。如果发现或者维护不及时,将会对公司造成严重的损失,甚至对员工造成人身伤害[1]。
轴承的故障往往会伴随着振动信号的变化,近年来,轴承状态监测和故障诊断多通过轴承振动信号、声发射信号展开研究,故障分类多采用小波分析、支持向量机和神经网络。信号处理多以正弦波混叠白噪声进行仿真分析,而实际工况中,由于环境干扰及传感器安装等原因,采集到的信号中往往掺杂着大量噪声,前期的滤波降噪将很大程度影响故障的识别精度。小波包变换对非连续平稳信号有着很好的降噪效果,近年来,小波基函数和阈值的选取成为小波包研究的热点[2-4];同时,对于多分类问题,相比神经网络,支持向量机则可以达到更加快速、准确识别的目的[3]。
在此,提出一种FOA-WPT与PSO-SVM相结合的故障诊断算法,针对采集到的原始振动信号噪声混杂现象,先采用果蝇算法优化小波包的方法获得最佳分解层数和最优阈值,对其降噪;后续建立粒子群优化后的支持向量机模型,对4种实际工况下采集的10类轴承故障信号进行了识别与分类。经试验验证,该方法对仿真信号和实际信号均具有良好的降噪和识别效果。
1 小波包阈值降噪
1.1 小波分析
小波分析是一种由傅里叶分析衍变而来的频域分析方法,由信号的分解和重构2部分组成。小波基φ(t)∈L2(R)满足容许条件:
(1)
φ(ω)为φ(t)的傅里叶变换。归一化后,小波基函数表达式为:
(2)
一般先将小波φ(t)与原始信号f(t)的起始部分进行比较,得到相关系数C:
C=WTf(a,τ)=〈f(t),φa,τ(t)〉
(3)
这里,a=1,τ=0,相关系数C表示信号与尺度为1,位移为0的小波φ1,0(t)的近似程度。C值越高,两信号越相似。此时将小波向右移动距离k,得到小波函数为φ(t-k),由式(3)得到a=1,τ=k时的相关系数C。同样,得到φ(t-2k)的小波函数。
小波分析不仅仅在时域上有较好的局部分析能力,且在频域上也有一定的局部化能力。在适应性上,小波分析需要预先选定小波基函数,通过调节小波基函数的阈值可以调整小波分析对于不同频率信号的处理需求[5]。
1.2 小波包分析
小波包分析是小波分析的延伸,并有着更高的分辨率,也可以同时得到信号在时域和频域的局部特征,且对低频和高频部分均有良好表现。每次小波包分解的结果均为2组序列,分别为信号的低频和高频分量,这种分解是无遗漏、无冗余的。
假设信号为w(t),小波函数为φ(t),则信号w(t)生成的正交小波包:
(4)
其中,k∈z。w(t)的小波包分解公式为:
(5)
式(5)表明,小波包每次分解均产生2组序列,分别表征高频和低频分量。令Hn,k=hk-2n,Gn,k=gk-2n,矩阵H=(Hn,k),G=(Gn,k),则式(5)可表示为:
(6)
小波包重构公式为:
cj(k)=H*cj+1+G*dj+1
(7)
H*和G*分别为矩阵H和G的对偶算子。式(7)表明,信号每经过1次小波包分解与重构,信号长度将缩短一半[6]。
1.3 小波包阈值降噪
小波包阈值降噪的原理为:当原始信号在频域或小波域的能量分布相对集中时,相对噪声信号的能量分布就会比较分散,即在小波包分解系数中,有用信号的数值较大,其噪声信号的数值就会较小[7]。因此,可以设定1个阈值作为小波包分解系数的选取标准,去除掉小波包分解系数比设定阈值小的信号,就可以实现信号降噪,示意图如图1所示。
图1 小波包分解示意
小波包分解频带分布均匀,无论高频还是低频,其频率分辨率是不变的,因此每个分解频率有着一样的带宽。
小波包阈值是以上算法的关键参数,起着决定性作用。阈值过小则得不到较好的降噪效果;阈值过大又会导致部分有用信号被当作噪声滤掉,重构信号会有较大失真。这样就需要一个目标函数对噪声与有用信号的划分进行分类评估,一般采用广义交叉验证准则(GCV)作为阈值选取标准[8]。定义GCV准则函数为:
(8)
阈值λ的选取主要依靠经验和统计决策,并不能根据信号自适应选择,因此,有时候降噪效果并不理想,因此需要通过优化算法改善这一现象。
2 果蝇算法优化小波包阈值降噪
2.1 果蝇优化算法
果蝇优化算法(FOA)是2011年潘文超提出的一种基于果蝇觅食行为的新型优化算法。果蝇能够依靠敏锐的嗅觉,根据空气中气味的浓度追踪到40 km以外的食物,并判断出其他果蝇聚集的方向[9]。果蝇算法优化小波包阈值降噪的基本流程如图2所示。
图2 FOA-WPT算法流程
设置果蝇随机初始位置和初始搜寻方向和距离:
InitX_axis;IntiY_axis
Xi=X_axis+RandomValue
Yi=Y_axis+RandomValue
(9)
RandomValue为搜寻距离;i为第i只果蝇。
估计果蝇个体与目标食物的距离Dist,并定义味道浓度判定值S为距离的倒数,则有:
(10)
进一步求解果蝇个体所处位置的味道浓度,记为Smelli,通过求极值的方法找出味道浓度最高的果蝇:
Smelli=Function(Si)
[bestSmellbestIndex]=max(Smell)
(11)
bestSmell为最高浓度值;bestIndex为果蝇的序号。
保留最佳浓度值与位置信息:
Smellbest=bestSmell
X_axis=X(bestIndex)
Y_axis=X(bestIndex)
(12)
至此完成果蝇优化算法第1次迭代,进一步迭代寻优,直至找到最佳味道浓度。
2.2 FOA-WPT仿真分析
图3 不同阈值的降噪效果对比
使用仿真信号验证果蝇优化算法对小波包阈值降噪的优化效果,利用MATLAB中的leleccum函数生成1个随机含噪信号,并由randn函数添加随机噪声。将经过FOA优化小波包阈值以及其他阈值降噪结果进行了对比,如图3所示。将图3中不同阈值降噪后信号的信噪比(SNR)和均方误差(MSE)进行了对比,结果如表1所示。
由图3可知,FOA优化阈值降噪效果最好,既将噪声信号尽数去除,且将原始信号的特征均保留下来。表1也表明FOA优化阈值降噪后的信号信噪比明显更高,信号失真度小。
表1 不同阈值选取方法效果对比
由表1可知,FOA优化阈值的软阈值降噪方法有着更高的SNR且MSE更低,证明本文提出的降噪算法能够得到更优的信号,且具有很好的可行性和有效性,有着更好的降噪效果。
3 粒子群支持向量机
3.1 支持向量机
支持向量机(SVM)是一种基于统计学习理论的二分类方法,以实现结构化风险最小化来提高学习机泛化能力,进而使得经验风险和置信范围最小。从处理的数据类型而言,支持向量机可以分为2类,线性支持向量机和非线性支持向量机[10-11]。由于实际问题中,数据多为非线性,所以下文仅讨论非线性数据分类问题。
非线性SVM的思想是:首先通过一个合适的核函数,将原始数据映射到一个高维特征空间中,使训练样本在高维特征空间内线性可分,从而可以在高维特征空间中,设计线性SVM,来解决原始空间中的线性不可分问题,示意图见图4。
图4 非线性SVM示意图
设样本集为D=(xi,yi);i=1,2,3,…,l;x∈Rn;y∈{-1,+1}。核函数φ(·)将样本数据映射到高维空间,在高维空间中寻找一最优超平面f(x)=wT·x+b=0,使其在精度ε下,映射样本数据达到最优的分类效果,此时集合间隔为d=‖w‖2。
引入松弛变量ξi,则超平面求解式及约束条件为:
yi(wT·xi+b)≥1-ξi,i=1,2,3,…,l
(13)
则求解该分类超平面的问题可以转化为:
s.t.yi(wT·xi+b)≥1+ξii=1,2,3,…,l
ξi≥0i=1,2,3,…,l
(14)
引入惩罚参数c,并在每个约束条件前加上一个拉格朗日乘子,并引入拉格朗日对偶变量a,则式(4)描述的问题可以表示为一个凸二次规划问题:
(15)
对式(15)中的参数w和b求偏导,且令偏导为零,得到新的拉格朗日函数:
(16)
此时,拉格朗日函数中只包含1个变量ai, 引入核函数K对于所有x,z∈X,满足K(x,z)=〈φ(xi),φ(x)〉,其中φ(·)是从原始空间X到内积空间F的映射。此时,求极值最优解ai,进而求得w,b,即:
s.t.ai≥0,i=1,2,3,…,l
(17)
(18)
得到此时的分类函数为:
label(x)=sgn{w*·x+b*}=
(19)
3.2 粒子群优化算法
SVM成功与否的关键在于惩罚参数c和核函数参数g的设定。g代表单个训练样本对整体的影响,g值越大,个体的影响越小,但是过大的g值会造成样本的过拟合;相反,g值越小,个体对整体的影响就越大,但若g值过小,则样本个体过分关注自身,而可能忽略样本整体的复杂性。c作为惩罚参数,用来权衡误分类样本和分界面平滑性[12-14]。一般来讲,c值越小,分界面越平滑;而随着c值的增大,选取的自由度随之增多,会使更多的样本被正确分类。因此,c和g的选取至关重要。传统SVM需要根据经验人为设定c和g的值,为了使SVM取得更好的分类效果和更高的适应性,提出粒子群算法优化传统SVM,寻找最优参数解。
粒子群算法(PSO)的原理是将待优化的参数看做n维空间中的一群随机粒子,每个粒子都有一定速度,来决定它们行进的方向和距离,并且粒子具有记忆功能,可以记住当前位置和当前找到的最优位置,粒子群通过自身找到的最优解和种群目前找到的最优解不断更新自己,直至找到整个种群的最优解。算法描述为:
Vi(k+1)=ωVi(k)+C1r1(Pbest-xi(k))+
C2r2(gbest-xi(k))
xi(k+1)=xi(k)+k·Vi(k+1)
(20)
ω为权重因子;C1,C2为学习因子;r1,r2为区间[0,1]之间均匀分布的任意数;Pbest为果蝇个体目前找到的最佳位置;gbest为果蝇种群目前找到的最佳位置。
粒子群算法原理简单,易于实现,并且没有过多参数需要人为调整,只需给定粒子群规模、参数寻优区间,即可以进行迭代寻优。本文选择径向基函数(RBF)作为SVM的核函数,则有:
(21)
g为需要优化的核函数参数。
和遗传算法类似,粒子群算法也是依据适应度评判算法的成功与否。本文选用广义交叉验证风险函数(GCV)作为适应度函数,来寻找最优参数值[15],表达式见式(22)。
(22)
目前粒子群优化算法已广泛应用于各类函数的最优值求解、函数拟合、神经网络的训练、模糊控制和回归分析等领域。粒子群优化算法流程如图5所示。
图5 PSO-SVM流程
4 实验分析
4.1 数据来源
实验数据来源于美国西储大学(CWRU)电气工程实验室数据库,选用轴承驱动端的40组故障数据,SKF6205的深沟球轴承,均由电火花加工单点损伤,加工故障深度为0.279 4 mm,加工故障直径分别为0.177 8 mm(对应轻微损伤),0.355 6 mm(对应中度损伤),0.533 4 mm(对应严重损伤)。其中,轴承外圈的损伤点设置在时钟6 点钟位置。
原始振动信号由加速度传感器采集,采样频率为48 kHz,数据包含4种工况,如表2所示。
表2 4种工况说明
为了后续SVM分类方便,现将轴承故障按照故障位置、严重程度分为10种类别,编号为1~10,其中正常轴承编号为10,如表3所示。
表3 轴承故障分类
4.2 FOA-WPT阈值降噪
选取5层小波包分解,并用db6小波基对原始信号进行降噪处理。果蝇算法优化阈值前后信号的信噪比和均方误差如表4所示。
表4 果蝇算法优化阈值前后效果对比
4.3 特征提取
依据特征选取的原则(同种状态信号的特征重复性好,不同种状态信号的特征差异性好),确定峰态系数、峰值、峰值因子、脉冲因子、波性因子、峭度、裕度系数、均方根、平均信号强度和偏态系数作为振动信号的时域特征,均方频率、重心频率和频率方差作为振动信号的频域特征,共13个特征。
10个轴承类别分别对应100个特征样本,构成1 000×13的特征矩阵。
4.4 PSO-SVM故障分类
依照图5的算法流程,编程软件选为MATLAB,将特征样本分为800个训练样本和200个测试样本,每类样本均涵盖4种工况。
利用训练样本集选择最佳的SVM参数。初始化种群最大数量为40,种群最大进化数量为200,惩罚参数c∈[0.1,100],核函数参数g∈[0.01,1 000]。选择RBF函数作为核函数,并使用GCV方法下的错误率作为SVM适应度函数,得到SVM最佳参数分别为:惩罚参数c=77.247 1和核函数参数g=11.792 2。则适应度曲线如图6所示,据此进行SVM网络训练,PSO-SVM分类结果如图7a所示。
为了更直观地表示出PSO-SVM的优越性,将传统SVM与之进行对比,根据经验设定惩罚参数c=1.4和核函数参数g=1.5,则未使用粒子群优化的SVM分类结果如图7b所示。2种SVM分类结果对比表格如表5所示。
图6 适应度曲线
图7 测试样本分类结果
结果PSO-SVM传统SVMc值77.247 11.4g值11.792 21.5准确率/%89(178/200)81.5(163/200)
5 结束语
为解决小波包降噪阈值和SVM的2个参数选择问题,提出了FOA-WPT和PSO-SVM相结合的方法。首先对果蝇优化小波包降噪算法效果进行了仿真实验,结果表明,与其他方法相比,FOA-WPT有着更高的信噪比和更低的均方误差,且能很好地将高频故障信号保留,优化阈值也带来更好的适应性。对于故障分类模型,传统SVM需要根据经验人为设定惩罚参数和核函数参数,而本文提出的PSO-SVM利用粒子群迭代寻优,辅以交叉验证函数获得最优参数,并能够达到89%的故障分类精度,提高了约8%。因此,FOA-WPT与粒子群支持向量机相结合的分类方法具有更好的适应性和更高的分类准确度,可以应用于滚动轴承的故障诊断。