高瑞娟,陳桂芬,李鵬
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)[1,2]是指在監(jiān)測區(qū)域內(nèi)由大量節(jié)點(diǎn)組成的網(wǎng)絡(luò)。在監(jiān)測區(qū)域內(nèi),WSN不間斷地將感知、采集和加工后的信息廣播到網(wǎng)絡(luò)中,使網(wǎng)絡(luò)用戶終端接收到可靠信息。WSN作為物聯(lián)網(wǎng)時(shí)代重要技術(shù)之一,被應(yīng)用到許多領(lǐng)域,例如工業(yè)領(lǐng)域、商業(yè)領(lǐng)域、航空領(lǐng)域、戰(zhàn)場探查敵情、深山老林監(jiān)控等。
在無線傳感器網(wǎng)絡(luò)中,主要技術(shù)有節(jié)點(diǎn)定位技術(shù)、網(wǎng)絡(luò)覆蓋技術(shù)、時(shí)間同步技術(shù)和路由協(xié)議技術(shù)等。其中,節(jié)點(diǎn)定位技術(shù)對(duì)節(jié)點(diǎn)收集信息的有效性、準(zhǔn)確性起到?jīng)Q定性的作用。為保證監(jiān)測區(qū)域內(nèi)節(jié)點(diǎn)收集信息的可靠性,將對(duì)節(jié)點(diǎn)定位技術(shù)進(jìn)行研究。目前,隨著市場的需求,已有學(xué)者將節(jié)點(diǎn)定位技術(shù)從二維空間上升到三維空間[3,4]進(jìn)行研究,但在定位精度上仍有上升空間。綜上所述,對(duì)三維空間中的節(jié)點(diǎn)定位技術(shù)進(jìn)行研究具有一定的價(jià)值。
目前,上升到三維空間中的節(jié)點(diǎn)定位算法有:3D-DV-Hop(Three-Dimensional Distance Vector-Hop)[5]、APIS(Approximate Point in Sphere)[6]、Landscape-3D(Landscape Three-Dimensional)[7]等,其中,3D-DV-Hop定位算法計(jì)算難度相對(duì)較低,計(jì)算方法簡單易懂。所以有許多學(xué)者將其進(jìn)行改進(jìn),例如加權(quán)三維DV-Hop算法[8]、3D-iDV-Hop算法[9]、基于信標(biāo)節(jié)點(diǎn)密度的三維DV-Hop改進(jìn)算法[10]等。但依舊存在一定誤差,對(duì)此提出3D-WFLS-DvHop定位算法,通過賦予誤差權(quán)重、質(zhì)心加權(quán)因子優(yōu)化以及最小二乘法距離擬合原理對(duì)未知節(jié)點(diǎn)坐標(biāo)進(jìn)行修正的方法降低節(jié)點(diǎn)定位誤差,同時(shí)與原算法能耗基本相同。
3D-WD-DVHop(Weighted Three-Dimensional Distance Vector-Hop Localization Algorithm)作為一種非測距定位算法,利用錨節(jié)點(diǎn)之間的距離不同對(duì)錨節(jié)點(diǎn)賦予不同的權(quán)值來實(shí)現(xiàn)待定位節(jié)點(diǎn)的定位。具體定位算法步驟介紹如下:
求網(wǎng)絡(luò)中所有錨節(jié)點(diǎn)間的初次平均跳距時(shí),用錨節(jié)點(diǎn)間坐標(biāo)之差除以錨節(jié)點(diǎn)間的跳數(shù)可得:
式中,3DHopsizeij為網(wǎng)絡(luò)中錨節(jié)點(diǎn)之間的初次平均跳距,(xi,yi,zi)、(xj,yj,zj)分別為錨節(jié)點(diǎn)i、j在三維網(wǎng)絡(luò)空間中的位置坐標(biāo),hij為三維網(wǎng)絡(luò)空間中錨節(jié)點(diǎn)i和錨節(jié)點(diǎn)j的跳數(shù)。
在計(jì)算三維網(wǎng)絡(luò)中錨節(jié)點(diǎn)間的平均跳距時(shí),錨節(jié)點(diǎn)彼此之間的距離越近,那么對(duì)計(jì)算當(dāng)前錨節(jié)點(diǎn)間平均跳距所起的作用越大,就應(yīng)當(dāng)賦予更重的權(quán)值。則可得知:
式中,wij是錨節(jié)點(diǎn)j對(duì)錨節(jié)點(diǎn)i作用的權(quán)值;hij為錨節(jié)點(diǎn)i與錨節(jié)點(diǎn)j之間的跳數(shù)。
將計(jì)算初次平均跳距公式(1)和錨節(jié)點(diǎn)間的權(quán)值公式(2)合并,可得出錨節(jié)點(diǎn)間在三維空間中的平均跳距如下式所示:
進(jìn)一步可得出未知節(jié)點(diǎn)距錨節(jié)點(diǎn)i的距離為3DWdi:
最后,經(jīng)過以上計(jì)算后,若未知節(jié)點(diǎn)能夠獲得其周圍四個(gè)或四個(gè)以上錨節(jié)點(diǎn)的距離信息,且這些錨節(jié)點(diǎn)處于不共面的狀態(tài),那么就可以用數(shù)學(xué)方法中四邊測量法獲得未知節(jié)點(diǎn)的坐標(biāo)。3D-WD-DVHop定位算法與其他三維空間中的定位算法相比,具有算法無需測距和覆蓋面較大的優(yōu)點(diǎn),且算法簡單決定了3D-WD-DVHop定位算法具有較低的能耗,而能量消耗是判斷定位算法是否可取的關(guān)鍵性能指標(biāo),所以3D-WD-DVHop定位算法具有較好的研究價(jià)值。此定位算法對(duì)定位要求一般的定位有較好表現(xiàn),但對(duì)定位精度要求較高的定位適應(yīng)性一般。因此,3D-WD-DVHop定位算法還有較高的改進(jìn)空間。
綜上所述,提出了一種改進(jìn)的3D-WFLS-DvHop(Weight and Fitting of LeastSquare Method Three-Dimensional Distance Vector-Hop Localization Algorithm)定位算法。首先,對(duì)初次定位后的定位誤差給予不同的權(quán)重,并在求未知節(jié)點(diǎn)坐標(biāo)時(shí)對(duì)質(zhì)心算法加權(quán)因子進(jìn)行優(yōu)化;其次,用最小二乘法的距離擬合原理對(duì)未知節(jié)點(diǎn)坐標(biāo)進(jìn)行修正;最后,改進(jìn)算法與原算法具有相同的能耗。
3D-WD-DVHop用錨節(jié)點(diǎn)間坐標(biāo)之差除以錨節(jié)點(diǎn)間跳數(shù)作為錨節(jié)點(diǎn)間的平均跳距,但由于網(wǎng)絡(luò)中錨節(jié)點(diǎn)分布的隨機(jī)性與不均勻性,最終導(dǎo)致計(jì)算出的未知節(jié)點(diǎn)坐標(biāo)位置偏差較大。針對(duì)這個(gè)問題,3D-WFLS-DvHop定位算法將未知節(jié)點(diǎn)坐標(biāo)的誤差進(jìn)行加權(quán)處理,并在求未知節(jié)點(diǎn)坐標(biāo)時(shí)對(duì)質(zhì)心算法加權(quán)因子進(jìn)行優(yōu)化。未知節(jié)點(diǎn)的定位誤差示意圖如圖1所示。
圖1 未知節(jié)點(diǎn)定位誤差示意圖
將公式(12)進(jìn)行轉(zhuǎn)換得:
將公式(14)中S(α1,β1)對(duì)參數(shù)α1、α2求偏導(dǎo),S(α2,β2)對(duì)參數(shù)β1、β2求偏導(dǎo)可得:
3D-WFLS-DvHop定位算法過程如下:
(1)在三維空間的監(jiān)測區(qū)域中隨機(jī)部署傳感器節(jié)點(diǎn)(包括錨節(jié)點(diǎn)、未知節(jié)點(diǎn)),網(wǎng)絡(luò)中錨節(jié)點(diǎn)周期性的向網(wǎng)絡(luò)中播送自身的信息,未知節(jié)點(diǎn)接收到錨節(jié)點(diǎn)的信息后,將信息進(jìn)行加工并廣播到網(wǎng)絡(luò)中。
為驗(yàn)證3D-WFLS-DvHop定位算法的有效性,基于MATLAB-R2014實(shí)驗(yàn)平臺(tái)進(jìn)行性能分析,從錨節(jié)點(diǎn)比例、通信半徑以及總節(jié)點(diǎn)個(gè)數(shù)三個(gè)性能評(píng)價(jià)指標(biāo)進(jìn)行仿真,對(duì)提出的3D-WFLS-DvHop定位算法與3D-WD-DVHop定位算法進(jìn)行比較分析。
在邊長為100m的三維環(huán)境監(jiān)測區(qū)域內(nèi)隨機(jī)生成400個(gè)節(jié)點(diǎn),為了仿真結(jié)果的可靠性,進(jìn)行100次仿真。其中,通信半徑為30m,錨節(jié)點(diǎn)隨機(jī)產(chǎn)生40個(gè),用符號(hào)“*”表示;未知節(jié)點(diǎn)隨機(jī)產(chǎn)生360個(gè),用符號(hào)“°”表示。錨節(jié)點(diǎn)與未知節(jié)點(diǎn)的隨機(jī)分布如圖2所示。
圖2 三維空間的節(jié)點(diǎn)隨機(jī)分布圖
三維空間中,平均定位誤差的衡量標(biāo)準(zhǔn)如式(16)所示:
(1)錨節(jié)點(diǎn)比例對(duì)平均定位誤差的影響
在邊長為100m的三維監(jiān)測環(huán)境區(qū)域內(nèi),節(jié)點(diǎn)通信半徑固定為30m,隨機(jī)分布400個(gè)節(jié)點(diǎn),錨節(jié)點(diǎn)比例從10%到40%,同時(shí)對(duì)3D-WD-DvHop和3D-WFLS-DvHop兩種算法進(jìn)行仿真,兩種算法的錨節(jié)點(diǎn)比例對(duì)平均定位誤差的影響如下圖3所示。
圖3 錨節(jié)點(diǎn)比例對(duì)平均定位誤差的影響關(guān)系圖
圖3表示3D-WD-DVHop、3D-WFLS-DvHop兩種定位算法的錨節(jié)點(diǎn)比例對(duì)平均定位誤差的影響圖,根據(jù)圖中數(shù)據(jù)線的變化,可以看出當(dāng)網(wǎng)絡(luò)中錨節(jié)點(diǎn)比例為10%時(shí),3D-WD-DVHop算法的平均定位誤差為0.52m,3D-WFLS-DvHop算法的平均定位誤差為0.395m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.125m;當(dāng)錨節(jié)點(diǎn)比例為40%時(shí),3D-WD-DVHop的平均定位誤差為0.30m,3D-WFLS-DvHop定位算法的平均定位誤差為0.185m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.115m。仿真結(jié)果顯示在網(wǎng)絡(luò)中平均定位誤差隨錨節(jié)點(diǎn)比例的增大而呈下降趨勢,且改進(jìn)后的3D-WFLS-DvHop定位算法平均定位誤差下降了約12.82%。
(2)節(jié)點(diǎn)通信半徑對(duì)平均定位精確度的影響
當(dāng)網(wǎng)絡(luò)中總節(jié)點(diǎn)個(gè)數(shù)為400、錨節(jié)點(diǎn)比例為40%時(shí),3D-WD-DvHop和3D-WFLS-DvHop兩種算法的通信半徑對(duì)平均定位誤差的影響如圖4所示。
圖4 節(jié)點(diǎn)通信半徑對(duì)定位精確度的影響關(guān)系圖
圖4數(shù)據(jù)線的變化中可以看出,當(dāng)節(jié)點(diǎn)通信半徑為10m時(shí),3D-WD-DVHop算法的平均定位誤差為0.59m,3D-WFLS-DvHop算法的平均定位誤差為0.48m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.11m;當(dāng)節(jié)點(diǎn)通信半徑為40m時(shí),3D-WD-DVHop算法的平均定位誤差為0.41m,3D-WFLS-DvHop算法的平均定位誤差為0.26m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的定位誤差低了0.15m。仿真結(jié)果顯示在網(wǎng)絡(luò)中平均定位誤差隨著通信半徑的增大呈現(xiàn)平緩下降的趨勢,且改進(jìn)的3D-WFLS-DvHop定位算法定位誤差下降了約15.06%。
(3)網(wǎng)絡(luò)中總節(jié)點(diǎn)個(gè)數(shù)對(duì)平均定位誤差的影響
將節(jié)點(diǎn)通信半徑固定為30m、錨節(jié)點(diǎn)比例固定為40%時(shí),同時(shí)對(duì)3D-WD-DvHop和3D-WFLSDvHop兩種算法進(jìn)行仿真,兩種算法的總節(jié)點(diǎn)個(gè)數(shù)對(duì)平均定位誤差的影響如圖5所示。
圖5 總節(jié)點(diǎn)個(gè)數(shù)對(duì)定位精確度的影響
圖5表示3D-WD-DVHop、3D-WFLS-DvHop兩種定位算法的總節(jié)點(diǎn)個(gè)數(shù)對(duì)平均定位誤差的影響圖,根據(jù)圖中數(shù)據(jù)線的變化,可以看出當(dāng)總節(jié)點(diǎn)個(gè)數(shù)為100時(shí),3D-WFLS-DvHop算法的平均定位誤差為0.30m,3D-WD-DVHop算法的平均定位誤差為0.43m,3D-WFLS-DvHop算法的定位誤差比3D-WD-DVHop算法的平均定位誤差低了0.13m;當(dāng)總節(jié)點(diǎn)個(gè)數(shù)為400時(shí),3D-WFLS-DvHop算法的平均定位誤差為0.25m,3D-WD-DVHop算法的平均定位誤差為0.38m,3D-WFLS-DvHop算法的平均定位誤差比3D-WD-DVHop算法的平均定位誤差低了0.13m。仿真結(jié)果顯示在網(wǎng)絡(luò)中平均定位誤差隨著節(jié)點(diǎn)總數(shù)的增大呈現(xiàn)平緩下降的趨勢,且改進(jìn)的定位算法定位誤差下降了約11.94%。
將3D-WD-DVHop定位算法與改進(jìn)的3D-WFLS-DvHop定位算法進(jìn)行仿真,得到錨節(jié)點(diǎn)比例、通信半徑、總節(jié)點(diǎn)個(gè)數(shù)對(duì)平均定位誤差的影響如表1。從中得到經(jīng)改進(jìn)后的3D-WFLS-DvHop定位算法誤差較小,穩(wěn)定性更好。
表1 定位算法的平均定位誤差
節(jié)點(diǎn)定位技術(shù)是無線傳感器網(wǎng)絡(luò)中不可或缺的一個(gè)重要分支,無線傳感器網(wǎng)絡(luò)在節(jié)點(diǎn)定位偏差較大的情況下,將會(huì)導(dǎo)致采集到的信息不夠準(zhǔn)確等,進(jìn)而增大了用戶終端處理數(shù)據(jù)的難度,甚至對(duì)用戶終端造成誤導(dǎo)的現(xiàn)象。針對(duì)這個(gè)現(xiàn)象,提出了一種對(duì)基于3D-WD-DVHop定位算法的改進(jìn)算法,通過對(duì)定位誤差給予不同的權(quán)重、對(duì)質(zhì)心算法加權(quán)因子進(jìn)行優(yōu)化以及用最小二乘法距離擬合原理對(duì)未知節(jié)點(diǎn)坐標(biāo)進(jìn)行修正的方法極大的降低了節(jié)點(diǎn)的定位誤差。實(shí)驗(yàn)結(jié)果表明在考慮錨節(jié)點(diǎn)比例對(duì)平均定位誤差的影響時(shí),改進(jìn)的算法使平均定位誤差降低了約12.7%;在考慮通信半徑對(duì)平均定位誤差的影響時(shí),改進(jìn)定位算法的定位誤差降低了約13.4%;在考慮節(jié)點(diǎn)總數(shù)對(duì)平均定位誤差的影響時(shí),改進(jìn)定位算法的定位誤差降低了約11.9%。同時(shí),在200個(gè)節(jié)點(diǎn)的相同網(wǎng)絡(luò)下改進(jìn)后的算法與原算法能量消耗情況基本相同,實(shí)現(xiàn)了改進(jìn)算法3D-WFLS-DvHop的目的。