基于RSS的多目標節點(diǎn)定位算法
MTL-GMM算法
本文引用地址:http://dyxdggzs.com/article/164387.htmMTL-GMM算法將定位區域劃分成大小相同的網(wǎng)格,首先粗略定位傳感器節點(diǎn)所在的網(wǎng)格,根據粗略定位結果縮小定位區域和網(wǎng)格尺寸,迭代運行GridL(Grid Localization)算法,實(shí)現精確定位。具體步驟如下:
Step1:初始化定位區域;
Step2:定義網(wǎng)格尺寸;
Step3:運行GridL算法,若定位誤差<=閾值,輸出結果,若定位誤差>閾值,轉step4;
Step4:調整定位區域,轉step2;
定位區域的計算
1)定位區域初始化
算法根據RC的路徑坐標序列
GridL算法描述
圖1給出了GridL算法的偽代碼。表1給出了GridL算法使用的符號及其解釋。MT-GMM算法嵌套了內外兩層循環(huán)。外層循環(huán)即算法第4行到第29行,用來(lái)估計節點(diǎn)數量。假設節點(diǎn)數量M從1開(kāi)始取值,并隨循環(huán)逐次遞增,根據(M-1)個(gè)節點(diǎn)坐標估計第M個(gè)節點(diǎn)坐標。當節點(diǎn)數量增加,但模型BIC取值不增加時(shí),算法結束。內層循環(huán)即算法第11行到第20行,用來(lái)調整外層循環(huán)確定的M個(gè)節點(diǎn)的位置坐標。當模型BIC取值最大時(shí),獲得節點(diǎn)數量為M時(shí)的位置坐標。
算法第13行的函數findBIC(R,j)根據前j個(gè)節點(diǎn)的位置坐標,估計第(j+1)個(gè)節點(diǎn)的位置坐標。該函數分別假設第(j+1)個(gè)節點(diǎn)在定位區域內的每個(gè)網(wǎng)格中,并分別計算相應的BIC取值,BIC取值最大時(shí)對應的網(wǎng)格坐標就是第(j+1)個(gè)節點(diǎn)的坐標。
實(shí)驗
本文用仿真實(shí)驗和實(shí)測實(shí)驗分別驗證算法的有效性和準確性,使用Matlab 7.0來(lái)實(shí)現MTL-GMM算法。
實(shí)驗使用的信道傳播模型的參數取值如表2所示。實(shí)驗用平均定位誤差衡量算法的性能,如公式(6)所示。
仿真實(shí)驗
我們用NCTUns v5.0[14]模擬實(shí)驗場(chǎng)景,將8個(gè)傳感器分別放置在180m×300m的區域里,將一個(gè)可移動(dòng)的傳感器做為信標節點(diǎn)RC,如圖2所示。圖中叉號表示傳感器節點(diǎn)所在的位置,曲線(xiàn)表示RC的移動(dòng)路徑,圓圈表示估計的傳感器位置。傳感器節點(diǎn)的通信半徑設為100米。RC采集的RSS序列長(cháng)度為300。

評論