馬宏光 曾國輝 韋鈺
摘 要:針對加權質(zhì)心定位算法受RSSI測距誤差影響導致定位結(jié)果不理想的問題,提出一種鯨魚優(yōu)化算法改進的加權質(zhì)心算法,利用鯨魚優(yōu)化算法的快速收斂、不易陷入局部最優(yōu)等優(yōu)勢對加權質(zhì)心算法定位結(jié)果進行優(yōu)化。首先,通過加權質(zhì)心算法計算待測點位置;其次,根據(jù)錨節(jié)點位置信息、RSSI測距信息及待測點位置信息建立適應度函數(shù);最后,利用鯨魚優(yōu)化算法不斷迭代尋優(yōu),對待測點定位結(jié)果進行優(yōu)化,以提高定位精度。在通信半徑相同、錨節(jié)點數(shù)為30的條件下,改進后的定位算法定位精度為0.58m,而粒子群加權質(zhì)心算法與人工魚群加權質(zhì)心算法定位精度分別為0.64m和0.62m,且隨著錨節(jié)點個數(shù)的增加或通信半徑的增大,改進后的定位算法仍能獲得更高的定位精度。因此,改進后的定位算法精度更高,具有一定可行性。
關鍵詞:室內(nèi)定位;RSSI;加權質(zhì)心;鯨魚優(yōu)化算法;定位誤差
DOI:10. 11907/rjdk. 191833 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP312文獻標識碼:A 文章編號:1672-7800(2020)005-0061-04
0 引言
隨著Wi-Fi的逐漸普及,Wi-Fi定位系統(tǒng)在室內(nèi)環(huán)境中也得到了廣泛應用?;诮邮招盘枏姸鹊亩ㄎ环椒ǎ≧SSI)已成為室內(nèi)主流定位方法[1],其具有成本低、覆蓋范圍廣、算法簡單且無需添加或修改硬件等優(yōu)勢[2-4]。該方法利用信號強度與距離的關系進行測距,計算待測點與錨節(jié)點間的距離。通常情況下需要3個錨節(jié)點,利用3個錨節(jié)點圓形成的相交區(qū)域,采用加權質(zhì)心算法進行定位即可得到待測點位置信息。但其缺點在于信號傳輸極易受室內(nèi)環(huán)境影響,導致RSSI測量誤差大,從而使加權質(zhì)心定位算法定位誤差隨著測距誤差的增大而增大[5-7]。
近年來,學者們提出不同方法以解決定位精度問題,但并沒有形成統(tǒng)一方案。如文獻[8]提出一種將粒子群與引力搜索相結(jié)合的改進加權質(zhì)心算法,有效提高了定位精度;文獻[9]提出一種基于人工魚群的改進加權質(zhì)心算法,定位結(jié)果穩(wěn)定性好、精度高??梢姡弥悄芩惴梢蕴岣呒訖噘|(zhì)心算法定位精度,但這些智能算法都存在易陷入局部極小的缺陷。
因此,本文提出一種鯨魚優(yōu)化算法對加權質(zhì)心算法進行優(yōu)化,用加權質(zhì)心定位算法得出的結(jié)果約束鯨魚優(yōu)化算法的種群初始范圍和迭代過程,利用鯨魚優(yōu)化算法的快速收斂與易跳出局部最優(yōu)的特性對定位結(jié)果進行迭代尋優(yōu),并通過仿真得出優(yōu)化后的結(jié)果,驗證所提出方法的可行性。
1 RSSI測距原理
RSSI表示無線通信中,接收端節(jié)點接收到從傳輸節(jié)點發(fā)送信號強度的對數(shù),以dBm計量,通常情況下RSSI為負值[10]。
當無線設備天線向各個方向均勻發(fā)射無線電波時,距離D米處無線電波功率密度與半徑球表面積成反比。因此,當無線電波傳輸功率為P時,距離D處的接收功率[PD]表示如下:
其中,D為距離(m),RSSI為實測RSSI(dBm),[RSSI0]為單位RSSI(dBm),N為RSSI衰減常數(shù)。當3個或多個錨節(jié)點接收到無線電波時,可根據(jù)每個RSSI值計算距離估計其相對位置。從RSSI到錨節(jié)點a1、a2、a3的距離分別用r1、r2、r3表示。在理想情況下,三圓必交于一點,但在實際情況下,由于環(huán)境干擾、測量誤差等因素,三圓相交于一個公共區(qū)域,待測點即處在其中某一位置,利用相應算法進行計算,即可得出較為精確的估計位置[11]。目前最常用的算法為加權質(zhì)心算法[12-14]。RSSI位置估計原理如圖1所示。
2 加權質(zhì)心算法
質(zhì)心算法原理是將3個錨節(jié)點圓重疊部分的質(zhì)心作為估計位置,具體做法為根據(jù)3個錨節(jié)點位置及對應錨節(jié)點圓聯(lián)立方程,可解得3個圓重疊部分的3個交點坐標,3個交點連線形成的三角形質(zhì)心即為估計位置[15]。由于距離錨節(jié)點越近,所受到環(huán)境干擾越小,得出的結(jié)果也越精確,因此傳統(tǒng)加權質(zhì)心常采用距離和的倒數(shù)作為權重對估計位置坐標進行加權,使得結(jié)果更加精確[16]。具體方法如下:假設3個圓交點坐標分別為A(x1,y1)、B(x2,y2)、C(x3,y3),則加權質(zhì)心估計位置(x,y)計算公式如式(6)、式(7)所示。
3 本文定位算法
3.1 基于鯨魚優(yōu)化算法改進加權質(zhì)心算法
鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA)是通過模擬自然界鯨魚捕食行為而開發(fā)出的一種尋優(yōu)算法[17-18],主要分為搜索獵物、包圍獵物與捕食獵物3種行為,分別對應3種不同的位置更新方程。具體位置更新過程如下:
(1)搜索獵物。在該過程中,鯨魚隨機覓食,即從鯨魚種群中隨機選擇個體進行位置更新,具體更新方程如式(8)、式(9)所示。
3.2 鯨魚優(yōu)化加權質(zhì)心算法
WOA算法具有跳出局部最優(yōu)的能力,且調(diào)節(jié)參數(shù)較少、易于實現(xiàn) [19-21]。在精度與收斂速度優(yōu)化方面,WOA 算法明顯優(yōu)于粒子群優(yōu)化算法與引力搜索算法等一些群體智能算法[22-24]。因此,本文將WOA算法用于優(yōu)化加權質(zhì)心算法。
假設待測點一共可以收到m個錨節(jié)點的RSSI值,根據(jù)公式(5)可以得出m個距離,記為d1,d2,[?],dm。利用式(6)、式(7)可計算出待測點坐標。由于從實際環(huán)境中獲取的信標與RSSI存在誤差,但在定位過程中,誤差是不可避免的[25],因此可將定位看作尋找最小誤差的過程,最小誤差如式(17)所示。
4 算法仿真分析
4.1 仿真環(huán)境與參數(shù)
通過MATLAB R2016b在100m×100m區(qū)域內(nèi)隨機分布錨節(jié)點與待測節(jié)點,設總節(jié)點數(shù)為80個。采用粒子群算法(PSO)、人工魚群算法(AFSA)與鯨魚優(yōu)化算法(WOA)分別對加權質(zhì)心定位算法進行優(yōu)化。
3種算法總迭代次數(shù)均為100次,種群數(shù)均為50,種群范圍限制在式(6)、式(7)計算出的待測點坐標附近一定范圍內(nèi)。選取整數(shù)[μ]作為調(diào)節(jié)因子以調(diào)節(jié)范圍,則種群坐標范圍[x∈(x-μ,x+μ),y∈(y-μ,y+μ)]。粒子群算法與人工魚群算法按照文獻[8]、[9]進行相關參數(shù)設置。
4.2 結(jié)果分析
設通信半徑為30m,如圖3所示,隨著錨節(jié)點數(shù)量增多,3種算法定位誤差均有所降低,但基于WOA算法優(yōu)化的質(zhì)心定位算法定位誤差更低。即與另外兩種定位算法相比,在通信半徑相同時,基于WOA算法優(yōu)化的質(zhì)心定位算法可在錨節(jié)點數(shù)量更少的情況下得到相同的定位效果,從而節(jié)約硬件成本。
5 結(jié)語
本文通過鯨魚優(yōu)化算法優(yōu)化加權質(zhì)心算法,并將提出的改進算法與傳統(tǒng)粒子群質(zhì)心定位算法及魚群質(zhì)心定位算法進行對比。仿真結(jié)果表明,本文提出的改進算法是有效、可行的,且精度更高。但改進算法的計算量相對較大,在實際應用中還需要對其作進一步優(yōu)化。
參考文獻:
[1] 鄧昶,官洪運,張慧,等. 基于RSSI測距補償室內(nèi)定位技術[J]. 電子科技,2015,28(7):108-110,114.
[2] 王樂,劉萬青,黃觀文,等. RSSI測距在藍牙室內(nèi)定位抗差算法中的應用[J]. 導航定位與授時,2019,6(3):82-87.
[3] 陶佳峰,楊曉洪,王劍平, 等. 基于RSSI的室內(nèi)測距模型優(yōu)化技術[J]. 傳感器與微系統(tǒng),2017,36(1):24-26,30.
[4] 裴凌,劉東輝,錢久超. 室內(nèi)定位技術與應用綜述[J]. 導航定位與授時,2017,4(3):1-10.
[5] 路澤忠,盧小平,付睢寧,等. 一種改進的RSSI加權質(zhì)心定位算法[J]. 測繪科學,2019,44(1):26-31.
[6] 鄒勝男. 基于RSSI測距的室內(nèi)定位算法研究與實現(xiàn)[D]. 南京:南京信息工程大學,2017.
[7] ZHAO C,WANG B. A MLE-PSO indoor localization algorithm based on RSSI[C]. ?2017 36th Chinese Control Conference (CCC),2017: 6011-6015.
[8] 謝國民,劉葉,付華,等. 基于PSO-GSA優(yōu)化的井下加權質(zhì)心人員定位算法[J]. 計算機應用研究,2017,34(3):710-713.
[9] 汪晨,張玲華. 基于人工魚群算法的改進質(zhì)心定位算法[J]. 計算機技術與發(fā)展,2018,28(5):103-106.
[10] 姜穆元,汪毓鐸. 基于RSSI無線傳感器網(wǎng)絡改進加權質(zhì)心算法[J]. 科技通報,2018,34(10):144-148.
[11] RU L,ZHANG L. A weighted centroid localization algorithm for wireless sensor ?networks based on weight correction[C]. 2017 9th International Conference on Advanced Infocomm Technology (ICAIT), 2017:165-169.
[12] 陳燕,楊永雙. 無線傳感器網(wǎng)絡加權質(zhì)心定位算法改進研究[J]. 軟件導刊,2017,16(4):41-43.
[13] 賈銀山,曾帥斌,王璟. 一種基于優(yōu)化RSSI精度的加權質(zhì)心定位算法[J]. 計算機應用與軟件,2017,34(11):162-165.
[14] 艾華,李艷. 基于RSSI測距濾波優(yōu)化的加權質(zhì)心定位算法[J]. 計算機工程與設計,2017,38(10):2631-2635.
[15] 王春. 基于RSSI測距的室內(nèi)無線定位技術的研究[D]. 淮南:安徽理工大學,2017.
[16] 白夢如,徐釗,鄭紅黨. 基于RSSI修正加權質(zhì)心的定位算法[J]. 計算機系統(tǒng)應用,2017,26(2):124-128.
[17] 褚鼎立,陳紅,王旭光. 基于自適應權重和模擬退火的鯨魚優(yōu)化算法[J]. 電子學報,2019,47(5):992-999.
[18] MIRJALILI S,LEWIS A. The whale optimization algorithm[J]. Advances in Engineering Software, 2016, 95:51-67.
[19] 張倩云. 基于鯨魚優(yōu)化算法的港口吞吐量預測及其模糊評價[D]. 蘭州:蘭州大學,2018.
[20] AHMED A S. Comparison between genetic algorithm and whale optimization algorithm in fault location estimation in power systems[C]. ?2017 Nineteenth International Middle East Power Systems Conference (MEPCON), 2017:631-637.
[21] 凌穎. ?鯨魚優(yōu)化算法及其應用研究[D]. ?南寧:廣西民族大學,2018.
[22] ZHENG Y. A novel hybrid algorithm for feature selection based on whale optimization algorithm[J]. IEEE Access,2019,7:14908-14923.
[23] 滕德云,滕歡,潘晨, 等. 基于鯨魚優(yōu)化算法的無功優(yōu)化調(diào)度[J]. 電測與儀表,2018,55(24):51-58.
[24] ZHANG Q,LIU L. Whale optimization algorithm based on lamarckian learning for global optimization problems[J]. IEEE Access, 2019,7:36642-36666.
[25] 王儉,張軒雄. 基于RSSI測距模型優(yōu)化算法研究[J]. 軟件導刊,2017,16(10):64-67.
(責任編輯:黃 ?。?/p>