劉亞紅, 馮海林, 劉 昊
(西安電子科技大學(xué) 理學(xué)院,陜西 西安 710071)
無線傳感器網(wǎng)絡(luò)軟故障診斷算法*
劉亞紅, 馮海林, 劉 昊
(西安電子科技大學(xué) 理學(xué)院,陜西 西安 710071)
在無線傳感器網(wǎng)絡(luò)中,軟故障節(jié)點會產(chǎn)生并傳輸錯誤數(shù)據(jù),這不僅會形成錯誤的決策,還會消耗能量,為此,提出一種基于節(jié)省能量的故障診斷(EFD)算法。該算法利用節(jié)點感知數(shù)據(jù)的空間相似性,通過對鄰點所感知的傳感數(shù)據(jù)進行比較,確定檢測節(jié)點狀態(tài)。對于網(wǎng)絡(luò)中存在的節(jié)點瞬時故障,該算法引用TF模型思想,避免了不必要的數(shù)據(jù)比較,減少了時間冗余的檢測次數(shù)。仿真結(jié)果表明:EFD算法能夠提高網(wǎng)絡(luò)診斷精度,同時可以降低診斷過程的能量消耗。
無線傳感器網(wǎng)絡(luò); 瞬時故障; 空間相似性; 能量
無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)節(jié)點通常部署在室外比較惡劣的環(huán)境中,由于受溫度、濕度等因素的影響,傳感器節(jié)點發(fā)生故障的概率較高[1]。一般,傳感器節(jié)點故障包括硬故障和軟故障[2],節(jié)點硬故障指節(jié)點硬件模塊失效而不能再工作;節(jié)點的軟故障指傳感器節(jié)點的硬件模塊正常,但是因環(huán)境等因素致使節(jié)點感知數(shù)據(jù)異常的一類故障,節(jié)點的軟故障是導(dǎo)致無線傳感器網(wǎng)絡(luò)數(shù)據(jù)可靠性不穩(wěn)定的主要原因之一。目前,傳感器網(wǎng)絡(luò)的故障診斷算法通常是針對節(jié)點軟故障設(shè)計的[3~7],然而節(jié)點的軟故障中常常存在一類當(dāng)節(jié)點故障后在較短時間內(nèi)可自行恢復(fù)正常的故障,這種故障稱為瞬時故障[8]。節(jié)點的瞬時故障一般不影響網(wǎng)絡(luò)數(shù)據(jù)的傳輸?shù)绊懢W(wǎng)絡(luò)診斷的準(zhǔn)確率[9~12],同時由于節(jié)點瞬時故障出現(xiàn)較為頻繁,這為準(zhǔn)確診斷節(jié)點的軟故障帶來很大的難度[13]。另外,由于傳感器節(jié)點數(shù)量大,為消除瞬時故障的影響,診斷算法往往需要消耗更多的節(jié)點能量[13,14],所以,網(wǎng)絡(luò)的軟故障診斷中有必要從節(jié)省能量的基礎(chǔ)上對瞬時故障的影響做特別的考慮。為敘述方便以下將軟故障就稱為故障。
節(jié)點感知數(shù)據(jù)的空間相似性是目前很多故障診斷算法設(shè)計的基礎(chǔ)[5~14],其中,文獻(xiàn)[14]提出的軟故障診斷(soft fault diagnosis,SFD)算法是較為典型地考慮了瞬時故障影響的節(jié)點故障診斷算法。SFD算法通過對等比較節(jié)點信息來診斷故障,同時利用時間冗余多次診斷,以消除瞬時故障的影響。但是SFD算法的缺點是重復(fù)診斷的總次數(shù)過多,計算量很大,導(dǎo)致能量耗費過多,從而在節(jié)點故障診斷過程中,造成節(jié)點故障未被診斷出之前能量已經(jīng)耗盡的情況。本文提出TF(total fault-free)模型,引用此模型的思想得到一種節(jié)能的故障診斷(energy-efficiency fault diagnosis,EFD)算法,采用此算法對節(jié)點診斷,避免了不必要的數(shù)據(jù)比較,以此減少時間冗余檢測次數(shù)。與SFD算法相比較,EFD算法不僅消除了軟故障中瞬時故障對節(jié)點診斷準(zhǔn)確性的影響,提高了診斷效率,且仿真實驗也驗證了EFD算法能節(jié)省8 %的能量。
1.1 網(wǎng)絡(luò)模型
本文考慮的無線傳感器網(wǎng)絡(luò)指傳感器節(jié)點隨機部署在一個二維區(qū)域,假設(shè)每個節(jié)點有相同的通信半徑r,并假定節(jié)點的通信半徑相同且在節(jié)點布置后節(jié)點的位置不變。傳感器節(jié)點在數(shù)據(jù)傳輸時按照無線多跳的通信形式形成一個無線網(wǎng)絡(luò),該網(wǎng)絡(luò)用無向連通圖G(V,E)表示,其中,V表示節(jié)點的集合,E表示無向連通圖中節(jié)點之間鏈路的集合,對于任意的節(jié)點vi,用N(vi)表示節(jié)點vi的鄰居節(jié)點集,這里vi的鄰居節(jié)點集是指在vi的通信半徑范圍內(nèi)的所有一跳節(jié)點的集合,即對節(jié)點vj,當(dāng)且僅當(dāng)vj和vi相鄰,并且vj位于vi的通信半徑范圍內(nèi),有vj∈N(vi)。
1.2 節(jié)點故障描述
本文考慮的節(jié)點故障是指節(jié)點的軟故障,且軟故障中包含著節(jié)點的瞬時故障。為此假設(shè)每個節(jié)點的軟故障發(fā)生率為p(0
1.3 節(jié)點能耗模型
節(jié)點在通信時的能耗最大,經(jīng)典的節(jié)點能耗模型[15]給出了2個節(jié)點vi和vj的歐氏距離為d時,節(jié)點發(fā)送和接收lbit的數(shù)據(jù)信息所耗費的能量
Ereceive(l)=lEelec.
其中,Eelec為節(jié)點發(fā)射和接收電路每發(fā)送或接收單位比特信息的耗能;εamp,εfx分別為發(fā)射放大器將每比特信息傳送單位平方米所耗的能量。需要說明的是,當(dāng)網(wǎng)絡(luò)在執(zhí)行故障診斷算法時,節(jié)點之間的通信范圍在其通信半徑r內(nèi),因此,本文采用d≤r時的能耗模型。
EFD算法的設(shè)計是在連續(xù)個離散冗余時間段內(nèi),對每個節(jié)點分別在每個離散的時間段內(nèi)利用節(jié)點信息的空間相似性判斷節(jié)點在每個時間段的狀態(tài)是否正常,再根據(jù)診斷出的節(jié)點狀態(tài)個數(shù)與給定的閾值做比較,最終來確定節(jié)點的狀態(tài)。
2.1 節(jié)點狀態(tài)檢測原理
設(shè)2個相鄰節(jié)點為vi,vj,其中,(vi,vj)∈E,vj∈N(vi) ,定義節(jié)點vi,vj的測量值分別為xi,xj,這里測量值通常指節(jié)點的感應(yīng)信息。將vi的測量值與其所有鄰節(jié)點的測量值進行比較, 用比較結(jié)果來判斷節(jié)點的狀態(tài)。根據(jù)相鄰節(jié)點信息的空間相似性原理,相鄰節(jié)點之間的測量值在允許的隨機誤差下應(yīng)當(dāng)是相似的,即測量值之間的絕對差應(yīng)小于某給定的閾值δ(0≤δ<1)。為此,引入二元變量cij表示節(jié)點vi與其鄰節(jié)點vj測量值的匹配值,其中,用cij=0表示vi,vj之間的測量值相似,即有
(1)
當(dāng)相鄰節(jié)點分別處于正常和故障狀態(tài)時,節(jié)點之間的匹配值也會不同,表1所示是節(jié)點vi與其鄰節(jié)點之間可能會出現(xiàn)的匹配值。
表1 節(jié)點狀態(tài)與相應(yīng)的匹配值Tab 1 Node state and corresponding matching values
由于瞬時故障的存在,上述對軟故障判斷的準(zhǔn)確率還會受到瞬時故障的影響,因此,需要進一步檢測瞬時故障。
2.2 基于TF模型的時間冗余檢測
為消除瞬時故障對診斷準(zhǔn)確率的影響,文獻(xiàn)[14]中SFD算法需要在時間冗余段對節(jié)點進行多次信息比較, 即節(jié)點vi與每個鄰居節(jié)點逐個比較固定的次數(shù)m后得到匹配值,再進行節(jié)點狀態(tài)的判斷,這樣會消耗大量的能量。本文提出TF模型,用于EFD算法中,以減少了時間冗余的檢測,提高檢測效率并降低能耗。
只要滿足情形(1),(2),(3)中的任一個條件,都可停止診斷,優(yōu)先判斷出節(jié)點的最終狀態(tài)。所以,可以看到基于TF模型的時間檢測策略可以減少不必要節(jié)點比較,并避免了瞬時故障對診斷準(zhǔn)確率的影響,能準(zhǔn)確診斷出節(jié)點的最終狀態(tài)。
2.3 EFD算法能耗
由于每個節(jié)點在指定的通信半徑范圍內(nèi)有k個鄰居節(jié)點,而且每個節(jié)點都會通過信息之間的空間相似性進行發(fā)送和接收鄰居之間的信息,并將信息進行比較,所以,每個節(jié)點在一次數(shù)據(jù)傳輸過程中所消耗的總能量可表示為
課堂教學(xué)主要分為兩部分:教師講解與學(xué)生自主完成實訓(xùn)相結(jié)合,教師在課程的開始綜合講解該項目所融合的知識點,然后按模塊劃分,對每一模塊的講解借鑒“對分”的模式,由于知識點為前期所學(xué)知識,對于學(xué)生而言并不是很困難,因此每節(jié)課分為三部分:首先教師對要講解的功能模塊進行簡單概述;其次學(xué)生之間進行討論,對遇到的問題進行組內(nèi)解決,組內(nèi)無法解決的提交給老師,由教師匯總后統(tǒng)一解決共性問題;最后學(xué)生對自己的實訓(xùn)課題進行完成,進行硬件設(shè)計或者軟件程序的編寫。
(2)
其中,Er為節(jié)點vi與每個鄰居節(jié)點進行數(shù)據(jù)比較處理所消耗的能量,dij為節(jié)點vi到節(jié)點vj的通信距離。
EFD算法在節(jié)點故障檢測中計算節(jié)點的能耗要根據(jù)診斷過程2.2中出現(xiàn)的情形分別計算。假如節(jié)點v1,v2,v3,v4,它們的實際狀態(tài)分別為正常、正常、瞬時故障、正常。取m=5,θ2=3,且v3節(jié)點實際出現(xiàn)瞬時故障的階段為第3時間段。對v1,v2,v3,v4在離散時間段比較診斷的過程中,v1,v2,v4診斷完第3個時間段后,節(jié)點滿足了2.2中EFD算法的情形(1),則可確定節(jié)點的最終狀態(tài),由此可確定v1,v2,v4分別消耗了3Ev1,3Ev23Ev4的能量;v3節(jié)點診斷完第4個時間段后,診斷情形滿足了2.2中EFD算法的情形(3),由于前3個時間段的診斷結(jié)果得出(|Cim)|=2<(θ2=3),因此,在進行第4個時間段診斷后,|Cim|=θ2。這樣,節(jié)點v3確定出狀態(tài)消耗了4Ev3的能量;v1,v2,v3,v4消耗的總能量為E=3Ev1+3Ev2+4Ev3+3Ev4。
由此可以得到,如果節(jié)點診斷出的正常狀態(tài)總個數(shù)優(yōu)先達(dá)到閾值,則可判斷節(jié)點無故障,無需再繼續(xù)診斷下去,所以,每個節(jié)點最少可消耗θ2×Evi大小的能量,節(jié)省了診斷所消耗的能量。
2.4EFD算法描述
1)對每個被檢測的傳感器節(jié)點vi進行操作,以生成該節(jié)點的鄰節(jié)點N(vi),初始化Fi=0,初始化閾值θ1,θ2。
2)?vi∈Vifdi≥θ1轉(zhuǎn)步驟(3);else,轉(zhuǎn)步驟(6)。
If (|Ci|≥θ1),則fi=0;
Else不做處理。
4)fort=1 tot=θ2(其中t Else轉(zhuǎn)步驟(5)。 6)對剩下未處理的節(jié)點V1=V-{vi∈V,Fi=0} For eachvk∈V1, if(|Ckt|≥θ2,Fi=0),則Fk=0; ElseFk=1,并將其狀態(tài)進行擴散。 7)標(biāo)志所有節(jié)點狀態(tài)為1的節(jié)點為故障節(jié)點。 用Matlab對EFD算法進行仿真。在100 m×100 m的區(qū)域里隨機部署200個節(jié)點(如圖1),通信半徑為15 m,區(qū)域節(jié)點度為11.17。 圖1 隨機分布有200個節(jié)點的無線傳感器網(wǎng)絡(luò)Fig 1 WSNs with 200 random deployed sensor nodes 在EFD算法中,p為軟故障率,ps為瞬時故障率,取m=5,θ1=[d]=11,θ2=3,做20次仿真得到的故障診斷準(zhǔn)確率(AR)如表2,故障虛警率(FAR)如表3。從表2可以看出:當(dāng)節(jié)點的故障率在20 %之前,算法都能準(zhǔn)確避免瞬時故障且保證節(jié)點的故障診斷準(zhǔn)確率為100 %,當(dāng)節(jié)點故障率為40 %時,準(zhǔn)確率依然較高,達(dá)到97.68 %,此時的故障虛警率卻很低,只有0.32 %。 表2 故障診斷準(zhǔn)確率Tab 2 Fault diagnosis AR 表3 故障診斷虛警率Tab 3 Fault diagnosis FAR 具體仿真參數(shù):初始能量為2 J,發(fā)射/接收1 bit信息的能耗為50 nJ/bit,數(shù)據(jù)包長度為4 000 bits。根據(jù)公式(2),可以得到EFD算法與SFD算法故障診斷能量消耗的比較圖如圖2所示。從圖中可以看出:對每個節(jié)點用EFD算法診斷所消耗的能量低于用SFD算法所消耗的能量,而且整個區(qū)域在進行20次診斷時的總能量消耗比SFD算法節(jié)省大約1.62 J。 圖2 節(jié)點能量消耗比較圖Fig 2 Comparision diagram of energy consumption of nodes 圖3 不同故障率下的節(jié)點故障診斷準(zhǔn)確率和故障虛警率的對比Fig 3 Comparision of fault diagnosis AR and FAR in different fault rate 圖3分別表示EFD算法與SFD算法在瞬時故障率ps=40%時,故障診斷準(zhǔn)確率與故障虛警率之間的比較,從圖3可以看出:當(dāng)節(jié)點軟故障率為30%時,EFD算法的準(zhǔn)確率為99.76 %,而SFD算法為99.50 %。在故障虛警率方面,EFD算法從故障率為20 %開始,虛警率低于SFD算法。因此,從上述的仿真結(jié)果可以看出:本文的EFD算法無論在整體診斷效率還是節(jié)省能量方面均優(yōu)于SFD算法。 本文的EFD算法主要是以節(jié)省能量為目標(biāo)提出的節(jié)點軟故障診斷算法。該算法引用TF模型思想,利用節(jié)點信息空間相似性。診斷中如果節(jié)點正常狀態(tài)的總個數(shù)優(yōu)先達(dá)到 ,則可得出節(jié)點最終狀態(tài)正常,結(jié)束診斷。算法避免了不必要的數(shù)據(jù)比較,以此減少了冗余時間的檢測。通過與SFD算法的仿真實驗對比得出,EFD算法不僅有較好的診斷結(jié)果同時還可以節(jié)省大量能量,從而延長網(wǎng)絡(luò)壽命。但當(dāng)網(wǎng)絡(luò)中出現(xiàn)大面積節(jié)點故障情況,EFD算法仍存在不足,診斷效果相對較低。對于此問題,還有待研究。 [1] Koushanfar F,Potkonjak M,Sangiovanni-Vincentell A. Fault to-lerance techniques for wireless Ad Hoc sensor networks[C]∥Proceedings of IEEE Conf on Sensors,IEEE,2002:1491-1496. [2] Chessa S,Santi P.Comparison-based system-level fault diagnosis in Ad Hoc networks[C]∥Proceedings of 20th IEEE Symposium on Reliable Distributed Systems,2001:257-266. [3] Peng Yu,Song Jia,Peng Xiyuan.A self detection technique in fault management in WSNs[C]∥IEEE Int’l Instrumentation and Measurement Technology Conference(I2MTC),IEEE,2011:1-4. [4] Khazaei E,Barati A,Movaghar A.Improvement of fault detection in wireless sensor networks[C]∥ISECS International Colloquium on Computing,Communication Control,and Management,CCCM 2009,IEEE,2009:644-646. [5] Wang Z,Wen Q,Sun Y,et al.A fault detection scheme based on self-clustering nodes sets for wireless sensor networks[C]∥2012 IEEE 12th International Conference on Computer and Information Technology(CIT),2012:921-925. [6] Jiang P.A new method for node fault detection in wireless sensor networks[J].Sensors,2009,9(2):1282-1294. [7] Sun T,Chen W,Liu Y,et al.A probability-based approximate algorithm for anomaly detection in WSNs[C]∥2012 World Congress on Information and Communication Technologies,IEEE,2012:1109-1114. [8] Chang S H,Merabti M,Mokhtar H.A causal model method for fault diagnosis in wireless sensor networks[C]∥2010 IEEE 10th International Conference on Computer and Information Technology(CIT),2010:155-162. [9] Khilar P M,Mahapatra S.Intermittent fault diagnosis in wireless sensor networks[C]∥10th International Conference on Information Technology,ICIT 2007,IEEE,2007:145-147. [10] Mahapatroa A,Khilar P M.Transient fault tolerant wireless sensor networks[J].Procedia Technology,2012,4:97-101. [11] Luo X,Dong M,Huang Y.On distributed fault-tolerant detection in wireless sensor networks[J].IEEE Transactions on Compu-ters,2006,55(1):58-70. [12] Masoum A,Jahangir A H,Taghikhaki Z.Survivability analysis of wireless sensor network with transient faults[C]∥2008 International Conference on Computational Intelligence for Modelling Control & Automation,IEEE,2008:975-980. [13] 季 賽,袁慎芳,吳 鍵,等.基于時空特性的無線傳感器網(wǎng)絡(luò)節(jié)點故障診斷方法[J].傳感器與微系統(tǒng),2009,28(10):117-120. [14] Lee M H,Choi Y H.Fault detection of wireless sensor network-s[J].Computer Communications,2008,31(14):3469-3475. [15] Cohen K,Leshem A.Energy-efficient detection in wireless sensor networks using likelihood ratio and channel state information[J].IEEE Journal on Selected Areas in Communications,2011,29(8):1671-1683. [16] 傅菊平,齊小剛.基于剩余能量和節(jié)點度的無線傳感器網(wǎng)絡(luò)分簇算法倡[J].計算機應(yīng)用研究,2011,28(1):250-252. Soft fault diagnosis algorithm for wireless sensor networks* LIU Ya-hong, FENG Hai-lin, LIU Hao (School of Science,Xidian University,Xi’an 710071,China) In wireless sensor networks(WSNs),soft fault nodes may generate and transmit false data,which will not only causes wrong decision but also will consumes more energy,because of this,present an energy-efficiency fault diagnosis(EFD) algorithm to save energy.The algorithm makes use of spatial similarity of node sense datas to determine state of detected node by comparison of sensing data sensed by neighboring nodes.Considering transient fault,the algorithm uses total fault-free(TF) model idea to avoid unnecessary data comparison,and reduce detection times of time redundancy.Simulation results show that the EFD algorithm can improve precision of network diagnosis and reduce energy consumption in diagnosis process. wireless sensor networks(WSNs); transient fault; spatial similarity; energy 2013—08—20 國家自然科學(xué)基金資助項目(71271165,60874085) TP 393 A 1000—9787(2014)04—0142—04 劉亞紅(1987-),女,陜西寶雞人,碩士研究生,研究方向為無線傳感網(wǎng)絡(luò)故障診斷。3 仿真實驗
4 結(jié) 論