雷 鳴,張玉春
(沈陽理工大學 理學院,遼寧 沈陽 100159)
當前,故障診斷方法通常有三類:基于解析模型的方法、基于信號處理的方法和基于知識的方法?;诮馕瞿P偷姆椒ㄊ亲钤绲墓收显\斷方法,這種方法需要建立被診斷對象的較為精確的數(shù)學模型。目前,只對某些特殊的非線性系統(tǒng)有研究,通常僅適用于線性系統(tǒng)[1]?;谛盘柼幚淼姆椒ɑ乇芰顺槿ο髷?shù)學模型的難點,但缺點是沒有相應的模型,給研究增加了難度[2]。基于知識的方法與基于信號處理的方法類似,也不需要系統(tǒng)的定量數(shù)學模型,但克服了后者的缺點,引入了診斷對象的許多信息,尤其適用于非線性系統(tǒng)領域[3]。
車輛發(fā)動機燃油系統(tǒng)的故障與潤滑、供油、排氣、冷卻等子系統(tǒng)運行狀態(tài)緊密相關,這使得發(fā)動機燃油系統(tǒng)故障信息是非線的[4],即非平穩(wěn)信號(分布參數(shù)或者分布律隨時間發(fā)生變化的信號)。小波神經(jīng)網(wǎng)絡診斷柴油機供油系統(tǒng)故障的方法就是利用小波變換對故障信號進行去噪預處理,根據(jù)不同故障對應不同的故障特征頻率區(qū)間,將整個振動信號頻率進行分段,提取各個故障相應頻率區(qū)間信號,作為神經(jīng)網(wǎng)絡的輸入向量,完成對車輛柴油機供油系統(tǒng)的故障診斷。此方法是基于知識的故障診斷方法。
小波神經(jīng)網(wǎng)絡具有時頻局域化性質和神經(jīng)網(wǎng)絡自學習特性,非常適用于函數(shù)逼近、系統(tǒng)辨識、數(shù)據(jù)壓縮等研究領域。為有效診斷車輛柴油機供油系統(tǒng)故障,將小波變換與BP神經(jīng)網(wǎng)絡相結合,構建了小波神經(jīng)網(wǎng)絡模型。小波神經(jīng)網(wǎng)絡是小波分析和人工神經(jīng)網(wǎng)絡相結合的產(chǎn)物,是在小波分析研究獲得突破的基礎上構造的一種新的神經(jīng)網(wǎng)絡模型。它充分利用小波變換良好的時頻特性,并結合神經(jīng)網(wǎng)絡的非線性及學習功能,使二者形成互補。
神經(jīng)網(wǎng)絡可以有效實現(xiàn)輸入和輸出的非線性映射,具有自學習和模式識別的能力,小波分析則由其基函數(shù)的自動伸縮和平移特性,成為信號分析的重要工具。小波和神經(jīng)網(wǎng)絡通過兩種途徑的結合:一是將小波變換作為神經(jīng)網(wǎng)絡的預處理,以小波分析作為模式識別的特征空間。二是將非線性小波基取代通常的神經(jīng)元非線性激勵函數(shù)(如Sigmoid函數(shù)),相應的輸入層到隱層的權值和閾值分別由小波的尺度參數(shù)和平移參數(shù)代替,這兩種小波神經(jīng)網(wǎng)絡形成了廣義的兩種小波神經(jīng)網(wǎng)絡。本文采用第一種途徑把小波分析當做神經(jīng)網(wǎng)絡的預處理,以便給神經(jīng)網(wǎng)絡供給輸入特征向量,接下來再使用傳統(tǒng)上的神經(jīng)網(wǎng)絡來處理,如圖1所示。小波變換這一步驟等于對原始信號進行了檢波或濾波,將濾波后的信號作為神經(jīng)網(wǎng)絡的輸入就能夠獲得比較好的效果。本文主要介紹利用小波分析提取柴油機供油系統(tǒng)故障的特征向量,以此作為BP神經(jīng)網(wǎng)絡的輸入?yún)?shù)[5]。
圖1 小波神經(jīng)網(wǎng)絡結構
小波(Wavelet),也就是小區(qū)域的波,它是一種特殊的平均值為零、長度有限的波形。它具有兩個特征:一是在時域上都具有緊支集或近似緊支集;二是具有正負交替的“波動性”,也就是說,直流分量為零。把小波分析和傅里葉分析對比一下,傅里葉分析是將信號分解成一系列不同頻率的正弦波的疊加,而小波分析是將信號分解成一系列小函數(shù)的疊加,而這些小波函數(shù)都是由一個母小波函數(shù)經(jīng)過平移與尺度伸縮得來的。傅里葉分析所用正弦波在時間上沒有限制,從負無窮到正無窮,而小波傾向于不對稱與不規(guī)則。把構成傅里葉分析和小波分析為基礎的正弦波做一個比較,如圖2所示??梢钥闯觯粲貌灰?guī)則的小波函數(shù)來逼近尖銳變化的信號顯然要比光滑的正弦曲線要好,同樣,信號局部的特性用小波函數(shù)來逼近顯然要比光滑的正弦函數(shù)來逼近要好。
圖2 小波與傅里葉正弦波
在數(shù)學中,如果一個函數(shù)在某階導數(shù)不連續(xù)或某處有間斷,稱此點為奇異點。一般情形下,信號的奇異可分成兩種:一種是信號f(t)在某個時刻,它的幅度發(fā)生突變,從而導致信號的不連續(xù),其幅度的突變點就是第一種間斷點;另一種是信號f(t)在其外觀上看起來很光滑,它的幅度也沒有突變點,但經(jīng)過一階求導后,就會有突變產(chǎn)生,也就是說該信號的一階微分是間斷的,稱之為第二種間斷點。通過研究可以發(fā)現(xiàn),車輛的燃油系統(tǒng)產(chǎn)生故障時,燃油的壓力信號波形其間斷點的類型、位置和幅值等信息因故障類型的相異而不同。而小波的其中一個重要特點就是可以在局部描述信號的奇異性[6]。
小波的選擇具有相對的靈活性,對不同的數(shù)據(jù)信號,需要選擇恰當?shù)男〔ㄗ鳛榉纸饣P〔ㄗ儞Q不象傅立葉變換是由正弦函數(shù)唯一決定的,小波基可以有很多種,不同的小波適合不同的信號。
(1)Mexican hat和Morlet小波基沒有尺度函數(shù),是非正交小波基。優(yōu)點是函數(shù)對稱且表達式清楚簡單。缺點是無法對分解后的信號進行重構。
(2)Daubechies是一種具有緊支撐的正交小波,隨著序號N的增加,DbN小波系的時域支撐長度變長;消失矩陣增加;特征正則性增加,幅頻特性也越接近理想[7]。
Db小波在處理不同信號、不同信噪比時都存在一個去噪效果最好或接近最好的分解層數(shù),分解層數(shù)對于消噪效果的影響很大,通常分解層數(shù)過多,而且對所有的各層小波空間的系數(shù)都進行閾值處理會造成信號的信息嚴重丟失,消噪后的信噪比反而下降,同時導致運算量增大,使處理速度變慢。分解層數(shù)過少則消噪效果不理想,信噪比提高不多,但不會出現(xiàn)信噪比下降的情況。閾值的選擇相對較寬松,通常在一定范圍內變動時不會導致消噪效果較大幅度的變化,但一個能夠產(chǎn)生有效門限閾值的準則是必要的、適用的[8]。根據(jù)上述原則,選取Daubechies小波作為實驗分析工具。經(jīng)過試驗本文選擇Db小波進行信號頻率5層小波分解。
如果一個信號f(n)被噪聲污染后為s(n),那么基本的噪聲模型可以表示為s(n)=f(n)+σe(n),其中e(n)為高斯白噪聲,σ為噪聲強度。在最簡單的情況下可以假設e(n)為高斯白噪聲,且σ=1。小波變換的目的是要抑止e(n)以恢復f(n)。
除噪過程分為如下三步:
(1)對s(n)進行小波變換,得到所有的小波系數(shù)表示為wn;
所選取的閾值采用軟閾值方法。軟閾值方法是在硬閾值方法的基礎上將邊界出現(xiàn)不連續(xù)點收縮到零。這樣可以有效避免間斷。使得重建的信號比較光滑;
在對信號進行分析時,如何提取信號的特征是一個關鍵的技術難點。信號的特征提取是將初始信號進行維數(shù)壓縮、形式變換、去除干擾、保留和增強有用信號、精化故障特征信息的過程。
Mallat等研究學者發(fā)現(xiàn):如果函數(shù)f(t)在某一點t0為奇異的,那么在較小尺度上,f(t)在t0點的小波變換就具有模極大值[9]。所以,可以對燃油的壓力信號在較小尺度上進行小波變換,利用其模極大值來抽取故障的特征向量,流程圖如圖3所示。
圖3 提取信號特征向量流程圖
具體Matlab實現(xiàn)步驟如下:
(1)導入并讀取采集信號。使用Matlab命令fopen導入信號,并用fread命令讀取。
(2)對采集的信號進行消噪。高頻噪聲經(jīng)常存在于高頻系數(shù)中,為了保存信號的奇異點和不連續(xù)點,對分解后的高頻系數(shù)進行分層閾值降噪。
使用wavedec命令進行小波分解。使用wdcbm命令得到每層的分層閾值。使用wdencmp命令對信號進行消噪處理,返回消噪后的信號。所選取的閾值采用軟閾值方法,小波分解圖如圖4所示。
(3)使用wprcoef命令重構。對油管上下游的兩個測壓點壓力在d3~d5小尺度上的一共6個小波重構系數(shù)進行模極大值求取,作為神經(jīng)網(wǎng)絡的輸入向量和泄漏特征向量。
圖4 燃油油管上游5層小波分解圖
測試實驗使用壓力傳感器,測試“日野自動車株式會社”的J08E UL型發(fā)動機,在50%負載下,當轉速1500r/min時高壓油管的上下游兩個測壓點的油管的壓力信號。信號的采樣時間為1s,采樣頻率為10kHz,每個故障情況都采集5次。提取的故障向量如表1所示。
其中燃油系統(tǒng)狀態(tài)與常見故障用字母表示:100%供油量(T1),75%供油量(T2),25%供油量(T3),出油閥失效(T4),噴油孔堵塞(T5),針閥卡阻(T6),針閥泄漏(T7),其它故障(T8)。
表1 故障特征向量
BP神經(jīng)網(wǎng)絡根據(jù)輸入特征向量的維數(shù)和柴油機供油系統(tǒng)故障狀態(tài)數(shù)來確定輸入、輸出層的節(jié)點數(shù)。在使用BP網(wǎng)絡對柴油機供油系統(tǒng)進行故障識別前,首先必須對網(wǎng)絡進行訓練。把所選擇的信號特征向量作為網(wǎng)絡的輸入,利用實驗數(shù)據(jù)對網(wǎng)絡進行訓練,使各項指標達到預先設定的要求,并保存訓練后的結果。根據(jù)模型,采用Matlab進行仿真實驗,對每種故障獲取5組的樣本數(shù)據(jù)。將第1~4組的樣本數(shù)據(jù)進行神經(jīng)網(wǎng)絡學習訓練,將第5組數(shù)據(jù)如表1所示,作為訓練完成網(wǎng)絡的測試數(shù)據(jù)。其測試的輸出值為:故障T1期望輸出(0,0,0),實際輸出(0.0182,0.0102,0.0176);T2期望輸出(1,0,0),實際輸出(0.9073,0.0115,0.0149);T3期望輸出(0,1,0),實際輸出(0.0165,1.0104,0.0067);T4期望輸出 (0,0,1),實際輸出 (0.0098,0.0174,0.9107);T5期望輸出 (1,1,0),實際輸出(1.0135,0.9702,0.0121);T6期望輸出(1,0,1),實際輸出 (1.0098,0.0092,0.9876);T7期望輸出(0,1,1),實際輸出 (0.0156,1.0188,1.0173);T8期望輸出(1,1,1),實際輸出 (1.0252,1.0167,0.9772)。與期望輸出值對比可以發(fā)現(xiàn),期望輸出和實際輸出吻合良好。
采用Matlab進行仿真實驗,將提取的故障樣本數(shù)據(jù)作為神經(jīng)網(wǎng)絡的輸入,對其進行學習訓練。在網(wǎng)絡誤差為0.001的情況下,300步內可以實現(xiàn)目標誤差。實驗結果表明,期望輸出與實際輸出吻合良好,實現(xiàn)了較好的非線性映射。如果將學習樣本數(shù)量加大,可以獲得更好的效果。
[1]周東華,葉銀忠.現(xiàn)代故障診斷與容錯控制[M].北京:清華大學出版社,2000.
[2]侯志祥,申群太,李河清.電機設備的現(xiàn)代故障診斷方法[J].電力系統(tǒng)及其自動化學報,2003,15(6):61-63.
[3]辛秀華,楊宣訪,卜樂平.現(xiàn)代模擬電路故障診斷方法綜述[J].自動化與儀器儀表,2005(2):1-4.
[4]肖偉躍.CAPP中的智能信息處理技術[M].長沙:國防科技大學出版社,2002.
[5]虞和濟.基于神經(jīng)網(wǎng)絡的智能診斷[M].北京:冶金工業(yè)出版社,2000.
[6]胡廣書.現(xiàn)代信號處理教材[M].北京:清華大學出版社,2004.
[7]Goumas,S.K..Classification of washing machines vibration signalsusing discrete wavelet analysis for feature extraetion[J].IEEE Transactions on Instrumentation and Measurement,2002,51(3):497 -508.
[8]郭先定,李敏,何光普.小波變換模極大值法檢測信號突變點[J].電氣應用,2006,25(11):90 -92.
[9]張夢云,潘劍鋒.柴油機燃油供給系統(tǒng)故障診斷研究[J].農(nóng)機化研究,2011,33(1):211 -214.