国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于雙移動(dòng)錨節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)定位算法

2023-09-13 03:06崔煥慶趙君宜羅漢江
關(guān)鍵詞:鯨魚(yú)定位精度能耗

崔煥慶,趙君宜,羅漢江

(山東科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,山東 青島 266590)

0 引 言

本文主要針對(duì)移動(dòng)錨節(jié)點(diǎn)輔助定位算法進(jìn)行研究。目前,已經(jīng)有學(xué)者對(duì)相關(guān)算法進(jìn)行了研究。SLMAT[1],H-Curves[2]和M-Curves[3]均使用單個(gè)錨節(jié)點(diǎn)掃描部署區(qū)域?!?SCAN[4]對(duì)Z-Curves和SCAN進(jìn)行了改進(jìn),提高了定位精度。SSD[5]通過(guò)減少虛擬錨節(jié)點(diǎn)來(lái)節(jié)省能耗。GSCAN[6]、GTURN和PP-MMAN[7]均使用3個(gè)移動(dòng)錨節(jié)點(diǎn),并使虛擬錨節(jié)點(diǎn)成等邊三角形分布,提高了定位精度。其中,GSCAN的虛擬錨節(jié)點(diǎn)數(shù)量較多,而GTURN的路徑較長(zhǎng)。文獻(xiàn)[8,9]設(shè)計(jì)路徑的目的均為減少共線錨節(jié)點(diǎn)的數(shù)量,提高定位精度。

目前,元啟發(fā)式優(yōu)化算法已經(jīng)非常普遍,并且也廣泛應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)定位中的未知節(jié)點(diǎn)位置估計(jì)。MGDV-Hop[10]利用混合策略對(duì)螢火蟲(chóng)群優(yōu)化算法進(jìn)行了改進(jìn),提高未知節(jié)點(diǎn)的定位精度。文獻(xiàn)[11]使用粒子群優(yōu)化算法(particle swarm optimization,PSO)來(lái)估計(jì)未知節(jié)點(diǎn)的位置。文獻(xiàn)[12]采用鯨魚(yú)優(yōu)化算法對(duì)接收信號(hào)強(qiáng)度與信號(hào)傳輸距離之間的關(guān)系公式進(jìn)行優(yōu)化,降低了測(cè)量誤差。文獻(xiàn)[13]提出了一種新的非視距的定位算法,并通過(guò)改進(jìn)的粒子群優(yōu)化算法估算目標(biāo)的位置。文獻(xiàn)[14]使用改進(jìn)的灰狼優(yōu)化算法估計(jì)未知節(jié)點(diǎn)的坐標(biāo)。文獻(xiàn)[15]將改進(jìn)樽海鞘群算與DV-Hop結(jié)合,提高了定位精度。

本文的主要貢獻(xiàn)有:

(1)設(shè)計(jì)了一種雙移動(dòng)錨節(jié)點(diǎn)協(xié)作的路徑規(guī)劃算法DASCAN(Dual-Anchor SCAN),縮短了路徑長(zhǎng)度并且使用較少的虛擬錨節(jié)點(diǎn),降低了能耗。

(2)使用加權(quán)質(zhì)心算法和鯨魚(yú)優(yōu)化算法估算未知節(jié)點(diǎn)的坐標(biāo),提高了定位精度。

1 系統(tǒng)模型

在無(wú)線傳感器網(wǎng)絡(luò)中,已知自身位置的節(jié)點(diǎn)稱為錨節(jié)點(diǎn),其它節(jié)點(diǎn)稱為未知節(jié)點(diǎn),錨節(jié)點(diǎn)分為靜態(tài)錨節(jié)點(diǎn)和移動(dòng)錨節(jié),后者在移動(dòng)過(guò)程中需定期廣播自身位置等信息。錨節(jié)點(diǎn)廣播的這些信息稱為虛擬錨節(jié)點(diǎn)。假設(shè)無(wú)線傳感器網(wǎng)絡(luò)由NU個(gè)部署在高H、寬L的矩形區(qū)域內(nèi)的未知節(jié)點(diǎn)組成。第i個(gè)節(jié)點(diǎn)Ui的真實(shí)坐標(biāo)為(xi,yi),利用定位算法求得的估計(jì)坐標(biāo)為 (i,i)。 兩個(gè)移動(dòng)錨節(jié)點(diǎn)分別記為MA1、MA2,它們廣播的虛擬錨節(jié)點(diǎn)信息包含實(shí)時(shí)位置和發(fā)送信號(hào)強(qiáng)度兩個(gè)字段。

在RSSI測(cè)距中,無(wú)線信號(hào)在傳播過(guò)程中強(qiáng)度會(huì)隨著距離的增加而降低,并且會(huì)受到環(huán)境因素的影響。通常假設(shè)在理想的自由空間中,RSSI與發(fā)送器和接收器之間的距離的平方成反比。令Pr(d)表示在距離d處的接收功率,其值遵循弗里斯方程

Pr(d)=(λ4πd)2PtGtGr

(1)

其中,Pt是發(fā)射功率,Gt和Gr分別是發(fā)射和接收天線的天線增益,λ是發(fā)射器信號(hào)的波長(zhǎng)(以米為單位)。

但實(shí)際上,一些因素(例如陰影和反射)可能會(huì)影響無(wú)線電信號(hào)的傳播以及接收功率,因素取決于環(huán)境并且是不可預(yù)測(cè)的。由于無(wú)法精確跟蹤陰影效果,因此通常將其建模為對(duì)數(shù)正態(tài)分布的隨機(jī)變量。考慮到隨機(jī)性,信號(hào)強(qiáng)度根據(jù)冪定律隨距離而減小。一種用于無(wú)線電的模型如式(2)所示

Pr(d)=P0(d0)-η10log10(dd0)+Xσ

(2)

其中,P0(d0) 表示在某個(gè)參考距離d0處的接收功率,η表示路徑損耗指數(shù),Xσ表示對(duì)數(shù)正態(tài)隨機(jī)變量,其方差為σ2。通過(guò)該模型,距離d的最大似然估計(jì)如式(3)所示

d^=d0(PrP0(d0))(-1/|η)

(3)

假設(shè)錨節(jié)點(diǎn)與未知節(jié)點(diǎn)的通信范圍是一個(gè)半徑為R的圓。實(shí)際應(yīng)用中,傳感器節(jié)點(diǎn)的信號(hào)傳播容易受周圍環(huán)境的影響,通信范圍不是一個(gè)規(guī)則的圓,所以將通信信號(hào)不規(guī)則度(degree of irregularity,DOI)加入到無(wú)線通信傳播模型中。DOI表征了無(wú)線電射程受多徑、陰影等衰弱影響而導(dǎo)致的傳輸范圍的各向異性,數(shù)值越高表示傳輸范圍受環(huán)境影響越嚴(yán)重,其定義如式(4)所示

(4)

其中,Ki是第i個(gè)方向上的不規(guī)則度,Rand是在[0,1]內(nèi)服從均勻分布的隨機(jī)數(shù),N是正整數(shù)集合。

使用定位算法定位的未知節(jié)點(diǎn)個(gè)數(shù)占未知節(jié)點(diǎn)總數(shù)的比例稱為定位率LR,即

LR=NldNU

(5)

其中,Nld表示被定位節(jié)點(diǎn)的個(gè)數(shù)。平均定位誤差e為

e=1Nld∑Nldi=1(xi-i)2+(yi-i)2

(6)

2 本文算法

2.1 錨節(jié)點(diǎn)路徑規(guī)劃算法

為了更合理地部署虛擬錨節(jié)點(diǎn),先將監(jiān)視區(qū)域進(jìn)行網(wǎng)格狀劃分。縱向上等間距劃分為n+1行,并從下向上依次編號(hào)為第0、1、2、……、n行,相鄰兩行之間的間距為h,即每個(gè)單元格的高為h。橫向上等間距劃分m+1列,從左向右依次編號(hào)為第0、1、2、……、m列,相鄰兩列之間的間距為d,即每個(gè)單元格的寬為d,網(wǎng)格劃分和虛擬錨節(jié)點(diǎn)部署結(jié)果如圖1所示。

圖1 部署區(qū)域劃分及虛擬錨節(jié)點(diǎn)位置

DASCAN要求奇數(shù)行和偶數(shù)行采用不同的部署方式。在圖1中,偶數(shù)行和奇數(shù)行的虛擬錨節(jié)點(diǎn)分別用A和B表示。 ΔAi,jAi,j+1Bi+1,j和ΔAi,jAi,j+1Bi-1,j是等邊三角形。因此,h=32d。 以左下角為坐標(biāo)原點(diǎn)(0,0),第i行的虛擬錨節(jié)點(diǎn)坐標(biāo)為:

(1)i≤n且為偶數(shù)時(shí),Ai,j=(j×d,i×h), 其中j=0,1,2,…,m。

(2)i≤n且為奇數(shù)時(shí),Bi,k=((k+12)×d,i×h), 其中k=0,1,2,…,m-1。

如果僅用一個(gè)移動(dòng)錨節(jié)點(diǎn),則需要交替遍歷偶數(shù)行和奇數(shù)行,路徑較長(zhǎng)。所以DASCAN采用兩個(gè)移動(dòng)錨節(jié)點(diǎn)以分別遍歷偶數(shù)行和奇數(shù)行的虛擬錨節(jié)點(diǎn)。算法1給出了DASCAN算法。

算法1:路徑規(guī)劃算法

輸入:H、L、h、d。

輸出:MA1、MA2的移動(dòng)路徑

(1) Put MA1and MA2inA0,0andB0,0

(2) SetList1←Φ,List2←Φ

(3)flag←1,i←0,j←1,k←0

(4)whilei

(5)ifflag=1

(6)List1←List1∪{Ai,0,Ai,1,…,Ai,m}

(7)List2←List2∪{Bi+1,0,Bi+1,1,…,Bi+1,m-1}

(8)flag←2

(9)elseifflag=2

(10)List1←List1∪{Ai,m,Ai,m-1,…,Ai,0}

(11)List2←List2∪{Bi+1,m-1,Bi+1,m-2,…,Bi+1,0}

(12)flag←1

(13)endif

(14)i←i+2

(15)endwhile

(16)ifn%2=0 &&flag=1

(17)List1←List1∪{An,0,An,1,…,An,m}

(18)elseifn%2=0 &&flag=2

(19)List1←List1∪{An,m,An,m-1,…,An,0}

(20)endif

算法1中,List1、List2分別用來(lái)儲(chǔ)存MA1、MA2遍歷的虛擬錨節(jié)點(diǎn)列表。第(1)~第(3)行初始化各變量,第(4)~第(15)行計(jì)算List1和List2,其中flag=1表示錨節(jié)點(diǎn)從左向右移動(dòng)(第(5)~第(8)行),flag=2表示錨節(jié)點(diǎn)從右向左移動(dòng)(第(9)~第(13)行)。當(dāng)n為偶數(shù)時(shí),MA1需要額外遍歷最后一行,移動(dòng)方向取決于此時(shí)flag的值(第(16)~第(20)行)。

算法1生成的4種移動(dòng)路徑如圖2所示,其中“flag值”是指執(zhí)行到第(16)行時(shí)flag的值。算法1執(zhí)行結(jié)束后,MA1和MA2分別沿List1、List2遍歷整個(gè)部署區(qū)域,并在指定虛擬錨節(jié)點(diǎn)處廣播信息。

圖2 算法1產(chǎn)生的4種不同路徑

2.2 鯨魚(yú)優(yōu)化算法

鯨魚(yú)智能優(yōu)化算法是2016年由澳大利亞格里菲斯大學(xué)的Mirjalili等提出的一種新的群體智能優(yōu)化算法,該算法具有實(shí)現(xiàn)簡(jiǎn)單、參數(shù)少以及不易陷入局部最優(yōu)等優(yōu)點(diǎn)。

在鯨魚(yú)優(yōu)化算法中,每個(gè)鯨魚(yú)被看作是一個(gè)可行解。鯨魚(yú)在狩獵時(shí),會(huì)沿著“9”字形或者圓形路徑吐出氣泡包圍獵物,這種狩獵行為稱為bubble-net捕食策略。該算法包括環(huán)繞獵物、螺旋泡泡網(wǎng)獵食以及搜索獵物3個(gè)階段。

在狩獵階段,WOA假設(shè)當(dāng)前算法的最優(yōu)解為目標(biāo)獵物,其它鯨魚(yú)個(gè)體會(huì)向著當(dāng)前適應(yīng)度值最佳的鯨魚(yú)的位置移動(dòng),該行為的數(shù)學(xué)模型如下所示

D=|C·X*(t)-X(t)|

(7)

X(t+1)=X*(t)-A·D

(8)

A=2a·r1-a

(9)

C=2·r2

(10)

其中,t為當(dāng)前迭代次數(shù);A和C是協(xié)同系數(shù)向量;X*表示當(dāng)前最優(yōu)的鯨魚(yú)的位置向量;X(t)表示鯨魚(yú)當(dāng)前的位置向量;在整個(gè)迭代過(guò)程中,a由2線性降到0;r1和r2是[0,1]中的隨機(jī)向量。C為[0,2]內(nèi)的隨機(jī)值構(gòu)成的向量,此系數(shù)提供了隨機(jī)權(quán)重,以避免算法陷入局部最優(yōu)。

鯨魚(yú)在獵食的過(guò)程中會(huì)進(jìn)行兩種不同的行為來(lái)包圍獵物,分別是縮小包圍圈和沿螺旋狀路徑吐氣泡驅(qū)趕獵物,每只鯨魚(yú)選擇這兩種該行為的概率是相等的。數(shù)學(xué)模型如式(11)所示

(11)

其中,b為常數(shù),l和p為均勻分布在[-1,1]中的隨機(jī)數(shù)。

隨著迭代的進(jìn)行,a的值會(huì)從2線性減小到0,a的值的變化會(huì)引起A的變化,當(dāng) |A|<1時(shí),鯨魚(yú)會(huì)向最優(yōu)個(gè)體移動(dòng),當(dāng) |A|>1時(shí),鯨魚(yú)會(huì)隨機(jī)移動(dòng)。鯨魚(yú)隨機(jī)移動(dòng)的數(shù)學(xué)模型如式(12)和式(13)所示

D=|C·Xrand(t)-X(t)|

(12)

X(t+1)=Xrand(t)-A·D

(13)

其中,Xrand是隨機(jī)選擇的鯨魚(yú)位置向量,通過(guò)此方式可以讓W(xué)OA進(jìn)行全局搜索,避免陷入局部最優(yōu)。

2.3 節(jié)點(diǎn)位置估算算法

在定位階段,使用加權(quán)質(zhì)心和鯨魚(yú)優(yōu)化算法估算未知節(jié)點(diǎn)坐標(biāo),具體步驟如下。

結(jié)合所設(shè)計(jì)的路徑,先使用加權(quán)質(zhì)心算法來(lái)估算未知節(jié)點(diǎn)位置。假設(shè)移動(dòng)錨節(jié)點(diǎn)在部署區(qū)域內(nèi)產(chǎn)生的虛擬錨節(jié)點(diǎn)的數(shù)量為NV,未知節(jié)點(diǎn)Ui(i=1,…,Nu) 維護(hù)一個(gè)虛擬錨節(jié)點(diǎn)列表Li,如果Ui接收到虛擬錨節(jié)點(diǎn)Vj的信標(biāo)信息,則將Vj的坐標(biāo) (xj,yj)、 信號(hào)強(qiáng)度RSSIi,j以及根據(jù)RSSI測(cè)距模型計(jì)算得到的估計(jì)距離dei,j添加至Li中。將所有的虛擬錨節(jié)點(diǎn)按RSSIi,j值排成遞減序,選擇虛擬錨節(jié)點(diǎn)V1、V2、V3的方法為:

(1)選擇Li中前兩個(gè)最大RSSIi,j對(duì)應(yīng)的虛擬錨節(jié)點(diǎn)作為V1、V2,在Li中從前往后依次查找可與V1、V2構(gòu)成邊長(zhǎng)為d的等邊三角形的虛擬錨節(jié)點(diǎn)Vk(k>2)作為V3。

(2)如果利用步驟(1)不能找到滿足此條件的V3,則選擇剩余虛擬錨節(jié)點(diǎn)中最大RSSIi,j對(duì)應(yīng)的虛擬錨節(jié)點(diǎn)作為V3。

未知節(jié)點(diǎn)Ui在選擇V1、V2、V3后,使用加權(quán)質(zhì)心算法估計(jì)未知節(jié)點(diǎn)Ui的位置

(′i,′i)=∑3j=1ωj×(xj,yj)∑3j=1ωj

(14)

其中,ωj=RSSIj為加權(quán)因子,第i個(gè)節(jié)點(diǎn)的定位誤差為ei,WCL=(xi-′i)2+(yi-′i)2。 找出所有可定位節(jié)點(diǎn)的定位誤差中的最大值,記為emax。

根據(jù)使用加權(quán)質(zhì)心得到的Ui的估算坐標(biāo) (′i,′i) 和最大定位誤差emax確定對(duì)應(yīng)的WOA算法搜索空間SPi,即:[′i-emax,′i+emax]×[′i-emax,′i+emax], 如圖3所示。

圖3 根據(jù)質(zhì)心確定搜索空間SPi

在二維的無(wú)線傳感器網(wǎng)絡(luò)中,第i個(gè)未知節(jié)點(diǎn)與第j個(gè)虛擬錨節(jié)點(diǎn)估計(jì)距離的平均誤差定義如下

ei,j=|(xi-xj)2+(yi-yj)2-dei,j|

(15)

其中,(xj,yj) 為虛擬錨節(jié)點(diǎn)Vj的坐標(biāo),(xi,yi) 為傳感器節(jié)點(diǎn)Ui的實(shí)際位置,dei,j為虛擬錨節(jié)點(diǎn)Vj與傳感器節(jié)點(diǎn)Ui的測(cè)量距離。通過(guò)這種方法,我們可以得到如下的目標(biāo)函數(shù)

minf(x,y)=1Ni∑Nij=1|(x-xj)2+(y-yj)2-dei,j|

(16)

其中,Ni是傳感器節(jié)點(diǎn)Ui可以接收到的信標(biāo)信息數(shù)。

最后,在SPi中隨機(jī)產(chǎn)生鯨魚(yú)種群,使用以上目標(biāo)函數(shù)估算Ui的最終坐標(biāo)。算法2給出了計(jì)算第i個(gè)傳感器節(jié)點(diǎn)坐標(biāo)Ui的過(guò)程。

算法2:節(jié)點(diǎn)位置估算算法

輸入:Li,MaxIter

(1)SortLiin descending order according toRSSIi,j

(2)ifdist(Li(1),Li(2))=dist(Li(1),Li(k))=dist(Li(2),Li(k))=d

(3)V1←Li(1);V2←Li(2);V3←Li(k)

(4)else

(5)V1←Li(1);V2←Li(2);V3←Li(3)

(6)endif

(8)Calculate localization error of each node and findemax

(9)SPi←[′i-emax,′i+emax]×[′i-emax,′i+emax]

(10)Initialize whales populationXi(i=1,2,…,n) inSPi

(11)Calculate fitness of each whale using Eq.(16)

(12)X*←the best search agent

(13)while(t

(14)foreach whale

(15) Updatea,A,C,l, andp

(16)ifp<0.5

(17)if|A|<1

(18) Update current whale by Eq.(11)(p<0.5)

(19)elseif|A|>1

(20) Select a random whale (Xrand)

(21) Update current whale by Eq.(13)

(22)endif

(23)elseifp>0.5

(24) Update current whale by the Eq.(11)

(25)endif

(26)endfor

(27) Check if any whale goes beyond theSPiand amend it

(28) Calculate fitness of each whale

(29) UpdateX*if there is a better solution

(30)t←t+1

(31)endwhile

(32)returnX*

算法2中的第(1)~第(6)行根據(jù)Ui找到對(duì)應(yīng)的V1、V2、V3。第(7)~第(9)根據(jù)式(14)得到 (′i,′i), 然后計(jì)算每個(gè)未知節(jié)點(diǎn)的定位誤差并找到最大值emax。最后根據(jù) (′i,′i) 和emax確定出對(duì)應(yīng)的搜索空間SPi,限制WOA的初始化區(qū)域,加快算法收斂速度。第(10)~第(12)行在SPi中初始化鯨魚(yú)的位置,使用式(16)計(jì)算每一個(gè)個(gè)體的適應(yīng)度值,找出適應(yīng)度最好的個(gè)體記為X*。第(13)~第(31)行是鯨魚(yú)優(yōu)化算法的執(zhí)行過(guò)程,MaxIter為最大迭代次數(shù)。先更新a、A、C、l和p的值,當(dāng)p<0.5且 |A|<1時(shí),鯨魚(yú)群向最優(yōu)鯨魚(yú)位置移動(dòng),使用式(11)更新每只鯨魚(yú)的位置。當(dāng)p<0.5且 |A|>1時(shí),鯨魚(yú)群隨機(jī)移動(dòng),使用式(13)更新每只鯨魚(yú)的位置。當(dāng)p>0.5時(shí),鯨魚(yú)沿螺旋狀路徑吐出氣泡包圍獵物,使用式(11)更新每只鯨魚(yú)的位置。修正超出搜索空間SPi的鯨魚(yú)個(gè)體。使用式(16)更新每只鯨魚(yú)的適應(yīng)度值,并更新X*的值。在迭代循環(huán)結(jié)束前重復(fù)執(zhí)行以上步驟。第(32)行返回X*的值即為 (i,i)。

3 仿真實(shí)驗(yàn)

使用MATLAB 2016a進(jìn)行仿真實(shí)驗(yàn)。部署區(qū)域?yàn)?00 m×100 m的正方形二維區(qū)域,對(duì)SCAN[1]、GTURN[7]、GSCAN[7]、PP-MMAN[4]、H-Curves[2]、M-Curves[3]以及本文提出的DASCAN在路徑長(zhǎng)度、定位精度和定位率方面進(jìn)行對(duì)比。

3.1 路徑對(duì)比

d取值為10 m、15 m、20 m、25 m。實(shí)驗(yàn)結(jié)果如圖4所示??梢钥闯?,d相同時(shí),GTURN和GSCAN都是最長(zhǎng)的,原因在于它們使用3個(gè)移動(dòng)錨節(jié)點(diǎn),并且GSCAN存在重復(fù)路徑。H-Curves、SCAN和M-Curves由于只有一個(gè)移動(dòng)錨節(jié)點(diǎn),并且路徑結(jié)構(gòu)較為簡(jiǎn)單,所以移動(dòng)路徑較短。DASCAN短于PP-MMAN,比最長(zhǎng)的GTURN路徑平均縮短了44%,比最短的SCAN路徑平均長(zhǎng)了26.5%。

圖4 路徑長(zhǎng)度比較

下面對(duì)不同路徑規(guī)劃算法的虛擬錨節(jié)點(diǎn)數(shù)目進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果如圖5所示,7種路徑規(guī)劃算法的虛擬錨節(jié)點(diǎn)的平均數(shù)量排序?yàn)镚SCAN>GTURN>PP-MMAN=DASCAN>H-Curves>M-Curves>SCAN。GSCAN的虛擬錨節(jié)點(diǎn)數(shù)量是最多的,這是因?yàn)镚SCAN的移動(dòng)錨節(jié)點(diǎn)會(huì)在某些位置重復(fù)廣播信標(biāo)信息。DASCAN產(chǎn)生的虛擬錨節(jié)點(diǎn)數(shù)目均少于GSCAN、GTURN、PP-MMAN以及M-Curves,但是比起H-Curves和SCAN要更多。因?yàn)樵谙嗤琩的情況下,DASCAN的路徑相鄰兩行之間的距離比SCAN和H-curve更小,所以在部署區(qū)域均為100 m2的情況下,DASCAN會(huì)產(chǎn)生更多的虛擬錨節(jié)點(diǎn)。雖然M-Curves的虛擬錨節(jié)點(diǎn)更密集,但是該算法不需要在部署區(qū)域邊界生成虛擬錨節(jié)點(diǎn)。從圖中可以看出,本算法產(chǎn)生的虛擬錨節(jié)點(diǎn)數(shù)目相比GSCAN平均減少了53%,相比SCAN平均增加了32%。

圖5 虛擬錨節(jié)點(diǎn)數(shù)量比較

綜合路徑長(zhǎng)度以及虛擬錨節(jié)點(diǎn)數(shù)量,分別計(jì)算7種路徑規(guī)劃算法產(chǎn)生的總能耗。實(shí)驗(yàn)結(jié)果如圖6所示,7種路徑規(guī)劃算法的能耗從高到低為GTURN、GSCAN、PP-MMAN、DASCAN、H-Curves、M-Curves、SCAN。由于GSCAN和GTURN的虛擬錨節(jié)點(diǎn)數(shù)量較多,路徑較長(zhǎng),所以這兩種算法的能耗比其它算法更高,由于DASCAN的路徑長(zhǎng)度比PP-MMAN更短,所以能耗相對(duì)更低。H-Curves、M-Curves和SCAN的虛擬錨節(jié)點(diǎn)數(shù)量較少,路徑較短,產(chǎn)生的能耗也更低。本文算法相比能耗最高的GTURN能耗平均降低了42.7%,相比能耗最低的SCAN能耗平均增加了35.4%。

圖6 能耗比較

3.2 定位精度對(duì)比

取R=15 m,DOI=0,實(shí)驗(yàn)結(jié)果如圖7所示。可以看出,無(wú)論使用哪一種路徑規(guī)劃算法,使用加權(quán)質(zhì)心算法計(jì)算得到的結(jié)果誤差最大,而使用WOA得到的結(jié)果誤差最小。在使用加權(quán)質(zhì)心定位未知節(jié)點(diǎn)時(shí),H-Curves、M-Curves 和SCAN的定位誤差要遠(yuǎn)遠(yuǎn)高于其它路徑規(guī)劃算法,當(dāng)使用三邊定位時(shí),所有路徑規(guī)劃算法的定位誤差大幅降低,H-Curves、M-Curves和SCAN的定位誤差仍略高于其它路徑規(guī)劃算法。在使用PSO和WOA定位節(jié)點(diǎn)時(shí),所有路徑規(guī)劃算法的定位誤差進(jìn)一步下降,并且WOA的平均定位誤差略低于PSO,此時(shí)H-Curves和SCAN的定位誤差仍要高于其它算法。

將所有路徑與WOA算法聯(lián)合來(lái)對(duì)比性能。實(shí)驗(yàn)結(jié)果如圖8所示。從圖中可以看出,隨著DOI的增加,每個(gè)未知節(jié)點(diǎn)接收到的廣播信息數(shù)量減少,每種路徑規(guī)劃算法的定位誤差均受到了DOI的影響,但影響幅度有所差別。由于SCAN和H-Curves存在大量的共線虛擬錨節(jié)點(diǎn),所以定位誤差相比其它路徑更大,而且更容易受DOI的影響。而DASCAN和其余的路徑受DOI影響相對(duì)較小。

圖8 路徑在不同DOI下的定位精度

最后不考慮DOI的影響,比較每種路徑在不同的通信半徑R下的定位精度。實(shí)驗(yàn)結(jié)果如圖9所示??梢钥闯觯?dāng)d=15 m時(shí),每種路徑的平均定位誤差均隨著通信半徑R的增大而增加。雖然通信半徑越大,每個(gè)未知節(jié)點(diǎn)接收到的信標(biāo)信息越多,但是由于RSSI的缺陷,未知節(jié)點(diǎn)與距離較遠(yuǎn)的虛擬錨節(jié)點(diǎn)之間的測(cè)距誤差較大。所以當(dāng)通信半徑增大時(shí),定位誤差會(huì)變大。H-Curves和SCAN在不同R下的定位誤差均高于其它定位算法,DASCAN的定位誤差以及受通信半徑的影響較小。

圖9 路徑在不同通信半徑下的定位精度

3.3 定位率對(duì)比

取d=15 m,R取0.8d、1.0d、1.2d、1.4d,DOI=0、0.05、0.1、0.15、0.2。實(shí)驗(yàn)結(jié)果如圖10所示。

圖10 路徑在不同通信半徑下的定位率

整體來(lái)看,每種路徑的定位率隨著Rd的增大而增大。在每種取值的情況下,DASCAN、GTURN、GSCAN和PP-MMAN的定位率十分接近,其余路徑的定位率從高到低依次為M-Curves、H-Curves、SCAN。當(dāng)R=0.8d時(shí),7種路徑的定位率差距最大,此時(shí)DASCAN、GTURN、GSCAN和PP-MMAN的定位率約為50%,H-Curves和SCAN僅能定位20%左右的未知節(jié)點(diǎn)。當(dāng)R=1.4d時(shí),7種路徑均可定位所有未知節(jié)點(diǎn)。

最后,比較了在不同DOI、R對(duì)定位率的影響,實(shí)驗(yàn)結(jié)果如圖11、圖12、圖13和圖14所示。整體來(lái)看,每種DOI取值下,每種路徑的定位率隨著Rd的增大而增大。每種取值情況下,DASCAN、GSCAN、GTURN和PP-MMAN的定位率都十分接近,均高于H-Curves、M-Curves、SCAN的定位率。DASCAN、GSCAN、GTURN、PP-MMAN的定位率接近,高于其它路徑。整體來(lái)看,DASCAN的定位率比M-Curves、H-Curves、SCAN分別平均高出3%、15%、19%。R=0.8d,DOI=0.2時(shí),7種路徑的平均定位率最低,此時(shí)DASCAN的定位率約30%,H-Curves和SCAN的定位率低于10%。R=1.4d,DOI=0.05時(shí),7種路徑的定位率均為100%。當(dāng)R=d,DOI=0.2時(shí),DASCAN的定位率相比其它路徑平均提升最大,為30%;R=d,DOI=0.05時(shí),DASCAN的定位率相比其它路徑平均提升最小,為20%。

圖11 路徑在不同通信半徑下的定位率(DOI=0.05)

圖12 路徑在不同通信半徑下的定位率(DOI=0.1)

圖13 路徑在不同通信半徑下的定位率(DOI=0.15)

圖14 路徑在不同通信半徑下的定位率(DOI=0.2)

綜上,DASCAN比GTURN、GSCAN、PP-MMAN路徑短,避免了重復(fù)廣播信息,從而降低了移動(dòng)錨節(jié)點(diǎn)的能耗。同時(shí),比H-Curves、M-Curves和SCAN有更高的定位率和定位精度,配合WOA可以進(jìn)一步提高算法的定位精度。

4 結(jié)束語(yǔ)

本文提出了一種基于雙移動(dòng)錨節(jié)點(diǎn)和鯨魚(yú)優(yōu)化的無(wú)線傳感器網(wǎng)絡(luò)定位算法,設(shè)計(jì)了一種雙移動(dòng)錨節(jié)點(diǎn)路徑,并使用加權(quán)質(zhì)心算法輔助鯨魚(yú)優(yōu)化算法估算未知節(jié)點(diǎn)的坐標(biāo),提高了定位精度。實(shí)驗(yàn)結(jié)果表明,DASCAN比其它采用多個(gè)移動(dòng)錨節(jié)點(diǎn)的路徑更短,定位誤差更小,比H-Curves等采用單個(gè)移動(dòng)錨節(jié)點(diǎn)的定位率、定位精度更高,并且受DOI和RSSI測(cè)距誤差的影響更小。

但是,本文所提出的算法在部署區(qū)域的邊緣位置的定位精度較低,下一步需提出用于區(qū)域邊緣未知節(jié)點(diǎn)定位的補(bǔ)償算法。

猜你喜歡
鯨魚(yú)定位精度能耗
北斗定位精度可達(dá)兩三米
小鯨魚(yú)
120t轉(zhuǎn)爐降低工序能耗生產(chǎn)實(shí)踐
能耗雙控下,漲價(jià)潮再度來(lái)襲!
探討如何設(shè)計(jì)零能耗住宅
迷途鯨魚(yú)
鯨魚(yú)
GPS定位精度研究
GPS定位精度研究
組合導(dǎo)航的AGV定位精度的改善