當前位置:編程學習大全網 - 源碼下載 - 在無線傳感器網絡中,如何根據接收信號的強度來判斷發送者的距離?有具體的計算公式麽?

在無線傳感器網絡中,如何根據接收信號的強度來判斷發送者的距離?有具體的計算公式麽?

基於RSSI的定位

RSSI測量,壹般利用信號傳播的經驗模型與理論模型。

對於經驗模型,在實際定位前,先選取若幹測試點,記錄在這些點各基站收到的信號強度,建立各個點上的位置和信號強度關系的離線數據庫(x,y,ss1,ss2,ss3)。在實際定位時,根據測得的信號強度(ss1′,ss2′,ss3′)和數據庫中記錄的信號強度進行比較,信號強度均方差最小的那個點的坐標作為節點的坐標。

對於理論模型,常采用無線電傳播路徑損耗模型進行分析。常用的傳播路徑損耗模型有:自由空間傳播模型、對數距離路徑損耗模型、哈它模型、對數壹常態分布模型等。自由空間無線電傳播路徑損耗模型為:

式中,d為距信源的距離,單位為km;f為頻率,單位為MHz;k為路徑衰減因子。其他的模型模擬現實環境,但與現實環境還是有壹定的差距。比如對數壹常態分布模型,其路徑損耗的計算公式為:

式中,Xσ是平均值為O的高斯分布隨機變數,其標準差範圍為4~10;k的範圍在2~5之間。取d=1,代入式(1)可得,LOSS,即PL(d0)的值。此時各未知節點接收錨節點信號時的信號強度為:

RSSI=發射功率+天線增益壹路徑損耗(PL(d))

2.2 基於RSSI的三角形質心定位算法的數學模型

不論哪種模型,計算出的接收信號強度總與實際情況下有誤差,因為實際環境的復雜性,換算出的錨節點到未知節點的距離d總是大於實際兩節點間的距離。如圖1所示,錨節點A,B,C,未知節點D,根據RSSI模型計算出的節點A和D的距離為rA;節點B和D的距離為rB;節點C和D的距離為rC。分別以A,B,C為圓心;rA,rB,rC為半徑畫圓,可得交疊區域。這裏的三角形質心定位算法的基本思想是:計算三圓交疊區域的3個特征點的坐標,以這三個點為三角形的頂點,未知點即為三角形質心,如圖2所示,特征點為E,F,G,特征點E點的計算方法為:

同理,可計算出F,G,此時未知點的坐標為由仿真得,在圖2中,實際點為D;三角形質心算法出的估計點為M;三邊測量法算出的估計點為N。可知,三角形質心算法的準確度更高。

3 基於RSSI的三角形質心算法過程

3.1 步驟

(1)錨節點周期性向周圍廣播信息,信息中包括自身節點ID及坐標。普通節點收到該信息後,對同壹錨節點的RSSI取均值。

(2)當普通節點收集到壹定數量的錨節點信息時,不再接收新信息。普通節點根據RSSI從強到弱對錨節點排序,並建立RSSI值與節點到錨節點距離的映射。建立3個集合。

錨節點集合:

(3)選取RSSI值大的前幾個錨節點進行自身定位計算。

在B_set:中優先選擇RSSI值大的信標節點組合成下面的錨節點集合,這是提高定位精度的關鍵。

對錨節點集合,依次根據(3)式算出3個交點的坐標,最後由質心算法,得出未知節點坐標。

(4)對求出的未知節點坐標集合取平均,得未知節點坐標。

3.2 誤差定義

定義定位誤差為ER,假設得到的未知節點的坐標為(xm,ym),其真實位置為(x,y),則定位誤差ER為:

4 仿 真

利用Matlab仿真工具模擬三角形質心算法,考察該算法的性能。假設在100 m×100 m的正方形區域內,36個錨節點均勻分布,未知節點70個,分別用三邊測量法和三角形質心定位算法進行仿真,仿真結果如圖3所示。由圖3可知,三角形質心算法比三邊測量法,定位精度更高,當測距誤差變大時,用三角形質心算法得出的平均定位誤差比用三邊測量法得出的小得多。

5 結 語

在此提出了將RSSI方法和三角形質心定位算法相結合的方法,通過仿真實驗,將該算法和三邊測量算法相比較,證明了該算法的優越性。下壹步將研究在錨節點數量不同時的平均定位誤差。

  • 上一篇:微商群怎麽加,如何在5天內加100個微商群(附方法...
  • 下一篇:小時候經常看這個,跪求動畫名
  • copyright 2024編程學習大全網