柯 耀,王 琪
離心泵葉輪的振動信號包含大量的故障信息。機械設備的診斷過程可以分為3步:第1步是診斷信息獲取;第2步是故障特征提取;第3步是狀態識別和故障診斷。其中,第3步故障分類識別要設計分類器來進行狀態識別,所以故障診斷就是一個模式識別的過程[1]。但是對于機械設備而言,故障一旦發生,就會造成巨大的損失,所以就不會存有很多的故障樣本。如何在有限的故障樣本的情況下進行有效的模式識別是故障診斷中的關鍵問題。
目前故障診斷中的狀態識別方法主要是人工神經網絡和統計模式識別方法。由于離心泵故障樣本通常為小樣本,人工神經網絡(ANN)具有自學習功能和具有高度的并行結構和并行實現能力,它的出現推動了狀態模式識別的發展。但神經網絡的結構設計嚴重依賴設計者的經驗和先驗知識,且缺乏理論依據的支撐。同時神經網絡和統計模式識別方法面臨的同一難題是故障樣本數要足夠多。支持向量機(Support vector machine,SVM)的出現有效解決了傳統分類方法的缺陷,非常適合小樣本的模式識別問題。Samanta 等[2]使用PSO 優化SVM 參數并改善軸承故障檢測和識別;徐海龍等[3]提出一種基于PSO 的RBF-SVM 模型優化新方法;趙鵬等[4]提出了一種基于經驗模式分解的復雜度特征和最小二乘支持向量機的離心泵故障診斷方法。本文則在前人研究的基礎上,利用小波包變換來提取離心泵故障的特征值,提出了一種基于人工魚群算法(Artificial Fish-swarmalgorithm,AFSA)優化SVM 參數的模型優化方法,以提高SVM 模型的識別準確率。
在這項研究中,支持向量機用于故障診斷分類。H是分類線。H1和H2分別為過各類中離分類線最近的樣本且平行于分類線的直線,它們之間的距離叫作分類間隔。最優分類線就是要求分類線不但能將兩類正確分開,而且使分類間隔最大。
對于超平面H1∶ω·x+b=1;對于超平面H2∶ω·x+b=-1;假設超平面H∶ω·x+b=0 存在最大分類間隔因此,解最大邊界問題可以替換為解的最小值問題。如果滿足條件,其表達式為[5]:
如果使用拉格朗日方法(ω=a1y1x1+a2y2x2+…+anynxn)來優化類別超平面,則可以把上述最優分類面問題轉化為對偶問題,其表達式為:
在求解線性近似可分離性問題時,可引入非負松弛項和用于控制對錯分樣本懲罰的程度的懲罰參數C。將式(2)轉換為式(3):
對于非線性問題,泛函理論指出,只要一種核函數K(x,y) 滿足Mercer 條件,它就對應某一變換空間中的內積,就可以用作核函數。常見的核函數包括徑向基核函數(RBF)和Sigmoid核函數等。其中使用最廣泛的是RBF。因此運用RBF作為核函數故有:
基函數(RBF)做SVM的核函數時參數γ將影響SVM分類器的分類效率,因此手動選擇錯誤懲罰參數C通常不容易。因此,使用PSO和AFSA來幫助找到最佳參數C和γ,并使用優化方法來提高SVM的識別率。與PSO相比,AFSA是一種用于軟計算的更新優化方法。
支持向量是訓練集的關鍵元素,包含確定分離超平面和SVM分類器的參數C和γ所需的所有必要信息。因此,使用粒子群優化(PSO)和人工魚群算法(AFSA) 來尋找最佳參數(C,γ)。Kennedy和Eberhart[6]通過模擬顆粒,魚群和鳥群的集體行為,提出了解決復雜非線性優化問題的粒子群優化算法。AFSA受到魚群及其各種種群的社會行為的啟發[7]。AFSA是幾種智能群算法之一,它遵循魚類的一系列的本能行為。AF通過其視覺實現外部感知,如圖1所示。
圖1 人工魚群視覺示意圖[7]
X是AF 的當前位置,XV是某一時刻的視覺位置。如果視覺位置處的狀態好于當前狀態,則AF會朝該方向前進。如果AF 移動到更好的位置,則Xnext是移動之后的下一個狀態;否則,AF 會繼續在視野范圍進行巡視。隨著巡視次數的增加,AF會獲得更多關于視覺整體狀態的知識[6]。
設X=(x1,x2,…,xn) 和XV=(xV1,xV2,…,xVn) ,那么AFSA的過程可以表示如下:
式中:Rand() 為0~1 的隨機數;λ為步長;xi為優化變量;n為變量數;X為AF的當前位置;Xj為AF在視野中隨機選擇的一個位置;Visual為可視距離;W為擁擠度因子;人工魚個體之間的距離表示為人工魚當前所在位置的食物濃度表示為Y=f(x) 。
AFSA主要行為描述如下[8]。
(1)覓食行為
若AF 的當前位置為Xi,如果在求極大問題中,Yi<Yj(若求解極小問題時Yi>Yj,因極大和極小問題同理可證,故以下均以求極大問題討論) ,則向該方向前進一步;反之,再重新隨機選擇狀態Xj,判斷是否滿足前進條件;反復幾次后,如果仍不滿足前進條件,則隨機移動一步。
(2)聚群行為
設人工魚當前狀態為Xi,探索當前鄰域內(即di,j<Visable) 的伙伴數目nf及中心位置XC,如果Yc/nf >WYi,表明伙伴中心有較多的食物并且不太擁擠,則朝伙伴的中心位置方向前進一步;否則執行覓食行為。
(3)追尾行為
設人工魚當前狀態為Xi,探索當前鄰域內(即di,j<Visable) 的 伙 伴 中Yj為 最 大 的 伙 伴Xj, 如 果Yj/nf >WYi,則伙伴Xi的狀態具有較高的食物濃度并且其周圍不太擁擠,故朝伙伴Xj的方向前進一步;否則執行覓食行為。
本次實驗選用型號為Weir/Warman3/2CAH 的離心泵,數據采集系統采用SCXI 信號調理系統。配套封閉式葉輪的型號為C2147,葉輪直徑為8.5 英寸且有5 個葉片。在實際實驗中系統的采樣率為9 kHz,采樣時間為20 s,使用的轉速為1 797 r/min。為簡單起見,實驗設置了正常狀態的葉輪記為F1與3 種故障的葉輪,這3 種故障葉輪的形式分別為穿孔損傷、邊緣損傷、葉片損傷,并將這3 種故障模式分別記為F2、F3、F4。
離心泵葉輪出現一定磨損時,其振動頻率會發生改變[9]。由理論計算可得葉輪穿孔損傷故障頻率為69 Hz。葉輪邊緣損傷故障頻率為131 Hz,葉輪葉片損傷故障頻率為162 Hz。
在離心泵故障診斷中,葉輪振動信號受工作負載的影響,并且會產生一些快速衰減的沖擊脈沖。無法使用頻譜分析直接從特征頻率中識別故障。然而,小波包能量譜信號可用于分析振動信號并將低頻振動信號與高頻帶分離,這為信號分析增加了更大的分辨率。由Coifman 和Wickerhauser[10]開發的小波包分析方法可將頻帶進行多層次劃分,對高頻部分進一步分解,并能根據分析信號的特征自適應地選擇相應的頻帶,從而提供頻率分辨率。
為了找到信號中的故障源,首先將其解調以獲得解調包絡曲線,然后對該曲線進行處理以獲得包絡譜。這些包絡譜通常包含有關葉輪故障的特征信息,通常會指示故障的類型。在本研究中,使用希爾伯特解調進行處理。變換定義為式(7):原始信號x(t)經過希爾伯特變換,得到x(t)的虛數x?(t) 并獲得原始信號的包絡,如式(8)所示。
實驗中在9 kHz 下采樣。每個樣本的長度為2 000點。從4種不同條件下的離心泵中取樣。離心泵的原始振動信號如圖2所示。使用小波包分解對信號分別進行處理。小波分解分為3 層,本研究選擇了db11 小波。分解后,正常和帶有故障的信號各產生8 個子頻帶,并為每個子頻帶計算能量值。歸一化用于處理所得的能量值,結果如圖3所示。
圖2 4個類別的葉輪原始振動信號
圖3 能量譜直方圖
因為這3種故障葉輪的能量都集中在第4(S4)頻段。故對重構的S4頻段信號小波包系數進行包絡分析,正常葉輪和故障葉輪的頻帶之間能量集中存在明顯差異,并且對故障葉輪分析表明,使用能量特征值對故障進行分類是可行的。圖4所示為穿孔損傷葉輪、邊緣損傷葉輪和葉片損傷葉輪故障信號的節點包絡。
用RBF核函數的SVM進行分類器分類精度實驗。這里主要在準確率(Classification Accuracy,AC)和診斷時間(Diagnosis Time,DT) 2方面進行對比。表中SVs代表支持向量(Support Vectors),C表示懲罰因子,γ表示SVM 的核函數,TS1表示訓練樣本(Training Samples),TS2表示測試樣本(Test Samples)。
懲罰函數C和徑向核函數γ對識別率的影響分別如表1和表2所示。從穿孔損傷、邊緣損傷和葉片損傷葉輪中分別選取30 組故障能量特征作為訓練樣本(共使用90 組)。RBF 徑向核函數γ=0.01。由表1 可知,懲罰函數C的最佳值為500。對總訓練時間的分析表明,對于不同的C值,DT相差不大。當C值增加時,SVs也增加,并且當C=500時,AC最大。顯然,懲罰函數C值的選擇對SVM性能有很大影響。
表1 懲罰因子C對SVM分類精度的影響
當C=500,改變γ值來進行分析,結果如表2所示。當γ值為0.01時,實驗參數是最佳的;隨著γ變大,DT減少;隨著γ值的增加,SVs也增大。
表2 RBF內核函數γ對SVM分類精度的影響
懲罰函數C值和RBF 徑向核函數γ值均對SVM 分類器性能產生重大影響。因此,使用算法來搜索最佳C值和γ值來提高SVM分類器的性能。
實驗表明C和γ的參數設置對識別率有一定影響。因此,對比PSO-SVM和AFSA-SVM分類的結果。實驗使用了50組數據,分別為正常葉輪和穿孔損傷、邊緣損傷、葉片損傷3種故障葉輪,共200 組被使用了。其中,有100 個用于訓練,有100個是測試樣本集。運行了300次PSO參數迭代,學習因子為c1=2,c2=2。,PSn 表示種群粒子數(Particle Swarm Number),AFSn 表示人工魚群數(Artificial Fish Swarm Number),并且移動步長為0.5。表3所示為PSO實驗結果,而AFSA實驗結果如表4所示。從表3中可以看出,隨著種群規模擴大,診斷時間也隨之增加。支持向量數也隨粒子數而變化。當粒子群數為20 時,精度最高,所需時間也更短。表4 中的結果表明,當人工魚數量在10~20 時,精度最高。實驗數據表明,AFSA比PSO更好,并且可以在更短的計算時間內以更小的支持向量數獲得更準確的結果。
表3 PSO-SVM粒子群數的分類準確性
表4 AFSA-SVM人工魚群數量的分類準確性
本文提出的基于人工魚群算法的支持向量機故障診斷模型利用支持向量機在解決小樣本分類問題的獨特優勢,結合人工魚群算法尋優的特點來優化SVM 的核函數和懲罰因子,有效地提高了SVM 的分類準確率,縮短了診斷時間。將AFSA-SVM 方法應用于離心泵故障診斷中,可以有效地對離心泵葉輪的4種狀態進行分類,且參數設定更加準確,分類準確率提高的同時,算法復雜度并沒有明顯增加。