曲力濤,潘羅平,曹登峰,鄭云峰
(1.中國水利水電科學研究院,北京100044;2.北京中水科水電科技開發有限公司,北京100038)
水輪發電機組在運行過程中常伴有劇烈的非線性振動,該現象影響機組運行的穩定性,進而導致故障。根據故障特征參數的變化特征可將轉子系統故障分成緩變和突變故障,其中前者特征為在從正常狀態到故障發生的過程中參數發生連續的變化,而后者存在參數的非線性“躍遷”,同時后者的發生將造成更大的破壞性[1,2]。采取實時預警策略可防止預防此類故障的發生及擴大,具有重要的安全和經濟意義。
機組運行過程中的振動數據中蘊含豐富信息[3],但考慮到振動信號幅值對機組運行狀態的描述能力有限,于是本文以振動幅值為基礎計算信號能量值來表示機組狀態。現有的機組預警方法大多采取固定閾值的策略,例如設定狀態參數變化百分比[4]及以參數標準差的3σ法[5]。若故障參數躍遷出現在閾值以下,固定閾值方法則會出現故障預警不及時問題。本文采用以Teager算子提取的振動能量值非線性時間序列預測為基礎,以歐式距離為測度的k均值聚類方法實現機組突變故障的實時預警策略。
Teager能量算子是通過將信號瞬時幅值與信號微分進行非線性組合來計算產生該信號所需能量,該方法對信號的瞬時變化有自適應能力,且計算復雜性低[6]。Teager能量算子Ψ表達式為
(1)

(2)
Ψx(t)=ΨAcos(ωt+φ)=A2ω2∝E
(3)
對比式(2)、(3)可知,能量算子與簡諧振動所需機械能成正比,表明該算子能在固定常數意義下實現對簡諧振動機械能的追蹤[7]。由于在實際對機組監測的過程中所采集的信號均為離散信號,設離散樣本為xn=Acos(nΩ+φ),Ω為數字頻率,相鄰3個離散樣本經變換可得
(4)

(5)
利用上式可以計算出單分量振動信號的能量表示,而實際通過傳感器采集到的機組振動信號包含著多種頻率成分,無法直接計算振動信號能量算子,因此采用對原始信號進行分解計算再重構的策略完成信號能量計算。
經驗模態分解(EMD)能夠將時間序列信號中不同尺度的波動或趨勢逐層分解,進而生成一系列不同尺度的數據序列,即本征模式函數(IMF)[9]。分解過程為先通過特征時間尺度獲取IMF,再由IMF來分解時間序列數據。設EMD算法將所輸入的振動時間序列信號分解成k層。分別對每層的數據序列計算能量算子{Ej(n)}

(6)
再對各層計算結果求和得到振動能量非線性時間序列數據{E(n)},并輸入至預測模型。
由振動序列為基礎得到能量序列繼承了其隨機特性,無法對其進行長期預測,但其內部存在復雜而具有確定性的規律,因此對其進行短期預測。對任意非線性時間序列都可將其當成是由非線性映射關系確定的輸入-輸出系統,同時神經網絡可逼近任意非線性函數,因此其能夠預測機組振動能量時間序列數據[10]。

圖1 神經網絡結構示意
神經網絡基本結構如圖1所示,其能夠描述復雜的非線性映射關系,可通過訓練使其學習樣本的內在規律,建立輸入和輸出間映射關系,同時該映射可適用于樣本外的同分布數據。訓練網絡模型常采用誤差逆傳播(BP)算法,其基于梯度下降策略進行參數更新[11]。
時間序列預測是根據歷史觀測數據來獲取數據變化的規律信息,并計算出下一時刻的數據值。記非線性時間序列為{xn},預測步數為k,輸入維度為m,數據延時為τ。通常神經網絡數據延時間隔τ=1較為合理[12],故預測模型可表達為
xn+k=f(xn,xn-1,…,xn-m+1)
(7)
自編碼器(AE)屬于神經網絡,其經過訓練后能夠實現將輸入復制到輸出功能。如圖2所示,自編碼器包括輸入層x、隱藏層h和輸出層r,其中隱層h可以產生編碼來表示輸入,同時網絡可以拆分成函數h=f(x)表示的編碼器和生成重構的解碼器r=g(h)[13]。

圖2 自編碼器示意
對自編碼器施加限制條件使隱藏層維度小于輸入層,即為欠完備自編碼器(UAE),其能強制編碼器學習到訓練樣本的顯著特征。UAE的學習過程可近似為根據輸入與輸出間的差異實現懲罰的最小化損失函數過程。
預測模型整體結構如圖3所示,其內部由輸出-輸入連接的ANN(神經網絡)和UAE組成,輸入數據為根據機組振動信號計算的能量值,輸出作為預警模型的輸入完成故障預警任務。在將數據輸入網絡之前需按式(9)進行歸一化處理。
(8)
綜合預測過程為先ANN做初步預測,在由學習到歷史序列內部特征的UAE對結果進行校正,其目的是減弱標簽值對預測結果的影響。

圖3 綜合預測模型示意
設輸入樣本集為D={x1,x2,…,xn},k均值聚類目標是將樣本集根據相似度分成k個簇,即C={C1,C2,…,Ck},其中k的取值應在聚類前給定。簇內相似度通過式(9)來描述,E為平方誤差,μi為簇Ci的均值,其中E取值越小則簇內相似度越高。
(9)
最小化E需考察樣本集D中所有簇劃分情況,因此采用貪婪策略,通過迭代優化近似計算最小化平方誤差E[11]。聚類過程為先從樣本集中隨機選取k個樣本作為各簇初始均值,再計算各樣本與各均值μi的距離,并將其劃至與相距最近的簇,然后根據劃分結果計算新的均值代替上一步均值,重復該過程直至聚類結果不再變化[14]。將訓練集和預測值作為輸入樣本集進行k均值聚類,若聚類將訓練集和預測值分成兩個不同的簇則表明下一時刻的狀態與歷史狀態有顯著差異,發出預警信號;反之,則狀態正常,不發出預警信號。
以某電廠機組頂蓋水平X、Y方向振動為對象,分別對其在穩定工況下采集的數據和在其基礎上插入故障的數據來驗證本文提出的預警方法。在穩定運行工況采集到50 s頂蓋水平X方向振動信號如圖4(a)所示。首先對原始信號進行EMD分解成多個不同尺度的IMF,再對各IMF分別計算Teager能量并求和得出振動信號能量值,最后按500∶1對能量信號降頻得到振動信號能量序列如圖4(b)所示。
采樣頻率fs=1 kHz,低頻振動頻率f 圖4 原始信號和Teager能量 對神經網絡超參設置為輸入、輸出和隱層神經元個數分別為5、3、8;學習率為0.05;學習迭代次數為150。以輸出層神經元結果的均值作為單步預測結果。由圖5預測結果可見,神經網絡可預測到能量的細節變化,若以該結果進行聚類預警易因信號自身的波動而導致誤預警。 圖5 神經網絡預測結果 將初步預測結果輸入至欠完備編碼器中進行校正。如圖6所示ANN-UAE趨勢預測結果一方面能夠反映信號的變化趨勢,另一方面降低了信號的波動幅度,可避免由于信號的隨機性導致誤報警問題。 圖6 綜合模型趨勢預測結果 圖7 X、Y方向振動能量時間序列 圖8 穩定運行狀態樣本聚類 將頂蓋水平X、Y方向振動能量序列表示在同一平面內可得振動序列三維圖(圖7)。在序列中任意選擇兩個時刻切片,分別對應9 s和36.5 s時刻。對切片時刻數據和其之前的幾個時間點的數據進行聚類來判斷是否發生了狀態突變。考慮到k均值聚類的結果在分類成2個簇的情況下可能受到初始隨機種子的影響,因此采取多次聚類并取出現次數最多的情況作為最終聚類結果。如圖所示8,聚類結果未將預測值從歷史數據中聚類為單獨的簇,因此未發生狀態突變。 為驗證該方法對突變故障的預警能力,從序列中隨機截取一段數據并在其中某點開始對后續數據數值上加上2σ來模擬突變故障。截取結果如圖9,可見在插入故障后,能量序列和預測序列整體均向右上平移,同時在插入故障點位置均出現“躍遷”。 對插入故障位置(22.5 s)的預測值和歷史數據進行聚類,結果如圖10,模型將預測值和歷史數據分成了兩個單獨的簇,發出報警信號。至此驗證了該方法對機組突變故障的預警能力。 圖9 插入故障后截取數據序列 圖10 突變故障聚類結果 本文基于振動信號計算Teager能量算子獲取振動能量值,通過ANN-UAE綜合模型預測出振動能量趨勢信息,并以預測值和歷史序列為輸入進行k均值聚類判斷是否出現狀態異常,從而實現對機組突變故障的預警。通過真實機組穩態工況運行和插入故障的數據分別對該方法進行驗證,從預警結果可見本文提出的預警方法能夠有效對振動能量“躍遷”進行判斷,即能夠有效對突變故障進行預警。






5 結 論