徐向華,高學(xué)勇,萬 健
(杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,網(wǎng)格與服務(wù)計(jì)算技術(shù)實(shí)驗(yàn)室,杭州310037)
無線傳感器網(wǎng)絡(luò)通常是由分布在某一指定區(qū)域的具有計(jì)算與通信能力的微小傳感器節(jié)點(diǎn)組成。大量傳感器節(jié)點(diǎn)通過互相協(xié)作完成各種復(fù)雜的任務(wù),例如,生態(tài)環(huán)境監(jiān)測,基礎(chǔ)設(shè)施保護(hù),事件定位,目標(biāo)跟蹤等[2]。無線傳感器網(wǎng)絡(luò)可能由于節(jié)點(diǎn)故障、節(jié)點(diǎn)電池耗盡、環(huán)境影響、傳感器故障等原因,導(dǎo)致節(jié)點(diǎn)死亡、采集數(shù)據(jù)發(fā)生較大的偏差。例如,文獻(xiàn)[3]提到的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)采集實(shí)際應(yīng)用中,節(jié)點(diǎn)采集的數(shù)據(jù)中有40%—60%是錯誤的。因此,傳感器故障容忍在無線傳感器監(jiān)測網(wǎng)絡(luò)應(yīng)用中顯得尤為重要。
本文主要研究無線傳感器監(jiān)測網(wǎng)絡(luò)中故障容忍的事件檢測與定位方法。假定在節(jié)點(diǎn)隨機(jī)布置的無線傳感網(wǎng)絡(luò)監(jiān)測區(qū)域范圍內(nèi),且節(jié)點(diǎn)位置確定,事件源持續(xù)向周圍發(fā)出某種信號或者釋放某種物質(zhì),該信號強(qiáng)度或者物質(zhì)濃度隨距離衰減;事件源附近檢測到一定信號強(qiáng)度的傳感器節(jié)點(diǎn)定期向中心節(jié)點(diǎn)匯報檢測到的信息;中心節(jié)點(diǎn)依據(jù)所有報警節(jié)點(diǎn)的匯報信息確定事件源的位置。該無線傳感器網(wǎng)絡(luò)可以具體應(yīng)用于聲源定位,污染源的定位等場景。
目前,最大似然估計(jì)是無線傳感器網(wǎng)絡(luò)中常用的一種事件定位方法[4-6]。文獻(xiàn)[1]提出一種使用傳感器節(jié)點(diǎn)匯報到Sink節(jié)點(diǎn)的二元數(shù)據(jù)(Binary Data)進(jìn)行事件定位的最大似然估計(jì)方法SNAP(Subtract on Negative Add on Positive)。其基本思想是Sink節(jié)點(diǎn)根據(jù)傳感器節(jié)點(diǎn)匯報的二元觀測值,通過在以該節(jié)點(diǎn)為中心的一個固定大小區(qū)域簡單的+1和-1構(gòu)建似然矩陣。具體地說,在匯報二進(jìn)制數(shù)據(jù)1的節(jié)點(diǎn)周圍區(qū)域+1;保持沉默的節(jié)點(diǎn),Sink節(jié)點(diǎn)認(rèn)為它沒有檢測到事件,在其周圍區(qū)域-1。最后,矩陣中值最大的元素對應(yīng)的單元格即為事件發(fā)生的位置。
本文提出的MSNAP(Modified Subtract on Negative Add on Positive)算法是對SNAP算法進(jìn)行改進(jìn),以提高事件定位精度。其算法思想為:假定部署在監(jiān)測區(qū)域內(nèi)的所有傳感器節(jié)點(diǎn)位置已知,每個傳感器節(jié)點(diǎn)將監(jiān)測到的觀測值與設(shè)定的閾值進(jìn)行比較,如果大于閾值,節(jié)點(diǎn)將觀測值發(fā)送給Sink節(jié)點(diǎn);然后,Sink節(jié)點(diǎn)根據(jù)收到的某個節(jié)點(diǎn)的觀測值——事件信號強(qiáng)度,以該節(jié)點(diǎn)為中心估計(jì)事件傳播覆蓋的區(qū)域大小,在該區(qū)域+1;反之,如果小于閾值,節(jié)點(diǎn)保持沉默狀態(tài),采樣周期內(nèi)Sink節(jié)點(diǎn)沒有收到該節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù)包,則認(rèn)為該節(jié)點(diǎn)沒有檢測到事件的發(fā)生,因此,Sink節(jié)點(diǎn)估計(jì)事件不會發(fā)生在以該節(jié)點(diǎn)為中心的某個區(qū)域,在該區(qū)域-1。最后,我們認(rèn)為似然矩陣中值最大的元素對應(yīng)的單元格即為事件發(fā)生的位置。
SNAP算法根據(jù)節(jié)點(diǎn)匯報與否按照事先確定的固定區(qū)域大小+1/-1構(gòu)造似然矩陣,本文提出的MSNAP算法根據(jù)節(jié)點(diǎn)匯報的觀測值,動態(tài)地調(diào)整事件可能發(fā)生網(wǎng)格區(qū)域的大小。觀測值越大,說明事件源離該節(jié)點(diǎn)越近,估計(jì)事件發(fā)生的區(qū)域越小;反之,估計(jì)事件發(fā)生的區(qū)域越大。理論分析和仿真實(shí)驗(yàn)表明:在同樣節(jié)點(diǎn)布置和節(jié)點(diǎn)故障率的情況下,MSNAP比SNAP的定位精度有較大提高。
本文的組織結(jié)構(gòu)如下:第1節(jié)描述無線傳感器網(wǎng)路中事件定位技術(shù)的相關(guān)工作,第2節(jié)介紹數(shù)據(jù)模型,故障模型以及假設(shè)條件,第3節(jié)詳細(xì)介紹MSNAP算法,第4節(jié)理論分析比較SNAP和MSNAP算法,第5節(jié)MSNAP算法與其他幾種估計(jì)算法仿真實(shí)驗(yàn)結(jié)果以及比較,最后是本文總結(jié)。
近年來,用于聲源跟蹤和事件定位的定位技術(shù)已經(jīng)引起廣泛的關(guān)注和重視。相關(guān)定位方法大致可分為4類[7]:(1)基于信號到達(dá)角度的定位方法(AOA)[8];(2)基于信號到達(dá)時間的定位方法(TOA)[9-10],(3)基于信號到達(dá)時間差的定位方法(TDOA)[11];(4)基于信號能量的定位方法[12-14]。上述4類定位方法中,基于信號能量的定位方法更加適用于節(jié)點(diǎn)資源和能量有限的無線傳感器網(wǎng)絡(luò),因?yàn)?一是該方法僅通過測量信號強(qiáng)度達(dá)到事件的定位,降低了對節(jié)點(diǎn)硬件的要求;二是不需要節(jié)點(diǎn)間精確的時間同步,節(jié)省了通信能耗。
M.Ding等提出了質(zhì)心估計(jì)的定位算法CE(Centroid Estimator)[15]。CE算法對報警節(jié)點(diǎn)的N次抽樣取中間值的方法,過濾掉由于瞬時故障引起的錯誤數(shù)據(jù);然后,計(jì)算所有報警節(jié)點(diǎn)坐標(biāo)的平均值,即質(zhì)心位置。該算法估計(jì)事件發(fā)生的位置即為質(zhì)心的位置。用(xn,yn),n=1,2,…,P(p < =N)表示所有報警節(jié)點(diǎn)的位置,則CE算法估計(jì)的事件位置為:
然而,節(jié)點(diǎn)的假陽性故障(事件影響范圍之外的節(jié)點(diǎn)錯誤報警)對該算法的精度影響很大。尤其是發(fā)生故障的節(jié)點(diǎn)遠(yuǎn)離事件源位置時,該算法的估計(jì)誤差較大。
Niu Ruixin等提出了最大似然估計(jì)的方法ML(Maximum Likelihood)[16]。該方法將傳感器監(jiān)測值轉(zhuǎn)化位0或1(表示沉默、報警)的二元值,構(gòu)造似然函數(shù)實(shí)現(xiàn)事件位置估計(jì)的。其似然函數(shù)為:
其中,In,t為節(jié)點(diǎn)二進(jìn)制讀數(shù),Sn(θ)為節(jié)點(diǎn)在沒有噪音情況下的信號觀測值。該算法在節(jié)點(diǎn)發(fā)生假陰性故障(即檢測到事件的節(jié)點(diǎn)沒有發(fā)出報警)時,容錯性較差。尤其是發(fā)生故障的節(jié)點(diǎn)靠近事件源位置時,算法的定位誤差很大。
SNAP[1]方法使用傳感器節(jié)點(diǎn)匯報的二元數(shù)據(jù)進(jìn)行事件定位。其基本思想是Sink節(jié)點(diǎn)根據(jù)傳感器節(jié)點(diǎn)匯報的二元觀測值,通過在以該節(jié)點(diǎn)為中心的一個固定大小區(qū)域簡單的加1和減1構(gòu)建似然矩陣。具體地說,在匯報二進(jìn)制數(shù)據(jù)1的節(jié)點(diǎn)周圍區(qū)域加1;保持沉默的節(jié)點(diǎn),Sink節(jié)點(diǎn)認(rèn)為它沒有檢測到事件,在其周圍區(qū)域減1。最后,矩陣中值最大的元素對應(yīng)的單元格即為事件發(fā)生的位置。
本文提出的MSNAP算法是對SNAP算法進(jìn)行改進(jìn),與SNAP的不同之處為:傳感節(jié)點(diǎn)匯報實(shí)際觀測值而不是0、1二元值,根據(jù)節(jié)點(diǎn)匯報的觀測值,動態(tài)的調(diào)整事件可能發(fā)生區(qū)域的大小。觀測值越大,說明事件源離該節(jié)點(diǎn)越近,我們估計(jì)事件發(fā)生的區(qū)域越小。因此,本文提出的算法具有更高的定位精度和容錯性能。
針對本文研究的無線傳感器網(wǎng)絡(luò)的事件定位問題,給出以下模型與假設(shè)說明:
(1)N個傳感器節(jié)點(diǎn)隨機(jī)均勻分布在一個矩形區(qū)域A內(nèi)。節(jié)點(diǎn)位置固定,且位置信息已知,表示為:(xn,yn),n=1,2,…,N。
(2)區(qū)域A內(nèi)僅有一個事件源(xs,ys),事件源的位置隨機(jī)布置。
(3)事件源持續(xù)不斷地發(fā)出某種信號,且向各方向傳播一致。信號的衰減與節(jié)點(diǎn)到事件源的距離滿足一定的關(guān)系,而且環(huán)境因素不影響它的傳播模型。
(4)檢測到事件的節(jié)點(diǎn)(報警節(jié)點(diǎn))向Sink發(fā)送一個信號測量值,否則,節(jié)點(diǎn)保持沉默狀態(tài)。
假設(shè)被測信號在事件源位置的信號強(qiáng)度為c,該信號的衰減與傳感器節(jié)點(diǎn)到事件源距離的α(α∈R+)次冪成反比例。位于(xn,yn)的傳感器節(jié)點(diǎn)n,在第t次的測量值,我們使用文獻(xiàn)[1]中給出的數(shù)據(jù)模型表示:
其中,
在式(4)中的Vmax和γ是傳感器的特定參數(shù)(Vmax表示傳感器的最大測量范圍,γ表示對應(yīng)于傳感器增益的比例參數(shù))。rn是傳感器節(jié)點(diǎn)到事件源位置的距離:
根據(jù)上述信號傳播模型式(3)和式(4)以及噪聲模型式(5),給出事件源的信號影響范圍 ROI(Region of Influence)用半徑為Rc的圓確定:
如圖1所示。
假定每個傳感器節(jié)點(diǎn)被預(yù)先設(shè)定了相同的閾值T,由此確定報警和非報警節(jié)點(diǎn):
圖1 80個節(jié)點(diǎn)隨機(jī)分布在85×85的方形區(qū)域。事件源位于(20,20),ROI為半徑為20的圓形區(qū)域
①λ報警節(jié)點(diǎn):Zn,t≥T,即觀測值大等于閾值的節(jié)點(diǎn)。
②λ非報警節(jié)點(diǎn):Zn,t<T,即觀測值小于閾值的節(jié)點(diǎn)。
本文假設(shè)存在兩種故障類型:
①λ假陽性:在事件影響區(qū)域之外的節(jié)點(diǎn)報警,并向Sink發(fā)送自己的觀測值。
②λ假陰性:在事件影響區(qū)域之內(nèi)的節(jié)點(diǎn)沒有報警,并保持沉默狀態(tài)。
MSNAP算法由以下四個步驟組成:
(1)網(wǎng)格劃分 將整個監(jiān)測區(qū)域劃分成網(wǎng)格。
(2)確定節(jié)點(diǎn)的覆蓋區(qū)域ROC(Region of Coverage) 即節(jié)點(diǎn)估計(jì)事件發(fā)生的區(qū)域或者不會發(fā)生事件的區(qū)域。在網(wǎng)格狀的區(qū)域中,節(jié)點(diǎn)的ROC即為該節(jié)點(diǎn)所在單元格為中心的方形區(qū)域。根據(jù)節(jié)點(diǎn)觀測值的不同,方形區(qū)域的大小不同,即覆蓋單元格的數(shù)量不同。
(3)構(gòu)造似然矩陣 與網(wǎng)格區(qū)域相對應(yīng)的是一個似然矩陣L。矩陣中的元素和區(qū)域中的網(wǎng)格一一對應(yīng)?;诿總€傳感器節(jié)點(diǎn)的觀測值,Sink節(jié)點(diǎn)為該節(jié)點(diǎn)的ROC對應(yīng)的矩陣元素加上某個值(報警節(jié)點(diǎn)加1,非報警節(jié)點(diǎn)減1)。
(4)求解極大值 似然矩陣中,值最大的元素對應(yīng)的單元格,即為我們估計(jì)的事件發(fā)生的位置。
下面將詳細(xì)介紹該算法。
將監(jiān)測區(qū)域劃分成G×G的網(wǎng)格,網(wǎng)格分辨率為g。例如,圖1將85×85的區(qū)域劃分成17×17的網(wǎng)格,分辨率 g=5。用 C(i,j)(其中,i,j=1,2…,G)表示監(jiān)測區(qū)域中的單元格。分辨率的大小可以根據(jù)估計(jì)精度和計(jì)算復(fù)雜度的要求決定。每個傳感器節(jié)點(diǎn)根據(jù)其所在位置對應(yīng)一個單元格(一個單元格中可能有多個節(jié)點(diǎn)或者沒有任何節(jié)點(diǎn))。對于劃分好的網(wǎng)格區(qū)域,定義一個和G×G對應(yīng)的似然矩陣L。
節(jié)點(diǎn)的監(jiān)測覆蓋范圍由事件的信號影響范圍決定,最大覆蓋范圍ROC=ROI。由于節(jié)點(diǎn)的觀測值越大,表示節(jié)點(diǎn)距離事件源位置越近。因此,本文根據(jù)節(jié)點(diǎn)匯報的觀測值動態(tài)的調(diào)整節(jié)點(diǎn)的覆蓋范圍,以提高事件定位精度。在沒有噪聲干擾和不出現(xiàn)故障的情況下,由式(4)得節(jié)點(diǎn)與事件的距離為因此,我們定義ROC如下:
為了抵消噪聲的影響,將報警節(jié)點(diǎn)的節(jié)點(diǎn)覆蓋區(qū)域適當(dāng)增大K,確保節(jié)點(diǎn)ROC覆蓋到發(fā)生事件的區(qū)域,但是保證不大于ROI。
根據(jù)公式(7)確定的節(jié)點(diǎn)覆蓋范圍,每個報警節(jié)點(diǎn)將矩陣中對應(yīng)于它所覆蓋單元格的元素加1,而每個不報警的節(jié)點(diǎn)將矩陣中對應(yīng)于它所覆蓋單元格的元素減1。因此,得到似然矩陣L的元素值:
ROCn即為節(jié)點(diǎn)n的覆蓋區(qū)域。
用L(i*,j*)表示矩陣中值最大的元素,則 L(i*,j*)≥L(i,j),?i,j=1,…,G。即矩陣中元素最大值對應(yīng)的單元格就是我們估計(jì)的事件發(fā)生的位置。如果最大值的元素有多個,則我們認(rèn)為它們對應(yīng)的單元格的中心就是事件發(fā)生的位置。
為了說明MSNAP算法,我們通過圖2所示的例子來說明。假設(shè)根據(jù)公式(7)計(jì)算的最大覆蓋范圍ROC為5×5單元格的方形矩陣圖2(a),報警節(jié)點(diǎn)的ROC根據(jù)其實(shí)際觀測值動態(tài)變化。觀測值大于某個值的報警節(jié)點(diǎn)的ROC為3×3個單元格方形區(qū)域圖2(b),其余報警節(jié)點(diǎn)的ROC為5×5個單元格方形矩陣。沒有報警的傳感器節(jié)點(diǎn)n的ROC是以該節(jié)點(diǎn)所在單元格(i,j)為中心的5×5個單元格的方形區(qū)域圖2(c)。為了構(gòu)建似然矩陣L,報警節(jié)點(diǎn)在它ROC對應(yīng)的矩陣元素上加上1,同樣,不報警的節(jié)點(diǎn)在它ROC對應(yīng)的矩陣元素上減1。
圖2 節(jié)點(diǎn)的覆蓋范圍ROC(a)(b)是報警節(jié)點(diǎn)的ROC(c)是非報警節(jié)點(diǎn)的ROC
圖3所示似然矩陣是由六個傳感器節(jié)點(diǎn)通過在它們的ROC對應(yīng)的矩陣元素上加1和減1構(gòu)成。矩陣中值最大的元素3對應(yīng)的單元格就是事件發(fā)生的位置。
圖3 由六個傳感器節(jié)點(diǎn)根據(jù)MSNAP算法構(gòu)造的似然矩陣L,三個實(shí)心圓表示報警的節(jié)點(diǎn),五角星表示事件發(fā)生的位置。
SNAP算法是一種最大似然估計(jì)的方法,僅通過事件ROI內(nèi)的節(jié)點(diǎn)匯報的數(shù)據(jù)構(gòu)造似然函數(shù)。假設(shè)事件ROI中存在K個節(jié)點(diǎn),其匯報的數(shù)據(jù)用Ik表示。Ik?I={Ik,t:rk≤Rc},rk是節(jié)點(diǎn) k 到事件源的距離。給定指示函數(shù)
似然函數(shù)的形式如下:
θ為事件源所在位置,根據(jù)修正的似然函數(shù)p'(Ik|θ)=102KMp(Ik|θ),兩邊取對數(shù),得到:
因此,可得SNAP算法的估計(jì)量:
對于本文提出的MSNAP算法,其似然函數(shù)為:
因?yàn)樵跊]有噪音出現(xiàn)的情況下,由式(7)得到,當(dāng) Zn,t≥ T 時,由公式(2)得到,s'k(θ)> sk(θ);同樣,當(dāng) Zn,t< T 時,因此,lg p(I|θ)>Mklg p(Ik|θ),即當(dāng)觀測值大于閾值時,我們縮小了估計(jì)的范圍Rc,但是事件發(fā)生在該區(qū)域的概率并沒有降低,所以提高了定位的精度。
本文的所有實(shí)驗(yàn)均在仿真環(huán)境中實(shí)現(xiàn),表1給出了實(shí)驗(yàn)用到的參數(shù)及其默認(rèn)值。實(shí)驗(yàn)中如果沒有對使用參數(shù)進(jìn)行特別說明,則使用表中的默認(rèn)值。因此,傳感器節(jié)點(diǎn)的觀測值可以用下面的表達(dá)式表示:
節(jié)點(diǎn)的覆蓋范圍ROC可以用式(16)表示:本文令K=1。
表1 相關(guān)參數(shù)及其默認(rèn)值
我們利用多次實(shí)驗(yàn)的均方根誤差(RMS Error)作為算法的性能評價標(biāo)準(zhǔn)。對于每次實(shí)驗(yàn),假定事件源隨機(jī)分布的位置,通過估計(jì)算法估計(jì)的事件源位置為,則RMS Error可用以下表達(dá)式表達(dá):
本文取B=500,即每個實(shí)驗(yàn)做500次。每次實(shí)驗(yàn),傳感器節(jié)點(diǎn)分布固定,事件源隨機(jī)布置。
為了分析對比各種定位算法的優(yōu)缺點(diǎn),本文所有實(shí)驗(yàn),在相同條件下,分析對比 MSNAP,SNAP,AP,CE四種算法的性能。
由于電池電量的耗盡或者環(huán)境因素的影響,部署在實(shí)際環(huán)境中的傳感器節(jié)點(diǎn)會逐漸失去效用。本實(shí)驗(yàn)研究節(jié)點(diǎn)存活數(shù)對MSNAP算法以及SNAP、AP、CE等算法影響和性能比較。圖4給出了網(wǎng)絡(luò)中存活節(jié)點(diǎn)數(shù)目的變化時,四種算法的性能表現(xiàn)。隨著存活節(jié)點(diǎn)數(shù)目的不斷減少,檢測到事件的節(jié)點(diǎn)數(shù)變少,Sink節(jié)點(diǎn)獲取的信息減少,因此,定位估計(jì)的誤差變大。從圖中可以看出,在相同數(shù)量節(jié)點(diǎn)失效時,MSNAP算法的定位精度明顯優(yōu)于其他三種算法。
圖4 存活節(jié)點(diǎn)數(shù)目的變化對事件定位算法精度的影響
針對存在兩種傳感器故障類型:一類是假陰性,即節(jié)點(diǎn)處在事件影響區(qū)域之內(nèi),但是其觀測值小于閾值T,沒有發(fā)出報警;另一類是:假陽性,即節(jié)點(diǎn)處在事件影響區(qū)域之外,但是其觀測值(我們假定該值是介于閾值T和事件源位置的信號強(qiáng)度c之間的一個隨機(jī)值)大于閾值T,發(fā)出報警。為了分析定位算法的容錯性能,在0~0.5的節(jié)點(diǎn)監(jiān)測故障概率情況下,比較算法的定位誤差。圖5顯示了四種估計(jì)算法的故障容忍性能。圖5(a)、5(b)、5(c)、5(d)分別為事件源信號強(qiáng)度c=1 000、c=2 000 、c=3 000、c=4 000 時的實(shí)驗(yàn)結(jié)果。
圖5 事件源位置信號強(qiáng)度不同的情況下,四種事件定位算法的故障容忍性能對比
從圖5可以看出,在不同故障率的情況下,MSNAP算法的定位精度好于其他三種算法。事件源的信號強(qiáng)度越大,報警節(jié)點(diǎn)的比例越大,MSNAP算法的定位精度越高。當(dāng)故障率小于0.3的時候,MSNAP算法和SNAP算法表現(xiàn)出了較好的容錯性能,仍然具有較高的定位精度。這是因?yàn)樗迫痪仃嚨臉?gòu)造使得單個傳感器節(jié)點(diǎn)發(fā)生故障不會對整個估計(jì)結(jié)果產(chǎn)生很大的影響。盡管SNAP算法和AP算法的估計(jì)誤差大于MSNAP算法,但是,他們對于故障容忍表現(xiàn)出了相同的性能趨勢。當(dāng)故障率小于0.4的時候,CE算法的故障容忍性能最差。
5.2.1 假陰性故障對算法性能的影響
本實(shí)驗(yàn)研究節(jié)點(diǎn)發(fā)生假陰性故障時,對四種事件定位算法的影響。部署在實(shí)際環(huán)境中的無線傳感器網(wǎng)絡(luò),常常由于節(jié)點(diǎn)發(fā)生丟包而產(chǎn)生假陰性故障。由于本文提出的算法要求檢測到事件的節(jié)點(diǎn)向Sink節(jié)點(diǎn)發(fā)送一個數(shù)據(jù)包,沒有檢測到的節(jié)點(diǎn)保持沉默狀態(tài),因此,當(dāng)檢測到事件的節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包丟失時,Sink節(jié)點(diǎn)沒有收到該節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù)包,則認(rèn)為該節(jié)點(diǎn)沒有檢測到事件。為了研究丟包率對四種估計(jì)算法的影響,我們假定網(wǎng)絡(luò)中節(jié)點(diǎn)沒有故障,檢測到事件的節(jié)點(diǎn)發(fā)生丟包的概率為Pd。
圖6顯示了丟包率或者假陰性故障對四種定位算法的影響。從圖中可以看出,當(dāng)丟包率小于0.25的時候,MSNAP算法的定位誤差較小。當(dāng)丟包率大于0.3的時候,CE算法和AP算法的性能最好,定位精度最高。CE算法和AP算法的性能幾乎不受丟包率的影響,而SNAP算法和MSNAP算法卻受影響較大。這是因?yàn)镾NAP算法和MSNAP算法考慮了不報警節(jié)點(diǎn)對事件定位的影響。當(dāng)丟包率增大時,發(fā)生丟包的節(jié)點(diǎn)增多,則它們的負(fù)面影響抵消了正常報警節(jié)點(diǎn)的正面影響,因此,估計(jì)誤差增大。而CE算法和AP算法僅僅考慮報警節(jié)點(diǎn)的影響,忽略非報警節(jié)點(diǎn)的影響,因此,算法性能受丟包率的影響較小。
5.2.2 假陽性故障對算法性能的影響
圖6 丟包率對四種事件定位算法的影響
本實(shí)驗(yàn)研究節(jié)點(diǎn)發(fā)生假陽性故障時,對四種事件定位算法的影響。部署在實(shí)際環(huán)境中的傳感器節(jié)點(diǎn)由于長時間工作,板子過熱,導(dǎo)致錯誤的報警。假定網(wǎng)絡(luò)中非報警節(jié)點(diǎn)發(fā)生錯誤報警的概率為P0。圖7顯示了節(jié)點(diǎn)發(fā)生假陽性故障對四種事件定位算法的影響。從圖中可以看出:隨著節(jié)點(diǎn)發(fā)生假陽性故障概率的增大,CE算法的性能越來越差。當(dāng)發(fā)生故障的節(jié)點(diǎn)離事件源越遠(yuǎn),該算法估計(jì)的事件位置誤差越大。和AP算法相比,SNAP算法和MSNAP算法具有更好的魯棒性。這是因?yàn)樯鲜鰞煞N算法通過非報警節(jié)點(diǎn)的作用抵消了部分報警節(jié)點(diǎn)產(chǎn)生的影響。MSNAP算法受假陽性故障的影響較小,保持了很高的定位精度。
圖7 假陽性故障對四種事件定位算法的影響
本文針對無線傳感器網(wǎng)絡(luò)的事件定位問題,提出了對SNAP的改進(jìn)算法MSNAP,通過報警節(jié)點(diǎn)匯報的觀測值大小動態(tài)確定覆蓋區(qū)域大小,構(gòu)建似然矩陣,估計(jì)事件發(fā)生的位置。在相同情況下,與SNAP算法相比,它的定位精度更高,容錯性能更好。MSNAP算法更加適用于對定位精度和容錯性能要求較高的應(yīng)用場景。下一步,我們計(jì)劃考慮能耗、帶寬等因素,進(jìn)一步改進(jìn)事件定位算法的性能。
[1]Michaelides M P,Panayiotou C G,SNAP:Fault Tolerant Event Location Estimation in Sensor Networks Using Binary Data[J].IEEE Transactions on Computers,2009,58(9):1185 -1197.
[2]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[3]Ni K.Sensor Network Data Fault Types[J].ACM Transactions on Sensor Networks,2009,5(3):1 -29.
[4]Vijayakumaran S,Levinbook Y,Wong T.Maximum Likelihood Localization of a Diffusive Point Source Using Binary Observations[J].IEEE Transactions on Signal Processing,2007.55(2):665 -676.
[5]Sheng X,Hu Y.Maximum Likelihood Multiple-Source Localization Using Acoustic Energy Measurements with Wireless Sensor Networks[J].IEEE Transactions on Signal Processing,2005,53(1):44-53.
[6]Chen J,Hudson R,Yao K.A Maximum-Likelihood Parametric Approach to Source Localizations[C]//Proceedings of IEEE International Conference on Acoustics,Speech,and Signal Processing,2001:3013-3016.
[7]Mao G,F(xiàn)idan B,Anderson B D O.Wireless Sensor Network Localization Techniques[J].Computer Networks,2007,51(10):2529 -2553.
[8]Niculescu D,Badri N.Ad Hoc Positioning System(APS)Using AOA[C]//Proceedings of IEEE Infocom,2003:1734 -1743.
[9]焦磊,邢建平,張軍,等.一種非視距環(huán)境下具有魯棒特性TOA無線傳感網(wǎng)絡(luò)定位算法[J].傳感技術(shù)學(xué)報,2007,20(7):1626-1630.
[10]Girod L,Estrin D.Robust Range Estimation Using Acoustic and Multimodal Sensing[C]//Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS 2001),2001:1312-1320.
[11]Savvides A,Han C C,Strivastava M B.Dynamic Fine-Grained Localization in Ad-Hoc Networks of Sensors[C]//Proceedings of the 7th Annual International Conference on Mobile Computing and Networking,2001:166 -175.
[12]趙昭,陳小惠.無線傳感器網(wǎng)絡(luò)中基于 RSSI的改進(jìn)定位算法[J].傳感技術(shù)學(xué)報,2009,22(3):391 -394.
[13]田增山,羅磊,何維,等.一種分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法[J].傳感技術(shù)學(xué)報,2009,22(3):387 -390.
[14]Meesookho C,Mitra U,Narayanan S.On Energy-Based Acoustic Source Localization for Sensor Networks[J].IEEE Transactions on Signal Processing,2008,56(1):365 -377.
[15]Ding M.Fault-Tolerant Target Localization in Sensor Networks[J].Eurasip Journal on Wireless Communications and Networking,2007:1-9.
[16]Niu R,Varshney P.Target Location Estimation in Wireless Sensor Networks Using Binary Data[C]//Proceedings of the 38th Annual Conference on Information Sciences and Systems,2004.