郭 麗,張 娟
(江蘇金陵機械制造總廠,江蘇 南京 211100)
隨著科學技術的飛速發展,航空裝備的復雜性顯著提高,航空裝備修理企業積累的維修數據也隨之不斷增多,當數據積累到一定程度時,必然可以反映出有規律的東西[1]。但是當前,修理體系側重于測試手段和能力,修理保障過程中數據的運用十分有限。故障診斷通常依據設備測試結果,結合修理人員經驗,通過人工進行原理分析完成故障定位和隔離。在此模式下,修理人員的修理經驗豐富度、邏輯分析能力等因素對修理效率的影響較大,這已遠遠跟不上航空裝備以及裝備修理模式的發展要求。
隨著現代化工業與人工智能技術的飛速發展,故障診斷技術已邁入智能階段。常見的故障診斷方法有:基于解析模型的方法,如狀態估計法、參數估計法、等價空間法等;基于信號處理的方法,如快速傅里葉變換、小波變換、Fisher判別法、相關元分析法、主元分析法等;基于統計理論的方法,如Bayes決策診斷方法、時序模型診斷方法、主分量分析法、線性判別函數法、灰色系統的關聯分析診斷方法、基于支持向量機(SVM)的故障診斷法等;基于知識的方法,如專家系統、神經網絡、模糊推理、因果分析等[2]。
本文針對航空修理現狀,以某型飛機頻綜器單元為對象,對故障診斷方法開展研究,提出了適用于機載電子產品的基于規則和支持向量機(SVM)的專家系統推理機構建方法,實現了對頻綜器單元電路板級故障的自動診斷。
頻綜器單元是某型飛機上可更換單元之一,主要用于提供控制信號、基準信號以及激勵信號等,具有波形復雜多樣、高純頻譜、頻率捷變、環境適應性較好等特點。產品由外部殼體及內部可插拔電路板組成,其中,內部可插拔電路板包括電源模塊、調頻模塊、調制模塊等16個模塊。
按照電路模塊劃分,對頻綜器單元故障模式進行分類。其中,電源模塊等5個模塊的故障可以通過設備檢測直接進行故障定位,在本文中不予考慮。將剩余的調頻模塊、調制模塊等11個檢測設備無法直接進行故障定位的模塊,按照電路模塊及電路模塊接口信號劃分,分為11類故障(D1~D11),它們分別表示相應的電路模塊及模塊接口信號故障。
專家系統(Expert System)是人工智能應用研究最活躍和最廣泛的領域之一,通過一定的程序規則表達對故障診斷專家的知識和經驗進行總結,模擬領域內專家的排故過程,給出判斷和決策,實現從以數值計算與信號處理為核心的故障診斷過程,到以知識處理和知識推理為核心的診斷過程的轉換[3]。
本文根據航空裝備故障診斷需求,設計了適合航空機載電子設備故障診斷的專家系統,包括人機交互界面、知識庫、知識獲取模塊、推理機、解釋器及數據庫6大部分,如圖1所示。專家系統的核心部分是推理機和知識庫,它們的好壞直接決定了專家系統處理問題的能力和速度[4]。本文的知識庫采用產生式規則[5]對已有的原理部分進行知識表示,在推理機部分結合知識庫規則判別和SVM算法對故障進行分類。

圖1 專家系統結構
2.1.1 人機交互界面
用來處理專家系統和用戶之間的交流信息,能夠將用戶傳遞的故障數據等信息轉化為專家系統可以識別的標準信息,同時將故障診斷的結果反饋給用戶。本系統的人機交互界面設計如圖2。

圖2 人機交互界面設計
用來存放由故障診斷專家的經驗和知識轉化而成的知識規則。知識庫中知識規則的準確度及豐富度,直接決定了專家系統處理問題的能力。
根據修理經驗,已形成11個電路模塊與相關檢測信號的信號關聯圖(見圖3),由圖也可看出,信號關聯精度較粗,難以將故障信號與具體模塊進行對應。

圖3 信號關聯圖
根據已有的原理圖,運用產生式規則(if-then語句),將圖3中的信號關聯關系進行知識表示,梳理出以下17條規則(其中A1~A4表示4組測試信號,為故障事實;D1~D11為故障模式代碼,它們分別表示相應的電路模塊及模塊接口信號故障,M1~M13為未進行測量的中間信號),如表1。

表1 信號關聯關系規則表示
根據規則,可以判別與由A1~A4表示的4組信號相關的電路模塊及模塊接口信號,得到故障信號和故障分類的對應關系。
2.1.3知識獲取模塊
知識獲取模塊將專家輸入的經驗和知識轉化為知識庫中的規則。在修理人員使用故障診斷專家系統的過程中,允許故障診斷專家對系統知識庫進行維護,增加新的知識,改進舊的知識。
2.1.4推理機
根據知識庫已有知識,推理機按照預設的推理方法和策略從知識庫中選擇有關知識規則,對用戶提供的數據進行推理。
修理人員通過人機交互界面選擇檢測的產品并導入檢測數據,系統對數據進行處理、轉換后,與知識庫中的規則進行匹配,得到故障數據對應的可能故障模式1~i,考慮到混合故障存在的可能性,對可能的i種故障模式運用SVM算法進行一一判別,綜合得出最終的診斷結果,并通過解釋機制將診斷結果反饋到人機交互界面,推理過程結束。后續根據實際的結果驗證情況,由專家決定是否要對知識庫進行更新。如圖4所示。

圖4 推理及知識庫更新過程
2.1.5解釋器
通過故障數據與故障現象的一一對應,解釋器能夠將數據表現轉化為語言表示,將故障診斷的結果及診斷過程向用戶做出解釋說明,便于修理人員理解,使診斷過程具有可讀性。
2.1.6 數據庫
用來存放系統運行過程中的輸入數據、轉換數據、中間結果、求解狀態以及最終輸出結論等。
作為基于統計學習理論的模式分類器,SVM在學習和泛化方面具有較高的能力。SVM如果用于故障推理,可以不需要規則提前匹配,能夠克服傳統推理中遇到的“匹配沖突”“組合爆炸”和“無限遞歸”等問題[6]。本文采用MATLAB中LIBSVM庫函數[7]的C-SVC算法進行二分類,對與故障信號相關的故障模式依次進行判別,得到對應的電路模塊是否有故障的結論。下面對相關原理進行說明。
SVM的實現原理是通過某種事先選擇的非線性映射(核函數),將輸入向量映射到一個高維特征空間,在這個空間中構造最優分類超平面[8]。所選核函數為:

其中,φ(x)為n維空間到另一個空間的映射,核函數表示映射后的點積。核函數的引入是為了解決非線性分割的問題,徑向基核如高斯核用泰勒展開可以映射到無限維上去。本文選用RBF核函數進行故障二分類:

對于二分類問題,假設現有訓練數據Χ是m×n的矩陣,其中,m是樣本數量,n是樣本向量的維數;Y為樣本的標簽,是m×1的向量;記樣本中第i個樣本為xi,對應的標簽為yi,yi∈{1,-1},表示兩個分類。現在,我們試圖找一個最優的超平面wTφ(x)+b=0,使得所有樣本到分離面的距離最大。其中,w是一個n×1維向量。
如圖5所示,對于s.t.yi[wTφ(xi)+b]≥1,假設x1、x2分別為兩類數據中距離超平面wTφ(x)+b=0距離最小的向量,則:

圖5 SVM算法示意圖

d1+d2最大,等價于其倒數最小,即:

由于樣本可能不能完全硬性區分,允許軟性間隔,利用正則化,放松一個點到超平面的距離的約束,即函數間隔:

每放松一個εi,就要支付一個代價Cεi,得到C-SVC算法的模型優化函數如下:

頻綜器單元的檢測指標共有82個,即一組頻綜器單元檢測數據為82維,將檢測數據通過以下步驟進行預處理。
3.1.1去除冗余測試項
去除冗余測試項,如頻點數量等通過其他檢測數據綜合計算可得的冗余統計項,將檢測指標由82維降低為76維。
3.1.2信息融合
將部分維度進行融合計算處理,同時根據單項技術指標范圍,增加故障判別維度,實現數據的轉換處理。如將32維的頻點功率數據[P1,P2,…,P32]轉接為1維的綜合功率[P]和4維的故障代碼[m1,m2,m3,m4],具體轉換過程示例如下:
給出一組檢測數據[P1,*P2,*P3,*P4,…,P30,*P31,P32],其中,“*”代表檢測數據超差,可以看出,頻點2、3、4、31功率超差。將其進行轉換:
P={故障頻點中超差最大的功率值}={*P2,*P3,*P4,*P31中超差最大的功率值};
m1~m4分 別 為 頻 點1~8、9~16、17~24、 25~32的故障代碼,每個頻點的狀態用0或1表示,“0”表示“正常”,“1”表示“故障”,每8位為1組進行二進制到十進制的轉換,即為對應的故障代碼。在此例中,[m1,m2,m3,m4]= [14,0,0,64]。
通過信息融合計算,將檢測指標轉換為由22維融合數據及25維故障判別數據組成的47維的算法輸入數據。
通過Min-Max歸一化[9]可以消除樣本不同屬性具有不同量級時的影響,避免量級的差異導致的量級較大的屬性占據主導地位的問題,提高迭代收斂速度。具體歸一化步驟如下:
3.2.1 數據極值處理
在檢測數據中,存在偏離正常數據a很大的異常數據b,當數據偏離超過一定值α時,我們認為數據偏離更大時沒有意義。我們將α作為超差上限,超過這個值,按超差上限進行處理:if(b>a)且(b-a>α),thenb=a+α;if(b<a)且(a-b>α),thenb=a-α。
3.2.2 Min-Max 歸一化
采用 Min-Max 歸一化方法將數據歸一化到[0,1]的范圍。對于屬性A,設Amin和Amax分別為其最小值和最大值,則屬性A的一個原始數據x通過Min-Max歸一化后的映射值x′=(x-Amin)/ (Amax-Amin)。
以“D1參考源電路模塊及參考源電路模塊接口信號故障”為例,對仿真過程進行說明。
3.3.1 模型訓練
從歷史檢測數據中抽取10組D1參考源電路模塊及參考源電路模塊接口信號故障數據、30組D1參考源電路模塊及參考源電路模塊接口信號無故障數據,組成47×40維訓練集,讀取數據庫中訓練數據,選擇C-SVC模型[5],運用Svmtrain函數對模型進行訓練,對C-SVC模型的可調節參數C和γ進行調節。其中,C是懲罰系數,即對誤差的寬容度,C越大,表示越不能容忍出現誤差。當C過大時,容易過擬合;反之,C過小時,容易欠擬合。γ是選擇RBF函數作為核函數后可調的一個參數,它能夠決定數據映射到新的特征空間后的分布。γ越大,表示支持向量越少;γ越小,表示支持向量越多。支持向量的個數影響訓練與預測的速度。
3.3.2 模型測試
從歷史檢測數據中抽取5組D1參考源電路模塊及參考源電路模塊接口信號故障數據、15組D1參考源電路模塊及參考源電路模塊接口信號無故障數據,組成47×20維測試集,對模型進行測試,得到正確分類19組,錯誤分類1組,準確率為95%。
對頻綜器單元的11類故障按照上述方法分別進行模型測試及仿真,得到準確率分布如表2。

表2 頻綜器單元故障診斷準確率分布
本文以頻綜器單元為研究對象,通過MATLAB平臺,將基于知識的專家系統與適用于小樣本、不平衡數據、具有高泛化能力的SVM算法相融合,搭建適用于航空裝備故障診斷及修理的系統模型,實現了11種故障模式的快速定位,模型綜合準確率為91.82%,能夠有效轉化已有修理經驗,提高故障診斷效率。