葉震,李琨
(昆明理工大學信息工程與自動化學院,云南昆明 650500)
滾動軸承由于其運行環(huán)境常處于高速、高載、高溫狀態(tài)下,導致各種故障頻發(fā)。對于軸承振動信號非平穩(wěn)、非線性特性,如何更豐富、更全面地提取出信號中的深層故障信息顯得尤為重要。熵值是提取特征信息的方法之一,被廣泛應用于各種模式識別中,如樣本熵[1]、近似熵[2]、模糊熵[3]和散布熵[4-5]等。但上述方法僅從單一尺度對時間序列復雜程度進行刻畫。而針對機械系統(tǒng)故障診斷問題,振動信號往往過于復雜,此時單一地對它進行信號特征提取存在著信息表達不足、無法全面概括不同故障類型特征信息的問題,從而無法準確診斷機械系統(tǒng)故障。同時,散布熵值的求解局限于待求解時間序列的信號特征,有必要在單一尺度散布熵的基礎上,對振動信號進行深層次故障信息提取。因此,本文作者提出模糊信息?;?散布熵(Fuzzy Information Granulation-Dispersion Entropy,FIG-DE)的方法,從多個尺度有效提取軸承振動信號的故障信息。
在信號故障特征提取的基礎上,選擇合適的診斷模型也尤為重要。支持向量機(Support Vector Machine,SVM)適用于處理小樣本和非線性問題,憑借其學習效率高及泛化性能好等優(yōu)點,已經廣泛應用于故障診斷、模式識別等眾多領域。但其懲罰系數c和核函數參數g的取值影響算法的分類性能。張小龍等[6]利用粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法搜索出SVM的最優(yōu)參數,有效提高了滾動軸承的分類準確率。戚曉利等[7]利用灰狼優(yōu)化算法優(yōu)化SVM,在行星齒輪故障診斷上取得了較好的效果。但這些方法優(yōu)化效率低,迭代時間較長且診斷精度不高。麻雀搜索算法(Sparrow Search Algorithm,SSA)是在2020年提出的一種優(yōu)化算法。SSA算法在搜索精度、收斂速度、穩(wěn)定性和避免局部最優(yōu)值方面均優(yōu)于現有算法[8]。
基于此,本文作者利用模糊信息?;瘜S承振動信號進行粒化處理,得到fLow、fR、fUp3個尺度下的模糊信息粒,對3組信號從3個尺度下分別求取散布熵并作為特征向量輸入,由麻雀搜索算法(SSA)優(yōu)化的SVM模型,實現滾動軸承的故障診斷識別。
美國數學家ZADEH[9]教授提出的信息粒化(Information Granulation,IG)的概念,就是將一個整體時間序列多尺度?;癁橐粋€個的部分進行分析研究。對于軸承振動信號而言,可以根據故障信息特點把信號劃分為若干個信息粒來提取信號特征。關于模糊信息粒化方法,給出了數據粒的一種命題描述:
(1)
式中:x為論域U中取值的變量;G為U的凸模糊子集,由隸屬函數μ刻畫;λ為可能性的概率。一般定義U為實數集合R(Rn),λ為位區(qū)間的模糊子集。
模糊信息?;褪且阅:问奖硎拘畔⒘?含粒化窗口和信號模糊化兩個部分。?;翱谥傅氖菍⑿盘栃蛄蟹指罱厝〕扇舾勺有蛄?,作為操作窗口;信號模糊化即為將分割的子序列進行模糊化,得到模糊集(模糊信息粒)。
梯形、三角形、高斯型等是常用的模糊粒子,現有關于FIG應用的文獻[10-12]大多采用三角形粒子,因此文中也以三角形模糊粒子作為隸屬函數:
(2)
式中:x表示劃分的?;盘?;l、m、n分別表示?;翱趦葦祿兓淖钚≈?、大致平均水平和最大值。
散布熵是描述時間序列復雜程度的非線性動力學方法。對于長度為N的時間序列x={xi|1≤i≤N},首先使用標準正態(tài)累計分布函數將x歸一化為yi= [y1,y2,…,yN],yi∈(0,1)。進一步,將y映射到c個類別:
(3)
對映射序列zc按如下公式相空間重構:
(4)
計算πv0v1…vm-1的概率:
(5)
根據信息熵理論定義散布熵為
(6)
sDE值越大,時間序列的不規(guī)則性越高;相反sDE值越小,不規(guī)則性越低。
麻雀搜索算法是在2020年提出的一種新型優(yōu)化算法。SSA算法的尋優(yōu)步驟主要分為3個部分:
(1)發(fā)現者尋找并引導整個麻雀種群覓食。
發(fā)現者在每次的迭代過程中位置按如下公式更新:
(7)
式中:Xi,j為麻雀i在第j維中的位置信息;t為當前迭代次數;tmax為最大迭代次數;α∈(0,1]為一個任意數;Q為服從正態(tài)分布的隨機數;L為d維列向量,元素均為1;R2∈[0,1]為預警值;fST∈[0.5,1]為安全值。
(2)追隨者是根據發(fā)現者所引導的新位置進行覓食,在整個麻雀種群中,發(fā)現者與追隨者的位置是實時更新的,只要追隨者找到好的食物就能稱為發(fā)現者,反之成為追隨者,但其數量比重是不變的。
追隨者在每次的迭代過程中位置按如下公式更新:
(8)
式中:XP為當前發(fā)現者所占據的最優(yōu)位置;Xworst為當前全局適應度最差的位置;A∈{0,1}為d列向量,且滿足A+=AT(AAT)-1,其中A+為偽逆矩陣。當i>n/2時,表明適應度較低的追隨者i無法獲取食物,需要更新位置尋找食物。
(3)在整個麻雀種群中,定義警惕者占總數量的10%~20%,且警惕者的初始位置是在種群中隨機分布的,當警惕者意識到周圍存在捕食者時,外圍的麻雀將快速地向安全的地方飛行,來獲取較好的搜索環(huán)境;內部的麻雀將在安全的區(qū)域內覓食。
警惕者在每次的迭代過程中位置按如下公式更新:
(9)
式中:Xbest為當前全局適應度最優(yōu)位置;β為服從正態(tài)分布的隨機數,起步長控制的作用;K∈[-1,1],是一個隨機數,表示麻雀種群位置移動的方向,同時也起到步長控制的作用;fi為當前個體的適應度值;fg、fw分別為當前全局最優(yōu)和最差的適應度值;ε為最小的常數。當fi>fg時,外圍麻雀發(fā)現了捕食者;反之區(qū)域內的麻雀發(fā)現捕食者。
SVM是一種常用的模式識別方法,具體理論見文獻[13]。懲罰因子c及核函數參數g的取值密切影響著SVM算法的性能,本文作者提出利用SSA算法對SVM進行參數優(yōu)化,對最優(yōu)參數設置下的SVM模型進行故障分類識別,流程如圖1所示,具體的實現步驟如下:
(1)獲取滾動軸承不同故障程度的振動信號處理后劃分為訓練集和測試集;
(2)SSA參數初始化。設置種群規(guī)模、最大迭代次數N,設置參數c和g的取值范圍為[0.01,50],選用高斯核函數;
(3)按照式(7)—(9)更新麻雀的空間位置;
(4)利用適應度函數重新計算優(yōu)化后各麻雀的個體適應度,更新并保存當前種群中最優(yōu)的麻雀個體位置及適應度;
(5)若滿足運算終止條件,則結束優(yōu)化,輸出適應度最優(yōu)的麻雀個體所對應的位置,即為最優(yōu)參數c和g,否則繼續(xù)循環(huán)。
圖1 SSA-SVM流程
將信號模糊信息?;幚砗?,得到3組信號序列fLow、fR、fUp。求取這3組數據的散布熵,組成特征向量輸入SSA-SVM模型中,完成滾動軸承的故障診斷識別,診斷流程如圖2所示。具體診斷步驟如下:
(1)選取合適大小的預設粒化窗口對原始軸承振動信號進行模糊信息?;?,得到fLow、fR、fUp3個尺度下的?;瘮祿?。
(2)對3組?;蛄羞M行量化處理,設置DE參數,求取?;?組數據的散布值,構建特征向量矩陣。
(3)取特征向量的1/2作為訓練集對SSA-SVM模型進行訓練,再利用訓練完成的SSA-SVM模型對剩余部分特征向量進行故障識別,從而實現軸承故障診斷分類。
圖2 故障診斷流程
基于文中所提出的FIG-DE的特征提取方法,對?;蟮?組fLow、fR、fUp求取散布熵值,可以提取更為豐富的故障特征信息。但在FIG-DE的特征提取的過程中,參數的取值也尤為重要。
在模糊信息?;瘮祿澐至;翱跁r,窗口的取值不宜過小,當粒化窗口為1時,則為直接對振動信號求取散布熵,失去了?;囊饬x;當?;拇翱谶^大時,會導致?;蟮臅r間序列長度過短,且會失去部分較為重要的信號特征。因此文中初始化?;翱趙in_num為3。
在DE值的計算過程中,需要定義3個參數:映射類數c、數據維數m、時間延遲t。參考文獻[14-15],選取時間序列的映射類別參數c=6,時間延遲t=1;針對嵌入維數m越大,對應所需的數據長度越長的問題,綜合考慮選取m=3。
選用公共數據集——凱斯西儲大學電氣工程實驗室的軸承故障振動信號進行仿真實驗。選用轉速為1 797 r/min、采樣頻率為12 kHz時軸承不同故障類型和故障程度的振動信號作為數據樣本。取每種故障類型的前120 000個采樣點平均分為40個數據樣本,每個樣本的數據長度為3 000個采樣點,為分析方便,分別以代碼F1—F7的形式表示故障類型,其具體信息如表1所示。不同故障類型的時域波形如圖3所示。
表1 軸承的故障碼和故障類別
圖3 7種狀態(tài)的時域圖
首先,對軸承各種狀態(tài)的振動信號進行模糊信息?;幚怼R訤1的振動信號為例,設置窗口長度win_num為3,經模糊信息粒化后數據長度由3 000變?yōu)? 000,在一定程度上明顯優(yōu)化了對信號的處理效率,信號經過?;幚砗蟮玫?組數據序列fLow、fR、fUp。模糊信息粒化結果如圖4所示。
圖4 信號模糊?;Y果
由圖4可知:經過粗?;蟮臐L動軸承故障振動信號,通過fLow、fR、fUp3組具有更明顯特征的模糊?;瘮祿瑥浹a了滾動軸承故障振動信號在單一尺度下提取故障特征信息不全的問題。粗粒化的時間序列保留了原始振動信號的特征信息,同時用3組模糊粒子對特征信息進行了深層次刻畫,提高了對原始振動信號故障特征信息的提取能力。在?;翱趙in_num為3的條件下,對3個尺度下的fLow、fR、fUp分別進行DE求解,并將所求得的熵值組成特征向量矩陣:
V=[fDE,Low,fDE,R,fDE,Up]
(10)
為進一步體現所選特征向量的可分性,將計算所得7組40×3的DE值進行可視化,其三維散點圖如圖5所示。
圖5 FIG-DE的三維散點圖
由圖5可知:不同故障類型的數據樣本呈現出較好的分離狀態(tài),各數據樣本之間基本無交叉混疊現象,這表明滾動軸承振動信號經FIG-DP特征提取后所取得到的特征向量具有良好的區(qū)分度。
為量化采用FIG-DE進行故障特征提取的效果,建立SSA-SVM模型進行軸承故障診斷識別。SSA-SVM模型分類器的參數設置如下:麻雀初始種群為20,最大迭代次數為100,懲罰因子c和核函數參數g的尋優(yōu)范圍設定為[0.01,50]。將訓練集輸入至SSA-SVM模型中進行訓練,經過優(yōu)化后,c和g的最優(yōu)參數分別為15.23和0.41,然后對訓練完成的SSA-SVM模型使用測試集進行測試,測試效果如圖6所示。
圖6 基于FIG-DE與SSA-SVM診斷結果
由圖6可以看出:所有測試樣本類別基本上都得到了準確分類,實際故障結果與預測故障結果基本完全吻合,故障識別準確率達到了99.29%,這表明文中所提方法不僅能正確判斷出軸承故障位置,還能準確識別出故障的損傷等級。
為驗證SSA-SVM故障分類器的優(yōu)越性以及高效性,使用PSO-SVM、GWO-SVM和SSA-SVM分別進行故障類型識別,3種模型統(tǒng)一設置種群數量為20,最大迭代次數為100,其各自的適應度迭代曲線如圖7所示。可知:PSO-SVM優(yōu)化算法容易陷入局部最優(yōu);GWO-SVM優(yōu)化算法在第30代左右趨于穩(wěn)定,其尋優(yōu)結果和收斂速度均低于SSA-SVM優(yōu)化算法;SSA-SVM優(yōu)化算法在第20代左右即尋優(yōu)結束,其收斂速度快并且可以得到更好的尋優(yōu)結果。
圖7 分類適應度尋優(yōu)曲線
經3種模型搜索出適應度最優(yōu)對應的c和g設置為SVM參數并進行訓練,訓練完成后輸入測試集進行測試,c和g的優(yōu)化及3種模型的測試結果如表2所示??芍翰煌瑑?yōu)化方法得到的c和g的值不同,其中SSA-SVM模型的優(yōu)化效果最好,測試準確率可達99.28%,與PSO-SVM及GWO-SVM模型的優(yōu)化效果相比,在分類準確率上分別提高了2.85%和0.7%;在優(yōu)化時長上,SSA-SVM模型所需迭代時間為2.53 s,明顯優(yōu)于其他2種算法,且分類錯誤數量僅為1,這充分表明了文中所提SSA-SVM方法在同類優(yōu)化支持向量機模型中效果更佳。
表2 軸承的故障碼和故障類別
本文作者結合模糊信息?;c散布熵對軸承故障振動信號進行分析,提出了新的FIG-DE熵值求解方法,在多個粗?;蛄邢聦φ駝有盘柕奶卣飨蛄窟M行了深層次提取。對模糊信息?;蟮恼駝有盘柷笕E值并作為特征向量矩陣,輸入經SSA算法優(yōu)化后的SVM進行分類診斷,取得了較好的效果。結果表明:
(1)相比基于散布熵的故障特征信息提取,FIG-DE方法通過粗?;绞降玫?個尺度下的粗?;蛄械男畔ⅲ崛〉墓收蠣顟B(tài)特征向量更加全面,具有一定的精度優(yōu)勢。
(2)FIG-DE算法簡單、參數設置較少且定義了?;翱谠O置標準,經模糊信息?;髷祿L度明顯縮短,在一定程度上優(yōu)化了對信號的處理效率,并且所提取的特征向量僅有3組,緩解了特征向量過多造成的數據冗余問題,同時也改善了算法的自適應性。
(3)采用SSA算法優(yōu)化SVM模型,可以更加準確快速地搜素出最優(yōu)的懲罰參數c和核函數參數g組合,提高了SVM的分類精度。