竇 唯,劉曉陽
(1.北京航天動力研究所,北京 100076)(2.中國航天科技集團有限公司低溫液體推進技術實驗室,北京 100076)(3.上海大學機電工程與自動化學院,上海 200444)
針對機械關鍵零部件的損傷故障診斷研究[1],國內(nèi)外研究人員提出了諸多基于機器學習的故障智能診斷方法,如基于支持向量機[2]和基于人工神經(jīng)網(wǎng)絡的方法等[3-4],為復雜機械系統(tǒng)故障智能診斷提供了技術基礎。
然而,實際機械設備損傷時振動信號中往往含有強背景噪聲,故障特征信息也被調(diào)制到不同的高頻位置,導致有效的故障樣本難以獲取。同時,存在因當前設備可靠性高,正常運行數(shù)據(jù)樣本量大而故障運行數(shù)據(jù)樣本量少的數(shù)據(jù)不平衡現(xiàn)象,造成僅采用少量故障樣本訓練的智能診斷模型難以有效描述設備故障空間狀態(tài),嚴重制約了各種智能診斷方法的性能,導致其在故障診斷工程應用中表現(xiàn)欠佳。
針對實際運行設備故障樣本不足的問題,本文提出一種基于小波包分解和高斯云模型的故障診斷方法。首先通過對少量故障信號進行小波包分解并計算每個子頻帶的能量,形成少量故障樣本;其次通過少量故障樣本計算形成的高斯云模型,計算生成代表不同故障類型的大量云滴,即為不同的故障樣本,完成故障樣本的擴增;最后采用擴充樣本對智能診斷模型進行訓練,生成高精度的故障智能診斷模型,以提高智能診斷模型的實用性。
小波包分解(WPD)是一種精細的時頻分析方法[5],對原始信號在時間和頻率空間進行分解和重構,被廣泛應用于故障特征提取。小波包分解能夠?qū)⑿盘枱o冗余、無疏漏、正交地分解到相應的獨立頻帶內(nèi),在各個頻帶內(nèi)進行信號能量及信號的重構,在動態(tài)信號的非平穩(wěn)性描述、微弱特征提取等方面相比其他方法更具優(yōu)勢。
圖1所示為信號的3層小波包分解示意圖,(i,j)為第i層的第j個節(jié)點,其中i=0, 1, 2, 3,j=0,1,2,…,7,每個節(jié)點表示一個不同的信號特征。例如(0,0)代表原始信號,(1,0)、(1,1)分別代表小波包分解第一層高、低頻系數(shù),以此類推。
圖1 3層小波包分解示意圖
1.2.1云模型定義
設U是一個用精確數(shù)值表示的定量論域,一維或多維的,C是U上的一個定性概念,若定量值x∈U,且x是定性概念C的一次隨機實現(xiàn),x對C的確定度μ(x)∈[0,1],是有穩(wěn)定傾向的隨機數(shù):
μ∶U→[0,1] ?x∈Ux→μ(x)
(1)
則x在論域U上的分布稱為云模型,每一個x稱為一個云滴[6]。
1.2.2云模型的數(shù)值特征
云模型用期望Ex、熵En和超熵He3個數(shù)值特征來整體表征一個概念。
1)期望Ex:定性概念基本確定性的度量,是云滴在論域空間分布中的數(shù)學期望,即最能夠代表定性概念的樣本點。
2)熵En:定性概念的不確定性度量,由概念的隨機性和模糊性共同決定,既反映了能夠代表定性概念的云滴的離散程度,又決定了論域空間中可被概念接受的云滴的確定度。
3)超熵He:熵的熵,是熵的不確定性度量,也可以稱為二階熵,反映了云模型中每個樣本點對應定性概念確定度的偏離程度。
1.2.3云發(fā)生器
1)正向云發(fā)生器[6]。
通過云模型的3個數(shù)值特征(Ex、En、He)得到若干云滴,即為正向云發(fā)生器,如圖2所示。
圖2 正向云發(fā)生器
輸入:反映定性概念的數(shù)值特征(Ex,En,He)。
輸出:n個云滴x及其確定值μ(也可表示為drop(xi,μi),i=1,2,…,n)。
算法步驟:
④具有確定度μi的xi成為數(shù)域中的一個云滴;
⑤重復步驟1)~4),直至產(chǎn)生n個云滴為止。
2)逆向云發(fā)生器[6]。
輸入定量的樣本數(shù)值轉(zhuǎn)換成數(shù)值特征Ex,En,He,即云滴轉(zhuǎn)換成云模型,如圖3所示。
圖3 逆向云發(fā)生器
輸入:樣本點xi及確定度μi,i=1, 2, …,n。
輸出:反映定性概念的數(shù)值特征(Ex,En,He)。
算法步驟:
①計算xi的平均值Ex=MEAN(xi),求得期望Ex;
②計算xi的標準差En=STDEV(xi),求得熵En;
(2)
其中,MEAN和STDEV分別為求樣本均值和樣本標準差的函數(shù)。
基于小波包分解與高斯云模型的故障診斷方法,通過結合小波包分解的特征提取和高斯云模型的正、逆向云計算,來解決實際運行設備故障樣本不足的問題。該方法流程如圖4所示,具體步驟如下:
圖4 診斷方法流程圖
1)利用小波包分解對原始數(shù)據(jù)集中的某一故障信號進行n層分解,即將原信號在頻域上分解成2n個子頻帶;
2)對每個子頻帶的分解系數(shù)進行信號能量值計算,并按照頻帶由高到低順序依次排列,合并成一個故障特征向量;
3)對數(shù)據(jù)集中的同類故障信號重復步驟1)~2),共生成M個故障特征向量;
4)將M個故障特征向量作為樣本點,做高維的逆向高斯云發(fā)生器計算,建立2n維的高斯云模型;
5)對所建的高斯云模型進行正向云計算,生成一個云滴,即生成一個新的故障特征向量,其中包含2n個特征值;
6)重復步驟5),直至生成N個故障特征向量為止;
7)對其他類的故障信號重復步驟1)~6),直至每類故障都生成N個故障特征向量;
8)將生成的故障特征向量作為訓練樣本輸入機器學習模型,訓練故障智能診斷模型;
9)將待測信號作為測試樣本輸入已訓練的診斷模型,識別出對應的故障類別。
n,N為自定義變量,M為原始數(shù)據(jù)集中同類故障的信號數(shù)量,故障信號預先進行歸一化處理。
美國凱斯西儲大學(CWRU)的軸承數(shù)據(jù)集為公開的且極為可靠的滾動軸承數(shù)據(jù)集,其包含多種滾動軸承在不同故障及工況下的加速度信號,故障數(shù)據(jù)類型全,因此被作為驗證數(shù)據(jù)廣泛使用。本實驗采用數(shù)據(jù)集中型號為SKF6205的軸承數(shù)據(jù),實驗數(shù)據(jù)包含了6種軸承故障,見表1,每個原始信號的長度取1 200個數(shù)據(jù)點,對每種故障取60個原始信號,最終共有6×60=360個故障信號用于生成小樣本的故障樣本集,故障模式較多,因此能充分驗證所提方法的有效性。
表1 軸承的6種故障
2.2.1小波包分解與故障特征提取
由于軸承的故障特征信息會被調(diào)制到不同的高頻位置,因此對故障信號進行三層小波包分解,獲取第三層的8個子頻帶的分解系數(shù),對每個分解系數(shù)進行信號能量值的計算以生成8個特征值,并按照系數(shù)順序組合成1個完整的故障特征向量,共得到6種故障的60×6=360個故障特征向量。
對每種故障隨機選取20個特征向量作為小樣本集用于高斯云模型的建立,剩下40個作為待測樣本用于驗證診斷模型。
2.2.2高斯云模型建立與樣本生成
對于6種故障的小樣本集,將每個故障特征向量看作一個樣本點,利用基于樣本的一階絕對中心矩和二階中心矩的逆向云算法來計算云模型的3個數(shù)值特征Exi,Eni和Hei,i=1,2,…,8,針對每種故障分別建立其高斯云模型。為保證多種故障訓練樣本的平衡與充足,對每個高斯云模型進行正向云計算,隨機生成1 000個云滴,如圖5所示(只顯示前2個特征值),提取確定度最大的200個,即對于每種故障模式,有200個特征向量,共形成6種故障的1 800個故障樣本。
圖5 6種故障模式的高斯云模型
為了說明所生成樣本的有效性,選擇淺層學習模型——支持向量機(SVM)來建立故障分類模型,分別對6種故障定義1~6的標簽。在分類過程中,選擇徑向基函數(shù)為SVM的核函數(shù),可調(diào)參數(shù)中容錯率C=10,核函數(shù)半徑g=0.807。基于SVM算法,利用高斯云模型生成的完備故障樣本作為訓練樣本來訓練故障分類模型,并將2.2中的40個待測樣本作為測試樣本輸入模型,對6種故障進行分類測試。最終故障分類結果見表2。
表2 本方法故障分類結果
由表2可知,外圈故障的分類準確率分別為90.0%和92.5%,內(nèi)圈故障分別為95.0%和87.5%,滾子故障分別為92.5%和85.0%。為進一步證明本實驗結果具有說服性,基于相同參數(shù)的SVM模型,利用實測樣本進行對比實驗:實驗1,利用2.2中用于建立高斯云模型的20個特征向量訓練故障分類模型,測試結果見表3;實驗2,從實測信號另提取200個特征向量訓練故障分類模型,測試結果見表4。
表3 對比實驗1故障分類結果
表4 對比實驗2故障分類結果
通過比較可以看出,所提方法獲得的故障分類準確率均明顯高于對比實驗1,并與對比實驗2的結果非常接近,有效說明生成的仿真樣本與實測樣本高度相似,所提方法能有效擴充故障樣本,克服實測故障樣本不足的問題,提高軸承的故障診斷精度。
實驗中的不同故障其分類準確率的穩(wěn)定性不可避免地受故障信號傳遞路徑的影響。外圈故障,由于信號傳遞路徑簡單,故障沖擊明顯,所提取樣本信號的子頻帶信號能量相對穩(wěn)定,實測或云計算獲取的故障特征向量其分布空間較小,仿真樣本與實測樣本極相似,因此能獲得較高的分類準確率。然而內(nèi)圈故障和滾動體故障,由于較復雜的信號傳遞路徑使得故障特征較為微弱,淹沒于隨機噪聲中,即所提取子頻帶信號能量的變化范圍相對較大,實測和云計算獲取的故障特征向量在相對較大的空間內(nèi)隨機分布,導致有限的仿真或?qū)崪y訓練樣本及其分布必然與真實待測樣本之間存在不可避免的差異,因此在淺層學習的SVM故障分類結果中表現(xiàn)出一定的不穩(wěn)定性,即分類準確率在一定的范圍內(nèi)變化。對于識別結果不穩(wěn)定的故障,若生成更多的故障樣本,利用模式識別能力更強的深度學習模型,分類的準確率必會進一步提高。
為了解決機械設備故障診斷中存在故障樣本不足且難以獲取的根本性問題,本文提出了基于小波包分解與高斯云模型的故障診斷方法,利用小波包分解提取有效的故障特征向量,并通過高斯云模型生成大量故障樣本,用于訓練故障智能分類模型。將該方法應用于CWRU軸承數(shù)據(jù)集中6種軸承故障的分類實驗,最終待測樣本被有效區(qū)分,說明所提出的故障診斷方法能對故障樣本進行有效擴充,克服實測樣本不足的問題,提高故障診斷的精度。