高瑞娟,陳桂芬,李鵬
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)[1,2]是指在監(jiān)測區(qū)域內(nèi)由大量節(jié)點組成的網(wǎng)絡(luò)。在監(jiān)測區(qū)域內(nèi),WSN不間斷地將感知、采集和加工后的信息廣播到網(wǎng)絡(luò)中,使網(wǎng)絡(luò)用戶終端接收到可靠信息。WSN作為物聯(lián)網(wǎng)時代重要技術(shù)之一,被應(yīng)用到許多領(lǐng)域,例如工業(yè)領(lǐng)域、商業(yè)領(lǐng)域、航空領(lǐng)域、戰(zhàn)場探查敵情、深山老林監(jiān)控等。
在無線傳感器網(wǎng)絡(luò)中,主要技術(shù)有節(jié)點定位技術(shù)、網(wǎng)絡(luò)覆蓋技術(shù)、時間同步技術(shù)和路由協(xié)議技術(shù)等。其中,節(jié)點定位技術(shù)對節(jié)點收集信息的有效性、準(zhǔn)確性起到?jīng)Q定性的作用。為保證監(jiān)測區(qū)域內(nèi)節(jié)點收集信息的可靠性,將對節(jié)點定位技術(shù)進行研究。目前,隨著市場的需求,已有學(xué)者將節(jié)點定位技術(shù)從二維空間上升到三維空間[3,4]進行研究,但在定位精度上仍有上升空間。綜上所述,對三維空間中的節(jié)點定位技術(shù)進行研究具有一定的價值。
目前,上升到三維空間中的節(jié)點定位算法有:3D-DV-Hop(Three-Dimensional Distance Vector-Hop)[5]、APIS(Approximate Point in Sphere)[6]、Landscape-3D(Landscape Three-Dimensional)[7]等,其中,3D-DV-Hop定位算法計算難度相對較低,計算方法簡單易懂。所以有許多學(xué)者將其進行改進,例如加權(quán)三維DV-Hop算法[8]、3D-iDV-Hop算法[9]、基于信標(biāo)節(jié)點密度的三維DV-Hop改進算法[10]等。但依舊存在一定誤差,對此提出3D-WFLS-DvHop定位算法,通過賦予誤差權(quán)重、質(zhì)心加權(quán)因子優(yōu)化以及最小二乘法距離擬合原理對未知節(jié)點坐標(biāo)進行修正的方法降低節(jié)點定位誤差,同時與原算法能耗基本相同。
3D-WD-DVHop(Weighted Three-Dimensional Distance Vector-Hop Localization Algorithm)作為一種非測距定位算法,利用錨節(jié)點之間的距離不同對錨節(jié)點賦予不同的權(quán)值來實現(xiàn)待定位節(jié)點的定位。具體定位算法步驟介紹如下:
求網(wǎng)絡(luò)中所有錨節(jié)點間的初次平均跳距時,用錨節(jié)點間坐標(biāo)之差除以錨節(jié)點間的跳數(shù)可得:

式中,3DHopsizeij為網(wǎng)絡(luò)中錨節(jié)點之間的初次平均跳距,(xi,yi,zi)、(xj,yj,zj)分別為錨節(jié)點i、j在三維網(wǎng)絡(luò)空間中的位置坐標(biāo),hij為三維網(wǎng)絡(luò)空間中錨節(jié)點i和錨節(jié)點j的跳數(shù)。
在計算三維網(wǎng)絡(luò)中錨節(jié)點間的平均跳距時,錨節(jié)點彼此之間的距離越近,那么對計算當(dāng)前錨節(jié)點間平均跳距所起的作用越大,就應(yīng)當(dāng)賦予更重的權(quán)值。則可得知:

式中,wij是錨節(jié)點j對錨節(jié)點i作用的權(quán)值;hij為錨節(jié)點i與錨節(jié)點j之間的跳數(shù)。
將計算初次平均跳距公式(1)和錨節(jié)點間的權(quán)值公式(2)合并,可得出錨節(jié)點間在三維空間中的平均跳距如下式所示:

進一步可得出未知節(jié)點距錨節(jié)點i的距離為3DWdi:

最后,經(jīng)過以上計算后,若未知節(jié)點能夠獲得其周圍四個或四個以上錨節(jié)點的距離信息,且這些錨節(jié)點處于不共面的狀態(tài),那么就可以用數(shù)學(xué)方法中四邊測量法獲得未知節(jié)點的坐標(biāo)。3D-WD-DVHop定位算法與其他三維空間中的定位算法相比,具有算法無需測距和覆蓋面較大的優(yōu)點,且算法簡單決定了3D-WD-DVHop定位算法具有較低的能耗,而能量消耗是判斷定位算法是否可取的關(guān)鍵性能指標(biāo),所以3D-WD-DVHop定位算法具有較好的研究價值。此定位算法對定位要求一般的定位有較好表現(xiàn),但對定位精度要求較高的定位適應(yīng)性一般。因此,3D-WD-DVHop定位算法還有較高的改進空間。
綜上所述,提出了一種改進的3D-WFLS-DvHop(Weight and Fitting of LeastSquare Method Three-Dimensional Distance Vector-Hop Localization Algorithm)定位算法。首先,對初次定位后的定位誤差給予不同的權(quán)重,并在求未知節(jié)點坐標(biāo)時對質(zhì)心算法加權(quán)因子進行優(yōu)化;其次,用最小二乘法的距離擬合原理對未知節(jié)點坐標(biāo)進行修正;最后,改進算法與原算法具有相同的能耗。
3D-WD-DVHop用錨節(jié)點間坐標(biāo)之差除以錨節(jié)點間跳數(shù)作為錨節(jié)點間的平均跳距,但由于網(wǎng)絡(luò)中錨節(jié)點分布的隨機性與不均勻性,最終導(dǎo)致計算出的未知節(jié)點坐標(biāo)位置偏差較大。針對這個問題,3D-WFLS-DvHop定位算法將未知節(jié)點坐標(biāo)的誤差進行加權(quán)處理,并在求未知節(jié)點坐標(biāo)時對質(zhì)心算法加權(quán)因子進行優(yōu)化。未知節(jié)點的定位誤差示意圖如圖1所示。

圖1 未知節(jié)點定位誤差示意圖











將公式(12)進行轉(zhuǎn)換得:




將公式(14)中S(α1,β1)對參數(shù)α1、α2求偏導(dǎo),S(α2,β2)對參數(shù)β1、β2求偏導(dǎo)可得:

3D-WFLS-DvHop定位算法過程如下:
(1)在三維空間的監(jiān)測區(qū)域中隨機部署傳感器節(jié)點(包括錨節(jié)點、未知節(jié)點),網(wǎng)絡(luò)中錨節(jié)點周期性的向網(wǎng)絡(luò)中播送自身的信息,未知節(jié)點接收到錨節(jié)點的信息后,將信息進行加工并廣播到網(wǎng)絡(luò)中。


為驗證3D-WFLS-DvHop定位算法的有效性,基于MATLAB-R2014實驗平臺進行性能分析,從錨節(jié)點比例、通信半徑以及總節(jié)點個數(shù)三個性能評價指標(biāo)進行仿真,對提出的3D-WFLS-DvHop定位算法與3D-WD-DVHop定位算法進行比較分析。
在邊長為100m的三維環(huán)境監(jiān)測區(qū)域內(nèi)隨機生成400個節(jié)點,為了仿真結(jié)果的可靠性,進行100次仿真。其中,通信半徑為30m,錨節(jié)點隨機產(chǎn)生40個,用符號“*”表示;未知節(jié)點隨機產(chǎn)生360個,用符號“°”表示。錨節(jié)點與未知節(jié)點的隨機分布如圖2所示。

圖2 三維空間的節(jié)點隨機分布圖
三維空間中,平均定位誤差的衡量標(biāo)準(zhǔn)如式(16)所示:


(1)錨節(jié)點比例對平均定位誤差的影響
在邊長為100m的三維監(jiān)測環(huán)境區(qū)域內(nèi),節(jié)點通信半徑固定為30m,隨機分布400個節(jié)點,錨節(jié)點比例從10%到40%,同時對3D-WD-DvHop和3D-WFLS-DvHop兩種算法進行仿真,兩種算法的錨節(jié)點比例對平均定位誤差的影響如下圖3所示。

圖3 錨節(jié)點比例對平均定位誤差的影響關(guān)系圖
圖3表示3D-WD-DVHop、3D-WFLS-DvHop兩種定位算法的錨節(jié)點比例對平均定位誤差的影響圖,根據(jù)圖中數(shù)據(jù)線的變化,可以看出當(dāng)網(wǎng)絡(luò)中錨節(jié)點比例為10%時,3D-WD-DVHop算法的平均定位誤差為0.52m,3D-WFLS-DvHop算法的平均定位誤差為0.395m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.125m;當(dāng)錨節(jié)點比例為40%時,3D-WD-DVHop的平均定位誤差為0.30m,3D-WFLS-DvHop定位算法的平均定位誤差為0.185m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.115m。仿真結(jié)果顯示在網(wǎng)絡(luò)中平均定位誤差隨錨節(jié)點比例的增大而呈下降趨勢,且改進后的3D-WFLS-DvHop定位算法平均定位誤差下降了約12.82%。
(2)節(jié)點通信半徑對平均定位精確度的影響
當(dāng)網(wǎng)絡(luò)中總節(jié)點個數(shù)為400、錨節(jié)點比例為40%時,3D-WD-DvHop和3D-WFLS-DvHop兩種算法的通信半徑對平均定位誤差的影響如圖4所示。

圖4 節(jié)點通信半徑對定位精確度的影響關(guān)系圖
圖4數(shù)據(jù)線的變化中可以看出,當(dāng)節(jié)點通信半徑為10m時,3D-WD-DVHop算法的平均定位誤差為0.59m,3D-WFLS-DvHop算法的平均定位誤差為0.48m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.11m;當(dāng)節(jié)點通信半徑為40m時,3D-WD-DVHop算法的平均定位誤差為0.41m,3D-WFLS-DvHop算法的平均定位誤差為0.26m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.15m。仿真結(jié)果顯示在網(wǎng)絡(luò)中平均定位誤差隨著通信半徑的增大呈現(xiàn)平緩下降的趨勢,且改進的3D-WFLS-DvHop定位算法定位誤差下降了約15.06%。
(3)網(wǎng)絡(luò)中總節(jié)點個數(shù)對平均定位誤差的影響
將節(jié)點通信半徑固定為30m、錨節(jié)點比例固定為40%時,同時對3D-WD-DvHop和3D-WFLSDvHop兩種算法進行仿真,兩種算法的總節(jié)點個數(shù)對平均定位誤差的影響如圖5所示。

圖5 總節(jié)點個數(shù)對定位精確度的影響
圖5表示3D-WD-DVHop、3D-WFLS-DvHop兩種定位算法的總節(jié)點個數(shù)對平均定位誤差的影響圖,根據(jù)圖中數(shù)據(jù)線的變化,可以看出當(dāng)總節(jié)點個數(shù)為100時,3D-WFLS-DvHop算法的平均定位誤差為0.30m,3D-WD-DVHop算法的平均定位誤差為0.43m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的平均定位誤差低了0.13m;當(dāng)總節(jié)點個數(shù)為400時,3D-WFLS-DvHop算法的平均定位誤差為0.25m,3D-WD-DVHop算法的平均定位誤差為0.38m,3D-WFLS-DvHop算法的平均定位誤差比3D-WD-DVHop算法的平均定位誤差低了0.13m。仿真結(jié)果顯示在網(wǎng)絡(luò)中平均定位誤差隨著節(jié)點總數(shù)的增大呈現(xiàn)平緩下降的趨勢,且改進的定位算法定位誤差下降了約11.94%。
將3D-WD-DVHop定位算法與改進的3D-WFLS-DvHop定位算法進行仿真,得到錨節(jié)點比例、通信半徑、總節(jié)點個數(shù)對平均定位誤差的影響如表1。從中得到經(jīng)改進后的3D-WFLS-DvHop定位算法誤差較小,穩(wěn)定性更好。

表1 定位算法的平均定位誤差
節(jié)點定位技術(shù)是無線傳感器網(wǎng)絡(luò)中不可或缺的一個重要分支,無線傳感器網(wǎng)絡(luò)在節(jié)點定位偏差較大的情況下,將會導(dǎo)致采集到的信息不夠準(zhǔn)確等,進而增大了用戶終端處理數(shù)據(jù)的難度,甚至對用戶終端造成誤導(dǎo)的現(xiàn)象。針對這個現(xiàn)象,提出了一種對基于3D-WD-DVHop定位算法的改進算法,通過對定位誤差給予不同的權(quán)重、對質(zhì)心算法加權(quán)因子進行優(yōu)化以及用最小二乘法距離擬合原理對未知節(jié)點坐標(biāo)進行修正的方法極大的降低了節(jié)點的定位誤差。實驗結(jié)果表明在考慮錨節(jié)點比例對平均定位誤差的影響時,改進的算法使平均定位誤差降低了約12.7%;在考慮通信半徑對平均定位誤差的影響時,改進定位算法的定位誤差降低了約13.4%;在考慮節(jié)點總數(shù)對平均定位誤差的影響時,改進定位算法的定位誤差降低了約11.9%。同時,在200個節(jié)點的相同網(wǎng)絡(luò)下改進后的算法與原算法能量消耗情況基本相同,實現(xiàn)了改進算法3D-WFLS-DvHop的目的。