摘 要: DV-Hop算法適用于礦下節(jié)點分布不均勻的環(huán)境,現(xiàn)有對DV-Hop算法的改進(jìn)大多數(shù)是為了減少定位過程中的誤差。提出了一種在DV-Hop算法基礎(chǔ)上用縮小定位范圍的方法來提高定位精度的方法,該算法保留了DV-Hop算法節(jié)點間通信量少的優(yōu)點,適合礦下的網(wǎng)絡(luò)場景。仿真結(jié)果表明,改進(jìn)后的算法大大提高了無線傳感器網(wǎng)絡(luò)節(jié)點的定位精度。
關(guān)鍵詞: DV-Hop;無線傳感器網(wǎng)絡(luò);煤礦;人員定位
隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,通信技術(shù)及無線定位技術(shù)也迅速發(fā)展起來。伴隨信息時代的到來,無線定位技術(shù)被廣泛應(yīng)用于人員定位、救援等領(lǐng)域。我國礦難頻繁發(fā)生,這為國家和人民帶來了巨大的損失,所以礦下救援成為國家和煤礦企業(yè)非常重視的一個問題。礦下救援主要是對礦下人員的救援,其過程主要是確定礦下人員的準(zhǔn)確位置。無線定位技術(shù)的發(fā)展為礦下救援帶來了方便,它能大大加快救援速度?,F(xiàn)有的定位技術(shù)在實際應(yīng)用中還有待研究,為了進(jìn)一步改善其技術(shù),定位算法的選擇至關(guān)重要。現(xiàn)有的定位算法有基于距離的算法(RSSI、TOA/TDOA和AOA)和非基于距離的算法(質(zhì)心、DV-Hop、APIT、Amorphous、凸規(guī)劃)。
DV-Hop節(jié)點定位算法由于對信標(biāo)節(jié)點比例要求較少,定位精度較高,從而可大大降低網(wǎng)絡(luò)的布置成本。以往對DV-Hop算法的改進(jìn)有:結(jié)合ZigBee技術(shù)來組建無線通信網(wǎng)絡(luò);與加權(quán)質(zhì)心相結(jié)合;與RSSI算法結(jié)合等。文本在分析DV-Hop算法的誤差成因后,在保留其算法簡單、不依賴于測距誤差優(yōu)點的基礎(chǔ)上對其進(jìn)行了改進(jìn)。本文根據(jù)礦上地理位置進(jìn)行劃分范圍,以縮小查找未知節(jié)點的單位來提高定位精度。
1 DV-Hop定位算法
1.1 DV-Hop算法的基本思想
DV- Hop算法由Niculescu等人提出,其基本思想是將未知節(jié)點和錨節(jié)點之間的距離用兩者之間的跳數(shù)和最近錨節(jié)點的平均跳距的乘積表示, 當(dāng)未知節(jié)點獲得與3個或更多錨節(jié)點的距離時進(jìn)行三邊測量定位。其具體過程分為以下三步:
(1)通過節(jié)點之間的信息交換,使網(wǎng)絡(luò)中的每個未知節(jié)點獲取到信標(biāo)節(jié)點的最小跳數(shù)。
(2)在已知信標(biāo)節(jié)點的位置和它們到未知節(jié)點的最小跳數(shù)后,利用式(1)計算出網(wǎng)絡(luò)中平均每跳的距離,然后計算未知節(jié)點到每個信標(biāo)節(jié)點的跳段距離。
1.3 現(xiàn)有改進(jìn)的DV-Hop算法
參考文獻(xiàn)[2]中,王新生等人提出了使用多個錨節(jié)點估算的平均跳距并且采用加權(quán)平均跳距代替?zhèn)鹘y(tǒng)算法中的平均跳距的改進(jìn)算法。參考文獻(xiàn)[3]中,沈明玉等提出了一種基于平均跳距和估計距離的改進(jìn)的DV-Hop算法。該算法考慮了未知節(jié)點到參考節(jié)點的路徑與參考節(jié)點間的路徑可能存在重合或部分重合這一特性,對平均跳距進(jìn)行修改,并利用誤差對距離進(jìn)行修正。參考文獻(xiàn)[4]~[5]中,周小波、呂振等提出了基于RSSI的改進(jìn)型DV-Hop算法。
2 改進(jìn)DV-Hop算法
對提高定位精度的一個有效方法就是縮小查找范圍,從而減小定位誤差。以往的算法應(yīng)用于整個區(qū)域,而本文是將所有的節(jié)點進(jìn)行分類,將查找的區(qū)域分成多塊,再在未知節(jié)點所在的那塊區(qū)域應(yīng)用DV-Hop算法來確定未知節(jié)點的位置。具體步驟如下:
(1)將礦下整個區(qū)域看成是一個長方形,那么未知節(jié)點就在這個長方形范圍內(nèi)。把信標(biāo)節(jié)點均勻分布在這個長方形區(qū)域內(nèi),使其整個區(qū)域都能被信號覆蓋(此區(qū)域內(nèi)的每個節(jié)點至少能接收到1個信標(biāo)節(jié)點廣播的信號)。
(2)導(dǎo)致DV-Hop算法定位精度不高的一個主要原因就是對平均跳距的計算存在很大的誤差,本文利用RSSI測距技術(shù)來計算平均跳距。
未知節(jié)點收集鄰節(jié)點信息,選出RSSI最小值并確定此值所屬的信標(biāo)節(jié)點。如果這個信標(biāo)節(jié)點在邊界上,則另外選出與這個信標(biāo)節(jié)點最相鄰的3個信標(biāo)節(jié)點構(gòu)成一個新的區(qū)域;如果這個信標(biāo)節(jié)點在其內(nèi)部,則選出與這個信標(biāo)節(jié)點最相鄰的4個信標(biāo)節(jié)點構(gòu)成一個新的四邊形區(qū)域。
(3)以9個信標(biāo)節(jié)點為例,位置分別在長方形的頂點、中心和四邊的中點處,如圖2所示。如果測出RSSI最小值信標(biāo)節(jié)點是1,則選擇1、2、8、9或1、7、8、9四個信標(biāo)節(jié)點構(gòu)成四邊形區(qū)域(一般礦下是非常窄的通道,選1、7、8、9比較合理);如果是2,則選取1、3、9三個信標(biāo)節(jié)點構(gòu)成三角形區(qū)域;如果是9,則選取2、4、6、8這樣的信標(biāo)節(jié)點構(gòu)成四邊形區(qū)域。
(4)對已知坐標(biāo)的節(jié)點進(jìn)行歸類。歸類方法:判定已知節(jié)點是否在新構(gòu)成的多邊形區(qū)域內(nèi),若在,則保留這個節(jié)點作為新的信標(biāo)節(jié)點;否則放棄。如圖2所示,可以把已知節(jié)點歸類到A、B、C、D四個區(qū)域中。
(5)在未知節(jié)點所在的區(qū)域中,把已知信息的未知節(jié)點當(dāng)做信標(biāo)節(jié)點,采用基本DV-Hop算法來確定未知節(jié)點的位置。
3 實驗及仿真結(jié)果
為了驗證本文算法的可行性,使用Matlab7.0作為仿真工具進(jìn)行仿真,并對仿真結(jié)果進(jìn)行分析。仿真環(huán)境是在100 m×100 m的正方形范圍內(nèi)[6],隨機產(chǎn)生191個未知傳感器網(wǎng)絡(luò)節(jié)點和9個確定的信標(biāo)節(jié)點,節(jié)點的通信距離為15 m。仿真結(jié)果數(shù)據(jù)取自20次仿真的平均值。初始節(jié)點分布圖如圖3所示。
縮小范圍后,節(jié)點分布圖如圖4所示。
節(jié)點分類后,保留4個固定的信標(biāo)節(jié)點,其余54個未知節(jié)點隨機分布。其中,也可將在其范圍內(nèi)的已知節(jié)點當(dāng)做新的信標(biāo)節(jié)點,這樣可大大提高對未知節(jié)點的定位精度。
當(dāng)把隨機給出的未知節(jié)點分類后,得出54個未知節(jié)點,在其范圍內(nèi)隨機定義5個已知的鄰節(jié)點和4個固定的信標(biāo)節(jié)點作為新的信標(biāo)節(jié)點。圖5所示為在縮小的范圍內(nèi)當(dāng)有9個信標(biāo)節(jié)點、54個未知節(jié)點時,每個未知節(jié)點的誤差。
圖6是在通信距離為50 m時的平均定位誤差圖,從圖中可以看出隨著信標(biāo)節(jié)點的增加,未知節(jié)點的定位誤差會相對減少。與原始的DV-Hop算法相比,改進(jìn)后的算法定位誤差減少了近20%。改進(jìn)后將4個固定節(jié)點當(dāng)做是信標(biāo)節(jié)點,然后隨著隨機增加信標(biāo)節(jié)點來確定定位誤差。以信標(biāo)節(jié)點占全部節(jié)點的比例作為圖中的橫坐標(biāo),以未知節(jié)點的平均誤差作為縱坐標(biāo)。
介于礦下的特殊環(huán)境,本文介紹了一種基于DV-Hop的改進(jìn)后的節(jié)點定位算法,在保留傳統(tǒng)DV-Hop算法計算簡單、通信開銷小的優(yōu)點的基礎(chǔ)上,用縮小定位范圍的方法來提高定位精度。本文先對未知節(jié)點進(jìn)行模糊定位,確定未知節(jié)點在哪塊區(qū)域內(nèi),再把已知坐標(biāo)的節(jié)點當(dāng)成信標(biāo)節(jié)點進(jìn)行分類,最后在縮小定位范圍內(nèi)使用DV-Hop算法對未知節(jié)點進(jìn)行定位。實驗結(jié)果證明,此方法大大提高了定位精度,很適合于煤礦快速查找人員所在的位置。
參考文獻(xiàn)
[1] 倪海燕,應(yīng)祥岳,簡家文,等.無線傳感器網(wǎng)絡(luò)的自身定位算法研究[J].寧波大學(xué)學(xué)報,2009,22(1):7-11.
[2] 王新生,趙衍靜,李海濤.基于DV-Hop定位算法的改進(jìn)研究[J].計算機科學(xué),2011,38(2):76-78.
[3] 沈明玉,張寅.基于改進(jìn)的平均跳距和估計距離的DV-Hop定位算法[J].計算機應(yīng)用研究,2011,28(2):648-650.
[4] 周小波,喬鋼柱,曾建潮.無線傳感器網(wǎng)絡(luò)中基于RSSI的加權(quán)DV-HOP定位方法[J].計算機工程與應(yīng)用,2011,18(4):93-96.
[5] 呂振,李亞杰,孫延飛,等.基于DV-Hop的修正和改進(jìn)定位算法[J].傳感器與微系統(tǒng),2008,29(8):31-33.
[6] 楊小瑩,張萬禮,房愛東.一種改進(jìn)的DV-Hop定位算法[J].宿州學(xué)院學(xué)報,2011,18(4):23-25.