無(wú)線傳感器網(wǎng)絡(luò)中的DV—HOP定位改進(jìn)算法
在同等條件下,改進(jìn)的測(cè)距誤差始終是低于原DV—Hop算法的,且不同的通信半徑對(duì)測(cè)距誤差也會(huì)產(chǎn)生不同的結(jié)果。圖3中,通信半徑為10 m,改進(jìn)后的算法平均測(cè)距誤差比原算法降低1.45 m;圖4中,通信半徑為20m,改進(jìn)后的算法平均測(cè)距誤差比原算法降低1.67 m。這是因?yàn)殡S著通信半徑的變化,會(huì)對(duì)節(jié)點(diǎn)間的跳數(shù)和平均跳距產(chǎn)生影響。由于本文改進(jìn)后的算法是用全網(wǎng)的平均跳距代替單個(gè)節(jié)點(diǎn)的平均跳距,這樣使得對(duì)平均跳距的估計(jì)更為準(zhǔn)確,估算距離也就越準(zhǔn)確,越接近實(shí)際的距離。
3.2 定位誤差
定位誤差(Localization Error,LE)是指通過(guò)定位算法測(cè)量估計(jì)的坐標(biāo)與實(shí)際坐標(biāo)之間的差值,用這種差值除以節(jié)點(diǎn)的通信半徑,就是定位誤差率。計(jì)算方法如下:
其中,(x,y)為未知節(jié)點(diǎn)的實(shí)際坐標(biāo),(xi,yi)為定位算法所估計(jì)出來(lái)的坐標(biāo);R為節(jié)點(diǎn)的通信半徑。
圖5和圖6是節(jié)點(diǎn)總數(shù)分別為100和300、節(jié)點(diǎn)通信半徑為10 m時(shí),本文改進(jìn)算法、DV—Hop算法和參考文獻(xiàn)中的算法三者在錨節(jié)點(diǎn)比例不同時(shí)的定位誤差比較結(jié)果。從兩幅圖中可以看出,在相同的半徑和錨節(jié)點(diǎn)的環(huán)境下,改進(jìn)算法的定位誤差率要低于DV—Hop算法和參考文獻(xiàn)中的算法。但是在錨節(jié)點(diǎn)比例較低的情況下,節(jié)點(diǎn)的定位誤差較大。這是因?yàn)殄^節(jié)點(diǎn)較少時(shí),未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的距離變遠(yuǎn),導(dǎo)致計(jì)算平均距離時(shí)會(huì)產(chǎn)生很大的誤差。因此隨著錨節(jié)點(diǎn)比例的增加,能夠有效地減小定位誤差。
圖5中,當(dāng)錨節(jié)點(diǎn)的比例為30%時(shí),DV—Hop的定位誤差率為43.25%,參考文獻(xiàn)算法的定位誤差率為33.37%,而本文改進(jìn)算法的定位誤差率為28.34%。圖6中,當(dāng)錨節(jié)點(diǎn)的比例為30%時(shí),DV—Hop的定位誤差率為26.89%,參考文獻(xiàn)算法的定位誤差率為14.95%,而本文改進(jìn)算法的定位誤差率為10.21%。由此說(shuō)明,本文的改進(jìn)算法要優(yōu)于其他兩種算法。這是因?yàn)樵趨⒖嘉墨I(xiàn)中,只考慮了平均跳距一個(gè)因素對(duì)定位誤差的影響,而本文改進(jìn)算法則是從平均跳距的改進(jìn)和利用連通度的不同選取錨節(jié)點(diǎn)兩個(gè)方面考慮,使其定位誤差進(jìn)一步地減小。
結(jié)語(yǔ)
本文首先介紹了DV—Hop算法的基本思想,針對(duì)經(jīng)典的DV—Hop算法中存在的定位精度不高的缺陷,提出了兩點(diǎn)改進(jìn):
單個(gè)錨節(jié)點(diǎn)所估計(jì)的平均跳距來(lái)代替全網(wǎng)的平均跳距,會(huì)產(chǎn)生很大的誤差,因此平均跳距利用全網(wǎng)平均跳距與單個(gè)錨節(jié)點(diǎn)估計(jì)的平均跳距的均值來(lái)修正;
根據(jù)連通度的不同選擇最優(yōu)的三個(gè)錨節(jié)點(diǎn)進(jìn)行三邊定位計(jì)算,以提高定位精度。
仿真實(shí)驗(yàn)數(shù)據(jù)表明,改進(jìn)后的算法降低了測(cè)距誤差,與參考文獻(xiàn)等提出的算法比較,定位誤差率進(jìn)一步降低,從而提高定位精度。且在改進(jìn)的過(guò)程中,沒(méi)有添加硬件成本。
評(píng)論