劉亞紅, 馮海林, 劉 昊
(西安電子科技大學 理學院,陜西 西安 710071)
無線傳感器網絡軟故障診斷算法*
劉亞紅, 馮海林, 劉 昊
(西安電子科技大學 理學院,陜西 西安 710071)
在無線傳感器網絡中,軟故障節點會產生并傳輸錯誤數據,這不僅會形成錯誤的決策,還會消耗能量,為此,提出一種基于節省能量的故障診斷(EFD)算法。該算法利用節點感知數據的空間相似性,通過對鄰點所感知的傳感數據進行比較,確定檢測節點狀態。對于網絡中存在的節點瞬時故障,該算法引用TF模型思想,避免了不必要的數據比較,減少了時間冗余的檢測次數。仿真結果表明:EFD算法能夠提高網絡診斷精度,同時可以降低診斷過程的能量消耗。
無線傳感器網絡; 瞬時故障; 空間相似性; 能量
無線傳感器網絡(wireless sensor networks,WSNs)節點通常部署在室外比較惡劣的環境中,由于受溫度、濕度等因素的影響,傳感器節點發生故障的概率較高[1]。一般,傳感器節點故障包括硬故障和軟故障[2],節點硬故障指節點硬件模塊失效而不能再工作;節點的軟故障指傳感器節點的硬件模塊正常,但是因環境等因素致使節點感知數據異常的一類故障,節點的軟故障是導致無線傳感器網絡數據可靠性不穩定的主要原因之一。目前,傳感器網絡的故障診斷算法通常是針對節點軟故障設計的[3~7],然而節點的軟故障中常常存在一類當節點故障后在較短時間內可自行恢復正常的故障,這種故障稱為瞬時故障[8]。節點的瞬時故障一般不影響網絡數據的傳輸但影響網絡診斷的準確率[9~12],同時由于節點瞬時故障出現較為頻繁,這為準確診斷節點的軟故障帶來很大的難度[13]。另外,由于傳感器節點數量大,為消除瞬時故障的影響,診斷算法往往需要消耗更多的節點能量[13,14],所以,網絡的軟故障診斷中有必要從節省能量的基礎上對瞬時故障的影響做特別的考慮。為敘述方便以下將軟故障就稱為故障。
節點感知數據的空間相似性是目前很多故障診斷算法設計的基礎[5~14],其中,文獻[14]提出的軟故障診斷(soft fault diagnosis,SFD)算法是較為典型地考慮了瞬時故障影響的節點故障診斷算法。SFD算法通過對等比較節點信息來診斷故障,同時利用時間冗余多次診斷,以消除瞬時故障的影響。但是SFD算法的缺點是重復診斷的總次數過多,計算量很大,導致能量耗費過多,從而在節點故障診斷過程中,造成節點故障未被診斷出之前能量已經耗盡的情況。本文提出TF(total fault-free)模型,引用此模型的思想得到一種節能的故障診斷(energy-efficiency fault diagnosis,EFD)算法,采用此算法對節點診斷,避免了不必要的數據比較,以此減少時間冗余檢測次數。與SFD算法相比較,EFD算法不僅消除了軟故障中瞬時故障對節點診斷準確性的影響,提高了診斷效率,且仿真實驗也驗證了EFD算法能節省8 %的能量。
1.1 網絡模型
本文考慮的無線傳感器網絡指傳感器節點隨機部署在一個二維區域,假設每個節點有相同的通信半徑r,并假定節點的通信半徑相同且在節點布置后節點的位置不變。傳感器節點在數據傳輸時按照無線多跳的通信形式形成一個無線網絡,該網絡用無向連通圖G(V,E)表示,其中,V表示節點的集合,E表示無向連通圖中節點之間鏈路的集合,對于任意的節點vi,用N(vi)表示節點vi的鄰居節點集,這里vi的鄰居節點集是指在vi的通信半徑范圍內的所有一跳節點的集合,即對節點vj,當且僅當vj和vi相鄰,并且vj位于vi的通信半徑范圍內,有vj∈N(vi)。
1.2 節點故障描述
本文考慮的節點故障是指節點的軟故障,且軟故障中包含著節點的瞬時故障。為此假設每個節點的軟故障發生率為p(0
1.3 節點能耗模型
節點在通信時的能耗最大,經典的節點能耗模型[15]給出了2個節點vi和vj的歐氏距離為d時,節點發送和接收lbit的數據信息所耗費的能量
Ereceive(l)=lEelec.
其中,Eelec為節點發射和接收電路每發送或接收單位比特信息的耗能;εamp,εfx分別為發射放大器將每比特信息傳送單位平方米所耗的能量。需要說明的是,當網絡在執行故障診斷算法時,節點之間的通信范圍在其通信半徑r內,因此,本文采用d≤r時的能耗模型。
EFD算法的設計是在連續個離散冗余時間段內,對每個節點分別在每個離散的時間段內利用節點信息的空間相似性判斷節點在每個時間段的狀態是否正常,再根據診斷出的節點狀態個數與給定的閾值做比較,最終來確定節點的狀態。
2.1 節點狀態檢測原理
設2個相鄰節點為vi,vj,其中,(vi,vj)∈E,vj∈N(vi) ,定義節點vi,vj的測量值分別為xi,xj,這里測量值通常指節點的感應信息。將vi的測量值與其所有鄰節點的測量值進行比較, 用比較結果來判斷節點的狀態。根據相鄰節點信息的空間相似性原理,相鄰節點之間的測量值在允許的隨機誤差下應當是相似的,即測量值之間的絕對差應小于某給定的閾值δ(0≤δ<1)。為此,引入二元變量cij表示節點vi與其鄰節點vj測量值的匹配值,其中,用cij=0表示vi,vj之間的測量值相似,即有
(1)
當相鄰節點分別處于正常和故障狀態時,節點之間的匹配值也會不同,表1所示是節點vi與其鄰節點之間可能會出現的匹配值。

表1 節點狀態與相應的匹配值Tab 1 Node state and corresponding matching values

由于瞬時故障的存在,上述對軟故障判斷的準確率還會受到瞬時故障的影響,因此,需要進一步檢測瞬時故障。
2.2 基于TF模型的時間冗余檢測
為消除瞬時故障對診斷準確率的影響,文獻[14]中SFD算法需要在時間冗余段對節點進行多次信息比較, 即節點vi與每個鄰居節點逐個比較固定的次數m后得到匹配值,再進行節點狀態的判斷,這樣會消耗大量的能量。本文提出TF模型,用于EFD算法中,以減少了時間冗余的檢測,提高檢測效率并降低能耗。




只要滿足情形(1),(2),(3)中的任一個條件,都可停止診斷,優先判斷出節點的最終狀態。所以,可以看到基于TF模型的時間檢測策略可以減少不必要節點比較,并避免了瞬時故障對診斷準確率的影響,能準確診斷出節點的最終狀態。
2.3 EFD算法能耗
由于每個節點在指定的通信半徑范圍內有k個鄰居節點,而且每個節點都會通過信息之間的空間相似性進行發送和接收鄰居之間的信息,并將信息進行比較,所以,每個節點在一次數據傳輸過程中所消耗的總能量可表示為
課堂教學主要分為兩部分:教師講解與學生自主完成實訓相結合,教師在課程的開始綜合講解該項目所融合的知識點,然后按模塊劃分,對每一模塊的講解借鑒“對分”的模式,由于知識點為前期所學知識,對于學生而言并不是很困難,因此每節課分為三部分:首先教師對要講解的功能模塊進行簡單概述;其次學生之間進行討論,對遇到的問題進行組內解決,組內無法解決的提交給老師,由教師匯總后統一解決共性問題;最后學生對自己的實訓課題進行完成,進行硬件設計或者軟件程序的編寫。
(2)
其中,Er為節點vi與每個鄰居節點進行數據比較處理所消耗的能量,dij為節點vi到節點vj的通信距離。
EFD算法在節點故障檢測中計算節點的能耗要根據診斷過程2.2中出現的情形分別計算。假如節點v1,v2,v3,v4,它們的實際狀態分別為正常、正常、瞬時故障、正常。取m=5,θ2=3,且v3節點實際出現瞬時故障的階段為第3時間段。對v1,v2,v3,v4在離散時間段比較診斷的過程中,v1,v2,v4診斷完第3個時間段后,節點滿足了2.2中EFD算法的情形(1),則可確定節點的最終狀態,由此可確定v1,v2,v4分別消耗了3Ev1,3Ev23Ev4的能量;v3節點診斷完第4個時間段后,診斷情形滿足了2.2中EFD算法的情形(3),由于前3個時間段的診斷結果得出(|Cim)|=2<(θ2=3),因此,在進行第4個時間段診斷后,|Cim|=θ2。這樣,節點v3確定出狀態消耗了4Ev3的能量;v1,v2,v3,v4消耗的總能量為E=3Ev1+3Ev2+4Ev3+3Ev4。
由此可以得到,如果節點診斷出的正常狀態總個數優先達到閾值,則可判斷節點無故障,無需再繼續診斷下去,所以,每個節點最少可消耗θ2×Evi大小的能量,節省了診斷所消耗的能量。
2.4EFD算法描述
1)對每個被檢測的傳感器節點vi進行操作,以生成該節點的鄰節點N(vi),初始化Fi=0,初始化閾值θ1,θ2。
2)?vi∈Vifdi≥θ1轉步驟(3);else,轉步驟(6)。

If (|Ci|≥θ1),則fi=0;

Else不做處理。
4)fort=1 tot=θ2(其中t Else轉步驟(5)。 6)對剩下未處理的節點V1=V-{vi∈V,Fi=0} For eachvk∈V1, if(|Ckt|≥θ2,Fi=0),則Fk=0; ElseFk=1,并將其狀態進行擴散。 7)標志所有節點狀態為1的節點為故障節點。 用Matlab對EFD算法進行仿真。在100 m×100 m的區域里隨機部署200個節點(如圖1),通信半徑為15 m,區域節點度為11.17。 圖1 隨機分布有200個節點的無線傳感器網絡Fig 1 WSNs with 200 random deployed sensor nodes 在EFD算法中,p為軟故障率,ps為瞬時故障率,取m=5,θ1=[d]=11,θ2=3,做20次仿真得到的故障診斷準確率(AR)如表2,故障虛警率(FAR)如表3。從表2可以看出:當節點的故障率在20 %之前,算法都能準確避免瞬時故障且保證節點的故障診斷準確率為100 %,當節點故障率為40 %時,準確率依然較高,達到97.68 %,此時的故障虛警率卻很低,只有0.32 %。 表2 故障診斷準確率Tab 2 Fault diagnosis AR 表3 故障診斷虛警率Tab 3 Fault diagnosis FAR 具體仿真參數:初始能量為2 J,發射/接收1 bit信息的能耗為50 nJ/bit,數據包長度為4 000 bits。根據公式(2),可以得到EFD算法與SFD算法故障診斷能量消耗的比較圖如圖2所示。從圖中可以看出:對每個節點用EFD算法診斷所消耗的能量低于用SFD算法所消耗的能量,而且整個區域在進行20次診斷時的總能量消耗比SFD算法節省大約1.62 J。 圖2 節點能量消耗比較圖Fig 2 Comparision diagram of energy consumption of nodes 圖3 不同故障率下的節點故障診斷準確率和故障虛警率的對比Fig 3 Comparision of fault diagnosis AR and FAR in different fault rate 圖3分別表示EFD算法與SFD算法在瞬時故障率ps=40%時,故障診斷準確率與故障虛警率之間的比較,從圖3可以看出:當節點軟故障率為30%時,EFD算法的準確率為99.76 %,而SFD算法為99.50 %。在故障虛警率方面,EFD算法從故障率為20 %開始,虛警率低于SFD算法。因此,從上述的仿真結果可以看出:本文的EFD算法無論在整體診斷效率還是節省能量方面均優于SFD算法。 本文的EFD算法主要是以節省能量為目標提出的節點軟故障診斷算法。該算法引用TF模型思想,利用節點信息空間相似性。診斷中如果節點正常狀態的總個數優先達到 ,則可得出節點最終狀態正常,結束診斷。算法避免了不必要的數據比較,以此減少了冗余時間的檢測。通過與SFD算法的仿真實驗對比得出,EFD算法不僅有較好的診斷結果同時還可以節省大量能量,從而延長網絡壽命。但當網絡中出現大面積節點故障情況,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] 季 賽,袁慎芳,吳 鍵,等.基于時空特性的無線傳感器網絡節點故障診斷方法[J].傳感器與微系統,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] 傅菊平,齊小剛.基于剩余能量和節點度的無線傳感器網絡分簇算法倡[J].計算機應用研究,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 國家自然科學基金資助項目(71271165,60874085) TP 393 A 1000—9787(2014)04—0142—04 劉亞紅(1987-),女,陜西寶雞人,碩士研究生,研究方向為無線傳感網絡故障診斷。

3 仿真實驗





4 結 論