孫洪飛,周 正
(海軍91202部隊,遼寧 葫蘆島125004)
隨著電子技術的迅速發展,電子設備集成度越來越高,結構越來越復雜,這對電子設備的故障診斷也提出了更高的要求。由于模擬電路存在元件參數的容差問題、輸入輸出的復雜關系以及電路中廣泛存在的非線性問題,在實際應用過程中,電子設備中80%以上的故障來自于模擬電路,大大超過了數字電路的故障率[1]。因此,針對模擬電路進行故障斷的研究是十分必要和迫切的。
模擬電路故障診斷技術自60年代開始研究以來,取得了不少成就,提出了如K故障診斷法、故障參數辨識法、網絡撕裂法等很多方法[2],但這些方法無論在理論上還是在實踐上均未完全成熟,距實用尚有相當的距離。
模擬電路故障診斷本質上是模式識別問題,即將電路測試點的特征信號映射到某個故障類別[3]。人工神經網絡是模擬生物神經系統,通過大量簡單非線性神經元互聯構成信號處理網絡,其中BP神經網絡有較強的模式識別能力,并具有自學習、并行處理、分布式存儲以及聯想記憶的優點,比較適合于模擬電路故障的診斷[4]。
在模擬電路系統故障診斷中,只需要采集各種故障狀態下對應的特征值,并利用這些值訓練BP神經網絡,當網絡訓練好了以后,就相當于在BP網絡中建立了一部智能字典,在診斷時只要輸入電路的故障特征值,BP神經網絡就能自動聯想到其所對應的故障狀態。
本文對從實際模擬電路中提取的故障特征向量經歸一化和主元分析處理后得到最優訓練樣本對BP神經網絡進行訓練。然后,利用BP神經網絡進行故障分類,從而實現電路的故障診斷。實驗仿真結果表明:該方法能準確地識別故障,且分辨率較高。
BP神經網絡是一種多層前饋神經網絡,由一個輸入層、若干個隱含層和一個輸出層組成。位于同一個輸入層之間的單元之間不允許有連接,各層的單元只能向高層的單元輸出激活信號,其每一層連接權值都可以通過學習來調節。
理論證明:具有單隱層結構的前饋神經網絡可以映射所有非線性函數[5],因此,本文利用三層BP網絡來識別電路故障。其結構如圖1所示。

圖1 三層BP神經網絡圖
BP算法被分為兩個階段:
(1)正向傳播過程,即將輸入信息通過輸入層經過激活函數后,經隱含層逐層處理并計算每個單元的實際輸出值;

(2)反向過程,即若在輸出層未能得到期望的輸出值,則逐層遞歸地計算實際輸出與期望輸出的誤差,并根據誤差調節修正權值。
訓練誤差為:

以(2)式為目標函數,權值和閾值的修正公式為:

式中,
k為訓練次數,
θj為節點誤差,
η為學習速率。
通過不斷重復上面三步,直到誤差函數的值滿足E<ε,其中,ε為設定的最小誤差,本文設定ε為0.001。
在故障特征向量輸入神經網絡之前,必須對其進行歸一化處理,因為網絡的各個輸入數據常常具有不同的物理意義和不同的量綱,如某一輸入在0~100范圍內變化,而另一分量則在0~1范圍內變化。數據歸一化避免因為輸入數據波動大而造成的神經網絡收斂慢或者是不收斂的問題,可以用Matlab的premnmx函數對其進行歸一化,將其規格化在[-1,1]。
PCA是統計學中分析數據的一種有效方法,它基于Karhunen-Loeve分解。其目的是在數據空間中找一組向量盡可能的解釋數據的方差,通過一個特殊的向量矩陣,將數據從原來的高維空間映射到一個低維向量空間,降維后保存了數據的主要信息,從而使數據更易于處理[6]。
本文的診斷電路選自ITC'97的國際標準電路CTSV(continuous-time state-variable filter)濾波器,仿真電路如圖2所示。R1=R2=R3=R4=R5=1 kΩ,R6=3 kΩ,R7=7 kΩ,C1=C2=20 nF。

圖2 CTSV電路
經過靈敏度分析后發現電阻R1、電容C1對電路輸出電壓V影響比較大,考慮以R1正偏50%、C1負偏50%、以及R1正偏50%并且C1負偏50%的電路故障,連同無故障模式共4種狀態進行診斷,如表1所示。

表1 故障分類模式
(1)特征參數的采集。對被測電路進行充分仿真,并結合蒙特卡洛、靈敏度和最壞分析對電路進行分析。然后采集電路階躍響應的輸出電壓和響應時間等特征參數,經數據歸一化,并用主元分析法確定輸出參數,對正常模式及每一種故障模式進行30次蒙特卡洛分析,其中20次為訓練樣本,10次為測試樣本,共構造網絡的訓練樣本集和測試樣本集120個。
(2)BP網絡結構參數。根據電路特征參數的維數,確定BP網絡的輸入與隱層節點數目。特征參數經主元分析后為2維的,則輸入層節點數目為2;電路檢測狀態由1種正常狀態和3種故障狀態,故輸出層節點數目為4;隱層節點數目按公式(N、M分別為輸入層和輸出層節點數目,a=1~10)進行選取,若在網絡訓練過程中不滿足要求,則逐個增加(或減少)隱層節點數目,最后確定網絡結構為2-5-4。經過分析,隱層和輸出層的激勵函數分別采用非線性的正切-S型(tan-sigmoid)函數和非線性的對數-S型(log-sigmoid)函數。
采樣數據經歸一化后,再進行主元分析,部分數據如表2所示,診斷結果如表3所示。

表2 數據處理結果

表3 診斷結果
使用測試樣本集對網絡進行測試,結果表明,該網絡的實際輸出值逼近其期望值,診斷準確率達98%,學習效果很好。若未經主元分析,直接將采樣數據集輸入上述神經網絡,只需將網絡輸入改為4,即網絡結構變為4-5-4,網絡其它參數保持不變,經過1 074次訓練調整才收斂到相同目標值(MSE=0.001)。
由此可得,經過主元分析,神經網絡輸入變量減少,網絡結構得到簡化;訓練次數僅僅為原來的1%,神經網絡訓練周期大大減少。
本文利用神經網絡方法進行模擬電路的故障診斷,利用主元分析進行特征提取及數據壓縮,完成了從高維輸入到低維特征的轉化,形成新的訓練和測試樣本集,從而減少了神經網絡的輸入,提高了網絡訓練速度,降低了神經網絡的計算復雜度。
[1]李 旭.基于電路仿真原理的故障檢測與診斷研究[D].大連:大連理工大學,2007.
[2]王 玲,彭敏放,何怡剛.容差模擬電路故障模糊診斷方法及其實現[J].微電子學與計算機,2006,23(4):189-192.
[3]朱大齊.電子設備故障診斷原理與實踐[M].北京:電子工業出版社,2004.
[4]陳 琪,曲東才.基于故障字典和神經網絡理論的故障診斷方法[J].計算機測量與控制,2007,15(1):4-7.
[5]蔡 兵.BP神經網絡隱層結構的設計方法[J].通化師范學院學報,2007,28(2):18-19.
[6]焦李成.神經網絡的應用與實現[M].西安:西安電子科技大學出版社,1996.