王安義,曹 茜
(西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710054)
智能家居、煤礦井下、消防救援等場(chǎng)景都需要獲得高精度的室內(nèi)定位信息,超寬帶(ultra wide band,UWB)技術(shù)因具有分辨率高、抗多徑效應(yīng)、穿透性強(qiáng)、硬件結(jié)構(gòu)簡(jiǎn)單、頻譜利用率高等優(yōu)點(diǎn)成為室內(nèi)定位首選。
復(fù)雜的室內(nèi)環(huán)境存在人員、墻體以及其他障礙物,給定位系統(tǒng)帶來(lái)不可避免的非視距(non-line of sight,NLOS)誤差和多徑干擾,因此如何降低或消除NLOS誤差成為UWB室內(nèi)定位研究的熱點(diǎn)[1]。UWB定位中基于測(cè)距常用的算法有基于信號(hào)到達(dá)強(qiáng)度(RSSI)、到達(dá)角度(AOA)、到達(dá)時(shí)間(TOA)和到達(dá)時(shí)間差(TDOA)等方法[2]。TDOA方法因其時(shí)鐘同步要求低、設(shè)備簡(jiǎn)單、定位精度較高而被廣泛研究。為降低NLOS誤差和提高定位精度,反向傳播算法[3](back propagation,BP)、卷積神經(jīng)網(wǎng)絡(luò)[4](convolutional neural networks,CNN)、遺傳算法(genetic algorithm,GA)[5]、粒子群算法(particle swarm optimization,PSO)[6]等智能算法被應(yīng)用到無(wú)線定位領(lǐng)域。Poulose Alwin等提出一種在視距(line of sight,LOS)環(huán)境下基于長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-termmemory,LSTM)的超寬帶定位方法,平均定位誤差為7 cm[7]。王生亮等通過(guò)改進(jìn)的實(shí)數(shù)自適應(yīng)遺傳算法優(yōu)化TDOA定位算法,提高UWB信號(hào)在復(fù)雜環(huán)境下的定位精度[8]。崔麗珍等提出一種基于PSO-BP神經(jīng)網(wǎng)絡(luò)的定位算法,利用PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)各個(gè)神經(jīng)元之間的權(quán)值進(jìn)行尋優(yōu),實(shí)現(xiàn)定位性能的提升[9]。NGUYEN等在定位過(guò)程中,將典型的測(cè)距和定位階段整合在一起,同時(shí)由所提出的CNN模型進(jìn)行定位,其定位性能的提升是通過(guò)增加計(jì)算復(fù)雜度為代價(jià)實(shí)現(xiàn)的[10]。MEGHANI等利用模糊模型通過(guò)NLOS誤差和多路徑(multipath propagation,MPP)傳播條件引起的不確定性對(duì)測(cè)距誤差進(jìn)行估計(jì)和校正,能有效地減小測(cè)距誤差和計(jì)算量[11]。陳浩等提出一種基于井下隧道不同環(huán)境的聯(lián)合定位算法,在LOS情況下使用訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)算法來(lái)提高作業(yè)效率和定位精度,而在NLOS情況下改用粒子過(guò)濾,在所有環(huán)境下的定位效率顯著提高[12]。
為有效緩解NLOS誤差和提高定位精度,以BP神經(jīng)網(wǎng)絡(luò)超寬帶定位模型為基礎(chǔ),針對(duì)BP神經(jīng)網(wǎng)絡(luò)用于超寬帶定位時(shí),存在收斂速度慢、易陷入局部極值等問(wèn)題,提出一種BP神經(jīng)網(wǎng)絡(luò)融合引力場(chǎng)的超寬帶定位模型。模型利用仿真數(shù)據(jù)構(gòu)建BP神經(jīng)網(wǎng)絡(luò),通過(guò)引力場(chǎng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,實(shí)現(xiàn)目標(biāo)精準(zhǔn)定位。
到達(dá)時(shí)間差定位模型通過(guò)測(cè)量出2個(gè)不同基站與移動(dòng)目標(biāo)之間的到達(dá)時(shí)間差值,解算得到目標(biāo)位置。設(shè)目標(biāo)MS位置坐標(biāo)為(x,y),基站BSi坐標(biāo)為(xi,yi),將BS1視為主基站,目標(biāo)MS與基站BSi之間的距離見式(1)
ri,1=cτi,1=c(τi-τ1)
(1)
式中ri,1為MS到BSi和BS1之間的距離差;τi,1為MS到BSi和BS1間信號(hào)傳播的時(shí)間差,同時(shí)τi之間相互獨(dú)立;c為電波傳播速度,近似于光速。
由于ri,1=ri-r1,公式(1)可改寫為
(2)
實(shí)際環(huán)境中非視距傳播和多徑效應(yīng),引入非視距誤差和系統(tǒng)誤差,造成測(cè)量值不準(zhǔn)確,定位精度下降的問(wèn)題。
BP神經(jīng)網(wǎng)絡(luò)可通過(guò)學(xué)習(xí)數(shù)據(jù)來(lái)解決非線性問(wèn)題,包括信號(hào)的正向傳播和誤差的反向修正2個(gè)過(guò)程。利用BP神經(jīng)網(wǎng)絡(luò)較強(qiáng)的非線性逼近能力來(lái)緩解NLOS誤差,以提高定位性能。
BP神經(jīng)網(wǎng)絡(luò)超寬帶定位模型中BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(圖1),輸入層由參與定位的8個(gè)基站提供的7個(gè)TDOA測(cè)量值組成,輸出層為MS的估計(jì)位置(x,y)。
圖1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.1 BP neural network topology
針對(duì)定位問(wèn)題完成BP神經(jīng)網(wǎng)絡(luò)構(gòu)建后,初始化BP神經(jīng)網(wǎng)絡(luò)參數(shù)。輸入信息通過(guò)神經(jīng)元激活函數(shù)、權(quán)重及閾值前向傳遞至輸出層。判斷輸出信息與期望信息的誤差是否滿足需求,或迭代次數(shù)否達(dá)到上限。滿足上述任意結(jié)束條件,訓(xùn)練結(jié)束,否則反向傳遞輸出層誤差,以降低誤差為目標(biāo)利用最速下降法更新權(quán)重與閾值。
引力場(chǎng)算法(gravitation field algorithm,GFA)[13]是鄭明等提出的一種新穎的啟發(fā)式搜索算法,廣泛應(yīng)用于生物工程、算法優(yōu)化、復(fù)雜網(wǎng)絡(luò)和粒子濾波領(lǐng)域[14-19]。算法模仿灰塵在宇宙中相互吸引匯集,形成行星的變化過(guò)程,可作為優(yōu)化問(wèn)題的最優(yōu)解[20]。
灰塵初始化。在質(zhì)量函數(shù)的自變量范圍內(nèi)隨機(jī)初始化N個(gè)灰塵粒子,作為優(yōu)化問(wèn)題的初始解空間。在可行域內(nèi)利用質(zhì)量函數(shù)F,即可求得每個(gè)灰塵粒子的初始質(zhì)量M?;覊m的質(zhì)量值是衡量灰塵優(yōu)劣的重要指標(biāo),令灰塵質(zhì)量值最小的灰塵為中心灰塵,其余灰塵稱為周圍灰塵。
移動(dòng)算子。不同于實(shí)際物理模型中灰塵之間相向的引力作用,引力場(chǎng)算法在當(dāng)前移動(dòng)算子迭代步驟內(nèi)中心灰塵不會(huì)移動(dòng),其他周圍灰塵會(huì)朝著中心灰塵單向移動(dòng),移動(dòng)策略見式(3)
Pi=M×disi
(3)
式中disi為中心灰塵和周圍灰塵之間的歐氏距離;M為移動(dòng)距離的權(quán)重值。
吸收算子。周圍灰塵受中心灰塵單向引力作用向其靠近,當(dāng)周圍灰塵與中心灰塵之間的距離小于一定的閾值時(shí),周圍灰塵被中心灰塵吸收。吸收策略為刪除相應(yīng)的周圍灰塵,減少下一次迭代過(guò)程中冗余的計(jì)算。
自轉(zhuǎn)算子。周圍灰塵不僅受到中心灰塵的引力作用,同時(shí)受到中心灰塵自轉(zhuǎn)的影響。自轉(zhuǎn)操作是中心灰塵通過(guò)自旋轉(zhuǎn)將周圍灰塵推離,使兩者始終保持一定距離的過(guò)程,推離策略見式(4)
(4)
式中f為自轉(zhuǎn)因子,與中心灰塵和周圍灰塵之間距離成反比例關(guān)系。為避免周圍灰塵被推離太遠(yuǎn),設(shè)置一個(gè)最大自轉(zhuǎn)因子fmax,保證算法的收斂速度。
引力場(chǎng)算法具有收斂速度快、全局尋優(yōu)能力強(qiáng)的特點(diǎn),模型中的引力作用使優(yōu)化對(duì)象快速集中地分布在真實(shí)狀態(tài)附近,自轉(zhuǎn)作用使優(yōu)化對(duì)象避免過(guò)度集中。為緩解BP神經(jīng)網(wǎng)絡(luò)超寬帶定位模型,容易陷入局部最優(yōu)、收斂速度慢等缺點(diǎn),提出一種BP神經(jīng)網(wǎng)絡(luò)融合引力場(chǎng)的超寬帶定位模型(圖2)。
圖2 BP神經(jīng)網(wǎng)絡(luò)融合引力場(chǎng)的超寬帶定位模型Fig.2 BP neural network fusion gravitational field algorithm for ultra-wideband localization model
BP神經(jīng)網(wǎng)絡(luò)融合引力場(chǎng)的超寬帶定位模型,主要分為BP神經(jīng)網(wǎng)絡(luò)構(gòu)建和引力場(chǎng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)由數(shù)據(jù)集的輸入輸出參數(shù)個(gè)數(shù)確定;引力場(chǎng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型利用引力場(chǎng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,具體優(yōu)化過(guò)程為:引力場(chǎng)算法每粒灰塵中包含一個(gè)網(wǎng)絡(luò)所有權(quán)值和閾值,利用質(zhì)量函數(shù)計(jì)算灰塵的質(zhì)量值,通過(guò)迭代灰塵間的移動(dòng)、排斥操作找到較小質(zhì)量值對(duì)應(yīng)的灰塵,得到引力場(chǎng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的較優(yōu)初始權(quán)值和閾值,通過(guò)LM算法更新權(quán)值和閾值訓(xùn)練網(wǎng)絡(luò)。網(wǎng)絡(luò)預(yù)測(cè)將測(cè)試數(shù)據(jù)集輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,輸出預(yù)測(cè)目標(biāo)的定位坐標(biāo)。
初始化網(wǎng)絡(luò)參數(shù)。確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),初始化BP神經(jīng)網(wǎng)絡(luò)權(quán)值ωij,ωjk和閾值a,b,同時(shí)將權(quán)值和閾值映射為引力場(chǎng)算法中的每?;覊m。
確定灰塵質(zhì)量。將預(yù)測(cè)輸出和期望輸出之間的誤差絕對(duì)值和作為灰塵的質(zhì)量。質(zhì)量函數(shù)的表達(dá)見式(5)
(5)
式中n為網(wǎng)絡(luò)輸出節(jié)點(diǎn);yi為BP神經(jīng)網(wǎng)絡(luò)第i個(gè)節(jié)點(diǎn)的期望輸出;oi為第i個(gè)節(jié)點(diǎn)的預(yù)測(cè)輸出。將質(zhì)量小的灰塵定義為中心灰塵,其余灰塵為周圍灰塵。
周圍灰塵移動(dòng)。周圍灰塵受到中心灰塵的單向引力作用,發(fā)生移動(dòng)。判斷移動(dòng)因子是否起作用,當(dāng)周圍灰塵與中心灰塵之間的距離小于0.5時(shí),移動(dòng)因子失效;否則,利用公式(3)計(jì)算周圍灰塵受中心灰塵引力的作用。
中心灰塵自轉(zhuǎn)。中心灰塵通過(guò)自轉(zhuǎn)作用,與周圍灰塵始終保持一定距離。判斷自轉(zhuǎn)因子是否起作用,當(dāng)周圍灰塵與中心灰塵之間的距離大于0.2時(shí),自轉(zhuǎn)因子失效;否則,利用公式(4)計(jì)算周圍灰塵受中心灰塵排斥力的作用。
判斷是否結(jié)束。檢查引力場(chǎng)算法迭代次數(shù)是否達(dá)到最大迭代次數(shù),若不滿足條件,返回確定灰塵質(zhì)量步驟,直至滿足條件,從而獲得引力場(chǎng)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的較優(yōu)初始權(quán)值和閾值。
實(shí)驗(yàn)驗(yàn)證。利用測(cè)試數(shù)據(jù)集,仿真驗(yàn)證BP神經(jīng)網(wǎng)絡(luò)融合引力場(chǎng)的超寬帶定位模型的性能。
采用MATLAB模擬室內(nèi)NLOS環(huán)境下UWB定位,基站數(shù)量的增加可以提升定位精度。因此,選擇在20 m×20 m的二維平面區(qū)域內(nèi)設(shè)置8個(gè)基站BSi,1(i=1,2,…,8),分布位置分別為BS1(0,0),BS2(0,10),BS3(0,20),BS4(10,20),BS5(20,20),BS6(20,10),BS7(20,0),BS8(10,0),BS1為主基站。UWB信道模型選擇IEEE802.15.4a標(biāo)準(zhǔn)下的CM4模型(NLOS環(huán)境下的室內(nèi)辦公環(huán)境)。目標(biāo)MS發(fā)射的UWB信號(hào)源為PPM-TH-UWB調(diào)制模式。UWB信號(hào)經(jīng)過(guò)與信道沖激響應(yīng)卷積之后再加入白噪聲,最后在輸出端通過(guò)相關(guān)器接收,從而得到TDOAi,1(i=1,2,…,8)數(shù)據(jù)(圖3)。
圖3 仿真環(huán)境布局Fig.3 Simulation environment layout
為檢驗(yàn)各定位模型的性能,根據(jù)仿真環(huán)境隨機(jī)生成1 000組MS真實(shí)坐標(biāo)(x,y),計(jì)算對(duì)應(yīng)的TDOAi,1(i=1,2,…,8)數(shù)據(jù),其中800組數(shù)據(jù)用于訓(xùn)練引力場(chǎng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型,以目標(biāo)MS的真實(shí)坐標(biāo)(x,y)為目標(biāo)樣本矢量對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;200組數(shù)據(jù)用于驗(yàn)證BP神經(jīng)網(wǎng)絡(luò)融合引力場(chǎng)算法的超寬帶定位模型的性能。
BP神經(jīng)網(wǎng)絡(luò)定位模型輸入節(jié)點(diǎn)數(shù)為7,輸出節(jié)點(diǎn)數(shù)為2,根據(jù)經(jīng)驗(yàn)公式多次進(jìn)行實(shí)驗(yàn),確定隱含層神經(jīng)元個(gè)數(shù)l為11,隱含層激勵(lì)函數(shù)f1為logsig函數(shù),輸出層激勵(lì)函數(shù)f2為pureline函數(shù),最大迭代次數(shù)為100,期望誤差為0.000 01,學(xué)習(xí)速率為0.01。
粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)超寬帶(PSO-BP)定位模型參數(shù)設(shè)置如下:認(rèn)知系數(shù)c1=1.5,社會(huì)學(xué)習(xí)系數(shù)c2=1.495,種群規(guī)模N=40,最大迭代次數(shù)D=100,其余參數(shù)同BP神經(jīng)網(wǎng)絡(luò)定位模型設(shè)置相同。
BP神經(jīng)網(wǎng)絡(luò)融合引力場(chǎng)超寬帶(GFA-BP)定位模型參數(shù)設(shè)置如下:利用LM算法更新權(quán)值和閾值,移動(dòng)距離的權(quán)重值M=0.061 8,自轉(zhuǎn)因子f=0.008 25,最大自轉(zhuǎn)因子fmax=0.3,初始種群N=40,最大迭代次數(shù)D=100,其余參數(shù)同BP神經(jīng)網(wǎng)絡(luò)定位模型設(shè)置相同。
將200組TDOA值輸入GFA-BP定位模型、PSO-BP定位模型和BP神經(jīng)網(wǎng)絡(luò)定位模型,得到各模型預(yù)測(cè)的MS坐標(biāo)。隨機(jī)選取測(cè)試集中50組預(yù)測(cè)誤差進(jìn)行對(duì)比(圖4),NLOS仿真環(huán)境下GFA-BP模型定位精確度優(yōu)于PSO-BP定位模型和BP神經(jīng)網(wǎng)絡(luò)定位模型,且魯棒性較好。
表1為3種定位模型的最大誤差、最小誤差和均方根誤差(root mean square error,RMSE),GFA-BP定位模型的均方根誤差為7.95 cm,相較于PSO-BP定位模型的17.21 cm和BP神經(jīng)網(wǎng)絡(luò)定位模型的22.34 cm,分析知定位誤差分別下降了53.81%和64.41%。在以上3種不同定位模型中,GFA-BP模型定位精度較高。
圖4 3種定位模型預(yù)測(cè)誤差絕對(duì)值比較Fig.4 Comparison of absolute value of prediction error of three positioning models
引力場(chǎng)定位模型中“適應(yīng)度”對(duì)應(yīng)引力場(chǎng)算法質(zhì)量值,為衡量網(wǎng)絡(luò)性能的參數(shù)。PSO-BP定位模型第26次迭代時(shí)趨于穩(wěn)定,GFA-BP定位模型第12次迭代時(shí)趨于穩(wěn)定,說(shuō)明引力場(chǎng)算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型收斂速度更快,尋優(yōu)能力更強(qiáng)。PSO-BP定位模型最優(yōu)個(gè)體適應(yīng)度值0.248 6,GFA-BP定位模型最優(yōu)個(gè)體適應(yīng)度值為0.196 7。適應(yīng)度值越低,相應(yīng)的權(quán)值與閾值越優(yōu),定位模型預(yù)測(cè)誤差越小。結(jié)合各模型的網(wǎng)絡(luò)收斂速度和網(wǎng)絡(luò)收斂穩(wěn)定時(shí)適應(yīng)度值可知,GFA-BP定位模型在保持較快尋優(yōu)速度、BP神經(jīng)網(wǎng)絡(luò)優(yōu)化能力強(qiáng)于PSO-BP網(wǎng)絡(luò)(圖5)。
表1 3種定位模型的定位誤差
圖5 引力場(chǎng)與粒子群優(yōu)化BP網(wǎng)絡(luò)性能比較Fig.5 Performance comparison of gravitational field and particle swarm optimization BP network
通過(guò)PSO-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差可知,PSO-BP神經(jīng)網(wǎng)絡(luò)需30步達(dá)到目標(biāo)精度,網(wǎng)絡(luò)均方誤差為0.008 033 8,總運(yùn)行時(shí)間為179.233 853 s(圖6)。
圖6 粒子群優(yōu)化BP網(wǎng)絡(luò)訓(xùn)練誤差Fig.6 PSO-BP network training error
通過(guò)GFA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差可知GFA-BP神經(jīng)網(wǎng)絡(luò)僅需19步達(dá)到目標(biāo)精度,網(wǎng)絡(luò)均方誤差為0.003 284 6,總運(yùn)行時(shí)間為99.817 086 s。GFA-BP神經(jīng)網(wǎng)絡(luò)較PSO-BP神經(jīng)網(wǎng)絡(luò),能減少網(wǎng)絡(luò)的收斂次數(shù)加快網(wǎng)絡(luò)訓(xùn)練時(shí)間,降低了總體誤差,更好地改善BP神經(jīng)網(wǎng)絡(luò)易陷入局部極值和收斂速度慢的缺點(diǎn)(圖7)。
圖7 引力場(chǎng)優(yōu)化BP網(wǎng)絡(luò)訓(xùn)練誤差Fig.7 GFA-BP network training error
累積分布函數(shù)(cumulative distribution function,CDF)表示在所有定位結(jié)果中,誤差低某設(shè)定誤差的概率。通過(guò)3種模型定位誤差累計(jì)分布函數(shù)可知,90%定位誤差控制在12.75 cm以內(nèi),較粒子群優(yōu)化BP網(wǎng)絡(luò)定位精度提升50.92%,較BP神經(jīng)網(wǎng)絡(luò)超寬帶定位精度提升64.55%(圖8)。GFA-BP算法曲線較PSO-BP算法曲線和BP算法曲線收斂速度較快,定位誤差較小,定位效果較好。
圖8 3種定位模型誤差累積分布函數(shù)Fig.8 Error cumulative distribution functions of three positioning models
1)定位模型利用BP神經(jīng)網(wǎng)絡(luò)較強(qiáng)的非線性逼近能力,解決非視距誤差、多徑效應(yīng)導(dǎo)致超寬帶定位模型精度下降的問(wèn)題。
2)移動(dòng)因子使權(quán)值和閾值快速集中分布在極值附近,提升網(wǎng)絡(luò)收斂速度;自轉(zhuǎn)因子臨近極值的權(quán)值和閾值隨機(jī)遠(yuǎn)離極值,保證灰塵的多樣性,緩解BP神經(jīng)網(wǎng)絡(luò)超寬帶定位模型收斂速度慢、容易陷入局部極值的問(wèn)題。
3)GFA-BP超寬帶定位模型在NLOS環(huán)境下具較高定位精度、較快收斂速度和良好魯棒性,滿足復(fù)雜環(huán)境下室內(nèi)定位的需求。