唐 顏,徐天蒙,周 偉,王改堂,蔡睿潔
(西安現(xiàn)代控制技術(shù)研究所,西安 710065)
彈載計(jì)算機(jī)作為彈上的控制中心,其硬件性能是決定武器系統(tǒng)運(yùn)行狀態(tài)的重要因素[1],因此需要對(duì)其硬件性能進(jìn)行充分鑒定。
目前的鑒定方式中,彈載計(jì)算機(jī)的檢測(cè)狀態(tài)通過(guò)總線接口以十六進(jìn)制數(shù)據(jù)形式輸出,形成對(duì)應(yīng)文本文件[2],測(cè)試人員對(duì)數(shù)據(jù)逐一分析判定是否存在異常。然而,文本文件中數(shù)據(jù)規(guī)模大,若要充分鑒定硬件性能,就面臨著巨大的數(shù)據(jù)分析,采用現(xiàn)有的人工分析方式耗時(shí)長(zhǎng)且容易出現(xiàn)疏漏。
神經(jīng)網(wǎng)絡(luò)可用來(lái)對(duì)數(shù)據(jù)進(jìn)行故障分類,但目前基于神經(jīng)網(wǎng)絡(luò)的分類方式多以單一特征量作為故障提取依據(jù);而彈載計(jì)算機(jī)的每幀檢測(cè)數(shù)據(jù)含有多個(gè)故障特征量,因此傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)方式難以直接進(jìn)行分類。
針對(duì)上述問(wèn)題,提出一種基于概率神經(jīng)網(wǎng)絡(luò)PNN的彈載計(jì)算機(jī)故障診斷方法。該方法可將每個(gè)文件的存儲(chǔ)數(shù)據(jù)由矩陣形式簡(jiǎn)化為向量,以此作為數(shù)據(jù)輸入的特征向量;然后采用特定編碼方案,對(duì)所有特征量進(jìn)行映射,得到與之對(duì)應(yīng)的唯一編碼輸出,形成故障編碼集;同時(shí)采用PNN對(duì)編碼集的輸入輸出進(jìn)行模型訓(xùn)練,實(shí)現(xiàn)多故障特征量、大容量數(shù)據(jù)輸入下的故障分類,仿真結(jié)果驗(yàn)證了該方法的可行性及有效性。
檢測(cè)結(jié)果中的數(shù)據(jù)幀由幀頭、測(cè)試項(xiàng)1結(jié)果、測(cè)試項(xiàng)2結(jié)果、…、測(cè)試項(xiàng)n結(jié)果、校驗(yàn)和構(gòu)成。對(duì)于每一數(shù)據(jù)幀而言,將其測(cè)試結(jié)果以A表示:
Ai=[Ai1,Ai2,Ai3,…,Ain]
(1)
式中:n為檢測(cè)項(xiàng)數(shù)量;Ain為第i幀數(shù)據(jù)第n項(xiàng)檢測(cè)結(jié)果,取值為0(正常)或1(異常)??偣瞞幀數(shù)據(jù)則構(gòu)成一個(gè)故障輸入矩陣A:
(2)
式中,每列數(shù)據(jù)為同一檢測(cè)項(xiàng)的不同時(shí)刻的故障檢測(cè)結(jié)果,若按測(cè)試類別進(jìn)行分類,則矩陣A又可表示為:
A=[X1,X2,…,Xn]
(3)
其中:
Xi=[A1i,A2i,…,Ami]T,i=1,2,…,n
(4)
接下來(lái)求取向量Xi的模Mi:
(5)
若Mi不等于0,則代表向量Xi中存在非零值,即第i類測(cè)試項(xiàng)存在異常,將Mi置1(i=1,2,…,n),按此方式,求出所有測(cè)試項(xiàng)對(duì)應(yīng)的模Mi,構(gòu)成新的向量:
B=[M1,M2,…,Mn]
(6)
由此,輸入數(shù)據(jù)由m×n矩陣A轉(zhuǎn)換為n維向量B,以此作為數(shù)據(jù)的特征向量,簡(jiǎn)化數(shù)據(jù)分析規(guī)模。
若彈載計(jì)算機(jī)檢測(cè)項(xiàng)數(shù)量為n,每個(gè)檢測(cè)項(xiàng)包含正常和異常兩種情況,則共有2n種結(jié)果,當(dāng)所有檢測(cè)項(xiàng)均正常時(shí),彈載計(jì)算機(jī)才算是檢測(cè)正常,剩下2n-1種測(cè)試情況均視為故障。
結(jié)合1.1節(jié)分析可知,由n項(xiàng)檢測(cè)數(shù)據(jù)構(gòu)成的故障輸入矩陣A,可轉(zhuǎn)換成n維向量B,作為檢測(cè)數(shù)據(jù)的特征向量。為了將特征向量B映射至2n-1種故障結(jié)果組成的故障空間,需求取故障編碼函數(shù)f,使每一種特征向量B的取值都與相應(yīng)的故障結(jié)果r一一對(duì)應(yīng),三者之間滿足關(guān)系式如下:
r=f(B)
(7)
由于向量B的組成元素為0或1,因此若將向量B中的元素組合視為二進(jìn)制數(shù)據(jù)的高低位,則存在唯一的十進(jìn)制數(shù)值與之相對(duì)應(yīng)。
如表1所示,確定故障特征向量B以后,可采用二進(jìn)制轉(zhuǎn)十進(jìn)制方式得到唯一數(shù)值,用來(lái)表示與之對(duì)應(yīng)的故障輸出結(jié)果r,實(shí)現(xiàn)故障輸入到輸出之間的映射。因此,故障編碼函數(shù)f表達(dá)式為:
4.3 詞匯密度與“個(gè)性風(fēng)格詞匯”之計(jì)算。詞匯密度計(jì)算方中,實(shí)詞是指名詞、動(dòng)詞、形容詞和副詞四類。根據(jù)Biber(2000:62),計(jì)算公式是:詞匯密度=實(shí)詞數(shù)÷總詞數(shù)×100%。Ure指出,詞匯密度可以作為區(qū)別語(yǔ)體正式程度的一個(gè)指標(biāo),某文本的詞匯密度越高,則該文本的語(yǔ)體越接近正式端;反之,若該文本詞匯密度低,則可以說(shuō)明,該文本越靠近非正式端,越接近自然口語(yǔ)。據(jù)Ure(1971:443-452)的研究,口語(yǔ)的詞匯密度大概通常低于40%,而在書面語(yǔ)里,詞匯密度通常要超過(guò)40%。
表1 故障編碼用例
f=M1×2n-1+M2×2n-2+M3×2n-3+…+Mn-1×2+Mn
(8)
通過(guò)式(8)即可得到故障輸入與故障輸出種類的映射關(guān)系,進(jìn)而形成彈載計(jì)算機(jī)故障輸入輸出數(shù)據(jù)集,再利用概率神經(jīng)網(wǎng)絡(luò)對(duì)上述樣本進(jìn)行模型訓(xùn)練,實(shí)現(xiàn)彈載計(jì)算機(jī)故障診斷。
PNN是徑向基網(wǎng)絡(luò)的一個(gè)分支,由輸入層、模式層、求和層、輸出層構(gòu)成,具體結(jié)構(gòu)如圖1[3]。
圖1 PNN結(jié)構(gòu)圖
如圖1所示,輸入層由n個(gè)神經(jīng)元構(gòu)成,其個(gè)數(shù)為輸入向量的維數(shù),輸入層計(jì)算輸入向量與所有訓(xùn)練樣本向量之間的距離。m個(gè)作為隱神經(jīng)元構(gòu)成模式層,該層采樣高斯函數(shù)作為激活函數(shù),計(jì)算測(cè)試樣本與訓(xùn)練樣本中的每一個(gè)樣本的高斯函數(shù)的取值,計(jì)算公式為[4]:
(9)
式中:σi為平滑系數(shù);Xi為訓(xùn)練樣本;Z為待訓(xùn)練的輸入樣本。
求和層的神經(jīng)元個(gè)數(shù)與總的類別數(shù)量一致,求取相同類別測(cè)試樣本對(duì)應(yīng)的模式層節(jié)點(diǎn)輸出之和:
(10)
式中:j為樣本種類,取值為1到m的整數(shù);n為輸入特征向量的維度;訓(xùn)練樣本中故障類型為j的樣本有tj個(gè);i為故障類型j的樣本排列數(shù)值[5]。
輸出層輸出求和層神經(jīng)元中后驗(yàn)概率最大者:
Y=max(Sj)
(11)
I=[B1,B2,…,Bm]T
(12)
式中m為輸入樣本個(gè)數(shù)。
若檢測(cè)項(xiàng)數(shù)量為n,則PNN故障模型輸出向量為Y=[1,2,3,…,2n-1]T。整個(gè)故障診斷流程如圖2所示。
圖2 彈載計(jì)算機(jī)故障診斷流程
現(xiàn)選取某型彈載計(jì)算機(jī)的環(huán)境試驗(yàn)測(cè)試數(shù)據(jù)為樣本,對(duì)文中提出的測(cè)試方法進(jìn)行檢驗(yàn),數(shù)據(jù)中檢測(cè)項(xiàng)包含F(xiàn)lash檢測(cè)結(jié)果、IO初始狀態(tài)、舵反饋1 AD采集精度、舵反饋2 AD采集精度、舵反饋3 AD采集精度、舵反饋4 AD采集精度共6項(xiàng)內(nèi)容。為了保證測(cè)試的準(zhǔn)確性,選取常溫、低溫、高溫、沖擊振動(dòng)、低溫貯存、高溫貯存等多個(gè)環(huán)境條件下的試驗(yàn)數(shù)據(jù)作為訓(xùn)練樣本,且覆蓋所有故障類型,現(xiàn)將上述條件各選取50個(gè)樣本,總共300組數(shù)據(jù),將其中250組作為訓(xùn)練組,剩下50組作為測(cè)試組,求出PNN的故障輸入矩陣I及故障模型輸出向量Y后進(jìn)行模型訓(xùn)練。
采用Matlab中的newpnn函數(shù)創(chuàng)建PNN,對(duì)前文所述方法進(jìn)行仿真驗(yàn)證,將徑向基函數(shù)的分布密度θ分別設(shè)為0.3,0.5,0.8,1.0對(duì)分類結(jié)果進(jìn)行驗(yàn)證。
圖3~圖6為不同θ數(shù)值下,PNN對(duì)50組測(cè)試樣本的實(shí)際分類結(jié)果與預(yù)期分類結(jié)果的對(duì)比圖。其分類準(zhǔn)確率如表2所示。
圖3 θ=0.3故障分類結(jié)果
圖4 θ=0.5故障分類結(jié)果
圖5 θ=0.8故障分類結(jié)果
圖6 θ=1.0故障分類結(jié)果
表2 PNN分類結(jié)果統(tǒng)計(jì)
從表2可知,θ越大,分類準(zhǔn)確率越低,θ為0.3和0.5時(shí),分類結(jié)果的準(zhǔn)確率均為100%,均可滿足對(duì)測(cè)試集樣本故障分類的要求。但是參數(shù)θ的大小對(duì)網(wǎng)絡(luò)逼近精度同樣有很大影響[6],θ越小,逼近的過(guò)程就越粗糙;θ越大,逼近過(guò)程就比較平滑[7]。因此θ取值為0.5時(shí)既可滿足故障分類的準(zhǔn)確率,也可確保逼近過(guò)程的平滑度。
提出了一種基于PNN網(wǎng)絡(luò)的故障診斷方法。該方法將測(cè)試數(shù)據(jù)由復(fù)雜的m×n矩陣轉(zhuǎn)化為n維向量,簡(jiǎn)化了輸入數(shù)據(jù)的分析規(guī)模;通過(guò)二進(jìn)制到十進(jìn)制之間的數(shù)據(jù)轉(zhuǎn)換確立了故障輸入與輸出之間的唯一映射關(guān)系;最后利用PNN網(wǎng)絡(luò)實(shí)現(xiàn)了多故障特征量下的故障分類。仿真結(jié)果驗(yàn)證了該方法的可行性和有效性,可以實(shí)現(xiàn)對(duì)彈載計(jì)算機(jī)的故障分類,且準(zhǔn)確率滿足要求。