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