魏永合,李宗霖,唐英瀚,李宏林,馬步芳
(1.沈陽理工大學 機械工程學院,沈陽 110159;2.加州大學河濱分校 馬蘭和羅斯瑪麗·伯恩斯工程學院,美國 加州)
機械設備在使用過程中,如果出現(xiàn)故障,很容易造成重大事故和損失。齒輪作為廣泛使用在機械設備中的零件,其故障也是機械設備普遍存在的問題[1]。如能及時判斷出故障的類型或程度,則可挽回較多不必要的損失。
機械設備故障診斷技術首先通過實驗設備采集機械設備的信號;再通過特征提取的方式,提取出反應故障特征的信號;最后由模式識別算法依據(jù)故障特征信號,判別出設備的故障類型、程度等[2]。其中,特征提取和模式識別是該技術的關鍵。
對于軸承前期故障,難以明顯的在其時域、頻域中觀察到故障信息。由此,余發(fā)軍等[3]通過改進型的K-SVD(K-Means Singular Value Decomposition)[4]和在稀疏分解過程中找出逼近信號以判斷出軸承故障類別。張兆珩等[5]利用移不變字典學習特征成分的字典,有效提取了故障信息,且分辨出了其故障類型。這兩種方法都解決了對軸承微弱信號的特征提取,并判別出了其故障類型。由此,可以借鑒其采用的算法,將齒輪箱中的故障信號提取出來。
模式識別是判別故障類型或故障程度的機制,對于小樣本問題,在現(xiàn)有模式識別方法中,支持向量機(Support Vector Machine,SVM)具有更好的識別效果[6]。潘禮正等[7]通過小波包和獨立成分分析的特征提取方法,采用SVM算法識別齒輪的四種故障類型,具有良好的識別效果。韓霞等[8]采用遺傳算法,優(yōu)化了SVM分類模型,并通過實驗表明優(yōu)化后的SVM模型具有較高的分類正確率。
針對傳統(tǒng)K-SVD存在的問題,即字典原子間具有較高相干性導致構建出的字典不足以準確匹配信號特征,本文提出了低相干K-SVD結合SVM的齒輪故障診斷模型,用以提高齒輪信號的重構性能以及齒輪故障狀態(tài)識別的準確率。
K-SVD算法試圖將樣本集分解成字典D與稀疏編碼α相乘的形式。K-SVD算法結合了K-Means與奇異值分解(Singular Value Decomposition,SVD)的思想,分別固定字典D或稀疏編碼α,采用SVD不斷更新字典的每一列,并用正交匹配追蹤(Orthogonal Matching Pursuit,OMP)算法[9]對α進行更新,直至達成終止條件為止。
K-SVD的目標函數(shù)可構造為
(1)
式中:D表示N行K列的字典;α表示稀疏編碼;αi表示第i行稀疏編碼;ε表示閾值;F表示F-范數(shù);0表示0-范數(shù);X表示樣本矩陣。
K-SVD對字典D的更新見式(2)。
(2)
當固定稀疏編碼α后,從字典D中挑出某一列,構成該列的殘差矩陣E,再由SVD對其進行分解并構造原子。然而,如果得到的字典原子間有著過高的相干性,則會導致重構信號不能很好的顯示出原始信號的內部結構特征。低相干K-SVD算法就是在傳統(tǒng)K-SVD算法的目標函數(shù)上加入約束項,從而使得字典具有稀疏性以及低相干性[10]。
字典各原子間的相干性指標采用互相關來定義,如式(3)所示。
(3)
需要指出,對于過完備字典D∈RN×M,其相干性滿足式(4)。
(4)
式中N和M表示過完備字典的行和列。
Tropp等[11]指出,僅在字典滿足等角緊框架且M≤N(N+1)/2時,式(4)的等號成立[12]。
由此,低相干K-SVD的目標函數(shù)可構造為
(5)
式中:I表示單位矩陣;λ0為拉格朗日乘子。
即:在滿足α足夠稀疏的同時,也要滿足字典間相干性最低,其更新過程與原始的K-SVD同理,區(qū)別在于對殘差矩陣進行SVD分解后,采用能滿足式(5)的左奇異向量與其對應的奇異值更新原子。
20世紀60年代,Vapnik等[13]發(fā)現(xiàn)了SVM,其試圖在樣本集中依據(jù)支持向量確定一個決策平面,并利用核函數(shù)的特性,將在高維空間中難以計算的內積簡單有效地計算出來,避免維數(shù)災難對SVM造成的影響。如此,可將非線性問題轉換成線性問題并解決。同時,SVM采用小樣本即可得出全局最優(yōu)解的機器學習模型,其基本原理如下。
給定{(x1,y1),(x2,y2),…,(xn,yn)}樣本集,xi∈Rn為特征向量,R表示實數(shù)域;n表示總樣本的個數(shù)。為找到合適的決策平面,依據(jù)其支持向量,可構造如下目標函數(shù)
(6)
式中:w表示權重;wT表示權重的轉置;xi表示第i個樣本;ξi表示閾值;b表示截距;yi為第i個決策平面;n表示樣本個數(shù)。
式(6)表示,在樣本集中希望找到最大間隔的分類超平面。為能更有效地求解,可將式(6)轉變?yōu)槠鋵ε夹问?,即選取適當?shù)暮撕瘮?shù)K(xi·xj)以及懲罰因子C,其優(yōu)化問題變?yōu)?/p>
(7)
式中λ1i為拉格朗日乘子向量,λ1i和λ1j分別對應其中不同的值。由此,可以通過式(7)的解,得出式(6)的解。通過式(7)可得出其決策函數(shù),如式(8)所示。
(8)
在SVM的數(shù)學模型中可以發(fā)現(xiàn),SVM模型的泛化性能主要受核函數(shù)和懲罰因子的影響。為了能夠自適應地找到適合樣本數(shù)據(jù)的參數(shù),選用遺傳算法優(yōu)化這兩個參數(shù),以求其自適應地找到最優(yōu)解。
原始的K-SVD算法在計算得出的字典中,其各原子之間具有很強的干擾性,為解決這個問題,可采用低相干K-SVD算法,降低各個原子之間的相干性[15]。為進一步提高信噪比,再聯(lián)合經(jīng)驗模態(tài)分解(Ensemble Empirical Mode Decomposition,EEMD)算法,其具體實現(xiàn)步驟如下。
(1)將信號EEMD分解,依據(jù)峭度值選取本征模態(tài)分量(Intrinsic Mode Fuction,IMF)作為樣本,并將其矩陣化。
(2)初始化字典D以及樣本矩陣都輸入到正交匹配追蹤算法中,以獲得稀疏系數(shù)矩陣,再通過低相干的K-SVD得到更新后的字典。
(3)將樣本矩陣化后,通過OMP算法得到稀疏系數(shù)矩陣。與(2)得到的字典重構,得到稀疏信號矩陣,并將其展開成一維信號。
(4)由其時域、頻域特征指標計算構建故障信號特征矩陣,最終得到機械設備的故障信息。
遺傳算法優(yōu)化SVM分類模型,實現(xiàn)步驟如下。
活動二:尋找物質變化的規(guī)律。教師引導學生回顧生態(tài)系統(tǒng)中的學習,先組織各小組討論圖3并交流。學生得出規(guī)律1:物質在食物鏈的生物間進行循環(huán)。學生再通過觀察池塘中魚類餓食物鏈,推理食物鏈中有毒物質的傳遞規(guī)律:有毒物質沿食物鏈富集。
(1)初始化種群數(shù),將SVM中兩個必要優(yōu)化的參數(shù)采取二進制編碼,種群數(shù)設置為20。
(2)以SVM分類的準確率為個體適應度,判斷其是否收斂或達到迭代次數(shù),若滿足則輸出最優(yōu)解;否則進行下一步。
(3)采取遺傳算子對當前一代種群作出處理,本文中交叉概率pc=0.7,變異概率pm=0.05。對新的群體轉到(2),重新計算其適應度。
(4)不斷循環(huán)(2)和(3),直到滿足終止條件為止。
將得出的參數(shù)輸入到SVM,最后獲得故障診斷的效果。
本文采用旋轉機械故障模擬實驗臺,模擬齒輪故障,齒輪的特征參數(shù)如表1所示。
表1 齒輪特征參數(shù)
電機轉速為880r/min,采樣頻率為5120Hz。利用加速度傳感器分別采集在大齒輪正常、斷齒和點蝕情況下的振動信號。圖1為三種情況下振動信號波形圖。
由圖1可知,用加速度傳感器采集的信號存在明顯的噪聲。對采集好的信號分別采用EEMD分解,以峭度為依據(jù)提取峭度最大對應的IMF分量。在圖1b和圖1c中,大齒輪點蝕與斷齒信號中帶有大量噪音,而經(jīng)過EEMD與低相干K-SVD結合的算法后得出的信號,相比之下信噪比得到了提高。其經(jīng)過EEMD分解的IMF分量各狀態(tài)的峭度值見表2所示。
表2 IMF分量的峭度值
從表2中可以看出,當齒輪出現(xiàn)點蝕時,最大峭度對應第一個IMF分量。斷齒情況下對應第二個IMF分量,。
以步長為1,分別選取最大峭度值對應的IMF分量進行矩陣化。通過低相干K-SVD算法,求解出稀疏信號矩陣并將其展開成一維信號,如圖2所示。
從圖2中可以看出,相比原始信號,其信噪比有了很大的提升。
對重構的一維信號,計算其在時域、頻域上的特征,形成特征矩陣。將通過采樣得到的樣本集分成訓練集與測試集。本實驗對三種情況下的齒輪分別采集50組數(shù)據(jù),其中每類選取30組樣本作為訓練集,余下構成測試集。采用1,2,3對應三種情況下齒輪狀況,為數(shù)據(jù)添加標簽。通過上述方法構造特征矩陣,采用遺傳算法優(yōu)化SVM。設置遺傳算法參數(shù)如表3所示。
表3 遺傳算法參數(shù)
遺傳算法優(yōu)化的SVM適應度曲線如圖3所示。
圖3表示,遺傳算法優(yōu)化SVM得出的最優(yōu)值所對應的準確率為92.222%,其油畫的高斯核函數(shù)參數(shù)和懲罰因子的值分別為15.0505和19.5324。
將這兩個參數(shù)用于SVM中,并在訓練集中使SVM訓練出最大間隔超平面,最后由測試集衡量該分類模型的準確率,如圖4所示。
在圖4中,可以看出該模型的準確率達到90%(54/60)。
提出一種基于低相干K-SVD和SVM算法的齒輪故障診斷模型,改良了原始K-SVD算法中字典間干擾較強的問題;并采用EEMD算法結合低相干K-SVD的方式進一步提高了振動信號的信噪比;為提高SVM模型分類的準確率,采取遺傳算法對其優(yōu)化。實驗表明,該方法可有效提高信號的信噪比及準確分辨出信號的故障類型。