李世龍,陳建宏
(太原衛(wèi)星發(fā)射中心,山西 太原 030027)
隨著現(xiàn)代計算機技術(shù)及傳感器技術(shù)的不斷發(fā)展,基于振動信號分析的結(jié)構(gòu)狀態(tài)監(jiān)測及故障診斷的應(yīng)用越來越廣泛。但受到被試對象結(jié)構(gòu)復雜性、信號傳遞路徑及噪聲等因素的影響,傳感器接收到的信號為各獨立振源的非線性混合。而能否從實測信號中分離出純凈的源信息,很大程度上決定了故障診斷的準確性和可靠性[1-2]。因此,如何從實測非線性混合信號中分離出有效的振源信息具有重要的研究意義。
盲源分離又稱盲信號分離,指通過觀測到的混合信號來恢復原始信號或信源。近年來,盲源分離已成為信號處理領(lǐng)域的研究熱點之一。盲源分離中較常用的假定是源信號的統(tǒng)計獨立性。當各分量相互獨立時,其被稱為獨立分量分析(independent component analysis,ICA)[3]。ICA 算法通常采用梯度法對目標函數(shù)進行尋優(yōu)。但梯度法收斂速度慢、全局搜索能力差,其收斂性能受步長和初始值影響較大[4]。針對這些問題,近年來一些學者采用智能計算方法進行盲源分離的優(yōu)化,如粒子群優(yōu)化(particle swarm optimization,PSO) 算 法[5]、細 菌 覓 食 優(yōu) 化 (baderialforaging optimization,BFO) 算法[6]和人工蜂群 (artificial bee colony,ABC)算法[7]等。然而,這些比較成熟的智能優(yōu)化算法迭代參數(shù)較多,雖然全局搜索能力較強,但易陷入局部極值點,從而降低算法的分離精度。
為加快算法的收斂速度并保持好的分離精度,本文提出了一個更為高效的分段分離方法。將整個信號分離過程分為快速分離和精細分離兩個階段,兼顧算法的收斂速度和穩(wěn)態(tài)性能。數(shù)值仿真及試驗分析表明,所提方法真實有效。
盲源分離的數(shù)學模型可表示為:
式中:S(t)=[s1(t),s2(t),…,sn(t)]T為 n個位置的源信號;X(t)=[x1(t),x2(t),…,xm(t)]T為觀測信號;A為m×n階混合矩陣;N(t)為噪聲信號。
盲源分離就是在源信號S和混合矩陣A均未知的情況下,求解混合矩陣A及其逆矩陣WT=A-1,使得輸出信號逼近源信號。矩陣W稱為分離矩陣。分離模型可表示為:
由式(2)可以看出,要實現(xiàn)輸出信號Y逼近源信號S,則應(yīng)使WT=A-1。因此,源信號的分離可歸結(jié)為對分離矩陣W的求解[8]。
為實現(xiàn)對非線性復雜混合信號的有效分離,本文將整個信號分離過程分為快速分離和精細分離兩個階段,以兼顧算法的收斂速度和穩(wěn)態(tài)性能。快速分離階段通過較少的迭代次數(shù)來較好地實現(xiàn)信號的初步分離,因此算法應(yīng)具備較快的收斂速度。精細分離階段通過選擇適當?shù)膶W習速率,可進一步提高信號的分離精度。
對于不同時刻的兩個信號yi(t)和yi(t),兩者的相關(guān)程度一般可由其二階相關(guān)度rij(t)和高階相關(guān)度hrij(t)進行衡量,即:
式中:i,j=1,2,…,m,且 i≠j;ρ[yi(t)]為非線性函數(shù)。
對于廣義平穩(wěn)信號 x(t),在任意時刻 t,其均值為:
式中:λ∈(0,1)為遺忘因子。
Pij(t) =cov{ρ[yi(t)],yj(t)},Rij(t) =cov[yi(t),yj(t)],Qi(t)=cov{ρ[yi(t)]}。存在如下遞歸公式:
遞歸計算得到 Rij(t)、Pij(t)和 Qi(t)后,通過式(3)和式(4),即可得到rij(t)和hrij(t)。
為評價信號的分離狀態(tài),定義第i路信號和第j路信號的關(guān)聯(lián)程度為:
定義第i路信號的分離程度為:
定義全部信號的整體分離程度為:
通過D(t)的取值,對信號分離進行階段劃分。當D(t)>0.25時,為快速分離階段;當 D(t)≤0.25時,則為精細分離階段。
快速分離的目標是通過盡可能少的計算達到較好的分離結(jié)果??紤]到粒子群算法具有較快的收斂速度,因此在快速分離階段采用PSO算法進行尋優(yōu)分離。
為簡化算法,采用中心化方法,使獨立分量及混合變量均值為零:
式中:x'為初始信號。
采用預白化方法對信號去相關(guān),使其方差值為1。具體分解過程如下:
式中:Rxx為相關(guān)矩陣;E=(e1,e2,…,em)為正交陣,由Rxx特征值對應(yīng)的特征向量組成;D=diag(d1,d2,…,dm)為對角陣,由Rxx的特征值組成。若白化矩陣V=則白化后的信號z=Vx滿足:
將負熵最大化作為分離的優(yōu)化準則,其逼近公式如下:
利用PSO算法中的動態(tài)因子和種群分類對式(19)進行尋優(yōu),即可實現(xiàn)負熵最大化。為避免重復分離同一信號,采用式(20)對分離矩陣W的各列進行正交化:
式中:WP為第 p列元素數(shù)組,p=1,2,…,m。
同時,為保證信號分離的穩(wěn)定性,對W進行歸一化處理:
綜上可知,基于PSO的快速分離具體步驟如下。
①對觀測信號X(t)進行中心化及預白化處理。
②設(shè)置初始分離矩陣W,對種群進行初始化,以WP作為粒子的位置向量。
③根據(jù)式(19)計算每個粒子的適應(yīng)度值,存儲每個粒子的個體極值及位置,并選出群體極值。
④更新每個粒子的速度和位置。
⑤采用式(20)和式(21),對W進行正交化和歸一化處理。
⑥判斷算法是否達到最大迭代次數(shù)。若達到,則停止迭代,并輸出最優(yōu)位置向量WP;若未達到,則返回步驟③,繼續(xù)迭代計算。
⑦計算分離信號Y=WTz。
對于精細分離,應(yīng)當選擇較小的學習速率以保證算法的穩(wěn)態(tài)性能。因此,選擇較為平緩的函數(shù)來確定學習速率。本文采用如下迭代公式:
式中:Λ(t)=diag[η1(t),η2(t),…,ηm(t)]。
根據(jù)各路信號分離程度Di(t),ηi(t)取值如下:
由式(23)可以看出,ηi(t)為信號分離程度Di(t)的非線性函數(shù)。因此,通過選擇適當?shù)娜≈?,可充分提高信號的分離精度。
為驗證算法性能,選擇具有不同峰度性質(zhì)的兩個亞高斯信號和一個超高斯信號作為源信號:
采樣頻率取3 kHz,采樣長度為1 600。3個源信號的時域波形如圖1所示。
圖1 源信號時域波形Fig.1 Time domain waveforms of source signals
隨機產(chǎn)生2×3的混合矩陣A對3個源信號進行混合,得到的觀測信號時域波形如圖2所示。
圖2 觀測信號時域波形Fig.2 Time domain waveforms of observed signals
分別采用文獻[7]中基于ABC的盲源分離算法和本文提出的分段盲源分離方法,對混合信號進行分離,分離結(jié)果如圖3和圖4所示。
圖3 ABC算法分離信號時域波形Fig.3 Time domain waveforms of separate signals of ABC algorithm
分離信號的質(zhì)量,采用式(25)中的分離性能指標(performance index,PI)進行定量評估。
式中:C=(cij)=WA為全局矩陣,c為其元素;PI值越小,說明分離信號與源信號相似性越高,分離效果越好。
采用文獻[7]中基于ABC的分離算法和本文算法,分別進行50次重復試驗,記錄下PI的最大值、最小值與均值,如表1所示。
表1 兩種算法的PI對比Tab.1 Comparison of PI between two algorithms
圖4 本文算法分離信號時域波形Fig.4 Time domain waveforms of separate signals of the proposed algorithm
圖5 試驗系統(tǒng)框架Fig.5 Framework of the experiment system
從PI最大值、最小值和均值的對比可以看出,本文算法分離信號的質(zhì)量更好,比基于ABC的分離算法分離精度高約3個數(shù)量級,能夠更準確地恢復出3個源信號。由此,驗證了本文算法的分離精度和穩(wěn)定性。此外,在多次重復分離試驗中,本文算法平均用時僅為基于ABC分離算法的65.8%,說明該算法具有更快的分離速度。
為驗證本文方法在實測信號分離中的有效性,以一組預設(shè)故障的軸承振動信號為例,對其進行故障特征信號分離研究。試驗系統(tǒng)框架如圖5所示。
試驗軸承預設(shè)的故障為典型的滾動體故障和內(nèi)圈故障。經(jīng)計算,軸承滾動體和內(nèi)圈的特征頻率分別為100.4 Hz和 123.5 Hz[9]。采樣頻率為 25.6 kHz,采樣時間為1 s。其中,一個加速度傳感器采集到的信號時域波形如圖6所示。將該信號作為單一觀測信號,采用本文方法對其進行單通道盲源分離。
圖6 故障軸承振動信號時域波形Fig.6 Time domain waveform of vibration signal of the fault bearing
為避免測試噪聲及其他誤差對分離結(jié)果的影響,在分離之前,先對原始信號進行多尺度形態(tài)差值濾波處理[10]。然后,采用本文方法對該信號進行分離。分離得到的兩個信號分別如圖7和圖8所示。
圖7 軸承滾動體故障特征信號示意圖Fig.7 Fault characteristic signal of bearing rolling element
從圖7可以看出,該頻率為軸承滾動體的故障特征頻率,且其二、三倍頻效果非常明顯,說明本文方法可以有效分離出軸承滾動體故障引起的沖擊成分。
圖8 軸承內(nèi)圈故障特征信號示意圖Fig.8 Fault characteristic signal of bearing inner ring
從圖8可以看出,該頻率為軸承內(nèi)圈故障的特征頻率,其效果非常明顯;而其二、三倍頻的提取效果則相對較弱。因此,采用本文方法可以實現(xiàn)對該預設(shè)故障軸承2種故障特征的有效提取。而基于ABC的分離算法未能有效分離出以上2種故障特征信號,故未列出其具體結(jié)果。
本文對振動信號分析中的盲源分離算法進行了研究,得出如下結(jié)論。
①將整個信號分離過程分為快速分離和精細分離2個階段,并分別采用不同的分離方法,在保證收斂速度的同時,能夠進一步提高信號的分離精度。
②多次重復數(shù)值仿真試驗表明,本文算法較文獻[7]中基于ABC的分離算法的分離精度高約3個數(shù)量級,具有更優(yōu)越的分離速度、分離精度及穩(wěn)定性。
③通過對某預設(shè)故障軸承的振動信號進行試驗分析,其結(jié)果顯示,本文方法能夠有效分離出2種故障特征,而基于ABC的分離算法未能有效分離,證明了本文方法在軸承故障診斷中的有效性。