張 拓,錢(qián)升港,蔣 健,毛科技,徐瑞吉,邱杰凡,何文秀
(1.浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023;2 浙江省信息安全標(biāo)準(zhǔn)化技術(shù)委員會(huì),浙江 杭州 310000;3.浙江工業(yè)大學(xué)之江學(xué)院,浙江 紹興 312030)
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)的定位技術(shù)可以分為測(cè)距和非測(cè)距兩種[1]。 基于測(cè)距的技術(shù)需要通過(guò)到達(dá)時(shí)間(Time of Arrival,TOA)[2]、到達(dá)角(Angle of Arrival,AOA)[3]、到達(dá)時(shí)間差(Time Difference of Arrival,TDOA)[4]或無(wú)線(xiàn)電信號(hào)強(qiáng)度(Received Signal Strength,RSS)[5]來(lái)分析節(jié)點(diǎn)位置。 而現(xiàn)實(shí)環(huán)境中的噪聲不可避免地影響了距離測(cè)量的準(zhǔn)確性,有時(shí)甚至導(dǎo)致測(cè)量結(jié)果不可靠。 同時(shí),隨著定位精度和規(guī)模的要求不斷增加,網(wǎng)絡(luò)的復(fù)雜度和成本也隨之增加。 非測(cè)距定位技術(shù)在很大程度上減少了額外的噪音影響和設(shè)備成本。 本文簡(jiǎn)化了一般非測(cè)距技術(shù)需要的條件,只需要滿(mǎn)足以下要求即可進(jìn)行非測(cè)距定位:①無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中需要存在位置的錨節(jié)點(diǎn),②非錨節(jié)點(diǎn)可能不與錨節(jié)點(diǎn)直接通信而是借助其他非錨節(jié)點(diǎn),③需要跳數(shù)信息用于位置估計(jì)(單跳節(jié)點(diǎn)之間不需要測(cè)距)。 其中要求①有助于提高定位精度;要求②緩解了對(duì)通信范圍的需求;要求③使得昂貴的測(cè)量距離的設(shè)備可以省略,這樣大大節(jié)省了定位成本。
支持向量機(jī)定位(Localization Support Vector Machine,LSVM)[6]是一種非測(cè)距的技術(shù),它與多日冕分割技術(shù)(Multi-Corona Division,MCD)具有相同的要求(①-③),LSVM 方法是基于向量機(jī)的分類(lèi)結(jié)果去估計(jì)非錨節(jié)點(diǎn)的位置,但是實(shí)現(xiàn)SVM 需要一個(gè)具有較高計(jì)算能力的中心節(jié)點(diǎn)(如匯聚節(jié)點(diǎn)或基站)。 另外,DV-Hop[7-8]也是一種常用的非測(cè)距定位技術(shù),利用跳數(shù)信息估計(jì)錨節(jié)點(diǎn)與非錨節(jié)點(diǎn)之間的距離,其定位精度由一跳表示的平均距離的精度決定。 文獻(xiàn)[9]提出了同心圓錨節(jié)點(diǎn)定位算法(Concentric Anchor Beacon Localization Algorithm,CAB),使用與本文日冕劃分類(lèi)似的圓劃分,該方法依靠多級(jí)發(fā)射功率形成的可變通信范圍,將非錨節(jié)點(diǎn),即定位目標(biāo)鎖定在一定的圓周內(nèi)。 這種方法不符合非測(cè)距定位要求②的要求,并且隨著通信距離的增加,額外的噪聲會(huì)加劇對(duì)定位的影響:不規(guī)則度(Degree of Irregularity,DOI)[10],如圖1 所示。 相反,MCD 中的上述影響并不是由跳數(shù)決定的圈選擇引起的,而是由通信范圍決定的。

圖1 DOI=0.05,r=5 情況下CAB 定位情況
本文提出了一個(gè)方法:基于MCD 的定位技術(shù)。MCD 的協(xié)議比較簡(jiǎn)單,就像一個(gè)泛洪協(xié)議:所有非錨節(jié)點(diǎn)同時(shí)監(jiān)視信道,并傳輸消息,再加上快速分割算法,這樣很大程度上降低了計(jì)算成本。
假設(shè)在一個(gè)平面區(qū)域[0,X]×[0,Y]內(nèi)部署了很多傳感器節(jié)點(diǎn),其中節(jié)點(diǎn)分為兩類(lèi):(1)錨節(jié)點(diǎn),即知道自己所處位置的節(jié)點(diǎn);(2)非錨節(jié)點(diǎn),即不知道自身位置的節(jié)點(diǎn),也就是算法需要實(shí)現(xiàn)定位的目標(biāo)節(jié)點(diǎn)。 所有節(jié)點(diǎn)可以互相通信,它們的通信半徑為r(r>0,r?X,Y)。 凡是節(jié)點(diǎn)間距離d滿(mǎn)足d<r,即可認(rèn)為節(jié)點(diǎn)間可以直接進(jìn)行通信。 錨節(jié)點(diǎn)可以通過(guò)改變通信功率來(lái)改變自身的通信半徑,從而形成如圖2(a)所示的以錨節(jié)點(diǎn)為圓心的一個(gè)同心圓組。此時(shí),傳感器網(wǎng)絡(luò)中的非錨節(jié)點(diǎn)根據(jù)自身所在的位置不同處在錨節(jié)點(diǎn)形成的不同通信半徑的圓環(huán)中,當(dāng)錨節(jié)點(diǎn)由近及遠(yuǎn)改變通信半徑時(shí),各個(gè)非錨節(jié)點(diǎn)收到消息的時(shí)間是不同的,距離錨節(jié)點(diǎn)比較近的非錨節(jié)點(diǎn)會(huì)最先收到消息,而比較遠(yuǎn)的非錨節(jié)點(diǎn)會(huì)較遲收到消息甚至收不到消息。 通過(guò)改變錨節(jié)點(diǎn)的通信半徑和比較非錨節(jié)點(diǎn)收到消息時(shí)間的長(zhǎng)短就可以確定非錨節(jié)點(diǎn)正處在同心圓的哪一個(gè)圓環(huán)中,然后通過(guò)多個(gè)錨節(jié)點(diǎn)的疊加,即可較為精確地得到非錨節(jié)點(diǎn)的位置信息。 然而,此方法忽略了較遠(yuǎn)距離通信產(chǎn)生的巨大能耗和錨節(jié)點(diǎn)本身改變通信半徑所需的設(shè)備成本,所以上述方法有缺陷。 因此,本文提出了圖2(b)所示的最短跳數(shù)形成的日冕,它既能根據(jù)跳數(shù)形成類(lèi)似于CAB 方法形成的同心圓組,又可以降低能耗且不需要其他的能改變通信半徑的設(shè)備。

圖2 區(qū)域分割方式
日冕的定義:在傳感器網(wǎng)絡(luò)的某一覆蓋區(qū)域內(nèi),在一個(gè)錨節(jié)點(diǎn)周?chē)鷷?huì)形成一個(gè)k層日冕覆蓋的通信區(qū)域,其中每一層日冕都表示為Ni(i=1,2,3…k)。定義每一層日冕的半徑為0<R1<R2<R3<…<Rk(Ri=ri)。 例如,如果某一節(jié)點(diǎn)A與錨節(jié)點(diǎn)S的最短路徑為c跳(即與錨節(jié)點(diǎn)之間有c-1 個(gè)中間節(jié)點(diǎn)),那么就定義A節(jié)點(diǎn)位于S日冕的第c層,那么其所處區(qū)域即為[(c-1)r,cr]的環(huán)形區(qū)域內(nèi)。
為了方便計(jì)算,我們假設(shè)該模型在環(huán)境中的噪聲可以先忽略,即該系統(tǒng)所得到的非錨節(jié)點(diǎn)到錨節(jié)點(diǎn)的跳數(shù)總是正確的。 然而縱使目標(biāo)節(jié)點(diǎn)的跳數(shù)正確,也有可能發(fā)生錯(cuò)誤。 由于通信半徑的限制和節(jié)點(diǎn)分布的隨機(jī)性,前一層日冕的節(jié)點(diǎn)很難通過(guò)一跳就完全覆蓋后一層日冕,例如圖3 中的‘+’節(jié)點(diǎn),‘+’實(shí)際上是處于第2 層日冕,但是由于上述的種種限制,導(dǎo)致第一層日冕中的節(jié)點(diǎn)(即‘⊙’節(jié)點(diǎn),也可稱(chēng)為一跳節(jié)點(diǎn))無(wú)法在一跳范圍內(nèi)聯(lián)系到‘+’節(jié)點(diǎn)。 那么‘+’節(jié)點(diǎn)就需要至少三跳才可以從錨節(jié)點(diǎn)(即‘*’節(jié)點(diǎn))到達(dá)該節(jié)點(diǎn),這時(shí)‘+’節(jié)點(diǎn)就會(huì)被誤認(rèn)為處于日冕的第3 層或者第4 層甚至更高。 其中‘○’表示第2 層日冕中的節(jié)點(diǎn)(也可以稱(chēng)為兩跳節(jié)點(diǎn))。

圖3 錨節(jié)點(diǎn)的日冕覆蓋
上文提出算法可能出現(xiàn)的錯(cuò)誤可以歸結(jié)為:某一節(jié)點(diǎn)A實(shí)際上在日冕的Ni層中,但是由于通信半徑的限制和節(jié)點(diǎn)分布的隨機(jī)性,A節(jié)點(diǎn)與錨節(jié)點(diǎn)S的最短跳數(shù)是(Ni+j)跳(其中j必定大于0),那么系統(tǒng)判定A節(jié)點(diǎn)在第(Ni+j)層日冕中。
現(xiàn)在提出一種日冕融合的思想:由于算法的錯(cuò)誤只會(huì)是偏大估計(jì)目標(biāo)節(jié)點(diǎn)的日冕層數(shù),那么就擴(kuò)大該節(jié)點(diǎn)所處的的日冕范圍。 也就是說(shuō)原本算法估計(jì)目標(biāo)節(jié)點(diǎn)A處于第(Ni+j)層(也就是位于距離錨節(jié)點(diǎn)[(Ni+j-1)r,(Ni+j)r]的一個(gè)圓環(huán)范圍內(nèi)),此時(shí)擴(kuò)大目標(biāo)節(jié)點(diǎn)的日冕層范圍,即外層日冕融合內(nèi)層日冕,使該層日冕范圍擴(kuò)大。 例如向內(nèi)融合k層,即該目標(biāo)節(jié)點(diǎn)處于距離錨節(jié)點(diǎn)的[(Ni+j-1-k)r,(Ni+j)r]的一個(gè)較大圓環(huán)范圍內(nèi)。 此時(shí)的k可以被認(rèn)為是一個(gè)參量,我將它定義為融合層數(shù)(Fuse Index,F(xiàn)I),若FI>j,那么就認(rèn)為節(jié)點(diǎn)就處于第(Ni+j)層日冕中,并且不需要融合內(nèi)層日冕。 融合日冕層的好處是顯而易見(jiàn)的,但是這么做的弊端就是定位收斂速度會(huì)變慢,但是考慮到錨節(jié)點(diǎn)個(gè)數(shù)不少,通過(guò)多個(gè)錨節(jié)點(diǎn)的配合,最終的收斂速度是可以接受的,所以這種融合思想是可行的。
接下來(lái)討論FI(N)的取值。 其中N代表估計(jì)層數(shù)。 FI 的值如果偏小,那么目標(biāo)節(jié)點(diǎn)可能還是落不到正確的定位范圍,而FI 的值如果偏大就會(huì)使定位不夠精準(zhǔn),使得后續(xù)計(jì)算量增大甚至?xí)绊懽詈蟮亩ㄎ粶?zhǔn)確性和精度。 使:

式中:PN-j(X=N)表示估計(jì)層數(shù)為N的目標(biāo)節(jié)點(diǎn)實(shí)際處于N-j層的概率,且A為常數(shù)0.9。 這樣保證了目標(biāo)節(jié)點(diǎn)能大概率落在合適的融合日冕層中。
當(dāng)每一個(gè)非錨節(jié)點(diǎn)到某一個(gè)錨節(jié)點(diǎn)的最短跳數(shù)被確定下來(lái)以后,那么這個(gè)非錨節(jié)點(diǎn)所處的以某一個(gè)錨節(jié)點(diǎn)為中心形成的日冕中的層數(shù)也就確定下來(lái)了。 如果計(jì)算許多個(gè)不同位置的錨節(jié)點(diǎn)所形成的日冕層對(duì)某一個(gè)目標(biāo)節(jié)點(diǎn)的位置交集就可以得到一個(gè)相對(duì)精確的位置。 由一個(gè)錨節(jié)點(diǎn)所形成的日冕可把節(jié)點(diǎn)定位到一個(gè)圓環(huán)中,如圖4(a)所示,而兩個(gè)錨節(jié)點(diǎn)所形成的兩個(gè)日冕可以把節(jié)點(diǎn)定位到一個(gè)曲邊四邊形中,如圖4(b)所示。

圖4 日冕分割定位
基于1.2 節(jié)的分析,由最短跳數(shù)形成的日冕可能是錯(cuò)誤的,我們需要進(jìn)行日冕融合。 詳細(xì)的定位過(guò)程如下:
1.3.1 初始化階段
①錨節(jié)點(diǎn)廣播:所有錨節(jié)點(diǎn)在初始化時(shí)向周?chē)l(fā)送一條包含錨節(jié)點(diǎn)位置、錨節(jié)點(diǎn)編號(hào)、通信跳數(shù)信息的消息。
②非錨節(jié)點(diǎn)在錨節(jié)點(diǎn)廣播階段持續(xù)監(jiān)聽(tīng),在接收到一條消息后與自身已接受的消息進(jìn)行比較(即比較消息中錨節(jié)點(diǎn)的編號(hào)和跳數(shù)):若該錨節(jié)點(diǎn)消息在之前已經(jīng)接受過(guò)并且記錄的通信跳數(shù)少于當(dāng)前消息,則丟棄;若該錨節(jié)點(diǎn)消息在之前已經(jīng)接受過(guò)但是記錄的通信跳數(shù)多于當(dāng)前消息,則更新原來(lái)消息的跳數(shù);若該錨節(jié)點(diǎn)消息之前未接受過(guò),則存儲(chǔ)當(dāng)前消息。
1.3.2 粗略估計(jì)位置
初始化后,通過(guò)每個(gè)節(jié)點(diǎn)到錨節(jié)點(diǎn)的最短跳數(shù)可以直接得出最初的日冕層數(shù)為Ni,之后再通過(guò)算法計(jì)算得到融合日冕層,得到目標(biāo)節(jié)點(diǎn)的最終定位范圍[[Ni-1-FI(N)]r,Nir]。
獲得目標(biāo)節(jié)點(diǎn)的精確定位范圍僅僅只依靠一個(gè)錨節(jié)點(diǎn)是遠(yuǎn)遠(yuǎn)不夠的,它是通過(guò)許多個(gè)不同位置的錨節(jié)點(diǎn)共同作用得到的交集區(qū)域來(lái)確定目標(biāo)節(jié)點(diǎn)的精確位置。

式中:(x1,y1),(x2,y2)…,(xn,yn)是n個(gè)錨節(jié)點(diǎn)的坐標(biāo)位置。 上述不等式看似簡(jiǎn)單,但是考慮到無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是一個(gè)較為龐大的系統(tǒng),其中錨節(jié)點(diǎn)的個(gè)數(shù)可能較多且每一次日冕的劃分無(wú)法確保是完全正確的,我們只保證了正確的概率至少大于0.9,這會(huì)使得計(jì)算量陡增且上述不等式組很有可能出現(xiàn)無(wú)解的情況,所以我們提出一種邊界追蹤的算法用來(lái)方便快速地確定交集區(qū)域。 我們先取距離目標(biāo)節(jié)點(diǎn)最近的三個(gè)錨節(jié)點(diǎn)a,b,c(跳數(shù)越少越近),并建立以下不等式組。

算法 邊界追蹤

由于錨節(jié)點(diǎn)與非錨節(jié)點(diǎn)之間的距離較近,所以日冕層的出錯(cuò)概率較小,所以認(rèn)為上述不等式組(3)是可解的。 由此不等式組可以解得X∈[U1,U2],Y∈[V1,V2]。 顯然這是一個(gè)矩形區(qū)域,如圖5所示。 其中的小黑點(diǎn)就表示目標(biāo)節(jié)點(diǎn)可能存在的位置。 之后只需要判斷這些可能存在的位置是否存在于其他錨節(jié)點(diǎn)的日冕層中即可,若不在則去掉此黑點(diǎn),若在則保留,如此篩選過(guò)后目標(biāo)節(jié)點(diǎn)的位置也就被精確定位了。

圖5 最近三個(gè)錨節(jié)點(diǎn)的交集產(chǎn)生的離散區(qū)域
很顯然,更加多的離散點(diǎn)會(huì)提高最終定位結(jié)果的精度,然而每多一次判斷就需要多4 次加法和4次乘法運(yùn)算,計(jì)算量會(huì)隨著精度的提高而增加。 通過(guò)觀察可得,我們的重點(diǎn)是得到一個(gè)日冕的交集區(qū)域,那么只需要關(guān)注到日冕的邊界,也就是只要追蹤到分割邊界的離散點(diǎn)就可以得到最終的交集區(qū)域。假設(shè)矩形區(qū)域X∈[U1,U2],Y∈[V1,V2]內(nèi)以k為單位分割出離散點(diǎn),那么總共離散點(diǎn)的個(gè)數(shù)就是[(U2-U1)/k×(V2-V1)/k)]個(gè)。 以圖5 中錨節(jié)點(diǎn)2的第7 層日冕的下邊界為例:確定日冕層界線(xiàn)的穿入點(diǎn)和穿出點(diǎn):A和B。
最后,InterRegedg 記錄了所有邊緣位置的點(diǎn)。檢查矩形區(qū)域的四個(gè)邊緣需要[2(U2-U1)/k+2×(V2-V1)/k]×4 個(gè)加法和乘法,而矩形中的離散點(diǎn)位,只需檢查該點(diǎn)是否在日冕層邊緣,因此只需要4×num個(gè)加法和乘法。 由于m遠(yuǎn)低于所有離散點(diǎn)的個(gè)數(shù),邊緣追蹤的總成本遠(yuǎn)小于直接計(jì)算所有點(diǎn)。 當(dāng)k翻倍時(shí),它只會(huì)影響m(m的取值將在1.5 小節(jié)討論)。在最壞的情況下,剩下的所有錨節(jié)點(diǎn)(n-3 個(gè))的所有日冕都不會(huì)分割矩形區(qū)域,因此需要(n-3)×[2(U2-U1)/k+2×(V2-V1)/k]×4 加法和乘法。 然而,這種情況很少發(fā)生。 其他區(qū)域的邊緣包括弧線(xiàn),隨著日冕數(shù)量的增加,所有邊緣都是弧線(xiàn)而不是直線(xiàn)。 然而,邊緣追蹤只是關(guān)心邊緣點(diǎn),與邊緣是弧線(xiàn)還是直線(xiàn)無(wú)關(guān),所以它在其余區(qū)域仍然可用。
通過(guò)先前的分析可知穿越交集區(qū)域的上下日冕邊界是一段圓弧因此考慮m的取值實(shí)際上等價(jià)于求解這樣一問(wèn)題:當(dāng)x(或者y)隨著k變化時(shí),y(或者x)的變化率。 且x,y滿(mǎn)足:

應(yīng)用極坐標(biāo)變換[θ=arctan(x/y)]:

y的變化率與k的取值有關(guān)。 為了將x的變化離散點(diǎn)取到,m必須大于dx。k一般取小于1 的值,而θ一半的概率小于1,且tanθ很小概率取到無(wú)窮,所以m的值一般取1 比較合適。
我們首先構(gòu)建了一個(gè)模擬場(chǎng)景:1 000 個(gè)傳感器節(jié)點(diǎn)隨機(jī)統(tǒng)一地部署在100 m×100 m 平面中,并將MCD 的定位精度與LSVM 和DV-Hop 兩種算法在五個(gè)可變錨節(jié)點(diǎn)密度下進(jìn)行比較:1%、1.5%、3%、5%、10%。 第1.4 節(jié)分析了計(jì)算成本,它與錨節(jié)點(diǎn)的數(shù)量n有關(guān),另一方面,通信成本主要是來(lái)自節(jié)點(diǎn)之間的傳輸消息,因此也與n相關(guān)。 在本節(jié)中,我們更關(guān)注定位的準(zhǔn)確性。 我們通過(guò)文獻(xiàn)[6]的研究證明,將通信范圍r=10 m。 另外,當(dāng)k=1 m 時(shí),定位誤差最小,計(jì)算成本適中。 另外,我們還測(cè)試了傳感器分布出現(xiàn)空洞情況下MCD 方法的準(zhǔn)確性。
LSVM 方法是通過(guò)一些樣例數(shù)據(jù)在內(nèi)核空間中尋找一個(gè)超平面,使得這個(gè)超平面能夠根據(jù)樣本的某些特征矢量進(jìn)行較為準(zhǔn)確的分類(lèi),從而構(gòu)建出一個(gè)類(lèi)似于MCD 方法形成的不同類(lèi)別的節(jié)點(diǎn)群以便完成定位。 但是,LSVM 分類(lèi)模型的構(gòu)建與訓(xùn)練數(shù)據(jù)息息相關(guān),一旦訓(xùn)練數(shù)據(jù)改變,LSVM 模型就需要重新訓(xùn)練構(gòu)建。 這種方法靈活度不高且適應(yīng)性不強(qiáng),不太適用于分布廣泛的WSN 節(jié)點(diǎn)。
DV-Hop 方法則是使用整個(gè)網(wǎng)絡(luò)中通信節(jié)點(diǎn)間1 跳的平均距離用于估算錨節(jié)點(diǎn)和非錨節(jié)點(diǎn)之間的距離,進(jìn)而一步步計(jì)算目標(biāo)節(jié)點(diǎn)的位置。 DV-Hop方法的準(zhǔn)確性取決于1 跳平均距離與實(shí)際節(jié)點(diǎn)位置間距離的相近性。 為了達(dá)到較高的定位準(zhǔn)確性,DV-Hop 方法需要比MCD 更多的錨節(jié)點(diǎn)。
圖6 充分表明了MCD 方法比其他兩種方法更有優(yōu)勢(shì)。 尤其在低錨節(jié)點(diǎn)密度下,MCD 方法更加準(zhǔn)確。 例如,當(dāng)錨節(jié)點(diǎn)密度為1%時(shí),MCD 的平均定位誤差接近3.9 m,而LSVM 和DV-Hop 的定位誤差都超過(guò)8.5 m。 在所有參與實(shí)驗(yàn)的錨節(jié)點(diǎn)密度中,MCD 的性能表現(xiàn)比后兩者都好。 MCD 的性能比LSVM 和DV-Hop 提高了51%和56%。 而在實(shí)際使用中,低錨節(jié)點(diǎn)才是經(jīng)常出現(xiàn)的狀況,這會(huì)使得LSVM 方法缺少訓(xùn)練樣本,而DV-Hop 方法則更有可能錯(cuò)估1 跳的平均距離導(dǎo)致節(jié)點(diǎn)定位誤差偏大。

圖6 不同錨節(jié)點(diǎn)密度下的MCD、LSVM 和DV-Hop(r=10 m)方法定位誤差的統(tǒng)計(jì)
由于MCD 通過(guò)跳數(shù)確定日冕層數(shù),通信傳播產(chǎn)生的累積誤差會(huì)使性能下降,所以我們分別將網(wǎng)絡(luò)擴(kuò)展到200 m×200 m,有4 000 個(gè)傳感器節(jié)點(diǎn)和300 m×300 m,有9000 個(gè)傳感器節(jié)點(diǎn)進(jìn)行大規(guī)模網(wǎng)絡(luò)實(shí)驗(yàn)。 表1 顯示了MCD 方法的大規(guī)模網(wǎng)絡(luò)定位性能,網(wǎng)絡(luò)規(guī)模的擴(kuò)大不僅沒(méi)有使性能下降反而提高了定位的準(zhǔn)確性。 分析可得,盡管非錨節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的實(shí)際路徑物理長(zhǎng)度更長(zhǎng),導(dǎo)致累積誤差更多,但MCD 的融合機(jī)制相應(yīng)地考慮了這個(gè)誤差,并增強(qiáng)了一層日冕的覆蓋范圍,交叉區(qū)域的面積可能會(huì)增大,但更多的錨節(jié)點(diǎn)不僅抵消了這種可選范圍的增大,甚至還能減小可選區(qū)域的面積使得位置計(jì)算更加精準(zhǔn)。

表1 大規(guī)模網(wǎng)絡(luò)下MCD 方法的性能表現(xiàn)
實(shí)際環(huán)境中部署傳感器節(jié)點(diǎn)不可能會(huì)隨機(jī)分布,總會(huì)有地方無(wú)法部署節(jié)點(diǎn),導(dǎo)致傳感器網(wǎng)絡(luò)會(huì)在某一塊空缺,我們稱(chēng)之為傳感器網(wǎng)絡(luò)空洞,簡(jiǎn)稱(chēng)空洞。 由于空洞的存在,原本傳感器節(jié)點(diǎn)之間物理路徑可能很短,但是中間缺少了部分節(jié)點(diǎn),就會(huì)導(dǎo)致通信范圍無(wú)法到達(dá)而繞了遠(yuǎn)路,致使跳數(shù)增加,路徑變長(zhǎng)。 為了模擬現(xiàn)實(shí)中可能存在的問(wèn)題,我們?cè)谒姆N不同形狀、尺寸、位置和數(shù)量的空洞場(chǎng)景下測(cè)試MCD 方法(括號(hào)中的數(shù)字表示形狀中心的位置坐標(biāo)):①一個(gè)邊長(zhǎng)為25 m,(50 m,50 m)的正方形孔;②兩個(gè)半徑為12.5 m,(25 m,25 m)和(75 m,75 m)的圓形孔;③三個(gè)半徑為10 m,(30 m,30 m)、(30 m,70 m)和(70 m,50 m)的圓形孔;④四個(gè)15 m 邊長(zhǎng)的正方形孔分布在四角。
圖7 顯示,在四種空洞場(chǎng)景錨節(jié)點(diǎn)密度為5%的情況下,與LSVM 和DV-Hop 相比,MCD 在所有空洞場(chǎng)景的表現(xiàn)都最好。 隨著空洞個(gè)數(shù)的增加,從錨節(jié)點(diǎn)到非錨節(jié)點(diǎn)的路徑延長(zhǎng)直接影響了節(jié)點(diǎn)間1 跳平均距離的估計(jì),所以DV-Hop 的定位精度很顯然受到了影響。 雖然LSVM 不依賴(lài)單跳平均距離,但在低錨節(jié)點(diǎn)密度下,其定位精度依然不高。 對(duì)于MCD來(lái)說(shuō),空洞對(duì)于初始日冕層的獲得是有影響的,但由于采用日冕層融合思想,這使得以不多的錨節(jié)點(diǎn)就可以縮小這個(gè)交叉區(qū)域,直到達(dá)到較高的定位準(zhǔn)確性。

圖7 空洞場(chǎng)景下MCD、LSVM 和DV-Hop 方法的比較
CAB 與MCD 有著相似的思路,它不是嚴(yán)格意義上的非測(cè)距定位技術(shù),因?yàn)樗峭ㄟ^(guò)不同功率的信號(hào)發(fā)射來(lái)勾畫(huà)出同心環(huán)從而讓非錨節(jié)點(diǎn)感知自身與錨節(jié)點(diǎn)之間的距離。 與之相比,MCD 也是劃分出相似的日冕層,只是MCD 是通過(guò)跳數(shù)劃分并不改變節(jié)點(diǎn)的信號(hào)傳輸功率。 文獻(xiàn)[7]考慮了噪聲對(duì)定位方法的影響,這是具有實(shí)際意義的。 所以我們使用DOI 來(lái)模擬噪音的影響,并在此情況下繼續(xù)測(cè)試MCD 方法,同時(shí)與CAB 方法進(jìn)行比較。 圖1 所示的DOI=0.05,在可變錨節(jié)點(diǎn)密度下,傳感器節(jié)點(diǎn)總數(shù)為500。 在CAB 方法中,錨節(jié)點(diǎn)有三級(jí)發(fā)射功率。使用默認(rèn)的r=10 m,我們應(yīng)用MCD 方法來(lái)定位非錨節(jié)點(diǎn)。 表2 顯示,在所有實(shí)驗(yàn)的錨節(jié)點(diǎn)密度中,MCD 方法的定位性能都優(yōu)于CAB 方法。 這是因?yàn)镸CD 只使用跳數(shù)確定劃分的日冕層數(shù),但是CAB的同心圓劃分就需要通過(guò)發(fā)射功率改變形成,這樣三個(gè)環(huán)路的通信信號(hào)受到噪聲影響的程度也就不同。 不過(guò),CAB 的非錨節(jié)點(diǎn)只需要接收信息,而MCD 中的所有節(jié)點(diǎn)都需要發(fā)送信息,所以MCD 方法中節(jié)點(diǎn)的通信成本要高于CAB 方法。

表2 MCD 與CAB 方法在噪聲環(huán)境下的比較
我們提出了MCD——一種基于日冕分割的無(wú)線(xiàn)傳感器定位技術(shù)。 仿真結(jié)果表明,MCD 的表現(xiàn)優(yōu)于LSVM,DV-Hop,后者同樣使用跳計(jì)數(shù)器進(jìn)行定位,并共享相同的需求模型。 在噪聲情況下,MCD也被證明比CAB 更好,CAB 使用類(lèi)似的通信圓環(huán)分割技術(shù)。 另一方面,從邊緣追蹤到計(jì)算交集區(qū)域,這個(gè)兩個(gè)計(jì)算過(guò)程可能不會(huì)同時(shí)發(fā)生。 因此,在未來(lái)的工作中,我們考慮給協(xié)議一個(gè)異步特征,這樣位置信息就不需要同步傳輸,而可以與日常數(shù)據(jù)一起被異步傳輸至控制中心。