歐陽潔
(廣州廣電計量檢測股份有限公司,廣州 510656)
模擬電路由于其參數可調、功能強大在各個領域得到了廣泛的應用,但其容差苛刻、結構復雜所引發的電路復雜故障(多個元器件同時故障)時有發生,由此帶來了設備停機、過程等待等令人難以接受的情形。開展在線故障隔離定位研究、從而為精準維修提供條件,是一個重要的研究方向。
傳統的模擬電路故障診斷方法包括故障字典法、參數識別法、故障驗證法等[1-2]。目前,模擬電路故障診斷一般是針對電路發生的軟故障[3]。模擬電路在軟故障發生時,表現出容差多樣、系統元器件間電氣參數耦合性強等特點,導致上述方法在現代復雜電路的精確診斷方面性能較差。隨著智能診斷技術的發展,出現了多種新的診斷方法,文獻[4]提出了基于PCA(principal component analysis)-LVQ(learning vector quantization)的模擬電路故障診斷,文獻[5]提出了BP(back propagation)神經網絡開展發控電路故障診斷,文獻[6]在時域提取峭度和熵這兩類特征參數對模擬電路進行故障診斷,文獻[7]和[8]提出了基于RBF(radial basis function)及改進的RBF神經網絡的模擬電路故障診斷研究,文獻[9-11]對LDA(linear discriminant analysis)進行了改進,并應用于模擬電路故障診斷等相關研究中,文獻[12]和[13]研究了基于時域、頻域等特征信號的故障診斷,文獻[14-16]以電路的故障診斷為基礎開展了測試點優化研究,文獻[17]提出了基于深度信念網的故障診斷方法。上述文獻普遍只研究了模擬電路中的單一元器件失效或簡單故障模式問題,未開展諸如出現多個元器件失效模式的復雜故障診斷探討,部分方法診斷準確率需進一步提高,且沒有研究在線診斷問題。
本文基于PCA-LDA算法,開展模擬電路多個元器件同時失效的在線故障診斷研究,為開展精準維修提高技術手段,降低電路故障給其它環節帶來的影響。
在模擬電路復雜故障診斷中,若出現多故障模式,反映到電路的輸出結果中,表現為樣本數據變化多樣、難以與故障模式有效匹配。假設在故障定位前,為避免次生影響,不允許拆卸電路板上有可能出現故障的元器件,那么就需要有在線準確隔離定位手段,分辨出確定的故障單元(元器件),方便后續的維修工作。下面對研究問題進行數學描述。

(1)
式中,在隔離率要求高的場合,一般要求隔離到某一確定的元器件,此時s=1,且要求隔離定位元器件采用在線手段,不允選將其從電路板(系統)中拆卸下來,而后用萬用表、元器件測試儀等進行測試定位。γFI的結果除與系統診斷能力有關外,也與s的大小有關:在s一定時,γFI越大,系統隔離性能越優越;在γFI一定時,s越小,系統隔離性能越優越。
為評價更加精確定義故障診斷分類的效果,在γFI的基礎上,定義分類交叉熵CE:
(2)
式中,yij為樣本數據理論上歸屬某故障模式的標簽值,Pij為實際計算出的概率值,U為故障模式的總數,V為某一故障模式中樣本的數量。yij取0或1,Pij在(0,1)范圍內變化,由式(2)可知,CE越小,故障診斷與隔離定位越準確。在診斷分類精度較高時,CE值一般低于10-3量級。
假定輸入樣本集與故障隔離集之間有一映射關系:
(3)
論文研究的模擬電路復雜故障在線診斷問題可表述為:為將有故障的模擬電路在線診斷隔離到某確定的元器件,需尋找最優的f、n與tp,目標為:
s.t.γFI≥γFI_set
CE≤CEFI_set
tp≤TP,n≤N,1≤s≤L
(4)
式中,n為樣本xi降維過程后的維度,tp為模擬電路測試點數量,TP為可設置的最大值,γFI_set為故障隔離率的目標設定值,CEFI_set為故障隔離時的交叉熵設定值,L為故障隔離時模糊組的最大值,s含義與式(1)相同。該式表明,問題求解可簡化為:找尋最優f*、n*與tp*,使得故障隔離率,交叉熵、測試點數量、樣本數據維度與可更換元器件數的導數,五者的乘積最大。f過程包括在線數據獲取、降維分類、故障診斷隔離等,是決定優化指標的關鍵,下面,研究f*、n*與tp*的獲取方法。
從1.1節的尋優目標可看出,如故障電路診斷隔離要到確定的元器件,那么就不能出現模糊組,反映到數據層面上,要求不同類型故障的數據應不能出現誤分類。線性判別分析LDA是一種經典的線性學習方法,其思想是:尋找一投影空間,所有樣本在該投影空間滿足下列要求:同類樣本的投影點盡可能接近、異類樣本的投影點盡可能遠離。對于論文研究的問題來說,就是將模擬電路異類故障模式對應的特征數據盡可能分開、同類故障模式對應的特征數據應盡可能聚集。LDA是有監督的分類法,其分類原理如下[18]。

(5)
式中,Sb為類間散度矩陣,其表達式為:
(6)
式中,ki為歸屬于第i類的樣本數量,μ為所有樣本的均值。
Sw為類內散度矩陣,其表達式為:
(7)

W={wi|wi=eig(Sw-1Sb),i= 1,2,...,R}
(8)
式中,R為矩陣Sw-1Sb的特征向量總個數,W中的各個向量與相應的特征值相對應。為減低數據維度,找尋在其中占據主要貢獻的特征值對應的特征向量,將其組合起來,記為Wmin。Wmin與W相比,行數不變,列數減少,即特征向量數量減少,而特征向量的元素保持不變。將樣本集D向Wmin方向投影,即完成數據的降維,同時強化了數據的聚集分類,新樣本集D′為:
(9)
通過式(9)計算,完成了輸入樣本集到故障隔離集的降維分類。但計算Wmin時,有一個現實條件需要考慮:Sw并不能保證為正定矩陣,此時,一般需要進行奇異值分解運算,這樣易丟失掉零協方差信息,而往往這些分類信息較為重要、影響投影方向,最終導致求出的D′達不到最優。
式(7)中,Sw不為正定矩陣的原因多為樣本數與樣本維數相當所致,故在進行LDA運算前,常需要先減少樣本維數(可視為第1次降維)。PCA和KPCA(kernelized principal component analysis)是目前較為常見的屬性約減方法。PCA可在一定條件下,將樣本中有效屬性保留,而去掉對樣本影響作用甚小的屬性。而KPCA將樣本屬性之間關系視為非線性,將樣本屬性通過函數關系映射高維空間,轉換為線性關系后,進而完成屬性約減。本文所研究的模擬電路,在不同的分段區間,屬性之間呈現較強的線性關系,故采用PCA進行屬性約減。PCA可很好解決各類降維問題[19]。
PCA的基本思想是:將樣本向某一空間投影,為使投影后的樣本信息得到最大保留,應使所有樣本的投影盡可能分開,即應該使投影后樣本的方差最大化。該思想與LDA并無沖突,LDA用作分類,要求不同類樣本集分開,而PCA用于屬性約減,其方差最大化可視為屬性約減后,“主要成分”得到最大保留。其基本過程如下:
設樣本集E={o1,o2,...,oi,...,on},其中oi為E中的一個樣本,其包括m個元素(屬性),可看作m維列向量。
為消除樣本屬性之間的數值大小差異性,對E進行歸一化操作,即矩陣的每行均值為0,標準偏差為1。歸一化后的樣本記為qi,計算所有樣本qi的屬性協方差矩陣∑:
(10)
對∑進行特征值分解,取最大的K個特征值對應的特征向量,構成特征向量矩陣:
W=(w1,w2,...,wK)
(11)
將矩陣E投影到W張成的空間中,生成新的樣本集E′:
E′=WTE
(12)
通過上式,約簡了樣本的特征屬性,從而避免了LDA運算時出現奇異值問題。
1.4.1 信息獲取
對模擬電路故障診斷信息的在線獲取來說,測試點設置遵循的原則如下。
原則1:獲取的模擬電路測試點信息應準確;應能最大程度反映電路內部狀態;信息應能方便獲取,即可達性要好,方便實現。
在模擬電路的測試點設置中,一般認為輸入點、輸出點是可測試的;輸入點、輸出點通過相關手段,可與其它電路(系統)電氣隔離。
本文研究模擬電路中具有代表性二階帶通濾波器電路,電路原理圖如圖1所示。

圖1 二階帶通濾波器電路原理圖
圖1中,C1、C2、R1、R2和R3等元器件均為可更換元器件,如出現故障,需要對其進行在線故障診斷隔離定位。該圖的工作模式包括正常工作與故障,論文具體研究以下10類代表性工作模式:正常工作、“C1↓”、“C1↑”、“C2↓”、“C2↑”、“R2↓”、“R2↑”、“C1↑and R2↓”、“R3↓”、“C1↑and R2↓and R3↓”等,↑表示某類元器件參數值偏離高于標準值,↓表示低于標準值,“C1↑and R2↓”表示同時出現C1電容值上升和R2電阻值下降故障,“C1↑and R2↓and R3↓”表示同時出現C1電容值上升、R2電阻值下降和R3電阻值下降故障。
現討論對上述故障進行診斷的測試點選取問題,電路輸出點Vout的電壓值方便測量,并且該電壓值與電路的多個元器件參數相關聯,能夠反映各個元器件的狀態,故選取該測量點的電壓值作為特征值。從故障診斷的角度來說,單點(單時單頻)的電壓值信息量過少,無法完成電路的準確故障診斷。可從時域和頻率兩方面入手,通過在電路輸入點Vin施加動態變化的激勵信號,獲取輸出點Vout的多個特征值。時域層面,可獲取的信息包括上升時間、穩態時間、過沖量等,這些信息需要二次計算才能獲取到。頻率層面,通過掃頻手段,可直接獲取中心頻率上下的多個電壓值,方便后續診斷工作,故論文提取二階模擬電路的幅頻值作為診斷數據的輸入。
在上述環節設置電路的總輸出點作為特征值的信息獲取點。在某些診斷、隔離定位場合,可能會出現該點的所有信息無法滿足故障隔離的指標要求,此時,需要增加內部測試點數量,例如增加V1、V2、V3作為測試點。內部測試點的增加按照原則1開展,實際過程中以該測試點關聯的元器件大小數量作為該測試點選用的先后順序。
1.4.2 樣本降維與分類
為提高故障診斷的速度、減小系統的復雜程度,減少輸入到診斷系統的樣本維數一直是研究人員關注的焦點。事實上,一個樣本中,往往是少數屬性對故障診斷發揮著重要作用,并且多數屬性之間存在著較強的關聯性。論文研究樣本數據屬性之間的相關性,對其屬性進行降維。同時,考慮不同模式樣本之間差異,對其進行分類。以1.2和1.3節原理為基礎,給出樣本降維與分類的流程圖,如圖2所示。

圖2 PCA+LDA數據降維與分類流程圖
圖2中,主要開展的步驟包括兩部分:
1)PCA降維。基于PCA算法對原始數據樣本進行降維,特征向量的選取以主成分貢獻率達到預先設定值為準。
2)LDA分類降維。為將樣本數據集進行有效分類,采用LDA算法,將同類數據聚集、異類數據分離,實現樣本數據的有效分類。為保證后面環節得到足夠多的數據,一般主成分貢獻率可設置較高數值,然后再根據需要依次約減。
1.4.3 故障診斷
通過上述方法,數據完成采樣、降維后,已經屬于分類完備的數據集,不同故障模式對應不同的數據。為方便診斷辨識,采用機器識別的方法進行分類,自動給出結果。人工神經網絡在分類中得到廣泛應用,且分類精度高,論文采用三層BP神經網絡進行故障識別。同時,按照式(4)過程,故障的診斷與隔離定位是尋優迭代過程,降維診斷整體流程如圖3所示。

圖3 論文降維分類診斷流程圖
圖3中,在線故障診斷、隔離定位是一循環迭代過程。具體步驟是:
1)在測試點數量最小化的原則采集數據。通過1.4.1方法,提取電路總輸出點的幅頻值,并采集部分備份測試點數據。
2)樣本數據的初步降維、分類。按照1.4.2方法進行PCA、LDA降維、分類。PCA降維后,要求數據的維度遠小于數據個數,實際計算時,可按照數據樣本數的50%進行降維約減。事實上,經驗數據結果表明,對樣本分類起關鍵作用的屬性數要小于50%。進一步,LDA分類后,數據的維度在滿足小于C-1條件下,取其最大值,C為故障類別總數。
3)故障識別、隔離與定位。將降維、分類后的最大維數樣本數據作為神經網絡的輸入,采用BP網絡進行分類、識別。故障隔離定位是關注的首要目標,故先計算此時的故障模式識別正確率(故障隔離正確率)、可更換元器件數,若達到要求,轉向后續步驟4,若不滿足要求,回到步驟1),然后再向下運行。

表1 不同工作模式下采集到的部分原始樣本數據
4)樣本的再次降維。計算此時的交叉熵值,指標達到規定要求后,按照樣本屬性對識別的貢獻率依次減少樣本數據維度,直到網絡出現故障模式識別錯誤為止。
5)所有循環過程結束后,流程退出,得到最優結果,式(4)完成尋優過程。
按照1.4.1中數據獲取方法,對圖1電路的樣本數據進行采集,具體過程如下:
1)電路工作模式設置。預先設定圖1電路處于正常、單故障、雙故障、三故障等10種工作模式,具體見1.4.1節。
2)測試點與頻域設置。在電路輸入端Vin加上1 V有效值的交流正弦信號,測量輸出點的幅頻值。對該電路分析可知,其在元器件參數正常工作條件下,中心頻率為25 kHz。對電路進行頻率掃描,頻率范圍為從1 kHz到1 MHz,關鍵頻率點10倍遞增,即1 kHz、10 kHz、100 kHz、1 MHz,3個頻率段內采樣10個頻率點,測量輸出點Vout在各個頻率點電壓值,這樣,每個工作模式樣本包含31個特征值。同時在V1、V2、V3也采集到相應的特征值備用。
3)電路仿真。對元器件的故障以偏離標準值50%進行設定,即“C1↑”表示C1電容值為7.5 nF,其他元器件故障符號與此類似。對每類工作模式開展400次蒙特卡羅仿真,仿真時,電阻值和電容值均偏離標準值5%。通過仿真,獲取到輸出點10類、每類400個樣本、每個樣本包括31個屬性,共計4 000個樣本數據,典型部分數據如表1所示。
2.1節輸出點數據樣本中,每類模式的樣本數據容量為400,數據的維度為31,先開展PCA降維,然后通過LDA再進行降維分類。過程如下:
1)PCA降維。通過圖2的方法,對上述4 000個樣本數據進行降維與分類,PCA降維后,按10類模式的特征值貢獻率均達到99.999%計算,樣本數據的維度由31降到13。

文獻[4]和[20]表明,其單一故障模式的樣本數據維度分別為5(貢獻率為90%)和12,而本文3個以上多故障模式的樣本數據維度為3(貢獻率為98.8%),反映了數據降維的效果更加明顯。

表2 不同工作模式的樣本數據降維分類后結果
按照圖3的流程方法,開展尋優迭代過程。具體如下:
1)設置關鍵技術指標。取測試點個數tp為1,數據維度n為7,設定故障隔離率γFI為100%,可更換元器件數s=1,測試數據的交叉熵CE≤8.0×10-4。
2)BP神經網絡訓練與測試。將2.2中4 000個降維分類后數據輸入到BP神經網絡中,網絡輸入元素(特征屬性)個數初始值為7,隱藏層神經元個數為10個,輸出為10個元素,每個元素對應一種工作模式,元素值可取0或1,1代表該模式為真,0為假。例如,輸出值若為{1,0,0,0,0,0,0,0,0,0}代表電路正常工作,無其它任何故障。70%數據用于訓練、15%數據用于驗證、15%數據用于測試,以tan-sigmoid函數進行輸出層的激活,采用Softmax函數進行多模式分類,輸出歸屬各類的概率值,以式(2)計算出的交叉熵為損失函數,以其不再下降為停止條件,經過多次訓練驗證、網絡在Epoch為60左右結束,尋找到各層的最優連接權值和偏置值。計算機運行環境為:操作系統為Win7、i5處理器、3.3 G主頻、8 G內存。
3)輸出BP神經網絡結果。通過訓練與測試后,神經網絡對每類故障模式都能正確識別(以Softmax函數輸出值高于99.7%認定為歸類正確)。按照所有樣本數據的計算分類結果:Softmax函數輸出值(即樣本數據歸屬各類故障模式的概率)均高于設定值,可認為故障隔離率γFI為100%,而各類故障模式中每個可更換元器件的故障類型組合為確定的狀態,即可更換元器件數s=1。可認為tp數量設置為1,滿足隔離定位要求,不需要再增加測試點。然后,計算測試數據的交叉熵,結果均在6.0×10-4以下,滿足CE≤8.0×10-4的要求。
4)循環迭代。減少網絡輸入元素個數,循環上述過程,直到網絡出現模式識別(歸類)錯誤為止。
5)輸出最終結果。經過迭代,網絡能夠正確識別的工作模式對應的輸入元素個數為3,即數據樣本降維后的最優維度結果為3維。這樣,通過數據獲取、降維、分類、診斷隔離,式(4)中的f過程得以完整實現,2.1中的4 000個數據與10類工作模式得到正確映射表達。
現對本文采用的降維分類、診斷方法進行評價。相對其它類型的數據獲取、分類降維方法,可從數據樣本降維后的維度、測試點數量、可更換元器件數,異類數據的類間距離和、同類數據的類內方差和、類間距離和與類內方差和的比值、分類結果交叉熵、故障隔離率等多個指標進行評價。論文對PCA+LDA算法、LDA算法、KPCA+LDA算法、KPCA算法、PCA算法等5種算法的評價指標結果進行了計算,結果如表3所示。
1)論文采用的降維算法降維效果較優。5類降維算法在準確分類最低維度要求是:PCA-LDA為3維、LDA為5維、KPCA-LDA為5維、KPCA為3維、PCA為5維。如采用LDA算法降維后的4維數據,則分類有錯誤,準確率為92.6%;如采用KPCA-LDA算法降維后的4維數據,則分類有錯誤,準確率為97.5%;如采用PCA算法降維后的4維數據,則分類有錯誤,準確率為96.7%。同時,論文也對原始樣本數據進行了分析,得出:采用不降維的樣本數據進行故障診斷,也能實現準確分類;但將兩種維度:31和3進行比較,明顯,降維后的數據容量更小,方便后續處理。由此可見,PCA-LDA和KPCA兩類算法在降維效果方面優于其他三類降維算法及不降維過程,下述環節,重點比較這兩類算法。
2)論文與KPCA算法比較,綜合指標最優。相對于單個Sum_Sb1和Sum_Sw1結果,更關注整體指標Sum_Sb1/ Sum_Sw1,通過表3可看出,論文提出的PCA+LDA算法在Sum_Sb1/ Sum_Sw1、交叉熵CE等指標方面優于KPCA算法。表明論文將樣本數據歸類在“同類高類聚,異類低耦合”方面表現更加優異。
3)論文實現了模擬電路的準確在線診斷。論文提出的PCA+LDA算法及診斷方法對10類工作模式、4 000個樣本數據進行準確映射,實現了圖1電路中的正常工作、“C1↓”、“C1↑”、“C2↓”、“C2↑”、“R2↓”、“R2↑”、“C1↑and R2↓”、“R3↓”、“C1↑and R2↓and R3↓”相關模式的正確分類,C1、C2、R1、R2和R3等元器件偏離標準值的單一或組合軟故障均得到了正確識別。文獻[4]實驗結果表明,其在數據樣本為5維條件下進行單故障分類時,存在故障模式誤分類情形,準確率為97.6%。與其比較可知,本文準確率100%,且故障模式研究更加全面(考慮了多故障)。綜合比較來看,本文研究的模擬電路復雜故障在線診斷方法在可行性、準確性方面達到了1.1節提出的要求。
論文采用PCA+LDA方法,對模擬電路復雜故障在線診斷進行了研究,提出了多故障模式下的可更換單元的隔離定位方法。給出了測試點設置與幅頻數據獲取方法;對樣本數據進行了有效分類與降維;對電路工作模式開展了有效識別,準確定位了故障元器件;仿真結果表明了論文方法的有效性。論文在增加內部測試點時,按照該點與其它元器件的關聯數量優選,該方法考慮較為單一,后續可在模擬電路測試點設置最優條件下開展復雜故障在線隔離定位研究,提高故障診斷的效費比。

表3 論文所采用算法與其它算法的結果對比