一種基于共面度的跳距修正的wsn三維空間目標定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計算機無線傳感器網(wǎng)絡(luò)領(lǐng)域,特別是一種基于共面度的跳距修正的 WSN三維空間目標定位方法。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(WirelessSensorNetwork,WSN)是由大量具有采集、計算和無 線通信能力的傳感器節(jié)點通過多跳、自組織方式構(gòu)成的網(wǎng)絡(luò),布置在監(jiān)測區(qū)域內(nèi),能夠自主 采集和處理監(jiān)測區(qū)域中的信息,并發(fā)送給觀察者。位置信息在無線傳感器網(wǎng)絡(luò)的監(jiān)測等應(yīng) 用以及路由選擇、可靠性與安全性保障中均具有重要的作用,沒有位置信息的監(jiān)測消息往 往毫無意義。因此定位技術(shù)已經(jīng)成為無線傳感器網(wǎng)絡(luò)應(yīng)用必不可少的支撐技術(shù)之一。目前, 國際上對WSN節(jié)點定位的研宄主要集中在二維平面,對基于WSN的三維空間定位問題的研 宄成果還比較少。而實際應(yīng)用中傳感器的部署往往可能在地下、高墻甚至空中等三維區(qū)域 中。由于三維空間的環(huán)境更加復(fù)雜,求精問題的計算復(fù)雜度大幅度增加,很難直接將二維定 位算法應(yīng)用于三維空間。
[0003] 三維空間中的定位問題相比二維空間的定位有如下難點:(1)定位所需要的參考 點要有所增加。在二維空間中,定位一個未知節(jié)點至少需要三個參考節(jié)點。而在三維空間 中,至少需要四個參考節(jié)點才能確定未知節(jié)點的位置,這不僅要求增加參考節(jié)點的密度,而 且增加了算法復(fù)雜度。(2)若有地形障礙,對節(jié)點之間的傳輸信號存在影響。三維空間中地 形帶來的非視距傳輸對信號的影響是不可忽視的,因此使用RSSI計算節(jié)點之間的距離會 存在一定的誤差,從而對定位精度產(chǎn)生影響。
[0004] 隨著WSN技術(shù)的發(fā)展,無線傳感器網(wǎng)絡(luò)的應(yīng)用越來越廣泛,且對定位的精度要求 也越來越高。目前,對無線傳感器網(wǎng)絡(luò)的二維定位技術(shù)的研宄已經(jīng)趨于成熟,但是針對三維 定位技術(shù)的研宄工作還不多見,還沒有成熟的標準。目前已有的三維定位技術(shù),整體上還是 采用將二維平面定位算法推廣到三維空間的方法,將二維平面的WSN定位算法直接推廣到 三維空間存在的問題是沒有考慮三維空間的復(fù)雜情況,會導(dǎo)致計算量大幅度增加,導(dǎo)致累 計誤差等問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所解決的技術(shù)問題在于提供一種基于共面度的跳距修正的WSN三維空間 目標定位方法。
[0006] 實現(xiàn)本發(fā)明的技術(shù)解決方案為:一種基于共面度的跳距修正的WSN三維空間目標 定位方法,具體包括以下步驟:
[0007] 步驟1,采用RSSI測距技術(shù)測量相鄰節(jié)點之間的距離;
[0008] 步驟2,根據(jù)步驟2中最小跳數(shù)值和累計跳距,通過距離矢量交換協(xié)議接收和轉(zhuǎn)發(fā) 信標節(jié)點信息,得到所有節(jié)點和信標節(jié)點的最小跳數(shù)值和累計距離;
[0009] 步驟3,計算修正參數(shù),根據(jù)修正參數(shù)修正累計距離;
[0010] 步驟4,計算每個定位單元的共面度值,基于共面度值選擇最佳定位單元;
[0011] 步驟5,根據(jù)選擇的最佳定位單元采用四面測量法計算未知節(jié)點坐標;
[0012] 步驟6,采用擬牛頓法對未知節(jié)點坐標進行優(yōu)化;
[0013] 步驟7,將成功定位的節(jié)點提升為信標節(jié)點參與第二輪定位。
[0014] 本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點為:1)本發(fā)明引入共面度的思想,消除了三 維定位中定位單元近似共面引起的定位誤差,根據(jù)共面度閾值選擇進行定位的定位單元, 提高了定位算法精度;2)對累計距離進行修正,降低了用跳段距離代替實際距離引起的誤 差,從而提高了算法的定位精度;3)通過將已經(jīng)成功定位的未知節(jié)點提升為信標節(jié)點參與 未知節(jié)點的定位,提高信標節(jié)點的比例,從而提高了定位算法的定位覆蓋率;4)采用擬牛 頓法對定位結(jié)果進行優(yōu)化,進一步提高了定位精度。
[0015] 下面結(jié)合附圖對本發(fā)明作進一步詳細描述。
【附圖說明】
[0016] 圖1為三維空間定位模型圖。
[0017] 圖2為一種基于共面度的跳距修正的WSN三維空間目標定位方法的流程圖。
[0018] 圖3為本發(fā)明仿真效果圖。
[0019] 圖4為本發(fā)明算法與其他算法的定位精度對比圖。
[0020]圖5為本發(fā)明算法與其他算法的定位覆蓋率對比圖。
【具體實施方式】
[0021] 本發(fā)明的一種基于共面度的跳距修正的WSN三維空間目標定位方法,包括以下步 驟:
[0022] 步驟1,采用RSSI測距技術(shù)測量相鄰節(jié)點之間的距離,RSSI技術(shù)(Received SignalStrengthIndicator,RSSI),根據(jù)接收節(jié)點接收到的信號強度,可估算出發(fā)射節(jié)點 到接收節(jié)點之間的距離。將信號強度轉(zhuǎn)換為距離所用的公式為:
[0024] 式中,d為發(fā)射節(jié)點到接收節(jié)點之間的距離,n為無線信道衰減系數(shù),一般取值為 2~4,Cltl是為已知距離,一般通過實驗獲得,PL(Clci)是接收節(jié)點在離發(fā)射節(jié)點距離為已知 距離Cltl時的接收信號強度,X。是均值為0,方差為〇 2的高斯隨機噪聲變量,PkssiS接收節(jié) 點接收到的RSSI值。
[0025] 步驟2,通過距離矢量交換協(xié)議接收和轉(zhuǎn)發(fā)信標節(jié)點信息,得到所有節(jié)點和信標節(jié) 點的最小跳數(shù)值和累計距離,通過距離矢量交換協(xié)議,跳數(shù)和累計距離初始化為0,各節(jié)點 比較接收到的同一信標節(jié)點的跳數(shù)值,保留其中跳數(shù)最小的信息,然后累加來自各信標節(jié) 點的跳段距離并將跳數(shù)加1,最后轉(zhuǎn)發(fā)給其他鄰居節(jié)點。
[0026] 步驟3,根據(jù)步驟2中最小跳數(shù)值和累計跳距,計算修正參數(shù),根據(jù)修正參數(shù)修正 累計距離,計算修正參數(shù)采用如下公式:
[0028] 式中,K為未知節(jié)點,i和j為信標節(jié)點i= 1,. . .n,j= 1,. . .,n且i乒j,i和 j均為正整數(shù),Lij為信標節(jié)點i到信標節(jié)點j之間的真實距離,Du信標節(jié)點i到信標節(jié)點j之間的累計距離。
[0029] 修正累計距離采用如下公式:
[0030] Lh=入K*DKi
[0031] 式中,人K為未知節(jié)點K的修正參數(shù),DKi為未知節(jié)點K到信標節(jié)點i的累計距離, LKi為未知節(jié)點K到信標節(jié)點i的修正后的累計距離。
[0032] 步驟4,計算每個定位單元的共面度值,基于共面度值選擇最佳定位單元,一個定 位單元包含4個信標節(jié)點,其共面度值的計算方法采用如下的計算公式:
[0034] 式中,V為四個節(jié)點組成的四面體的體積,a,b,c分別為四面體三組對棱長度的乘 積,Si分別為是四面體四個面的面積。
[0035] 步驟5,根據(jù)選擇的最佳定位單元采用四面測量法計算未知節(jié)點坐標,計算未知節(jié) 點坐標采用如下公式:
[0037] 式中,(x,y,z)為未知節(jié)點K的坐標,(X1,y:,Z1) (x2,y2,z2) (x3,y3,z3) (x4,y4,Z4) 為定位單元中四個信標節(jié)點的坐標,dKA,dKB,dK。,dKD分別為未知節(jié)點K與信標節(jié)點之間的修 正累計距離。
[0038] 步驟6,采用擬牛頓法對未知節(jié)點坐標進行優(yōu)化,采用擬牛頓法對定位結(jié)果進行優(yōu) 化,將定位優(yōu)化問題轉(zhuǎn)化為無約束最優(yōu)化問題,確定目標函數(shù)為:
[0040] 式中,(x,y,z)為未知節(jié)點K的坐標,(Xi,y。Zi)為信標節(jié)點i的坐標,i= 1, 2, ...,n,i為正整數(shù),Cli為信標節(jié)點i到未知節(jié)點K的累計距離。
[0041] 步驟7,將成功定位的節(jié)點提升為信標節(jié)點參與第二輪定位。
[0042] 下面結(jié)合附圖對本發(fā)明進行更詳細的描述:
[0043] 結(jié)合附圖2,本發(fā)明的一種基于共面度的跳距修正的WSN三維空間目標定位方法 分為四個階段:第一階段,采用RSSI測量相鄰節(jié)點之間的距離,采用DV-DiStance算法得到 未知節(jié)點與每個信標節(jié)點之間的距離;第二階段,基于共面度的原則選擇最佳定位單元,采 用四邊測量法估算出節(jié)點的初步位置;第三階段,采用擬牛頓法對定位結(jié)果進行優(yōu)化;第 四階段,將已經(jīng)成功定位的未知節(jié)點提升為信標節(jié)點,再對未成功定位的未知節(jié)點進行第 二輪定位,以提高定位的覆蓋率。
[0044] (1)第一階段
[0045] 在無線傳感器網(wǎng)絡(luò)中,無線傳播信號選擇常態(tài)對數(shù)模型,如式(1)所示:
[0047] 式中,設(shè)PL(d)表示兩個無線傳感器節(jié)點相距為d時的信號強度,PL(Cltl)是接收節(jié) 點在離發(fā)射節(jié)點距離為已知距離Cltl時的接收信號強度,PL(Clci) -般通過實驗經(jīng)驗或者硬件 規(guī)范定義得到;n為無線信道衰減系數(shù),一般取值為2~4 ;X。是均值為0,方差為〇2的高 斯隨機噪聲變量。
[0048] 由于式(l)dQ中為已知量,因此PL(dQ)是已知的;進一步,IOnlgdQ也是已知的。 可以認為X。是定值,因此可以通過式(2)得到接收節(jié)點的RSSI值PKSSI。
[0049] Prssi=PL(d)=-IOnlgd+[IOnlgd0+PL(d0)-X0 ] (2)
[0050] 由于后面括號中的項為定值,因此式(2)可以寫成式(3)的形式如下。
[0051] RSSI=PL(d) = -10nlgd+a(3)
[0052] 式(3)中,a=IOnlgdQ+PL(dQ)-X。,a為常數(shù)。因此根據(jù)式(3)可以得到發(fā)射節(jié) 點和接收節(jié)點之間距離的計算方法如式(4)所示。
[0054] 在傳統(tǒng)的DV-Distance算法中,由于未知節(jié)點到任意信標節(jié)點之間的累計距離都 要大于他們之間的實際距離,因此當跳數(shù)越多時,用這種跳段距離代替實際距離的誤差可 能越大,因此需要對此誤差進行修正。
[0055] 修正參數(shù)AK的計算公式如式(5):
[0057] 式中,K為未知節(jié)點,i和j為信標節(jié)點i= 1,. . .n,j= 1,. . .,n且i乒j,i和 j均為正整數(shù),Lij為信標節(jié)點i到信標節(jié)點j之間的真實距離,Du信標節(jié)點i到信標節(jié)點j之間的累計距離。
[0058] 當信標節(jié)點i到未知節(jié)點k的累計跳距為DJt,信標節(jié)點i到未知節(jié)點k的修正 累積距離可用式(6)表示。
[0059] Lh=入K*DKi (6)
[0060] 式中,Xk為未知節(jié)點K的修正參數(shù),DKi為未知節(jié)點K到信標節(jié)點i的累計距離, LKi為未知節(jié)點K到信標節(jié)點i的修正后的累計距離。
[0061] 將此修正累計跳段距離作為計算的有效距離,再進行未知節(jié)點定位,以減少誤差。
[0062] (2)第二階段
[0063] 采用多邊定位法時至少能確定一個未知節(jié)點位置的參考點組合稱為一個定位單 元在二維平面中進行目標定位時