無線傳感器網絡測距定位方法
【專利摘要】本發(fā)明涉及無線傳感器網絡定位技術,具體為無線傳感器網絡測距定位方法。解決現(xiàn)有技術定位精度低及算法復雜的問題。本發(fā)明所述方法先利用面積值確定未知節(jié)點與信標節(jié)點的相對位置,通過建立系數<i>T</i><i>A</i><i>、T</i><i>B</i><i>、T</i><i>C</i>與區(qū)域關系的方法,直接求解未知節(jié)點坐標并進行了坐標值優(yōu)化,通過仿真分析并且與其它的一些算法進行對比,本發(fā)明所述方法提高了算法的精度,降低了算法的復雜度,減少節(jié)點的能量消耗,延長了節(jié)點的生命周期。
【專利說明】
無線傳感器網絡測距定位方法
技術領域
[0001] 本發(fā)明設及無線傳感器網絡定位技術,具體為無線傳感器網絡測距定位方法。主 要應用在無線傳感器網絡中獲取傳感器節(jié)點準確的位置信息。
【背景技術】
[0002] 近年來物聯(lián)網技術不斷取得新的成果,已經運用到國防軍事、環(huán)境監(jiān)測、交通管 理、醫(yī)療衛(wèi)生、制造業(yè)、抗災搶險等領域,作為物聯(lián)網底層重要技術之一的無線傳感器網絡 已經成為了研究熱點。其中,通過定位算法獲取準確的位置信息是無線傳感器網絡十分重 要的一項內容。
[0003] 與DV-H0P算法等基于非測距的定位算法不同,基于測距的定位算法需要進行距離 測量,但它的定位精度高于前者。與此相關的一些算法有,Ξ邊定位算法,Ξ邊質屯、定位算 法、粒子群定位算法等。運些現(xiàn)有的部分算法要么定位精度較低(如,質屯、定位算法),要么 算法需要進行大量的迭代運算而過于復雜(如,粒子群定位算法)。
【發(fā)明內容】
[0004] 本發(fā)明解決現(xiàn)有算法技術定位精度低及算法復雜的問題,提供一種無線傳感器網 絡測距定位方法。
[0005] 本發(fā)明是采用如下技術方案實現(xiàn)的:無線傳感器網絡測距定位方法,是由如下步 驟實現(xiàn)的:
[0006] Z1:未知節(jié)點P接受周圍信標節(jié)點的信號,并將接收到的信號強度值轉化為未知節(jié) 點和信標節(jié)點之間的距離值;
[0007] Z2:設定該未知節(jié)點P接受到信號的信標節(jié)點數量為m,m含3, W任3個位置不共線 的信標節(jié)點為一組,一共k組;
[000引Z3:從第一組信標節(jié)點一直到第k組信標節(jié)點依次計算未知節(jié)點P的坐標,一共得 至化個坐標,分別表示為(Xpl,ypl),……(郵,7。10。選取其中第11組信標節(jié)點,11取值為巧化,將 該組信標節(jié)點設定為A、B、C,計算出未知節(jié)點P的坐標(xpu,ypu),為上述k個坐標之一。3個信 標節(jié)點A、B、C將整個平面劃分成屯個區(qū)域:
[0009] 區(qū)域1:3個信標節(jié)點A、B、C構成的Ξ角形內部區(qū)域;
[0010] 區(qū)域2:信標節(jié)點B和信標節(jié)點A構成的射線BA的A點W外的直線、信標節(jié)點A和信標 節(jié)點C構成的線段AC、信標節(jié)點B和信標節(jié)點C構成的射線BC的C點W外的直線圍成的區(qū)域; [0011 ]區(qū)域3:信標節(jié)點C和信標節(jié)點B構成的射線CB的B點W外的直線、信標節(jié)點A和信標 節(jié)點B構成的線段AB、信標節(jié)點C和信標節(jié)點A構成的射線CA的A點W外的直線圍成的區(qū)域; [0012]區(qū)域4:信標節(jié)點A和信標節(jié)點B構成的射線AB的B點W外的直線、信標節(jié)點B和信標 節(jié)點C構成的線段BC、信標節(jié)點A和信標節(jié)點C構成的射線AC的C點W外的直線圍成的區(qū)域; [001引區(qū)域5:信標節(jié)點B和信標節(jié)點C構成的射線BC的C點W外的直線、信標節(jié)點A和信標 節(jié)點C構成的射線AC的C點W外的直線圍成的區(qū)域;
[0014]區(qū)域6:信標節(jié)點C和信標節(jié)點B構成的射線CB的B點W外的直線、信標節(jié)點A和信標 節(jié)點B構成的射線AB的B點W外的直線圍成的區(qū)域;
[001引區(qū)域7:信標節(jié)點B和信標節(jié)點A構成的射線BA的A點W外的直線、信標節(jié)點C和信標 節(jié)點A構成的射線CA的A點W外的直線圍成的區(qū)域;
[0016] Z4:確定未知節(jié)點P所處區(qū)域:
[0017] 滿足公式:Sabg = Sabp+Sagp+Sbgp未知節(jié)點P在區(qū)域1;
[001引滿足公式:Sabp+Sbcp = Sabc+Sacp未知節(jié)點P在區(qū)域2;
[0019] 滿足公式:Sagp+Sbgp = Sabg+Sabp未知節(jié)點P在區(qū)域3;
[0020] 滿足公式:Sacp+Sabp = Sabc+Sbcp未知節(jié)點P在區(qū)域4;
[002。 滿足公式:Sabp = Sacp+Sabc+Sbcp未知節(jié)點P在區(qū)域5;
[00剖滿足公式:Sacp = Sabp+Sabc+Sbcp未知節(jié)點P在區(qū)域6;
[002;3] 滿足公式:Sbcp = Sacp+Sabc+Sabp未知節(jié)點P在區(qū)域7;
[0024]其中S為采用海倫公式算出的相應Ξ角形的面積,S下標中的Ξ個字母為Ξ角形的 Ξ個頂點。
[002引巧:未知節(jié)點P第U個坐標(Xpu,ypu)的計算公式如下:
[0026] Xpu = Ta · Xa+Te · xb+Tc · Xc
[0027] ypu = Ta · ya+Τβ · yb+Tc · yc
[00測其中,(xa,ya)為信標節(jié)點A的坐標,(xb,yb)為信標節(jié)點B的坐標,(xc,yc)為信標節(jié) 點C的坐標;Ta、Tb、Tc為區(qū)域系數,與P點所在區(qū)域有關。
[0036] Z6:坐標值優(yōu)化
[0037] 當k含5時,求取未知節(jié)點P的k個坐標(χρ?,γρ?),......(Xpk,ypk)的橫坐標平均值、縱 坐標平均值,作為優(yōu)化后未知節(jié)點P的坐標;
[0038] 當k巧時,計算每一個未知節(jié)點坐標分別到其余未知節(jié)點坐標的距離,得到k-1個 距離值并求它們的和,如此得到k個和值,將k個和值由小到大排序,保留前五個和值,求前 五個和值對應未知節(jié)點坐標的橫坐標平均值、縱坐標平均值,作為優(yōu)化后未知節(jié)點P的坐 標。
[0039] 本發(fā)明所述方法先利用面積值確定未知節(jié)點與信標節(jié)點的相對位置,通過建立系 數Ta、Tb、Tc與區(qū)域關系的方法,直接求解未知節(jié)點坐標并進行了坐標值優(yōu)化,通過仿真分析 并且與其它的一些算法進行對比,本發(fā)明所述方法提高了算法的精度,降低了算法的復雜 度,減少節(jié)點的能量消耗,延長了節(jié)點的生命周期。
【附圖說明】
[0040] 圖1為步驟Ζ3Ξ個信標節(jié)點A、B、C將整個平面劃分成屯個區(qū)域的示意圖。
【具體實施方式】
[0041] 無線傳感器網絡測距定位方法,是由如下步驟實現(xiàn)的:
[0042] Z1:未知節(jié)點P接受周圍信標節(jié)點的信號,并將接收到的信號強度值轉化為未知節(jié) 點和信標節(jié)點之間的距離值;運里轉化采用的是公知的對數一常數無線信號傳播模型。
[0043] Z2:設定該未知節(jié)點P接受到信號的信標節(jié)點數量為m,m含3, W任3個位置不共線 的信標節(jié)點為一組,一共k組;
[0044] Z3:從第一組信標節(jié)點一直到第k組信標節(jié)點依次計算未知節(jié)點P的坐標,一共得 至化個坐標,分別表示為(Xpl,ypl),……(郵,7。1〇;選取其中第11組信標節(jié)點,11取值為巧化,將 該組信標節(jié)點設定為A、B、C,計算出未知節(jié)點P的坐標(xpu,ypu),為上述k個坐標之一。3個信 標節(jié)點A、B、C將整個平面劃分成屯個區(qū)域:
[0045] 區(qū)域1:3個信標節(jié)點A、B、C構成的Ξ角形內部區(qū)域;
[0046] 區(qū)域2:信標節(jié)點B和信標節(jié)點A構成的射線BA的A點W外的直線、信標節(jié)點A和信標 節(jié)點C構成的線段AC、信標節(jié)點B和信標節(jié)點C構成的射線BC的C點W外的直線圍成的區(qū)域;
[0047] 區(qū)域3:信標節(jié)點C和信標節(jié)點B構成的射線CB的B點W外的直線、信標節(jié)點A和信標 節(jié)點B構成的線段AB、信標節(jié)點C和信標節(jié)點A構成的射線CA的A點W外的直線圍成的區(qū)域;
[0048] 區(qū)域4:信標節(jié)點A和信標節(jié)點B構成的射線AB的B點W外的直線、信標節(jié)點B和信標 節(jié)點C構成的線段BC、信標節(jié)點A和信標節(jié)點C構成的射線AC的C點W外的直線圍成的區(qū)域;
[0049] 區(qū)域5:信標節(jié)點B和信標節(jié)點C構成的射線BC的C點W外的直線、信標節(jié)點A和信標 節(jié)點C構成的射線AC的C點W外的直線圍成的區(qū)域;
[0050] 區(qū)域6:信標節(jié)點C和信標節(jié)點B構成的射線CB的B點W外的直線、信標節(jié)點A和信標 節(jié)點B構成的射線AB的B點W外的直線圍成的區(qū)域;
[0051] 區(qū)域7:信標節(jié)點B和信標節(jié)點A構成的射線BA的A點W外的直線、信標節(jié)點C和信標 節(jié)點A構成的射線CA的A點W外的直線圍成的區(qū)域;
[0052] Z4:確定未知節(jié)點P所處區(qū)域:
[00對滿足公式:Sabc = Sabp+Sacp+Sbcp未知節(jié)點P在區(qū)域1;
[0054] 滿足公式:Sabp+Sbcp = Sabc+Sacp未知節(jié)點P在區(qū)域2;
[00對滿足公式:Sacp+Sbcp = Sabc+Sabp未知節(jié)點P在區(qū)域3;
[0056] 滿足公式:Sacp+Sabp = Sabc+Sbcp未知節(jié)點P在區(qū)域4;
[0057] 滿足公式:Sabp = Sacp+Sabc+Sbcp未知節(jié)點P在區(qū)域5;
[005引滿足公式:Sacp = Sabp+Sabc+Sbcp未知節(jié)點P在區(qū)域6;
[0059] 滿足公式:Sbcp = Sacp+Sabc+Sabp未知節(jié)點P在區(qū)域7;
[0060] 其中S為采用海倫公式算出的相應Ξ角形的面積,S下標中的Ξ個字母為Ξ角形的 Ξ個頂點;
[0061 ] 所述的海倫公式為公知常識:
[0064] 式中:S為Ξ角形面積,L1、L2、L3代表Ξ角形的Ξ條邊長。
[0065] Z5:未知節(jié)點P第U個坐標(Xpu,ypu)的計算公式如下:
[0066] Xpu = Ta · Xa+Te · xb+Tc · Xc
[0067] ypu = Ta · ya+Τβ · yb+Tc · yc
[00側其中,(xa,ya)為信標節(jié)點A的坐標,(xb,yb)為信標節(jié)點B的坐標,(xc,yc)為信標節(jié) 點C的坐標;Ta、Tb、Tc為區(qū)域系數,與P點所在區(qū)域有關。
[0076] Z6:坐標值優(yōu)化
[0077] 當k含5時,求取未知節(jié)點P的k個坐標(卻1,ypi),......( Xpk,ypk)的橫坐標平均值、縱 坐標平均值,作為優(yōu)化后未知節(jié)點P的坐標;
[0078] 當k巧時,計算每一個未知節(jié)點坐標分別到其余未知節(jié)點坐標的距離,得到k-1個 距離值并求它們的和,如此得到k個和值,將k個和值由小到大排序,保留前五個和值,求前 五個和值對應未知節(jié)點坐標的橫坐標平均值、縱坐標平均值,作為優(yōu)化后未知節(jié)點P的坐 標。
【主權項】
1. 一種無線傳感器網絡測距定位方法,其特征在于是由如下步驟實現(xiàn)的: Z1:未知節(jié)點P接受周圍信標節(jié)點的信號,并將接收到的信號強度值轉化為未知節(jié)點和 信標節(jié)點之間的距離值; Z2:設定該未知節(jié)點P接受到信號的信標節(jié)點數量為m,m^3,以任3個位置不共線的信 標節(jié)點為一組,一共k組; Z3:從第一組信標節(jié)點一直到第k組信標節(jié)點依次計算未知節(jié)點P的坐標,一共得到k個 坐標,分別表示為(xpl,ypl),……(1心^1〇;選取其中第11組信標節(jié)點,11取值為1到1^將該組 信標節(jié)點設定為A、B、C,計算出未知節(jié)點P的坐標(x pu,ypu),為上述k個坐標之一;3個信標節(jié) 點A、B、C將整個平面劃分成七個區(qū)域: 區(qū)域1:3個信標節(jié)點A、B、C構成的三角形內部區(qū)域; 區(qū)域2:信標節(jié)點B和信標節(jié)點A構成的射線BA的A點以外的直線、信標節(jié)點A和信標節(jié)點 C構成的線段AC、信標節(jié)點B和信標節(jié)點C構成的射線BC的C點以外的直線圍成的區(qū)域; 區(qū)域3:信標節(jié)點C和信標節(jié)點B構成的射線CB的B點以外的直線、信標節(jié)點A和信標節(jié)點 B構成的線段AB、信標節(jié)點C和信標節(jié)點A構成的射線CA的A點以外的直線圍成的區(qū)域; 區(qū)域4:信標節(jié)點A和信標節(jié)點B構成的射線AB的B點以外的直線、信標節(jié)點B和信標節(jié)點 C構成的線段BC、信標節(jié)點A和信標節(jié)點C構成的射線AC的C點以外的直線圍成的區(qū)域; 區(qū)域5:信標節(jié)點B和信標節(jié)點C構成的射線BC的C點以外的直線、信標節(jié)點A和信標節(jié)點 C構成的射線AC的C點以外的直線圍成的區(qū)域; 區(qū)域6:信標節(jié)點C和信標節(jié)點B構成的射線CB的B點以外的直線、信標節(jié)點A和信標節(jié)點 B構成的射線AB的B點以外的直線圍成的區(qū)域; 區(qū)域7:信標節(jié)點B和信標節(jié)點A構成的射線BA的A點以外的直線、信標節(jié)點C和信標節(jié)點 A構成的射線CA的A點以外的直線圍成的區(qū)域; Z4:確定未知節(jié)點P所處區(qū)域: 滿足公式:Sabc = Sabp+Sacp+Sbcp未知節(jié)點P在區(qū)域1; 滿足公式:Sabp+Sbcp = Sabc+Sacp未知節(jié)點P在區(qū)域2; 滿足公式:Sacp+Sbcp = Sabc+Sabp未知節(jié)點P在區(qū)域3; 滿足公式:Sacp+Sabp = Sabc+Sbcp未知節(jié)點P在區(qū)域4; 滿足公式:Sabp = Sacp+Sabc+Sbcp未知節(jié)點P在區(qū)域5; 滿足公式:Sacp = Sabp+Sabc+Sbcp未知節(jié)點P在區(qū)域6; 滿足公式:Sbcp = Sacp+Sabc+Sabp未知節(jié)點P在區(qū)域7; 其中S為采用海倫公式算出的相應三角形的面積,S下標中的三個字母為三角形的三個 頂點; Z5:未知節(jié)點P第u個坐標(xpu,ypu)的計算公式如下: XPu = Ta · Xa+Τβ · Xb+Tc · Xc ypu=TA · ya+Τβ · yb+Tc · y〇 其中,(xa,ya)為信標節(jié)點A的坐標,(xb,yb)為信標節(jié)點B的坐標,為信標節(jié)點C的 坐標;TA、TB、Tc為區(qū)域系數,與P點所在區(qū)域有關,當k < 5時,求取未知節(jié)點P的k個坐標(xP 1,yp 1), ( xPk,yPk)的橫坐標平均值、縱坐標 平均值,作為優(yōu)化后未知節(jié)點P的坐標; 當k>5時,計算每一個未知節(jié)點坐標分別到其余未知節(jié)點坐標的距離,得到k-Ι個距離 值并求它們的和,如此得到k個和值,將k個和值由小到大排序,保留前五個和值,求前五個 和值對應未知節(jié)點坐標的橫坐標平均值、縱坐標平均值,作為優(yōu)化后未知節(jié)點P的坐標。
【文檔編號】G01S5/10GK105824007SQ201610338926
【公開日】2016年8月3日
【申請日】2016年5月20日
【發(fā)明人】喬學工, 曹建, 張文愛, 王華倩, 李瑞蓮
【申請人】太原理工大學