劉亞紅, 馮海林, 劉 昊
(西安電子科技大學(xué) 理學(xué)院,陜西 西安 710071)
無(wú)線傳感器網(wǎng)絡(luò)軟故障診斷算法*
劉亞紅, 馮海林, 劉 昊
(西安電子科技大學(xué) 理學(xué)院,陜西 西安 710071)
在無(wú)線傳感器網(wǎng)絡(luò)中,軟故障節(jié)點(diǎn)會(huì)產(chǎn)生并傳輸錯(cuò)誤數(shù)據(jù),這不僅會(huì)形成錯(cuò)誤的決策,還會(huì)消耗能量,為此,提出一種基于節(jié)省能量的故障診斷(EFD)算法。該算法利用節(jié)點(diǎn)感知數(shù)據(jù)的空間相似性,通過(guò)對(duì)鄰點(diǎn)所感知的傳感數(shù)據(jù)進(jìn)行比較,確定檢測(cè)節(jié)點(diǎn)狀態(tài)。對(duì)于網(wǎng)絡(luò)中存在的節(jié)點(diǎn)瞬時(shí)故障,該算法引用TF模型思想,避免了不必要的數(shù)據(jù)比較,減少了時(shí)間冗余的檢測(cè)次數(shù)。仿真結(jié)果表明:EFD算法能夠提高網(wǎng)絡(luò)診斷精度,同時(shí)可以降低診斷過(guò)程的能量消耗。
無(wú)線傳感器網(wǎng)絡(luò); 瞬時(shí)故障; 空間相似性; 能量
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)節(jié)點(diǎn)通常部署在室外比較惡劣的環(huán)境中,由于受溫度、濕度等因素的影響,傳感器節(jié)點(diǎn)發(fā)生故障的概率較高[1]。一般,傳感器節(jié)點(diǎn)故障包括硬故障和軟故障[2],節(jié)點(diǎn)硬故障指節(jié)點(diǎn)硬件模塊失效而不能再工作;節(jié)點(diǎn)的軟故障指?jìng)鞲衅鞴?jié)點(diǎn)的硬件模塊正常,但是因環(huán)境等因素致使節(jié)點(diǎn)感知數(shù)據(jù)異常的一類故障,節(jié)點(diǎn)的軟故障是導(dǎo)致無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)可靠性不穩(wěn)定的主要原因之一。目前,傳感器網(wǎng)絡(luò)的故障診斷算法通常是針對(duì)節(jié)點(diǎn)軟故障設(shè)計(jì)的[3~7],然而節(jié)點(diǎn)的軟故障中常常存在一類當(dāng)節(jié)點(diǎn)故障后在較短時(shí)間內(nèi)可自行恢復(fù)正常的故障,這種故障稱為瞬時(shí)故障[8]。節(jié)點(diǎn)的瞬時(shí)故障一般不影響網(wǎng)絡(luò)數(shù)據(jù)的傳輸?shù)绊懢W(wǎng)絡(luò)診斷的準(zhǔn)確率[9~12],同時(shí)由于節(jié)點(diǎn)瞬時(shí)故障出現(xiàn)較為頻繁,這為準(zhǔn)確診斷節(jié)點(diǎn)的軟故障帶來(lái)很大的難度[13]。另外,由于傳感器節(jié)點(diǎn)數(shù)量大,為消除瞬時(shí)故障的影響,診斷算法往往需要消耗更多的節(jié)點(diǎn)能量[13,14],所以,網(wǎng)絡(luò)的軟故障診斷中有必要從節(jié)省能量的基礎(chǔ)上對(duì)瞬時(shí)故障的影響做特別的考慮。為敘述方便以下將軟故障就稱為故障。
節(jié)點(diǎn)感知數(shù)據(jù)的空間相似性是目前很多故障診斷算法設(shè)計(jì)的基礎(chǔ)[5~14],其中,文獻(xiàn)[14]提出的軟故障診斷(soft fault diagnosis,SFD)算法是較為典型地考慮了瞬時(shí)故障影響的節(jié)點(diǎn)故障診斷算法。SFD算法通過(guò)對(duì)等比較節(jié)點(diǎn)信息來(lái)診斷故障,同時(shí)利用時(shí)間冗余多次診斷,以消除瞬時(shí)故障的影響。但是SFD算法的缺點(diǎn)是重復(fù)診斷的總次數(shù)過(guò)多,計(jì)算量很大,導(dǎo)致能量耗費(fèi)過(guò)多,從而在節(jié)點(diǎn)故障診斷過(guò)程中,造成節(jié)點(diǎn)故障未被診斷出之前能量已經(jīng)耗盡的情況。本文提出TF(total fault-free)模型,引用此模型的思想得到一種節(jié)能的故障診斷(energy-efficiency fault diagnosis,EFD)算法,采用此算法對(duì)節(jié)點(diǎn)診斷,避免了不必要的數(shù)據(jù)比較,以此減少時(shí)間冗余檢測(cè)次數(shù)。與SFD算法相比較,EFD算法不僅消除了軟故障中瞬時(shí)故障對(duì)節(jié)點(diǎn)診斷準(zhǔn)確性的影響,提高了診斷效率,且仿真實(shí)驗(yàn)也驗(yàn)證了EFD算法能節(jié)省8 %的能量。
1.1 網(wǎng)絡(luò)模型
本文考慮的無(wú)線傳感器網(wǎng)絡(luò)指?jìng)鞲衅鞴?jié)點(diǎn)隨機(jī)部署在一個(gè)二維區(qū)域,假設(shè)每個(gè)節(jié)點(diǎn)有相同的通信半徑r,并假定節(jié)點(diǎn)的通信半徑相同且在節(jié)點(diǎn)布置后節(jié)點(diǎn)的位置不變。傳感器節(jié)點(diǎn)在數(shù)據(jù)傳輸時(shí)按照無(wú)線多跳的通信形式形成一個(gè)無(wú)線網(wǎng)絡(luò),該網(wǎng)絡(luò)用無(wú)向連通圖G(V,E)表示,其中,V表示節(jié)點(diǎn)的集合,E表示無(wú)向連通圖中節(jié)點(diǎn)之間鏈路的集合,對(duì)于任意的節(jié)點(diǎn)vi,用N(vi)表示節(jié)點(diǎn)vi的鄰居節(jié)點(diǎn)集,這里vi的鄰居節(jié)點(diǎn)集是指在vi的通信半徑范圍內(nèi)的所有一跳節(jié)點(diǎn)的集合,即對(duì)節(jié)點(diǎn)vj,當(dāng)且僅當(dāng)vj和vi相鄰,并且vj位于vi的通信半徑范圍內(nèi),有vj∈N(vi)。
1.2 節(jié)點(diǎn)故障描述
本文考慮的節(jié)點(diǎn)故障是指節(jié)點(diǎn)的軟故障,且軟故障中包含著節(jié)點(diǎn)的瞬時(shí)故障。為此假設(shè)每個(gè)節(jié)點(diǎn)的軟故障發(fā)生率為p(0
1.3 節(jié)點(diǎn)能耗模型
節(jié)點(diǎn)在通信時(shí)的能耗最大,經(jīng)典的節(jié)點(diǎn)能耗模型[15]給出了2個(gè)節(jié)點(diǎn)vi和vj的歐氏距離為d時(shí),節(jié)點(diǎn)發(fā)送和接收l(shuí)bit的數(shù)據(jù)信息所耗費(fèi)的能量
Ereceive(l)=lEelec.
其中,Eelec為節(jié)點(diǎn)發(fā)射和接收電路每發(fā)送或接收單位比特信息的耗能;εamp,εfx分別為發(fā)射放大器將每比特信息傳送單位平方米所耗的能量。需要說(shuō)明的是,當(dāng)網(wǎng)絡(luò)在執(zhí)行故障診斷算法時(shí),節(jié)點(diǎn)之間的通信范圍在其通信半徑r內(nèi),因此,本文采用d≤r時(shí)的能耗模型。
EFD算法的設(shè)計(jì)是在連續(xù)個(gè)離散冗余時(shí)間段內(nèi),對(duì)每個(gè)節(jié)點(diǎn)分別在每個(gè)離散的時(shí)間段內(nèi)利用節(jié)點(diǎn)信息的空間相似性判斷節(jié)點(diǎn)在每個(gè)時(shí)間段的狀態(tài)是否正常,再根據(jù)診斷出的節(jié)點(diǎn)狀態(tài)個(gè)數(shù)與給定的閾值做比較,最終來(lái)確定節(jié)點(diǎn)的狀態(tài)。
2.1 節(jié)點(diǎn)狀態(tài)檢測(cè)原理
設(shè)2個(gè)相鄰節(jié)點(diǎn)為vi,vj,其中,(vi,vj)∈E,vj∈N(vi) ,定義節(jié)點(diǎn)vi,vj的測(cè)量值分別為xi,xj,這里測(cè)量值通常指節(jié)點(diǎn)的感應(yīng)信息。將vi的測(cè)量值與其所有鄰節(jié)點(diǎn)的測(cè)量值進(jìn)行比較, 用比較結(jié)果來(lái)判斷節(jié)點(diǎn)的狀態(tài)。根據(jù)相鄰節(jié)點(diǎn)信息的空間相似性原理,相鄰節(jié)點(diǎn)之間的測(cè)量值在允許的隨機(jī)誤差下應(yīng)當(dāng)是相似的,即測(cè)量值之間的絕對(duì)差應(yīng)小于某給定的閾值δ(0≤δ<1)。為此,引入二元變量cij表示節(jié)點(diǎn)vi與其鄰節(jié)點(diǎn)vj測(cè)量值的匹配值,其中,用cij=0表示vi,vj之間的測(cè)量值相似,即有
(1)
當(dāng)相鄰節(jié)點(diǎn)分別處于正常和故障狀態(tài)時(shí),節(jié)點(diǎn)之間的匹配值也會(huì)不同,表1所示是節(jié)點(diǎn)vi與其鄰節(jié)點(diǎn)之間可能會(huì)出現(xiàn)的匹配值。
表1 節(jié)點(diǎn)狀態(tài)與相應(yīng)的匹配值Tab 1 Node state and corresponding matching values
由于瞬時(shí)故障的存在,上述對(duì)軟故障判斷的準(zhǔn)確率還會(huì)受到瞬時(shí)故障的影響,因此,需要進(jìn)一步檢測(cè)瞬時(shí)故障。
2.2 基于TF模型的時(shí)間冗余檢測(cè)
為消除瞬時(shí)故障對(duì)診斷準(zhǔn)確率的影響,文獻(xiàn)[14]中SFD算法需要在時(shí)間冗余段對(duì)節(jié)點(diǎn)進(jìn)行多次信息比較, 即節(jié)點(diǎn)vi與每個(gè)鄰居節(jié)點(diǎn)逐個(gè)比較固定的次數(shù)m后得到匹配值,再進(jìn)行節(jié)點(diǎn)狀態(tài)的判斷,這樣會(huì)消耗大量的能量。本文提出TF模型,用于EFD算法中,以減少了時(shí)間冗余的檢測(cè),提高檢測(cè)效率并降低能耗。
只要滿足情形(1),(2),(3)中的任一個(gè)條件,都可停止診斷,優(yōu)先判斷出節(jié)點(diǎn)的最終狀態(tài)。所以,可以看到基于TF模型的時(shí)間檢測(cè)策略可以減少不必要節(jié)點(diǎn)比較,并避免了瞬時(shí)故障對(duì)診斷準(zhǔn)確率的影響,能準(zhǔn)確診斷出節(jié)點(diǎn)的最終狀態(tài)。
2.3 EFD算法能耗
由于每個(gè)節(jié)點(diǎn)在指定的通信半徑范圍內(nèi)有k個(gè)鄰居節(jié)點(diǎn),而且每個(gè)節(jié)點(diǎn)都會(huì)通過(guò)信息之間的空間相似性進(jìn)行發(fā)送和接收鄰居之間的信息,并將信息進(jìn)行比較,所以,每個(gè)節(jié)點(diǎn)在一次數(shù)據(jù)傳輸過(guò)程中所消耗的總能量可表示為
課堂教學(xué)主要分為兩部分:教師講解與學(xué)生自主完成實(shí)訓(xùn)相結(jié)合,教師在課程的開(kāi)始綜合講解該項(xiàng)目所融合的知識(shí)點(diǎn),然后按模塊劃分,對(duì)每一模塊的講解借鑒“對(duì)分”的模式,由于知識(shí)點(diǎn)為前期所學(xué)知識(shí),對(duì)于學(xué)生而言并不是很困難,因此每節(jié)課分為三部分:首先教師對(duì)要講解的功能模塊進(jìn)行簡(jiǎn)單概述;其次學(xué)生之間進(jìn)行討論,對(duì)遇到的問(wèn)題進(jìn)行組內(nèi)解決,組內(nèi)無(wú)法解決的提交給老師,由教師匯總后統(tǒng)一解決共性問(wèn)題;最后學(xué)生對(duì)自己的實(shí)訓(xùn)課題進(jìn)行完成,進(jìn)行硬件設(shè)計(jì)或者軟件程序的編寫。
(2)
其中,Er為節(jié)點(diǎn)vi與每個(gè)鄰居節(jié)點(diǎn)進(jìn)行數(shù)據(jù)比較處理所消耗的能量,dij為節(jié)點(diǎn)vi到節(jié)點(diǎn)vj的通信距離。
EFD算法在節(jié)點(diǎn)故障檢測(cè)中計(jì)算節(jié)點(diǎn)的能耗要根據(jù)診斷過(guò)程2.2中出現(xiàn)的情形分別計(jì)算。假如節(jié)點(diǎn)v1,v2,v3,v4,它們的實(shí)際狀態(tài)分別為正常、正常、瞬時(shí)故障、正常。取m=5,θ2=3,且v3節(jié)點(diǎn)實(shí)際出現(xiàn)瞬時(shí)故障的階段為第3時(shí)間段。對(duì)v1,v2,v3,v4在離散時(shí)間段比較診斷的過(guò)程中,v1,v2,v4診斷完第3個(gè)時(shí)間段后,節(jié)點(diǎn)滿足了2.2中EFD算法的情形(1),則可確定節(jié)點(diǎn)的最終狀態(tài),由此可確定v1,v2,v4分別消耗了3Ev1,3Ev23Ev4的能量;v3節(jié)點(diǎn)診斷完第4個(gè)時(shí)間段后,診斷情形滿足了2.2中EFD算法的情形(3),由于前3個(gè)時(shí)間段的診斷結(jié)果得出(|Cim)|=2<(θ2=3),因此,在進(jìn)行第4個(gè)時(shí)間段診斷后,|Cim|=θ2。這樣,節(jié)點(diǎn)v3確定出狀態(tài)消耗了4Ev3的能量;v1,v2,v3,v4消耗的總能量為E=3Ev1+3Ev2+4Ev3+3Ev4。
由此可以得到,如果節(jié)點(diǎn)診斷出的正常狀態(tài)總個(gè)數(shù)優(yōu)先達(dá)到閾值,則可判斷節(jié)點(diǎn)無(wú)故障,無(wú)需再繼續(xù)診斷下去,所以,每個(gè)節(jié)點(diǎn)最少可消耗θ2×Evi大小的能量,節(jié)省了診斷所消耗的能量。
2.4EFD算法描述
1)對(duì)每個(gè)被檢測(cè)的傳感器節(jié)點(diǎn)vi進(jìn)行操作,以生成該節(jié)點(diǎn)的鄰節(jié)點(diǎn)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)對(duì)剩下未處理的節(jié)點(diǎn)V1=V-{vi∈V,Fi=0} For eachvk∈V1, if(|Ckt|≥θ2,Fi=0),則Fk=0; ElseFk=1,并將其狀態(tài)進(jìn)行擴(kuò)散。 7)標(biāo)志所有節(jié)點(diǎn)狀態(tài)為1的節(jié)點(diǎn)為故障節(jié)點(diǎn)。 用Matlab對(duì)EFD算法進(jìn)行仿真。在100 m×100 m的區(qū)域里隨機(jī)部署200個(gè)節(jié)點(diǎn)(如圖1),通信半徑為15 m,區(qū)域節(jié)點(diǎn)度為11.17。 圖1 隨機(jī)分布有200個(gè)節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)Fig 1 WSNs with 200 random deployed sensor nodes 在EFD算法中,p為軟故障率,ps為瞬時(shí)故障率,取m=5,θ1=[d]=11,θ2=3,做20次仿真得到的故障診斷準(zhǔn)確率(AR)如表2,故障虛警率(FAR)如表3。從表2可以看出:當(dāng)節(jié)點(diǎn)的故障率在20 %之前,算法都能準(zhǔn)確避免瞬時(shí)故障且保證節(jié)點(diǎn)的故障診斷準(zhǔn)確率為100 %,當(dāng)節(jié)點(diǎn)故障率為40 %時(shí),準(zhǔn)確率依然較高,達(dá)到97.68 %,此時(shí)的故障虛警率卻很低,只有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ù)包長(zhǎng)度為4 000 bits。根據(jù)公式(2),可以得到EFD算法與SFD算法故障診斷能量消耗的比較圖如圖2所示。從圖中可以看出:對(duì)每個(gè)節(jié)點(diǎn)用EFD算法診斷所消耗的能量低于用SFD算法所消耗的能量,而且整個(gè)區(qū)域在進(jìn)行20次診斷時(shí)的總能量消耗比SFD算法節(jié)省大約1.62 J。 圖2 節(jié)點(diǎn)能量消耗比較圖Fig 2 Comparision diagram of energy consumption of nodes 圖3 不同故障率下的節(jié)點(diǎn)故障診斷準(zhǔn)確率和故障虛警率的對(duì)比Fig 3 Comparision of fault diagnosis AR and FAR in different fault rate 圖3分別表示EFD算法與SFD算法在瞬時(shí)故障率ps=40%時(shí),故障診斷準(zhǔn)確率與故障虛警率之間的比較,從圖3可以看出:當(dāng)節(jié)點(diǎn)軟故障率為30%時(shí),EFD算法的準(zhǔn)確率為99.76 %,而SFD算法為99.50 %。在故障虛警率方面,EFD算法從故障率為20 %開(kāi)始,虛警率低于SFD算法。因此,從上述的仿真結(jié)果可以看出:本文的EFD算法無(wú)論在整體診斷效率還是節(jié)省能量方面均優(yōu)于SFD算法。 本文的EFD算法主要是以節(jié)省能量為目標(biāo)提出的節(jié)點(diǎn)軟故障診斷算法。該算法引用TF模型思想,利用節(jié)點(diǎn)信息空間相似性。診斷中如果節(jié)點(diǎn)正常狀態(tài)的總個(gè)數(shù)優(yōu)先達(dá)到 ,則可得出節(jié)點(diǎn)最終狀態(tài)正常,結(jié)束診斷。算法避免了不必要的數(shù)據(jù)比較,以此減少了冗余時(shí)間的檢測(cè)。通過(guò)與SFD算法的仿真實(shí)驗(yàn)對(duì)比得出,EFD算法不僅有較好的診斷結(jié)果同時(shí)還可以節(jié)省大量能量,從而延長(zhǎng)網(wǎng)絡(luò)壽命。但當(dāng)網(wǎng)絡(luò)中出現(xiàn)大面積節(jié)點(diǎn)故障情況,EFD算法仍存在不足,診斷效果相對(duì)較低。對(duì)于此問(wèn)題,還有待研究。 [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] 季 賽,袁慎芳,吳 鍵,等.基于時(shí)空特性的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)故障診斷方法[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é)點(diǎn)度的無(wú)線傳感器網(wǎng)絡(luò)分簇算法倡[J].計(jì)算機(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 國(guó)家自然科學(xué)基金資助項(xiàng)目(71271165,60874085) TP 393 A 1000—9787(2014)04—0142—04 劉亞紅(1987-),女,陜西寶雞人,碩士研究生,研究方向?yàn)闊o(wú)線傳感網(wǎng)絡(luò)故障診斷。3 仿真實(shí)驗(yàn)
4 結(jié) 論