李 勇,羅秋鳳,吳武斌
( 1.南京航空航天大學 自動化學院;2.南京航空航天大學 無人機研究院,江蘇 南京 210016)
?
DSP和非平衡FSVM在陀螺儀故障診斷中的應用
李勇1,羅秋鳳2,吳武斌1
( 1.南京航空航天大學 自動化學院;2.南京航空航天大學 無人機研究院,江蘇 南京 210016)
摘要:針對陀螺儀輸出樣本不平衡和噪聲干擾大的特點,提出一種使用DSP實現(xiàn)非平衡FSVM陀螺儀故障診斷方法。系統(tǒng)核心算法FSVM的隸屬度函數(shù)設計由非平衡特征因子和去噪模糊因子兩部分組成,用于解決樣本不平衡和噪聲干擾大導致SVM分類精度降低的問題。首先,F(xiàn)SVM的訓練階段在上位機上實現(xiàn),采集陀螺儀的無故障和故障信號,經過小波包特征提取后得到訓練樣本,然后由FSVM訓練得到分類識別函數(shù),最后將分類識別函數(shù)移植到DSP硬件平臺上實現(xiàn)FSVM的測試應用。速率陀螺故障診斷的實驗結果表明,該實現(xiàn)方法不僅提高了故障樣本的診斷精度,而且滿足系統(tǒng)實時性要求,具有一定的實用價值。
關鍵詞:數(shù)字信號處理器;模糊支持向量機;非平衡特征;故障診斷
陀螺儀是無人機重要機載傳感器,用于測量機體的姿態(tài)信息。隨著對無人機完成工作任務的要求越來越復雜,陀螺儀精度壽命和可靠性的要求也在不斷提高,所以能夠實時的檢測出陀螺儀故障并作相應的處理顯得十分重要。陀螺儀常見故障有漂移故障、偏差故障、完全故障以及周期干擾故障等[1],正常工作條件下這些故障難以獲取,也就造成了正常樣本與故障樣本嚴重不平衡。另外,由于受到的沖擊、振動、電磁等復雜機載環(huán)境影響,陀螺儀輸出往往帶有各種噪聲信號,影響故障診斷的精度,所以在設計陀螺儀故障診斷系統(tǒng)時,需要重點關注樣本數(shù)據(jù)不平衡和噪聲干擾問題。
支持向量機(Support Vector Machines,SVM)[2]是由Vapnik創(chuàng)立的一種建立在統(tǒng)計學習理論和結構風險最小化原理基礎上的優(yōu)化算法,能較好地解決小樣本、高維數(shù)、非線性等問題,目前被越來越多地應用于各種類型的故障診斷系統(tǒng)中。標準SVM在假設樣本分布平衡和樣本數(shù)據(jù)大致相當?shù)那疤嵯戮哂休^高的分類精度,但對于不平衡數(shù)據(jù),其性能卻大大下降[3-4]。另外,無人機飛行環(huán)境比較復雜,容易受到外界干擾,所以分類算法也必須考慮數(shù)據(jù)集中噪聲的影響。2002年,臺灣林智仁等學者為了減少噪聲樣本對SVM分類的影響,在SVM中引入模糊理論技術,從而提出了模糊支持向量機(FSVM,Fuzzy Support Vector Machine)[5]理論。本文通過在FSVM的隸屬度函數(shù)中引入樣本非平衡特征因子來解決陀螺儀故障診斷中的不平衡和噪聲干擾問題。
DSP由于其具有體積小、功耗低以及高性能的數(shù)據(jù)處理能力等優(yōu)點,被廣泛應用于各個領域。本文結合SVM算法的特點,設計了一種以TMS320F28335[6]芯片為核心處理器的硬件平臺來實現(xiàn)SVM的測試應用,從而為該陀螺儀故障診斷系統(tǒng)走向實際應用提供強有力的技術支撐和保障。
FSVM設計的關鍵在于隸屬度函數(shù)的設計,但是,目前隸屬度函數(shù)的構造還沒有一個可遵循的一般性準則,通常需要針對具體問題根據(jù)實際經驗來確定合適的隸屬度函數(shù)。針對陀螺儀工作特點,F(xiàn)SVM設計需要滿足兩個目標:一是抑制類內樣本的噪聲或孤立點干擾,二是抑制類間樣本的不平衡對分類超平面的影響。所以,隸屬度函數(shù)設計需要綜合考慮這兩個目標。
(1)
式中,m+、m-分別表示正類和負類樣本獲得的統(tǒng)一權重,反映類間樣本不平衡特征,也叫做非平衡特征因子;f(xi)∈(0,1),表示樣本xi在自己類內的重要性,也叫做去噪模糊因子。顯然,這樣設計的隸屬度函數(shù)即考慮到了噪聲或孤立點的干擾又考慮到了類間不平衡對分類超平面偏移的影響。
去噪模糊因子f(xi)反映的是樣本xi在自己類內的重要性,也就是傳統(tǒng)FSVM的模糊隸屬度。目前, FSVM的隸屬度函數(shù)多是基于樣本空間的度量方法,本文使用基于樣本與類中心距離的方法,原因是該方法計算量較小且魯棒性較強。計算方法如下:
(2)
式中,l+、l-表示正負類樣本個數(shù)。樣本與類中心的歐氏距離為
(3)
采用指數(shù)衰減函數(shù),可得
(4)
當使用SVM對不平衡樣本分類時,SVM分類超平面會發(fā)生偏移,偏移主要是由兩方面原因造成:一種是兩類樣本數(shù)量上的差異,另一種是兩類樣本的分散程度。其中,分散程度可以由投影標準差表示,正類和負類樣本點在分類超平面的法向量ω方向上投影后的標準差分別為
(5)
式中,∑+,∑-分別表示正負類協(xié)方差矩陣。
(6)
式中,yi∈{-1,1},k(xi,xj)=(Φ(xi),Φ(xj))為核函數(shù)。
當樣本數(shù)量相差較大時,文獻[7]表明,訓練得到的SVM分類超平面向正類偏移,為了糾正樣本數(shù)不同導致的偏移,正類樣本相較于負類樣本應該有較高的權值,可以設置權重與樣本數(shù)大小成反比,所以,正類和負類的權重m+、m-的取值應為
(7)
另外,由于分類面向分散程度大的類偏移,分散程度大的類應該有較高權值,可以設置兩類權重與分散度大小成正比,兩類的模糊權重m+、m-的取值應為
(8)
因此,綜合考慮樣本數(shù)與分散度大小之后,取m+=m,兩類樣本非平衡特征用模糊權重可表示為
(9)
SVM分類分為兩個階段:訓練階段和測試階段。由于SVM訓練階段算法涉及不等式尋優(yōu),較為復雜,而且DSP片上資源有限,為了滿足實時性和推廣應用的要求,SVM訓練階段在上位機上實現(xiàn),訓練得到分類模型后,將分類模型燒到DSP上實現(xiàn)SVM測試應用。陀螺儀故障診斷流程圖如圖1所示。
陀螺信號的特征提取方案使用目前應用較為廣泛的小波包分解方法,一方面小波包分解避免了小波分析僅對信號低頻部分進行分解的缺陷,對高頻部分也進行了分解;另一方面陀螺儀發(fā)生故障時,輸出信號會產生一些瞬變,表現(xiàn)在頻域上就是某種或某幾種頻率成分能量的改變,這樣的變化適合用小波包分解提取各個頻帶的能量作為特征向量。
圖1 陀螺儀故障診斷流程圖
(10)
式中:J=log2N;t=·1,2…,2J-j;i=1,2,…,2j。
本系統(tǒng)的核心處理器為TI公司C2000系列TMS320F28335芯片,主頻150MHz,內含32位單精度硬件浮點運算單元和32×32位硬件乘法單元,支持高速和高精度的數(shù)學運算。采用先進的哈佛結構,具有獨立的程序讀總線、數(shù)據(jù)讀總線和數(shù)據(jù)寫總線,支持4級流水線操作,能夠高效地執(zhí)行C/C++代碼,使得軟件開發(fā)更加高效。
由于小波包分解程序和FSVM故障診斷程序所需存儲空間較大,為了確保程序存儲空間具有充足的裕量以備后續(xù)升級本系統(tǒng),本系統(tǒng)為DSP擴展了1 M字非易失性存儲單元和1 M字隨機存儲空間單元,分別使用SST公司的SST39VF1601芯片實現(xiàn)片外FLASH擴展和ISSI公司高性能SRAM芯片IS61WV102416BLL來實現(xiàn)SRAM擴展。系統(tǒng)的下位機部分實物圖如圖2所示,
圖2 故障診斷系統(tǒng)的DSP硬件平臺實物圖
FSVM訓練階段在上位機上使用Matlab仿真實現(xiàn),訓練過程選用臺灣林智仁團隊開發(fā)研制的Libsvm[9]工具箱來完成,其中l(wèi)ibsvm-weights-3.17版本專門用于FSVM分類算法,它和標準SVM工具箱的區(qū)別是訓練函數(shù)的輸入多了一個訓練樣本的權重向量。具體訓練流程為:1)數(shù)據(jù)采集:采集某型無人機科研飛行試驗中垂直陀螺儀輸出的俯仰角信號作為正常樣本數(shù)據(jù),信號采樣周期為80ms。根據(jù)陀螺儀故障特點,在Matlab/Simulink仿真環(huán)境下搭建速率陀螺儀的故障模型,通過仿真得到偏置故障、漂移故障、完全故障以及周期干擾故障四種故障信號數(shù)據(jù);2)小波包分解:小波包分解層數(shù)為3層,小波基函數(shù)選取db4小波,然后提取8個頻帶的能量作為特征向量;3)歸一化:本算法將樣本歸一化到(0,1)區(qū)間; 4)利用第1節(jié)方法計算樣本的隸屬度函數(shù);5)FSVM訓練:訓練樣本準備360個,無故障樣本200個,其它四類故障樣本均為40個,使用網格搜索方法擇優(yōu)選擇核參數(shù)g和誤差懲罰參數(shù)C,參數(shù)選擇結果如圖3所示。
從圖3可以看出,參數(shù)優(yōu)化結果為C=1024,g=8。最后訓練得到由訓練參數(shù)、支持向量以及Lagrange 算子最優(yōu)解等組成的分類模型,在DSP硬件平臺下使用C語言中的結構體類型表示如下:
圖3 SVM參數(shù)的網格搜索結果圖
struct Model
{ int param[5];//訓練參數(shù)
int nr_class;//樣本類別數(shù)
int l;//支持向量個數(shù)
double SV[ ][8];//支持向量
double sv_coef[ ][4];//Lagrange 算子最優(yōu)解
double rho[10];//分類閾值
int label[5];//類別標簽
int nSV[5];//每類支持向量機個數(shù)
} model1;//model1是診斷模型
其中,model1是故障診斷模型,初始化由訓練結果給出,以此計算 FSVM的分類函數(shù),然后診斷識別陀螺儀狀態(tài)特征。
為提高系統(tǒng)的實用性,測試階段的特征提取、歸一化以及故障分類算法均在DSP上實現(xiàn),上位機僅負責向DSP發(fā)送陀螺儀模擬信號和接收顯示診斷結果,程序流程圖和DSP開發(fā)調試界面分別如圖4和圖5所示。
圖4 測試階段程序流程圖
圖5 DSP調試開發(fā)調試界面圖
系統(tǒng)啟動之后,DSP每隔80ms采集上位機發(fā)送的信號數(shù)據(jù),以十個采樣點作為一組數(shù)據(jù),用小波包分解得到一個8維特征向量,歸一化后作為FSVM分類算法的輸入,此時歸一化的尺度參數(shù)需要和訓練階段一樣,DSP診斷程序計算出結果之后,通過串口輸出顯示到上位機界面上,界面如圖6所示。
測試階段準備200組測試數(shù)據(jù),陀螺儀5種狀態(tài)下的數(shù)據(jù)各40組,為了驗證本文算法的性能,實驗結果與標準SVM和僅考慮去噪模糊因子的傳統(tǒng)FSVM(式(1)中m+=m-=1)的測試結果作比較。實驗結果的評價方法選用不平衡數(shù)據(jù)分類常用的幾何平均準則(geometric means metric,g-means)[10]評價方法。實驗結果如表1所示。
圖6 故障診斷系統(tǒng)的上位機顯示界面
%
從表1測試結果可以得出以下結論:
1) 本文算法的故障診斷系統(tǒng)的識別率最高,能夠達到90%以上,且相較于傳統(tǒng)FSVM和標準SVM,對故障樣本識別率分別提高9.5%和10.9%,這對于實際環(huán)境下降低系統(tǒng)漏警率具有重要的意義;2)傳統(tǒng)的FSVM由于為每個樣本設置了去噪模糊因子,相較于標準SVM,測試樣本分類精度有了較大提高,說明有一定抗噪聲干擾能力;3)本文算法相較于傳統(tǒng)FSVM,雖然無故障樣本分類精度降低3%,但是故障樣本分類精度提高9.5%,說明非平衡特征因子通過提高故障樣本的懲罰系數(shù),使得分類超平面向無故障樣本偏移,從而使兩類不平衡樣本在分類精度上趨于平衡;4)本系統(tǒng)測試樣本的平均識別時間為0.086s,能夠滿足無人機對系統(tǒng)實時性的較高要求。
另外,對于陀螺儀4種故障樣本類型,基于非平衡FSVM陀螺儀診斷系統(tǒng)的診斷結果如表2所示,表中漂移故障樣本診斷精度最高,達到100%,而偏置故障樣本的診斷精度最低,僅有81%。所以,雖然該診斷系統(tǒng)能夠整體提高故障樣本的診斷精度,但是不同故障類樣本的識別難易度會有所不同,從而導致不同故障類樣本的診斷精度表現(xiàn)出較大差異。
表2 非平衡FSVM診斷系統(tǒng)對陀螺儀5種狀態(tài)樣本診斷
設計一種基于DSP的非平衡FSVM陀螺儀故障診斷系統(tǒng),通過在上位機上離線實現(xiàn)SVM計算較為復雜的訓練階段,然后將訓練結果移植到基于TMS320F28335芯片的硬件平臺上實現(xiàn)SVM測試應用階段,該方案在充分考慮了SVM的算法特征和硬件實現(xiàn)困難的基礎上,利用DSP實現(xiàn)了SVM算法診斷分類的效果。實驗結果表明,該系統(tǒng)的診斷精度達到90.9%,平均識別時間為0.086s左右,不僅有效解決了陀螺儀輸出信號樣本不平衡和噪聲干擾大導致診斷精度降低的難題,而且診斷速度非常快,對于可靠性和實時性要求極高的無人機來說,具有重要的現(xiàn)實意義。
參考文獻:
[1]Guillermo Heredia,Aníbal Ollero,Rajesh Mahtani,et al.Detection of Sensor Faults in Autonomous Helicopters[C].Proc.Of the 2005 IEEE International Conference on Robotics and Automation,Barcelona:IEEE,2005:1-6
[2]V.Vapnik.The Nature of Statistical Learning Theory[M].New York:Springer-Verlag,2000.
[3]Haibo He,Edwardo A.Garcia.Learning from Imbalanced Data[J].IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,2009,21(9):1263-1284.
[4]Rukshan Batuwita ,Vasile Palade.FSVM -CIL:Fuzzy Support Vector Machines for Class Imbalance Learning[J].IEEE TRANSACTIONS ON FUZZY SYSTEMS,2010,13(8):558-571.
[5]Chun-Fu Lin,Sheng-De Wang.Fuzzy Support Vector Machines[J].IEEE TRANSACTIONS ON NEURAL NETWORKS,2002,13(2):464-471.
[6]Texas Instruments Corp.TMS320F28335 Digital Signal Controllers Data Manual [EB/OL].http://www.ti.com/lit/ds/symlink/tms320f28335.pdf.2012-8-06/2014-8-22.
[7]Akbani R,Kwek S,Japkowicz N.Applying support vector machines to imbalance Datasets [C].in Proc.15th Eur.Conf.Mach.Learning,Pisa,Italy,2004:39-50.
[8]康丹.基于小波包改進算法的諧波分析儀[D].保定:華北電力大學,2011.
[9]Chih-Chung Chang,Chih-Jen Lin.LIBSVM:a library for support vector machines[J].ACM Transactions on Intelligent Systems and Technology,2011,2(3):1-27.
[10]Miroslav Kubat,Robert Holte,Stan Matwin.Learning When Negative Examples Abound[C].9th European Conference on Machine Learning(ECM L),Berlin :Springer-Verlag,1997:146-153.
(責任編輯:馬金發(fā))
Application of DSP and Unbalanced FSVM in Fault Diagnosis System of Gyro
LI Yong1,LUO Qiufeng2,WU Wubin1
(1.Dept.of UAV,Nanjing University of Aeronautics & Astronautics,Nanjing 210016,China)
(2.Dept.of Automation,Nanjing University of Aeronautics & Astronautics,Nanjing 210016,China)
Abstract:According to the features of unbalanced samples and high noise from gyro output signals,an unbalanced FSVM fault diagnosis method of gyro is presented based on DSP.The membership function of FSVM algorithm of system consists of unbalanced characteristic factor and de-noising fuzzy factor,which is used to solve the classification accuracy reducing problem of SVM resulting from unbalanced samples and high noise.Firstly,the training phase of FSVM is implemented in host computer.The normal and fault signals of gyro are collected,and then the samples are obtained through the method of wavelet package feature extraction.Then,the classification function is transplanted,which is obtained by FSVM training model for DSP to achieve the test and recognition phase.The fault diagnosis experiment results of rate gyro shows that the implementation means not only improves the diagnostic accuracy of fault samples,but also meets the real-time requirements.So it has a certain practical value.
Key words:Digital Signal Processing (DSP);Fuzzy Support Vector Machines (FSVM);unbalanced characteristics;fault diagnosis
中圖分類號:TP181;V241.5
文獻標志碼:A
文章編號:1003-1251(2015)01-0046-06
通訊作者:
作者簡介:李勇(1989—),男,碩士研究生;羅秋鳳(1971—),女,研究員,研究方向:現(xiàn)代故障診斷與智能檢測技術.
收稿日期:2014-09-15