XIANG Mantian,WANG Sheng,YANG Youhua(.SchoolofSoftware,NanchangUniversity,Nanchang33009,China;.SchoolofInformationEngineering,NanchangUniversity,Nanchang33003,China)
?
An Improved DV-Hop Localization Algorithm Based on Threshold Mechanism and Correcting Distance for Wireless Sensor Networks*
XIANG Mantian1*,WANG Sheng1,YANG Youhua2
(1.SchoolofSoftware,NanchangUniversity,Nanchang330029,China;2.SchoolofInformationEngineering,NanchangUniversity,Nanchang330031,China)
In the wireless sensor network DV-Hop localization algorithm,the location of unknown nodes only consid?ers the average hop distance from its nearest anchor node,which is used to multiply the number of hops to replace the real distance but thus,it will lead to large positioning errors.This paper proposes a high-accuracy localization al?gorithm TMCD-DV-Hop,which is a developed DV-Hop algorithm of relative high accuracy,based upon threshold mechanism and distance correction and the developed algorithm firstly calculates hop thresholds,and the effect of the other beacon nodes lying outside the nearest anchor node in the local range and global range is considered,thus,best corrected average hop distance has been chosen to estimate the distance,and an estimated coordinate is gained by centroid algorithm after the combinatorial optimization of anchor nodes within the single-hop communicative radi?us,meanwhile,another estimated coordinate is gained by weighted least-squares method.At last arithmetic mean of two estimated coordinates is considered as orientation coordinate for unknown nodes.Simulation experiment mani?fests that in the same network environment,developed TMCD-DV-Hop algorithm could better lower down position?ing errors than DV-Hop in the end the positioning accuracy is elevated.
wireless sensor network;DV-Hop algorithm;threshold mechanism;corrected average hop distance
無線傳感器網(wǎng)絡WSN(Wireless Sensor Net?work)是由大量的多功能,低功耗,低成本,能夠感知外界特性的傳感器節(jié)點組成[1],這些節(jié)點隨機部署或撒在監(jiān)測區(qū)域內(nèi),它們之間通過無線通信的方式形成一個多跳自組織網(wǎng)絡[2]。節(jié)點的定位技術(shù)是無線傳感器網(wǎng)絡應用中的關(guān)鍵技術(shù)之一[3],根據(jù)在定位過程中是否需要測量節(jié)點間的距離,可將無線傳感器網(wǎng)絡定位算法分為測距(Range-based)定位算法和非測距(Range-free)定位算法[4]。在WSN中非測距定位算法備受關(guān)注,其中DV-Hop[5]定位算法因有簡單、經(jīng)濟、高適用性和高效性等特點而得到了廣泛應用,但其也有定位誤差較大的不足,如在網(wǎng)絡平均連通度為10,錨節(jié)點密度為10%時,其定位誤差約為33%[6]。因此,本文將重點研究如何對DV-Hop算法進行改進,深入剖析DV-Hop算法定位過程中存在的不足,在不改變原始DV-Hop算法的基本框架和不增加額外硬件設備的前提下,提出了一種改進算法TMCD-DV-Hop,與原始的DV-Hop算法相比,TMCD-DV-Hop能有效地降低定位誤差。
DV-Hop定位算法是由Dragos Niculescu[5-6]等人根據(jù)全球定位系統(tǒng)GPS(Global Positioning System)定位思想和距離矢量路由機制提出的一種分布式非測距算法。DV-Hop算法受環(huán)境因素的影響小,也無需額外的測距設備,這些特點使DV-Hop算法適用于節(jié)點配置簡單,成本低和規(guī)模大的無線傳感器網(wǎng)絡。DV-Hop算法所需的錨節(jié)點數(shù)量較少,采用多跳的方式進行定位,下面對DV-Hop算法進行簡單描述。
1.1DV-Hop算法描述
DV-Hop定位算法主要分為以下三個階段:
①計算跳數(shù):錨節(jié)點通過洪泛(Flooding)方式廣播自身的坐標信息,其中初始跳數(shù)為0,未知節(jié)點接收并記錄到每個錨節(jié)點的最小跳數(shù),同時忽略到同一錨節(jié)點其他跳數(shù)較大的路徑,然后將跳數(shù)值加1,并轉(zhuǎn)發(fā)給鄰居節(jié)點。
②估算距離:設錨節(jié)點St的坐標為(xt,yt),它的鄰居錨節(jié)點Sk(k=1,2,…,Nk)的坐標為(xk,yk),每個錨節(jié)點根據(jù)獲得到的其它錨節(jié)點坐標和到它們的最小跳數(shù),通過式(1)來計算錨節(jié)點平均跳距Hopsize。
其中:htk是錨節(jié)點St和Sk之間的最小跳數(shù)。
③未知節(jié)點定位:未知節(jié)點根據(jù)到3個或3個以上錨節(jié)點的距離,利用三邊測量法或極大似然估計法計算自身坐標。
設未知節(jié)點X的坐標為(x,y),錨節(jié)點Sk(k=1,2,…,Nk)的坐標為(xk,yk),未知節(jié)點與錨節(jié)點間的距離為dk(k=1,2,…,Nk),則可得如下方程組:
把式(2)轉(zhuǎn)化為線性方程組:
通過對式(3)轉(zhuǎn)化,求出未知節(jié)點的坐標:
其中:
1.2DV-Hop算法誤差分析
①在錨節(jié)點采用式(1)計算平均跳距時,利用的是除自身外的其他所有錨節(jié)點,這樣得到的平均跳距能夠反映全局范圍內(nèi)的節(jié)點平均密度情況,但不能反映本錨節(jié)點局部范圍內(nèi)的情況。因此,在密度均勻的各向同性網(wǎng)絡中采用該方法得出的平均跳距與真實平均跳距間的誤差較小,但在密度不均勻的各向異性網(wǎng)絡中誤差將較大。
②當未知節(jié)點到錨節(jié)點的跳數(shù)≥2時,誤差將會累計[7],因此導致DV-Hop算法的估算距離與真實距離間存在較大的誤差,且誤差的大小與跳數(shù)成正比。
③在未知節(jié)點的定位階段,錨節(jié)點的迭代定位會使誤差積累。因為下一輪可能會在前一輪定位誤差的基礎上引入新的誤差而累計出更大誤差,當網(wǎng)絡規(guī)模較大時,累積誤差將會導致極大的定位誤差[8]。
1.3DV-Hop算法研究現(xiàn)狀
針對原始的DV-Hop算法存在定位誤差較大的問題,國內(nèi)外許多研究學者提出了大量對DV-Hop算法的改進方法。文獻[9]針對原始DV-Hop算法精度不高的問題,提出了一種ABDV-Hop(Artificial Bee Colony DV-Hop)算法,將魯棒性強、收斂速度快且全局尋優(yōu)性能優(yōu)異的人工蜂群算法應用于DV-Hop算法中。文獻[10]提出了一種基于簇內(nèi)RSSI測距的改進DV-Hop定位算法,借助RSSI測距技術(shù),該算法只校正一跳通信范圍內(nèi)的節(jié)點距離,而對于二至多跳不進行RSSI測距校正,這是由于RSSI受環(huán)境和障礙物等外界因素影響大,導致測距誤差大,并且RSSI的發(fā)射和接收都會消耗較多的能量,縮短節(jié)點壽命。文獻[11]提出了一種基于最小均方誤差準則求平均跳距的DV-Hop改進算法,算法對不同的錨節(jié)點采用不同的跳距來計算到它們的距離,利用未知節(jié)點與錨節(jié)點的范圍作為約束條件來優(yōu)化求得的節(jié)點位置。文獻[12]提出了一種基于跳數(shù)區(qū)域劃分的DV-Hop改進算法,引入了RSSI測距技術(shù)和限跳機制,優(yōu)化了參與定位錨節(jié)點組合,最后采用了多次三邊測量法,用質(zhì)心法確定未知節(jié)點的坐標。上述方法都能在一定的程度上減小原始DV-Hop算法的定位誤差,但仍存在進一步提高定位精度的改進空間。
2.1TMCD-DV-Hop算法
TMCD-DV-Hop算法針對原始DV-Hop算法定位精度較低的不足做了改進,整個算法的流程如下所述:
①閾值取值設定
假設在L×L的定位區(qū)域中,未知節(jié)點Xi(i= 1,2,…,Ni),錨節(jié)點Sk(k=1,2,…,Nk)的坐標為(xk,yk),節(jié)點通信半徑為R,跳數(shù)閾值V的取值與通信半徑、錨節(jié)點密度密切相關(guān),一般來說V由式(5)確定[13]。
其中:ρ是錨節(jié)點密度。為提高節(jié)點定位率和定位精度,V的取值通常要比理論值稍大一些,根據(jù)大量仿真實驗結(jié)果表明,一般V的取值為2~5,即可達到理想的定位精度。
②平均跳距校正
在算法的距離估計階段,本文提出了另一種方法。如圖1所示,未知節(jié)點A不再使用最近錨節(jié)點B1的平均跳距來計算到各個錨節(jié)點的距離,而是每個錨節(jié)點的平均跳距都參與未知節(jié)點A的距離計算。當每個錨節(jié)點用式(1)算出平均跳距后,需要進一步校正。通過歐幾里得公式算出所有錨節(jié)點之間的距離,用錨節(jié)點之間的距離減去估計距離得到估計距離的誤差,然后除以總跳數(shù)得到單跳平均誤差,其計算方法如式(6)所示。然后根據(jù)式(7)計算校正之后的平均跳距,再乘以跳數(shù)得到到各錨節(jié)點的距離。經(jīng)過跳距校正之后,未知節(jié)點A的定位誤差明顯比原始算法的少。
則錨節(jié)點校正平均跳距為:
圖1 DV-Hop算法理論模型
當節(jié)點隨機分布在監(jiān)測區(qū)域中,網(wǎng)絡拓撲結(jié)構(gòu)不規(guī)則,所以未知節(jié)點定位需要考慮全局與局部范圍來校正平均跳距,選擇出最優(yōu)平均跳距以降低不同的網(wǎng)絡密度對錨節(jié)點平均跳距的誤差影響,使未知節(jié)點到錨節(jié)點的估計距離更加準確,從而提高定位精度。首先從全局范圍來考慮,把所有相互通信的錨節(jié)點按跳數(shù)n(1≤n≤V)分類記錄下來,計算出全局n跳的單跳平均跳距hˉn:
依據(jù)大量實驗表明,當錨節(jié)點跳數(shù)n>V,未知節(jié)點的定位從單個錨節(jié)點的局部范圍來考慮,遠比從全局范圍來考慮時的定位誤差小。把其他錨節(jié)點到未知節(jié)點按跳數(shù)n分類記錄,利用式(8)計算出錨節(jié)點局部n跳的單跳平均跳距hn。
一般情況下,定位誤差服從高斯分布,根據(jù)參數(shù)估計理論,作為估計子誤差的代價函數(shù),使用均方誤差比使用方差或偏差更為合理[14]。即通過式(9)求得估計子誤差的代價函數(shù)f1
綜上所述,依據(jù)閾值V的取值,未知節(jié)點使用選擇出的最佳合理平均跳距來計算到各個錨節(jié)點的距離比原始算法直接使用最近錨節(jié)點的平均跳距更為準確。計算方法如式(11)所示:
③未知節(jié)點定位
設未知節(jié)點Xi的坐標為(xui,yui),它到各個錨節(jié)點Sk(k=1,2,…,Nk)的距離為dik,其中dik是Xi利用式(11)計算得到的與錨節(jié)點Sk間的距離。
(a)用質(zhì)心算法求未知節(jié)點的估計坐標
為了準確的定位出未知節(jié)點,它單跳內(nèi)的錨節(jié)點比多跳引起的定位誤差要小很多,當未知節(jié)點Xi單跳范圍內(nèi)的錨節(jié)點個數(shù)m≥3時,將這些錨節(jié)點隨機組合成個三角形。每一個三角形都采用質(zhì)心算法得到未知節(jié)點的一個估計坐標,然后對以這些估計坐標為頂點的多邊形再用質(zhì)心算法求出Xi的估計坐標Xc:
其中:(xt,yt)是第t個三角形質(zhì)心的估計坐標。
(b)用加權(quán)最小二乘法求未知節(jié)點的估計坐標
為了使得定位準確,在定位階段引入加權(quán)最小二乘法。根據(jù)到錨節(jié)點估計距離的不同,引入不同的加權(quán)系數(shù),以提高定位精度。在實際應用中,加權(quán)系數(shù)Wk的取值與誤差的協(xié)方差有關(guān)。理論證明,當加權(quán)矩陣W取測量誤差方差陣的逆矩陣時可使估計誤差的方差最小,但實際應用中加權(quán)矩陣W的定義有待進一步改善。通常情況下,當節(jié)點間的跳數(shù)較大時,估計距離的誤差也較大,此時加權(quán)值應取小一些;當節(jié)點間的跳數(shù)較小時,估計距離的誤差也較小,此時加權(quán)值應取大一些[8]。因此,為了減小定位誤差,本文引入一個加權(quán)系數(shù)矩陣W:
圖2 TMCD-DV-Hop算法流程圖
最后未知節(jié)點Xi的定位坐標為:
TMCD-DV-Hop算法的整個流程如圖2所示。
為驗證TMCD-DV-Hop算法的性能,在Matlab中對DV-Hop算法和TMCD-DV-Hop算法進行對比,并對實驗數(shù)據(jù)進行具體分析,定位誤差用節(jié)點通信半徑歸一化后的節(jié)點平均定位誤差表示:
其中:N為未知節(jié)點的總數(shù);(xi,yi)為未知節(jié)點的真實坐標;(x?i,y?i)為未知節(jié)點的估計坐標;R為節(jié)點的通信半徑。
默認仿真參數(shù)為:在100 m×100 m的二維正方形平面內(nèi),隨機分布150個節(jié)點,其中錨節(jié)點比例為10%,節(jié)點通信半徑R=30 m。以下所有仿真實驗,未特別說明時,參數(shù)默認取以上的值。為減小節(jié)點隨機分布的影響,每種參數(shù)下默認將TMCDDV-Hop算法和DV-Hop算法各進行100次節(jié)點隨機分布的仿真,然后再求定位誤差的平均值。
3.1默認參數(shù)下的定位誤差
在默認仿真參數(shù)下進行一次仿真,得到如圖3的定位誤差圖。圖中未知節(jié)點的實際位置和估計位置間用直線相連,直線的長短可以直觀地表示定位誤差的大小。圖3(a)是DV-Hop算法的定位誤差圖,圖3(b)是TMCD-DV-Hop算法的定位誤差圖。
圖3 定義誤差圖
由圖3可知,圖3(b)中大部分節(jié)點的定位誤差線要比圖3(a)中的短,所以TMCD-DV-Hop算法中大部分節(jié)點的定位誤差要比DV-Hop算法小。因為TMCD-DV-Hop算法加入了閾值機制與平均跳距校正過程,所以圖3(b)中沒有節(jié)點超出WSN邊界。而DV-Hop算法在定位過程中,最近錨節(jié)點的平均跳距誤差對定位結(jié)果影響很大,當未知節(jié)點利用離它跳數(shù)大于2的錨節(jié)點的平均跳距去估計到錨節(jié)點的距離時,帶來的誤差也就越大。所以圖3(a)中節(jié)點定位誤差很大,甚至有些節(jié)點定位越界。圖3(a)中節(jié)點的平均定位誤差為0.335,圖3(b)中為0.243,TMCD-DVHop算法的定位誤差較DV-Hop算法減小了27.5%。
3.2不同通信半徑下定位結(jié)果的比較
在默認仿真參數(shù)下,其他參數(shù)不變,節(jié)點的通信半徑從20 m到40 m,TMCD-DV-Hop算法和DVHop算法的定位誤差如圖4所示。從圖中可以看到,隨著通信半徑的不斷增大,TMCD-DV-Hop算法和DV-Hop算法的定位誤差都在趨于減小,且TMCD-DV-Hop算法的定位誤差始終比DV-Hop算法小。當通信半徑R為20 m時,TMCD-DV-Hop算法的定位誤差較DV-Hop算法減小了17.5%;R為30 m時,減小了15.2%;R為40 m時,減小了11.5%;定位精度的提高始終明顯。主要原因是由于通信半徑的增大,節(jié)點定位覆蓋率增大,定位誤差就會減小,不過由圖可知,當通信半徑繼續(xù)增大時,定位精度的提高幅度有所減小,主要是通信半徑的增大影響了跳數(shù)的計數(shù),比如節(jié)點間單跳內(nèi)最遠通信范圍與最近通信范圍的估計距離值都一樣,必然就會導致計算估計距離的誤差增大,因此說明TMCD-DV-Hop算法更適合在通信半徑適中的情況下進行定位。
圖4 不同通信半徑下的定位誤差
3.3不同錨節(jié)點密度下定位結(jié)果的比較
在默認仿真參數(shù)下,其他參數(shù)不變,錨節(jié)點比例從8%增大到20%,TMCD-DV-Hop算法和DVHop算法的定位誤差如圖5所示。由圖得知,隨著錨節(jié)點比例的增大,TMCD-DV-Hop算法和DV-Hop算法的定位誤差都在趨于減小,且TMCD-DV-Hop算法的定位誤差始終比DV-Hop算法小。錨節(jié)點比例為8%時,TMCD-DV-Hop算法的定位誤差較DVHop算法減小了11.4%;為14%時,減小了21.9%;為20%時,減小了23.8%,定位精度的提高始終明顯。錨節(jié)點比例增大,單個錨節(jié)點對定位的影響就小,計算平均跳距帶來的誤差也就減小,同時單跳內(nèi)錨節(jié)點也較多,定位也就更準確,但隨著錨節(jié)點比例增大,定位成本也增大,當達到相同的定位精度時,TMCD-DV-Hop算法明顯較DV-Hop算法所需錨節(jié)點比例少、成本低。
圖5 不同錨節(jié)點密度下的定位誤差
3.4不同節(jié)點個數(shù)下定位結(jié)果的比較
在默認仿真參數(shù)下,其他參數(shù)不變,總節(jié)點數(shù)從100增大到200,TMCD-DV-Hop算法和DV-Hop算法的定位誤差如圖6所示。由圖得知,隨著總節(jié)點數(shù)的增大,TMCD-DV-Hop算法和DV-Hop算法的定位誤差都在減小,且TMCD-DV-Hop算法的定位誤差始終比DV-Hop算法小。總節(jié)點數(shù)為100時,TMCD-DV-Hop算法的定位誤差較DV-Hop算法減小了15.6%;為150時,減小了20.2%;為200時,減小了24.1%,定位精度的提高始終明顯。隨著節(jié)點個數(shù)的增加,節(jié)點通信半徑內(nèi)鄰居節(jié)點數(shù)將增多,跳數(shù)計算將更準確,而且網(wǎng)絡覆蓋率也會增大,那么在計算距離時誤差也將減小。在圖6中,總節(jié)點數(shù)越多,定位精度提高的幅度越大,TMCD-DV-Hop算法越優(yōu)于DV-Hop算法。
圖6 不同總節(jié)點數(shù)下的定位誤差
3.5歸一化平均定位覆蓋率結(jié)果的比較
為比較算法的性能,在仿真默認參數(shù)下,錨節(jié)點比例從8%增加到20%,TMCD-DV-Hop算法和DV-Hop算法的歸一化平均定位覆蓋率如圖7所示。從圖7可以看出,TMCD-DV-Hop算法和DVHop算法的定位覆蓋率都會隨著錨節(jié)點比例的增加而有所提高。TMCD-DV-Hop算法的覆蓋效果優(yōu)于DV-Hop算法,因為未知節(jié)點在進行定位之前,TMCD-DV-Hop算法根據(jù)閾值選擇最優(yōu)校正平均跳距來計算距離,降低了未知節(jié)點與錨節(jié)點之間估計距離的誤差,因而可以避免節(jié)點間距離誤差過大導致的節(jié)點無法定位情況的產(chǎn)生,同時還對參與定位的單跳通信半徑內(nèi)的錨節(jié)點進行組合優(yōu)化后,采用質(zhì)心算法得到一個估計坐標作為參考,因此大多數(shù)情況下,未知節(jié)點能夠很好的定位,提高了算法的定位覆蓋率。
圖7 歸一化平均定位覆蓋率曲線圖
DV-Hop算法采用離未知節(jié)點最近錨節(jié)點的平均跳距乘以最小跳數(shù)估算距離,由于節(jié)點的通信路徑大都是曲線,而真實距離是直線,因此用曲線估計距離代替直線真實距離會導致定位誤差。同時DV-Hop算法計算距離不考慮局部與全局的適用性、不同區(qū)域節(jié)點密度的隨機性和不均勻性,從而導致較大定位誤差。TMCD-DV-Hop改進算法的優(yōu)點在于:在不改變DV-Hop算法的總體框架下,在距離估計階段和未知節(jié)點定位階段進行改進:距離估計階段,考慮最近錨節(jié)點之外的其他錨節(jié)點在局部范圍和全局范圍的影響,依據(jù)閾值選擇最優(yōu)的校正平均跳距來估計距離;未知節(jié)點定位階段,對參與定位的單跳通信半徑內(nèi)錨節(jié)點組合進行優(yōu)化,以質(zhì)心法以及加權(quán)最小二乘法的兩個估計坐標算術(shù)平均值作為未知節(jié)點的定位坐標。
[1]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡[M].北京:清華大學出版社,2005:135-155.
[2]Jonathan B,Christopher T.Handbook of Sensor Networks[C]//Sto?jm Enovic II,ed.Proceedings of Localization in Sensor Networks. 2005:1-18.
[3]趙靈鍇,洪志全.基于無線傳感器網(wǎng)絡的DV-Hop定位算法的改進[J].計算機應用,2011,31(5):1189-1192.
[4]He T,Huang C D,Blum B M,et al.Range-Free Localization Schemes in Large Scale Sensor Networks[C]//Proceedings of The 9th Annual International Conference on Mobile Computing and Networking.San Diego:ACM Press,2003:81-95.
[5]Niculescu D,Nath B.Dv Based Positioning in Ad Hoc Networks[J].Telecommunication Systems,2003,22(1/2/3/4):267-280.
[6]Niculescu D,Nath B.Ad Hoc Positioning System(APS)Using AOA[C]//Infocom 2003.22nd Annual Joint Conference of the IEEE Computer and Communications.San Francisco,USA,IEEE Societies,2003(3):1734-1743.
[7]毛科技,趙小敏,何文秀,等.WSN中基于區(qū)域劃分的半自動DV-Hop定位算法[J].計算機科學,2012,39(3):39-42.
[8]胡華鵬,胡方明,周惇,等.DV-Hop無線網(wǎng)絡定位算法研究[J].電子科技,2013,26(11):7-9.
[9]李牧東,熊偉,梁青.基于人工蜂群改進算法的無線傳感器網(wǎng)絡定位算法[J].傳感技術(shù)學報,2013,26(2):241-245.
[10]黃晨鐘,許力,葉阿勇,等.基于簇內(nèi)RSSI測距改進的DV-Hop算法[J].福建師范大學學報(自然科學版),2010,26(6):29-34.
[11]嵇瑋瑋,劉中.DV-Hop定位算法在隨機傳感器網(wǎng)絡中的應用研究[J].電子與信息學報,2008,30(4):970-974.
[12]夏少波,鄒建梅,朱曉麗,等.基于跳數(shù)區(qū)域劃分的DV-Hop改進算法[J].傳感技術(shù)學報,2014,27(7):964-969.
[13]于寧,萬江文,吳銀鋒.無線傳感器網(wǎng)絡定位算法研究[J].傳感技術(shù)學報,2007,20(1):187-192.
[14]張賢達.現(xiàn)代信號處理[M].北京:清華大學出版社,2002:40-42.
向滿天(1977-),男,湖北恩施人,博士。南昌大學副教授、碩士生導師、江西省條代碼標準化技術(shù)委員會委員、南昌市標準化專家。先后主持多項重大課題,擁有授權(quán)發(fā)明專利3項,發(fā)表核心、SCI/EI論文30余篇。主要研究領(lǐng)域為無線傳感器網(wǎng)絡、物聯(lián)網(wǎng)、短距離無線通信、嵌入式網(wǎng)絡,sosmt@163.com;
王勝(1990-),男,江西吉安人,碩士研究生,主要研究領(lǐng)域為無線傳感器網(wǎng)絡、無線通信等,wspw8023@sina.com;
楊友華(1990-),男,江西撫州人,碩士研究生,主要研究領(lǐng)域為無線傳感器網(wǎng)絡、無線通信等,yyouhua627@163.com。
EEACC:723010.3969/j.issn.1004-1699.2016.06.022
基于閾值機制與距離校正的WSN改進DV-Hop定位算法*
向滿天1*,王勝1,楊友華2
(1.南昌大學軟件學院,南昌330029;2.南昌大學信息工程學院,南昌330031)
在無線傳感器網(wǎng)絡的DV-Hop定位算法中,未知節(jié)點定位只考慮離它最近的錨節(jié)點的平均跳距,用它乘以跳數(shù)代替真實距離去進行定位,會導致較大的定位誤差。針對DV-Hop算法以上的不足,本文提出了一種精度較高的基于閾值機制與距離校正的DV-Hop改進算法TMCD-DV-Hop。改進算法首先計算跳數(shù)閾值,考慮最近錨節(jié)點之外的其他錨節(jié)點在局部范圍和全局范圍的影響,依據(jù)閾值選擇最優(yōu)的校正平均跳距來估計距離,并對參與定位的單跳通信半徑內(nèi)的錨節(jié)點進行組合優(yōu)化后,采用質(zhì)心算法得到一個估計坐標,同時利用加權(quán)最小二乘法得到另一個估計坐標,最后以兩個估計坐標的算術(shù)平均值作為未知節(jié)點的定位坐標。仿真實驗表明,在同等網(wǎng)絡環(huán)境中,改進后的TMCD-DV-Hop算法較DV-Hop算法更能有效地降低定位誤差,提高定位精度。
無線傳感器網(wǎng)絡;DV-Hop算法;閾值機制;校正平均跳距
TP393
A
1004-1699(2016)06-0920-07
2015-12-14修改日期:2016-02-02
項目來源:國家自然科學基金項目(61362022,61362008);江西省科技計劃項目(20142BBE50019)