基於RSSI的有效錨節點選取方法與流程
2023-09-20 21:57:10 4

本發明涉及協同定位領域,具體涉及基於RSSI(received signal strength indicator)的有效錨節點選取方法。
背景技術:
傳感器定位是電子對抗系統中的一個重要組成部分,資源分配、任務調度、目標跟蹤等高難度任務都需要精確的定位作為基礎。組織多個不同類別的偵察傳感器執行協同偵察定位任務是當今電子戰的一大發展趨勢。傳統的單傳感器獨立偵察定位由於受環境、敵方態勢、自身性能等多方面的限制,很難滿足現代電子戰的需求。因傳感器節點本身具有無線通信能力,很容易獲得信號強度值,所以RSSI是一種方便、廉價的測距技術。
針對不同的協同定位模型,針對多傳感器協同定位問題,在國外已有一些相關研究成果。信息與通信大學的Jeongsu Lee等人設計了一種軍用移動基站定位系統,該系統同時利用RSSI和AOA信號進行混合定位,可以較快的定位出目標所在的小範圍區域;但不適合精確定位。維吉尼亞大學的Tian He等人提出一種APIT算法,利用節點之間的連通信息和節點接收到的鄰居節點發送的RSSI值來判斷節點之間的相對距離,與單純利用連通信息的算法相比,可有效的提高定位精度;但該算法需要每個節點都有很好的信息處理能力,定位成本較高。
國內在多傳感器協同定位方面也已有一些研究成果。如國防科技大學的王珊珊等人提出一種RSSI-NLP算法,根據節點間的RSSI值計算出可通信節點間距離的相對關係,並結合線性規劃的方法進行定位,有較好的定位效果;但隨著未知節點數的增加,定位精度會急劇下降。重慶大學的熊志廣等人提出基於中值原則與空間補償模型的RSSI定位策略,實現了算法複雜度與定位性能上的折衷;但其定位結果過度依賴於定位環境的好壞。
現有的定位算法大多有兩方面的不足:一方面是定位算法的複雜度太高,在節點數較多的網絡中,往往顯得計算能力不足;另一方面是誤差的累積,由於缺乏有效的誤差判別方法,哪怕是初始定位環境中很小的誤差都會在定位過程中不斷的進行積累,最終導致定位精度的下降。
技術實現要素:
本發明的目的是提供一種基於RSSI的有效錨節點選取方法。
實現本發明目的的技術解決方案為:一種基於RSSI的有效錨節點選取方法,具體包括以下步驟:
步驟1、定位場景中每個錨節點廣播其自身位置與其RSSI信號;
步驟2、對於每個錨節點Bi,在收到其通信半徑R內其他錨節點的信號之後,計算Bi的區域路徑損耗指數n(Bi);
步驟3、確定約束條件,建立有效錨節點選取模型;
步驟4、根據約束條件對錨節點進行篩選,選出周圍沒有障礙物的有效錨節點集合S。
本發明與現有技術相比,其顯著優點為:1)本發明根據感器所處環境動態選擇有效錨節點進行後其定位,有效降低環境幹擾等因素對定位結果的影響。2)本發明針對經典路徑損耗指數採取經驗值的方式進行改進,根據傳感器所處環境動態確定節點之間的路徑損耗指數。3)本發明將基於RSSI的有效錨節點選取模型應用於無線傳感器協同定位領域,可以顯著提高協同定位精度和協同定位覆蓋率,防止誤差累積。
附圖說明
圖1為基於RSSI的有效錨節點選取模型流程圖。
圖2為示例實驗圖。
圖3為誤差閾值α的節點定位覆蓋率圖。
圖4為誤差閾值α的節點定位誤差圖。
圖5為定位誤差對比圖。
具體實施方式
本發明對傳統的RSSI定位方法進行深入地分析,針對上述問題,提出了一種有效錨節點選取模型EAS(Efficient Anchor-Node Selection),並通過仿真實驗與其它模型進行對比。仿真實驗結果表明,EAS模型能夠有效的消除初始網絡環境產生的誤差,提高定位的精度,有效防止誤差的累積。
本發明的一種基於RSSI的有效錨節點選取方法,包括以下步驟:
步驟1、在定位場景中每個錨節點廣播其自身位置與其RSSI信號;
步驟2、對於每個錨節點Bi,在收到其通信半徑R內其他錨節點的信號之後,計算錨節點Bi的區域路徑損耗指數n(Bi);所述區域路徑損耗指數n(Bi)計算方法為:
步驟2-1、確定任意兩個錨節點Bi,Bj之間的距離,所用公式為:
其中,(xi,yi,zi),(xj,yj,zj)分別為錨節點Bi,Bj的坐標;
步驟2-2、確定任意兩個錨節點Bi,Bj之間的路徑損耗指數n(Bi,Bj),所述公式為:
其中,Bj為發送節點,Bi為接收節點;d為兩節點之間的距離;RSSI(Bi,Bj)為Bi,Bj之間信號強度;X0定義為均值為0、方差為5的高斯隨機變量;PT為發射功率,PL(d0)為接收功率;
步驟2-3、確定高斯路徑損耗影響係數fi(Bj),所述公式為:
其中,(xi,yi,zi),(xj,yj,zj)分別為錨節點Bi,Bj的坐標,fi(Bj)是均值為0、方差為1的高斯分布函數;
步驟2-4、確定區域路徑損耗指數nR(Bi),所述公式為:
其中,區域路徑損耗指數nR(Bi)由N個局部路徑損耗指數組成,N是Bi通信半徑R內其他錨節點的數量,其中第j個局部路徑損耗指數由第j(1≤j≤N)個錨節點所確定,每個局域路徑損耗指數由高斯路徑損耗影響係數和路徑損耗指數相關和的乘積計算所得,Bj的路徑損耗指數相關和代表Bj與其他錨節點Bk(1≤k≤N,k≠j)之間的路徑損耗指數之和。
步驟3、確定有效錨節點的約束條件,建立有效錨節點選取模型;所述有效錨節點的約束條件為:
其中,其中n(Bi,Bj)為錨節點Bi與其通信半徑R內其他錨節點Bj(1≤j≤N)之間的路徑損耗指數,nR(Bi)為錨節點Bi的區域路徑損耗指數,(xi,yi,zi),(xj,yj,zj)分別為錨節點Bi,Bj的坐標,α為誤差閾值。
步驟4、根據步驟3確定的約束條件對錨節點進行篩選,選出周圍沒有障礙物的有效錨節點集合S,完成有效錨節點的選取。所述有效錨節點篩選原則為:
當錨節點Bi與其通信半徑R內其他錨節點Bj(1≤j≤N)之間的路徑損耗指數n(Bi,Bj)與Bi區域路徑損耗指數nR(Bi)的差值均小於誤差閾值α時,表示錨節點Bi是一個有效的錨節點;當錨節點Bi周圍存在障礙物時,Bi必定不滿足於有效錨節點約束條件,從而Bi不是一個有效的錨節點。
為了使本領域技術人員更好地理解本申請中的技術問題、技術方案和技術效果,下面結合附圖和具體實施方式對本發明的基於RSSI的有效錨節點選取模型作進一步詳細說明。
本發明提供一種基於RSSI的有效錨節點選取模型,基本流程如圖1所示。具體步驟如下:
步驟1:每個錨節點廣播其自身位置與其RSSI信號;
步驟2:對於每個錨節點Bi,在收到其通信半徑R內其他錨節點的信號之後,計算Bi的區域路徑損耗指數n(Bi);
其中,確定兩個錨節點Bi,Bj之間的距離,所用公式為:
其中,(xi,yi,zi),(xj,yj,zj)分別為錨節點Bi,Bj的坐標。
確定兩個錨節點Bi,Bj之間的路徑損耗指數n(Bi,Bj),所述公式為:
其中,Bj為發送節點,Bi為接收節點;d為兩節點之間的距離;RSSI(Bi,Bj)為Bi,Bj之間信號強度;X0定義為均值為0、方差為5的高斯隨機變量;PT為發射功率,PL(d0)為接收功率。
確定高斯路徑損耗影響係數fi(Bj),所述公式為:
其中,(xi,yi,zi),(xj,yj,zj)分別為錨節點Bi,Bj的坐標。fi(Bj)是均值為0、方差為1
的高斯分布函數。由於高斯分布具有精度高,覆蓋面廣等優點,因此我們將錨節點之間的距離作為高斯分布的隨機變量得到高斯分布路徑損耗影響係數fi(Bj),並以此來量化Bi通信半徑R內其他錨節點對nR(Bi)的影響。
確定區域路徑損耗指數nR(Bi),所述公式為:
其中,區域路徑損耗指數nR(Bi)由N個局部路徑損耗指數組成,N是Bi通信半徑R內其他錨節點的數量(不包括Bi)。其中第j個局部路徑損耗指數由第j(1≤j≤N)個錨節點所確定。每個局域路徑損耗指數由高斯路徑損耗影響係數和路徑損耗指數相關和的乘積計算所得,體現了不同錨節點對Bi的區域路徑損耗指數的不同影響。Bj的路徑損耗指數相關和代表Bj與其他錨節點Bk(1≤k≤N,k≠j)之間的路徑損耗指數之和。在計算過程中每兩個錨節點之間的路徑損耗指數都被分別計算了一次,所以需要乘以係數1/2。
步驟3:確定約束條件,建立有效錨節點選取模型;
其中,其中n(Bi,Bj)為錨節點Bi與其通信半徑R內其他錨節點Bj(1≤j≤N)之間的路徑損耗指數,nR(Bi)為錨節點Bi的區域路徑損耗指數,(xi,yi,zi),(xj,yj,zj)分別為錨節點Bi,Bj的坐標,α為誤差閾值。
步驟4:根據約束條件對錨節點進行篩選,選出周圍沒有障礙物的有效錨節點集合S;
當錨節點Bi與其其通信半徑R內其他錨節點Bj(1≤j≤N)之間的路徑損耗指數n(Bi,Bj)與Bi區域路徑損耗指數nR(Bi)的差值均小於誤差閾值α時,表示錨節點Bi是一個有效的錨節點。當錨節點Bi周圍存在障礙物時,Bi必定不滿足於有效錨節點約束條件,從而Bi不是一個有效的錨節點。
步驟5:從有效錨節點集合S中選擇4個距離目標節點T最近的有效錨節點進行四邊定位,從而驗證有效錨節點選取模型的效果。
本發明根據感器所處環境動態選擇有效錨節點進行後其定位,有效降低環境幹擾等因素對定位結果的影響。
下面結合實施例對本發明做進一步詳細的描述。
實施例
在300m×300m×300m的三維空間內隨機分布的200個未知節點,如圖2所示;其中,Δ代表錨節點,O代表未知節點,*代表通過基於RSSI的有效錨節點選取模型定位出來的已定位錨節點,黑色區域代表隨機生成的障礙物區域;
定義誤差量化公式如下:
其中,N表示未知節點總數,R表示位未知節點通信半徑,表示未知節點m的實際坐標,(xm,ym,zm)表示點m經過算法定位出的坐標。對於無法定位或者未成功定位的節點,定位誤差取其通信半徑的一半。
實驗選取了4種不同的閾值進行試驗,圖3是誤差閾值α的節點定位覆蓋率圖。從圖中可以看出當α=0.05時,EAS算法對錨節點的篩選非常嚴格,很少的錨節點參與定位,未知節點的定位覆蓋率較低;當閾值α=0.1時,對於錨節點的篩選比較嚴格,參與定位的錨節點雖然相比於α=0.05變多,但相比於未知節點的數量還是較少,未知節點的定位覆蓋率不高;當閾值α=0.15時,對錨節點的篩選適中,未知節點的定位覆蓋率較高;當閾值α=0.2時,雖然參與定位的錨節點增多,但對於有效錨節點的篩選作用變弱,導致未知節點的定位的覆蓋率和α=0.15相差不多。
圖4是誤差閾值α的節點定位誤差圖,從圖4中可以看出,隨著錨節點密度的增加,α=0.15時的定位平均誤差要明顯小於α=0.2時的定位誤差;從定位覆蓋率的角度來說,α=0.15與α=0.2的定位覆蓋率差別並不大,所以α=0.15是一個較為合理的閾值。
在確定閾值0.15的情況下,比較固定路徑損耗指數模型與基於EAS模型定位的準確度。
從圖5可以看出,在錨節點數較少時,EAS模型的優勢不明顯,隨著錨節點數的增多,EAS模型的選擇效果逐漸顯現,EAS模型的定位效果明顯優於固定路徑損耗模型的定位效果。