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

?

基于RSSI高斯濾波的人工蜂群定位算法*

2021-09-29 10:11單好民陳才學(xué)
傳感技術(shù)學(xué)報 2021年7期
關(guān)鍵詞:定位精度測距蜂群

單好民,陳才學(xué)

(1.浙江郵電職業(yè)技術(shù)學(xué)院人工智能學(xué)院,浙江 紹興 312366;2.湘潭大學(xué)信息工程學(xué)院,湖南 湘潭 411105)

無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是由在特定區(qū)域部署的微型傳感節(jié)點組成的網(wǎng)絡(luò)。這些節(jié)點感知環(huán)境數(shù)據(jù),再將數(shù)據(jù)傳輸至匯聚節(jié)點。收到數(shù)據(jù)后,匯聚節(jié)點對數(shù)據(jù)進行分析,進而實現(xiàn)對環(huán)境的監(jiān)測目的。位置信息對監(jiān)測活動至關(guān)重要。只有確定了節(jié)點位置,感測的數(shù)據(jù)才具有參考價值[1]。因此,定位技術(shù)成為WSNs的關(guān)鍵技術(shù)之一。

依據(jù)定位過程中是否需要測距,將現(xiàn)存的定位算法可分為基于測距定位算法和基于非測距定位算法。相比于非測距算法,基于測距定位算法精度較高。常見的測距算法有:接收信號強度指標(Received Signal Strength Indication,RSSI)、信號到達時間(Time of Arrival,ToA)、到達角度(Angle of Arrival,AoA)等。與ToA和AoA不同,基于RSSI測距無需額外的測量設(shè)備,易實現(xiàn)。

目前,現(xiàn)存多數(shù)基于RSSI的定位算法采用降低RSSI的測距誤差提高定位精度。如文獻[2]提出基于卡爾曼濾波的RSSI值優(yōu)化算法。文獻[3]提出基于人工神經(jīng)網(wǎng)絡(luò)的RSSI值處理算法,但是該算法需要大量的RSSI數(shù)據(jù)。文獻[4]提出基于路徑損耗傳播模型優(yōu)化的濾波方法,通過優(yōu)化加權(quán)參數(shù),減少測距誤差。文獻[5]提出基于稀疏傅里葉和RSSI測距的低復(fù)雜RSSI定位算法(Spare Fourier-RSSI Positioning,SFRP)。SERP算法通過稀疏傅里葉方法篩選性能較好的錨節(jié)點參與定位,降低參與定位的錨節(jié)點個數(shù),進而降低算法的復(fù)雜度。

近些年來,隨著節(jié)點計算能力的提升,智能優(yōu)化算法被廣泛應(yīng)用于節(jié)點定位[6]。例如,文獻[7]提出基于雞群優(yōu)化的定位算法。利用雞群優(yōu)化算法估計節(jié)點的位置;文獻[8]提出的混沌粒子群雞群融合算法的RSSI質(zhì)心定位算法(RSSI Centroid Location algorithm Optimized by Chaos Particle Swarm Chicken Swarm Fusion Algorithm,RCCF)。RCCF算法在使用PSO算法的基礎(chǔ)上利用混沌優(yōu)化思想避免搜索過程陷入局部極小,再利用雞群算法進一步搜索最優(yōu)解。文獻[9]提出基于改進的布谷鳥優(yōu)化的節(jié)點定位算法,提高搜索節(jié)點位置的效率;

文獻[10]提出粒子群優(yōu)化的節(jié)點定位算法。先建立目標函數(shù),再利用粒子群優(yōu)化算法求解目標函數(shù),進而獲取節(jié)點位置。這些啟發(fā)優(yōu)化算法將定位問題轉(zhuǎn)化為目標優(yōu)化問題,再利用優(yōu)化算法求解。相比于傳統(tǒng)的定位算法,這些算法具有較高的定位性能,但是這些算法仍存在收斂速度慢問題。

為此,提出基于RSSI高斯濾波的人工蜂群定位(RSSI Gaussian Filter-based Artificial Bee Colony Localization,RGBL)算法。該算法先建立RSSI測距模型,再利用高斯濾波對RSSI值進行優(yōu)化處理。然后,利用人工蜂群算法搜索節(jié)點位置。仿真結(jié)果表明,提出的RGBL算法有效地提高了定位精度,提升算法的收斂速度。

1 RSSI測距模型及測距誤差分析

1.1 測距模型

RSSI值與信號傳播模型密切相關(guān),而不同環(huán)境下的傳播模型也不盡相同。通常,在實際環(huán)境中采用Shadowing模型:

式中:d表示收發(fā)兩端間的距離,如圖1所示。η表示路徑衰減指數(shù);χ表示附加的衰減因子[11];d0表示發(fā)送端與接收端相距1 m時的信號損耗;P(d)表示信號傳輸dm時所發(fā)生的損耗。

圖1 信號傳輸模型

依式(2)也能計算P(d):

式中:Pinit表示節(jié)點發(fā)射的初始信號強度;RSSI(d)表示在離發(fā)送端相距d時,接收端所接收的信號強度值。

結(jié)合式(1)和式(2)可得:

式中:A表示接收端從相距1 m處所接收的信號強度。

1.2 測距誤差分析

在基于RSSI測距階段,錨節(jié)點發(fā)射信號,其包含錨節(jié)點的ID號和位置信息;未知節(jié)點接收發(fā)射信號。所謂錨節(jié)點是指已知自身坐標信息的節(jié)點;未知節(jié)點是指需要估計位置坐標的節(jié)點。

利用式(3)估計距離:

表1 不同環(huán)境下的A和η的取值

從表1可知,不同環(huán)境下的A和η值差別較大。因此,RGBL算法將在給定環(huán)境下多次測量,獲取多個RSSI值,再利用高斯濾波對RSSI值進行處理,剔除誤差較大的RSSI值。再將剩余的低誤差的RSSI值估計距離,進而提高定位精度。

2 RGBL算法

n個節(jié)點隨機分布于二維(2-D)網(wǎng)絡(luò),其中錨節(jié)點所占的比例為a%。令θi=(xiyi)表示第i個未知節(jié)點的坐標;令表示第k個錨節(jié)點坐標。RGBL算法主要由基于高斯濾波的RSSI測距和基于人工蜂群優(yōu)化的定位兩個階段構(gòu)成。

2.1 基于錨節(jié)點位置信息的參數(shù)估計

由表1可知,不同環(huán)境下的A和η的參數(shù)不同。目前基于RSSI測距模型常采用一些經(jīng)驗值,如η一般取2~5。這種憑經(jīng)驗取值,并沒有考慮真實環(huán)境。因此,RGBL算法采用實時估計A和η參數(shù)。

對于未知節(jié)點i,它就從周圍選擇三個錨節(jié)點。首先從未知節(jié)點i的一跳范圍內(nèi)選擇離自己最近三個錨節(jié)點。原因在于:離自己距離越短,依據(jù)RSSI測距的估計值越準確。

若一跳范圍內(nèi)沒有三個錨節(jié)點,就擴大范圍,從二跳范圍內(nèi)搜索,依次類推,直到搜索到三個錨節(jié)點。為什么要從節(jié)點i的鄰近環(huán)境內(nèi)搜索?原因在于:同一個環(huán)境下A和η參數(shù)差別小。從節(jié)點i的鄰近環(huán)境內(nèi)選擇錨節(jié)點,再利用這些錨節(jié)點已知的位置信息估計A和η參數(shù),然后所估計的參數(shù)值去定位未知節(jié)點i。利用這種方式,可以減少因參數(shù)不準確所帶來的定位誤差[13]。

假定未知節(jié)點i選擇了三個錨節(jié)點:{a1,a2,a3}。這三個錨節(jié)點的位置坐標分別:,,,。然后依據(jù)式(5)計算計算錨節(jié)點a1離a2、a3的距離:

同時,錨節(jié)點a1記錄從錨節(jié)點a2、錨節(jié)點a3所接收的信號強度值(RSSI1,2,RSSI1,3)。再求解式(6)便可估計參數(shù)A和η:

2.2 基于高斯濾波的RSSI測距

即使在特定的環(huán)境下,未知節(jié)點所接收的RSSI值容易受環(huán)境變化,易產(chǎn)生較大誤差的RSSI值。為此,在定位之前,先利用高斯濾波對所接收的RSSI值進行處理,剔除誤差大的RSSI值,保留誤差低的值。

在特定環(huán)境下同一對收/發(fā)兩端進行多次測量,多次測量所獲取的RSSI值服從高斯分布(μ,σ2)。第j次接收的RSSI值(RSSIj)的概率密度函數(shù)[14]:

依據(jù)文獻[15],RSSIj值落入在區(qū)間(μ-σ,μ+σ)內(nèi)的概率為:

因此,將未落入在區(qū)間內(nèi)的RSSI值剔除,保留下的RSSI值用于測距。為此,設(shè)定一個二值變量bj。若RSSIj的概率Pj不小于0.682 6,則bj=1,否則為零:

再將m次測量的均值作為最后的RSSI值:

2.3 基于人工蜂群的節(jié)點定位

相比于粒子群等傳統(tǒng)的優(yōu)化算法,人工蜂群算法的全局尋優(yōu)能力更好。為此,RGBL算法將人工蜂群算法求解節(jié)點位置。在基于人工蜂群算法中,將未知節(jié)點作為未知蜜源;有效蜜源的位置就是未知節(jié)點位置的估計值[16]。人工蜂群算法中有三類蜂蜜:引領(lǐng)蜂,跟隨蜂和偵查蜂。

表2給出這三者之間的關(guān)系以及應(yīng)用于定位系統(tǒng)中與節(jié)點間的關(guān)系[11]。

表2 人工蜂群算法與節(jié)點定位系統(tǒng)間對應(yīng)關(guān)系

2.3.1 基于測距誤差的目標函數(shù)

先將未知節(jié)點的定位問題轉(zhuǎn)化為非線性方程組的求解問題,即建立目標函數(shù)。RGBL算法屬分布式算法,每個未知節(jié)點獨立運行算法。因此,每個未知節(jié)點構(gòu)建一個目標函數(shù)。

令f(xi,yi)表示未知節(jié)點i的目標函數(shù),其定義如式(11)所示:

式中:Na表示與未知節(jié)點i相關(guān)聯(lián)的錨節(jié)點數(shù);表示通過式(4)所估計的未知節(jié)點i與錨節(jié)點k間的距離。

2.3.2 基于人工蜂群算法的目標函數(shù)求解

首先,初始化蜜蜂位置:

式中:i=1,2,…,M,其中M表示蜜蜂數(shù)量;j表示搜索空間的維數(shù);Xmax,j,Xmin,j分別表示蜜蜂位置的上、下限。

第二步,引領(lǐng)蜂依據(jù)式(13)進行領(lǐng)域搜索,搜索最優(yōu)位置:

式中:t表示當前迭代的次數(shù);k表示不同于i的蜜源。

第三步,依據(jù)式(14)計算花粉量Ei,即將更新前/后的解進行對比。若更新后的Ei大于更新前的值,就對解進行更新,否則保留原解:

式中:fi表示蜜源i的目標函數(shù)值。即將Xi,j代入式(11)所得到的f(xi,yi)值。

第四步,其他蜜蜂以式(15)計算跟隨引領(lǐng)蜂的概率[13]:

第五步,如果位于某一位置的蜜蜂搜索次數(shù)達到最大迭代次數(shù),式(13)所計算的值仍沒有變化,在這種情況下,引領(lǐng)蜂就拋棄此蜜源,并轉(zhuǎn)化為偵查蜂,并依式(21)開發(fā)新的蜜源。基于人工蜂群算法求解目標函數(shù)的流程如圖2所示。

圖2 基于人工蜂群算法求解目標函數(shù)的流程

3 性能分析

3.1 仿真環(huán)境

利用MATLAB軟件建立仿真平臺,并分析實驗數(shù)據(jù)。在100 m×100 m區(qū)域內(nèi)部署100~200個未知節(jié)點(n=100~200),錨節(jié)點數(shù)15至45個。所有節(jié)點的通信半徑在20 m~45 m變化。具體的仿真參數(shù)如表3所示。

表3 仿真參數(shù)

此外,選擇-SFRP算法和RCCF算法,并分析它們的歸一化定位誤差性能:

3.2 錨節(jié)點數(shù)對歸一化定位誤差的影響

首先,分析錨節(jié)點數(shù)對歸一化定位誤差的影響,如圖3所示。實驗參數(shù):150個未知節(jié)點數(shù),節(jié)點通信半徑為35 m;錨節(jié)點數(shù)從15個至45變化,步長為5。

從圖3可知,錨節(jié)點數(shù)的增加降低了節(jié)點的歸一化定位誤差。在錨節(jié)點數(shù)小于25時,錨節(jié)點數(shù)的增加,有效地提高了定位精度。原因在于:錨節(jié)點數(shù)越多,未知節(jié)點收到的定位信息越多,定位精度就越高。但當錨節(jié)點數(shù)增加到一定量后(大于30),錨節(jié)點數(shù)的增加并不能有效地降低歸一化定位誤差。此外,相比于SFRP和RCCF算法,提出的RGBL算法的定位精度提高了約8.94%和4.75%。

圖3 錨節(jié)點數(shù)對歸一化平均定位誤差的影響

3.3 通信半徑對歸一化定位誤差的影響

接下來,分析通信半徑對歸一化定位誤差的影響,如圖4所示。實驗參數(shù):150個未知節(jié)點數(shù),30個錨節(jié)點數(shù),節(jié)點通信半徑從20 m~45 m變化,步長為5。

圖4 通信半徑對歸一化平均定位誤差的影響

從圖4可知,歸一化平均定位誤差隨通信半徑的增加而下降。原因在于:通信半徑越大,節(jié)點的一跳通信范圍越大,測距誤差越小。定位精度越高。此外,相比于SFRP算法和RCCF算法,RGBL算法提升了定位精度,歸一化平均定位誤差分別降低7.86%和3.23%。

3.4 未知節(jié)點數(shù)對歸一化平均定位誤差的影響

本次實驗分析未知節(jié)點數(shù)對定位精度的影響,如圖5所示。實驗參數(shù):通信半徑為35 m,未知節(jié)點數(shù)從100至200個變化,錨節(jié)點數(shù)為未知節(jié)點數(shù)的20%。例如,未知節(jié)點為200個時,錨節(jié)點數(shù)就為40個。

圖5 未知節(jié)點數(shù)對歸一化平均定位誤差的影響

從圖5可知,歸一化平均定位誤差隨節(jié)點數(shù)的增加而下降。原因在于:節(jié)點數(shù)越多,網(wǎng)絡(luò)內(nèi)節(jié)點分布可能越均勻,網(wǎng)絡(luò)連通性越好。由于錨節(jié)點數(shù)的增加也隨之增加,錨節(jié)點數(shù)的增加也有利于定位精度的提升(如圖5所示)。此外,相比于SFRP算法和RCCF算法,RGBL算法在歸一化平均定位誤差方面仍保有明顯的優(yōu)勢。

3.5 收斂速度性能

本次實驗分析RGBL算法、SFRP和RCCF算法的收斂速度。實驗參數(shù):未知節(jié)點150,錨節(jié)點30個,節(jié)點通信半徑為30m。最大的迭代次數(shù)為100次。

圖6給出迭代次數(shù)從1至100變化條件下,RGBL算法、SFRP和RCCF算法的定位誤差。從圖6可知,RGBL算法在迭代到約11次時,定位誤差值就達到了收斂。而RCCF算法在迭到約14次,定位誤差達到收斂。人工蜂群算法在整個尋優(yōu)過程中,引領(lǐng)蜂用于局部開發(fā),跟隨峰用于儲存解,偵查蜂用于全局搜索,提高了收斂速度。

圖6 迭代次數(shù)與定位精度的關(guān)系

4 總結(jié)

針對基于RSSI測距所導(dǎo)致的定位誤差問題,提出基于RSSI高斯濾波的人工蜂群定位RGBL算法。RGBL算法結(jié)合了高斯濾波和人工蜂群算法。利用高斯濾波算法剔除誤差較大的RSSI值保留精度較高的RSSI值;利用人工蜂群算法的快速搜索性能,搜索目標函數(shù)的解,進而實現(xiàn)對未知節(jié)點的定位。

仿真結(jié)果表明,相比于同類的定位算法,提出的RGBL算法減少了定位誤差,提升算法的收斂速度。本次仿真考慮的仿真場景較簡單,而在實際的地理環(huán)境中,RSSI信號受多個環(huán)境因素影響。后期,將研究如何在復(fù)雜環(huán)境提高基于RSSI測距精度。這將是后期的研究工作。

猜你喜歡
定位精度測距蜂群
北斗定位精度可達兩三米
“蜂群”席卷天下
類星體的精準測距
GPS定位精度研究
GPS定位精度研究
組合導(dǎo)航的AGV定位精度的改善
淺談超聲波測距
改進gbest引導(dǎo)的人工蜂群算法
基于PSOC超聲測距系統(tǒng)設(shè)計
蜂群夏季高產(chǎn)管理
淳安县| 龙里县| 昆明市| 小金县| 博爱县| 弋阳县| 二连浩特市| 涟水县| 安阳市| 馆陶县| 黄浦区| 彭州市| 广安市| 织金县| 灵台县| 张家港市| 连江县| 荆州市| 寿宁县| 通化市| 呼图壁县| 延吉市| 长春市| 大宁县| 临漳县| 石嘴山市| 榆中县| 巧家县| 松阳县| 论坛| 潮州市| 鲜城| 姜堰市| 宜章县| 兴文县| 屏东县| 武安市| 永嘉县| 城市| 平昌县| 册亨县|