劉 濤
(阜陽職業(yè)技術(shù)學(xué)院 工程科技學(xué)院,安徽 阜陽 236031)
節(jié)點(diǎn)定位技術(shù)是機(jī)會網(wǎng)絡(luò)主要支撐技術(shù),國內(nèi)外對該技術(shù)的研究滲透到了移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、計算機(jī)網(wǎng)絡(luò)等多個領(lǐng)域,也出現(xiàn)了比較多的新思路和新算法,但節(jié)點(diǎn)定位的 “安全” “準(zhǔn)確” “廣泛” 的特征很大程度上決定了技術(shù)推廣的實際價值.因此,龍增艷等[1]提出機(jī)會網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)據(jù)在轉(zhuǎn)發(fā)數(shù)據(jù)包之前,利用探測的方式來發(fā)現(xiàn)自身節(jié)點(diǎn)與其他節(jié)點(diǎn)的連接點(diǎn),需要一種均衡關(guān)系來滿足這一要求.劉名陽等[2]提出,隨著無線網(wǎng)絡(luò)的普及與發(fā)展,不同移動網(wǎng)絡(luò)的路由節(jié)點(diǎn)自主性提高,在此基礎(chǔ)上,網(wǎng)絡(luò)安全以及網(wǎng)絡(luò)定位成為機(jī)會網(wǎng)絡(luò)研究的重要一環(huán).張光華等[3]提出,機(jī)會網(wǎng)絡(luò)中的自私節(jié)點(diǎn)是影響網(wǎng)絡(luò)安全輸出數(shù)據(jù)的重要因素,建立可信的路由模型是構(gòu)建網(wǎng)絡(luò)安全的一項重要手段.綜上所述,網(wǎng)絡(luò)節(jié)點(diǎn)定位問題是機(jī)會網(wǎng)絡(luò)構(gòu)建的核心問題,而如何解決節(jié)點(diǎn)定位覆蓋率低這一問題更是重中之重.本文正是基于原有的經(jīng)典APIT 算法做了相應(yīng)改進(jìn),得到基于內(nèi)點(diǎn)測試法的加權(quán)質(zhì)心定位改進(jìn)算法,該算法的擴(kuò)展性能比APIT 算法更強(qiáng),節(jié)點(diǎn)定位精度和覆蓋率也較原先的算法大幅提高,可以滿足大中型規(guī)模的機(jī)會網(wǎng)絡(luò)中較低的定位誤差和較高的節(jié)點(diǎn)定位覆蓋率的要求.
原有的經(jīng)典APIT算法存在一些問題,為了解決原有算法的問題,提出了優(yōu)化算法.優(yōu)化算法利用內(nèi)點(diǎn)測試法判斷未知節(jié)點(diǎn)與其鄰居錨節(jié)點(diǎn)的位置關(guān)系,從而縮小未知節(jié)點(diǎn)可能所處的范圍,再利用加權(quán)質(zhì)心算法對未知節(jié)點(diǎn)進(jìn)行定位.
假如節(jié)點(diǎn)的移動存在一個方向,沿著這個方向節(jié)點(diǎn)D同時遠(yuǎn)離或靠近三角形的三個端點(diǎn)A,B,C,那么可以判定節(jié)點(diǎn)D 位于△ABC 之外,如圖1(a)所示;否則,當(dāng)節(jié)點(diǎn)D 遠(yuǎn)離其中兩個節(jié)點(diǎn)并且靠近另一個節(jié)點(diǎn),或者靠近兩個節(jié)點(diǎn)并且遠(yuǎn)離另一個節(jié)點(diǎn)時,則判定節(jié)點(diǎn)D位于△ABC內(nèi),如圖1(b)所示.

圖1 內(nèi)點(diǎn)測試法原理圖
這里的內(nèi)點(diǎn)測試法是利用信號的傳播特性來判斷未知節(jié)點(diǎn)是否遠(yuǎn)離或靠近的.本文假設(shè)節(jié)點(diǎn)間發(fā)射信號強(qiáng)度與距離滿足式(1)的通用模型:

其中:PR為節(jié)點(diǎn)接收到的信號強(qiáng)度;PT為發(fā)射功率;W(d0)為經(jīng)過距離d0的路徑損耗;η 為路徑損耗指數(shù);d為距離.通常節(jié)點(diǎn)信號源距離未知節(jié)點(diǎn)越遠(yuǎn),未知節(jié)點(diǎn)接收到的能量信號越弱.
在機(jī)會網(wǎng)絡(luò)中經(jīng)常會遇到這樣的情況:節(jié)點(diǎn)是移動的,當(dāng)未知節(jié)點(diǎn)只有兩個鄰居錨節(jié)點(diǎn)時,可以通過一定的數(shù)學(xué)計算來得到它的位置坐標(biāo)[4].設(shè)A,B是它的兩個鄰居錨節(jié)點(diǎn).錨節(jié)點(diǎn)A,B的坐標(biāo)是已知的,未知節(jié)點(diǎn)S的坐標(biāo)為(xs,ys).通過信號強(qiáng)度與距離轉(zhuǎn)換模型式(1),可以得到AS,BS,AB 之間的距離,它們分別用d1,d2,d3表示,那么在△ABS中作AB的高SC,SF⊥x軸,CE⊥x軸,BD⊥x軸,如圖2所示.

圖2 基于兩個錨節(jié)點(diǎn)的定位
設(shè)∠SAB = α,∠BAD = β,根據(jù)正余弦定理得到

所以

導(dǎo)出

同理,結(jié)合錨節(jié)點(diǎn)B的坐標(biāo)和正余弦定理,易知

又

計算未知節(jié)點(diǎn)坐標(biāo)為

在網(wǎng)絡(luò)環(huán)境部署完成的情況下,現(xiàn)保持錨節(jié)點(diǎn)比例為30%不變,節(jié)點(diǎn)總數(shù)分別為100,110,120,130和140個.仿真情況如圖3所示.

圖3 同一錨節(jié)點(diǎn)比例統(tǒng)計
由圖3(a)可見,在錨節(jié)點(diǎn)比例不變的情況下,本文算法比傳統(tǒng)APIT算法體現(xiàn)出更小的定位誤差.隨著總結(jié)點(diǎn)個數(shù)的增加,定位誤差接近0.3%,而APIT算法的定位誤差卻保持在0.45%左右,這說明了本文算法比APIT算法優(yōu)越,比較適合大規(guī)模的網(wǎng)絡(luò)節(jié)點(diǎn)定位[5].由圖3(b)可見,APIT算法的定位覆蓋率維持在70%左右.而本文算法隨著節(jié)點(diǎn)總數(shù)的增加,定位覆蓋率不斷接近100%,這說明當(dāng)錨節(jié)點(diǎn)比例不變時,本文算法在定位覆蓋率方面略勝一籌.
考慮錨節(jié)點(diǎn)比例不同的情況.設(shè)節(jié)點(diǎn)總數(shù)為100,不同的錨節(jié)點(diǎn)數(shù)分別為20,30,40,50,60 等,兩種算法的定位精度和定位覆蓋率的變化情況如圖4所示.
由圖4(a)可見,隨著錨節(jié)點(diǎn)個數(shù)的增多,APIT 算法的定位誤差越來越差,最差可達(dá)到0.6%,這說明APIT算法中,未知節(jié)點(diǎn)定位時受到錨節(jié)點(diǎn)的影響較大,尤其是相距未知節(jié)點(diǎn)較遠(yuǎn)的鄰居錨節(jié)點(diǎn),這樣會使質(zhì)心估計時的誤差增大.而在本文算法中就不存在這樣的問題,錨節(jié)點(diǎn)個數(shù)增多對本文算法是有利的,即鄰居錨節(jié)點(diǎn)增多,在內(nèi)點(diǎn)測試階段,選擇距離未知節(jié)點(diǎn)最近的三角形的加權(quán)質(zhì)心作為估計位置,結(jié)果會更加準(zhǔn)確[6].由圖4(b)可見,隨著錨節(jié)點(diǎn)個數(shù)增加,APIT 算法的節(jié)點(diǎn)定位覆蓋率呈現(xiàn)上升趨勢,而本文的算法的節(jié)點(diǎn)定位覆蓋率不斷接近100%.這說明錨節(jié)點(diǎn)個數(shù)增加時,本文算法比APIT算法性能更加優(yōu)越.

圖4 不同錨節(jié)點(diǎn)比例統(tǒng)計
比較兩種算法在不同的網(wǎng)絡(luò)連通度下的性能,通過改變節(jié)點(diǎn)通信半徑來實現(xiàn)網(wǎng)絡(luò)連通度的改變.通信半徑R分別取20,22,24,26,28 m,算法性能如圖5所示.

圖5 不同網(wǎng)絡(luò)連通度統(tǒng)計
由圖5(a)可見,當(dāng)通信半徑增大時,本文算法的定位誤差率與APIT 算法呈現(xiàn)不同的趨勢.傳統(tǒng)APIT 算法的定位誤差率存在上升勢頭,當(dāng)通信半徑增大到28 m 時,定位誤差率已經(jīng)達(dá)到0.48%.而本文算法的定位誤差率在緩慢下降,當(dāng)通信半徑增大到28 m 時,定位誤差率已經(jīng)接近0.28%,比APIT 算法低很多.由圖5(b)可見,當(dāng)增大通信半徑時,本文算法的節(jié)點(diǎn)定位覆蓋率一直呈現(xiàn)上升趨勢,不斷接近100%.
本文根據(jù)機(jī)會網(wǎng)絡(luò)的網(wǎng)絡(luò)特性,一方面鑒于免測距定位算法易實現(xiàn)的優(yōu)點(diǎn),另一方面結(jié)合內(nèi)點(diǎn)測試法和加權(quán)質(zhì)心算法,提出了定位精度、節(jié)點(diǎn)定位覆蓋率都比較高的新機(jī)會網(wǎng)絡(luò)節(jié)點(diǎn)定位算法.經(jīng)節(jié)點(diǎn)升級后的優(yōu)化算法相對于傳統(tǒng)的APIT算法更具精度高、誤差低、易實現(xiàn)等多方面的優(yōu)越性.