WSN中免測距距離估計算法的實(shí)現與比較
1.3 Euclidean算法
如果網(wǎng)絡(luò )的拓撲結構不規則,DV-Hop算法的測距誤差會(huì )較大。針對這些問(wèn)題,Niculescu和Nath提出了另一種方法,即為Euclidean。該方法依靠錨節點(diǎn)周?chē)濣c(diǎn)的幾何關(guān)系進(jìn)行計算,若一個(gè)節點(diǎn)的兩個(gè)鄰居節點(diǎn)已知各自到錨節點(diǎn)的距離等于彼此之間的距離,這時(shí),即可計算該節點(diǎn)到錨節點(diǎn)的距離了。
如圖4是一個(gè)Euclidean算法的模型。本文引用地址:http://dyxdggzs.com/article/160117.htm
在圖4中,A有兩個(gè)鄰節點(diǎn)B、C,已知B、C與錨節點(diǎn)ANC的距離分別是a和b,結合已知的節點(diǎn)間距c、d、e,Euclidean算法得到兩個(gè)解:r1和r2。為確定哪個(gè)解為正解,可采用鄰居節點(diǎn)投票的方法:若存在第3個(gè)鄰居節點(diǎn)D,與B或C相連,且已知它到錨節點(diǎn)的距離。這時(shí),可用D替換C或B,再重新計算A的位置,得到另一對解,正解必然在這兩對解中,如此,用簡(jiǎn)單的選擇法便可得到正解。當然,若是有更多的鄰居節點(diǎn)參與計算,最終結果會(huì )更精確。
2 仿真實(shí)現與結果分析
默認環(huán)境如下:在100個(gè)單位的正方形場(chǎng)景中,有300個(gè)節點(diǎn),通信距離設為15,錨節點(diǎn)比例設為5%,通信誤差是通信距離的10%,以下從不同參數進(jìn)行仿真比較。
圖5是不同通信誤差下,DV-Hop、Sum-Dist、Euclidean算法執行距離估計得到的標準方差,圖6和圖7則分別是在不同的通信距離、錨節點(diǎn)比例下所得到的方差。
(1)Sum-Dist是3種方法中通信量最少、計算量最小的測距算法。但在通信誤差10%時(shí),其測距結果仍是理想的。實(shí)際上,有兩個(gè)完全不同的趨勢影響著(zhù)Sum-Dist的測距精度。其一,如果完全沒(méi)有通信誤差,多條路徑上的距離總和大于實(shí)際距離,這樣就導致估計值過(guò)大;其二,由于Sum-Dist算法尋找的是最短路徑,所以當存在通信誤差時(shí),其所選的路徑就會(huì )比實(shí)際距離小。因為有這兩個(gè)影響,通信距離的小誤差反而提高了Sum-Dist的測距精度。最初,由于路徑存在彎曲,導致距離估計值過(guò)大,但在最短路徑的影響下,通信距離誤差的增大反而使距離估計值更小。
當通信距離增大時(shí),更多的節點(diǎn)可以直接通信,這樣就可以得到更多的直線(xiàn)路徑,并為最短路徑提供了更多選擇。所以,對于Sum-Dist算法來(lái)說(shuō),提高測距精度并不一定要增加錨節點(diǎn)比例。
評論