張慧穎,王 凱,于海越,牟 昊
(吉林化工學院 信息與控制工程學院,吉林 132022)
21世紀以來,隨著智能通信與無線網(wǎng)絡(luò)的發(fā)展,全球定位系統(tǒng)(global positioning system,GPS)廣泛應(yīng)用于室外定位服務(wù),并具有很高的定位精度[1]。室內(nèi)電子設(shè)備存在電磁干擾GPS在室內(nèi)無法實現(xiàn)高精度定位[2]。室內(nèi)可見光定位圖像傳感器的定位系統(tǒng),利用幾何成像實現(xiàn)定位功能,但存在設(shè)備復雜、定位速度慢的問題[3]。目前依托于發(fā)光二極管(light-emithing diode,LED)燈作為發(fā)射端的可見光通信(visible light communication,VLC)技術(shù)[4],在室內(nèi)定位中有更高的抗干擾性。現(xiàn)有的室內(nèi)定位距離計算的方法包括信號強度指示(received signal strength indication,RSSI)[5]、通過到達角度(angle of arrival,AOA)[6]、到達時間差(time difference of arrival,TDOA)[7]計算距離。參考文獻[8]中將AOA和RSSI相結(jié)合提出一種室內(nèi)混合定位算法,誤差在10cm左右,但混合兩種算法復雜度和成本都比較高。參考文獻[9]中將PSO和BAS兩種算法結(jié)合起來大大降低定位的復雜性,但定位的精度有待提高。參考文獻[10]中針對傳統(tǒng)的PSO算法進行優(yōu)化,測試點的平均定位誤差大約為5cm。參考文獻[11]中使用3個LED燈兼顧室內(nèi)照明的同時進行室內(nèi)定位,但定位誤差低于10cm定位精度還有待提高。參考文獻[12]中將RSSI/TDOA兩種定位技術(shù)混合進行定位,定位精度有提高,但存在定位過程復雜、速度較慢的缺點。由于傳統(tǒng)黃金正弦算法存在易陷入局部最優(yōu),定位精度低的問題。
本文中提出基于自適應(yīng)Levy飛行的變異機制改進黃金正弦算法,根據(jù)RSSI通過朗伯模型得到未知節(jié)點與參考節(jié)點的距離,改進后的黃金正弦算法對目標位置不斷尋優(yōu)進行精確定位。仿真結(jié)果表明,改進黃金正弦定位算法與其它定位算法相比定位速度更快、精度更高。
LED燈將接收到的電信號轉(zhuǎn)化為光信號進行傳輸,光電二極管(photo diode,PD)將接收到的光信號轉(zhuǎn)化為電信號,使用空間角度和光強度的關(guān)系表示朗伯光源的光強分布[13-14]。參考文獻[15]中通過計算得出光信號反射次數(shù)為3次~10次時對系統(tǒng)的影響可以忽略不計,由于室內(nèi)情況復雜漫反射為主要反射源,大部分反射信號需3次及以上反射才能被PD接收端接收。因此本文中只考慮直射鏈路,對反射信號忽略不計。
在10m×10m×3m的室內(nèi)空間中設(shè)置9盞LED燈作為信號發(fā)射器,將其呈等間隔對稱分布安裝在距離地面3m的天花板上。將PD作為接收器安裝在移動端上。LED發(fā)射器和接收器定位系統(tǒng)模型如圖1所示。

Fig.1 Indoor visible light positioning model
接收光功率Pr與發(fā)射端功率Pt的關(guān)系為:
Pr=H(0)Pt
(1)
式中,H(0)為信道增益,信道增益可以表示為[16]:
H(0)=

(2)
式中,A為PD的面積;d為LED到PD的相對距離;φ為發(fā)散角;ψ為接收角;ψmax為PD最大視場角;f(ψ)為PD的光濾波器增益;g(ψ)為聚光器增益。將(1)式和(2)式聯(lián)立即可推導出LED與PD間的距離d;l為朗伯散射系數(shù),朗伯系數(shù)大小由LED燈的半功率角ψ1/2決定:

(3)
LED發(fā)光強度模型如下[17-18]:
Iθ=I0coslψ
(4)
式中,Iθ為發(fā)射角θ的發(fā)光強度;I0為垂直于發(fā)光面的發(fā)光強度。
RSSI定位是根據(jù)PD接收到來自多個發(fā)射器發(fā)出的光源信號強度得到歐氏距離,利用三邊法求解出目標位置的對應(yīng)坐標點。已知參考點與待測節(jié)點坐標,代入三邊定位算法公式可計算出3個圓心到達待測點的距離d。由于室內(nèi)充斥著電磁的干擾,三邊測距法計算3個圓不會理想地交于一點,因此通過黃金正弦算法尋找最優(yōu)解。
黃金正弦算法(golden sine algorithm,Gold-SA)是一種新型元啟發(fā)式算法[19-20]。黃金正弦算法是在正弦函數(shù)上沿著同一搜索路線,將單位圓上的每一個點訪問一遍,當位置更新時加入黃金分割率進而去縮小解的范圍,使得區(qū)域范圍更小,進而可以提升算法搜索速度。Gold-SA算法在更新個體位置時,引入黃金分割率,分別設(shè)系數(shù)x1和x2,將系數(shù)加入到位置更新公式中,縮小搜索空間使得尋優(yōu)速度更快,黃金分割系數(shù)x1和x2為:

(5)

黃金正弦算法中結(jié)合黃金分割率的系數(shù),在搜索空間中尋找最優(yōu)解,其位置更新公式為[21]:

(6)

本文作者提出將Levy飛行變異機制結(jié)合自適移動因子改進黃金正弦算法,對位置更新公式進行變異,提高算法種群的多樣性,能夠快速跳出局部最優(yōu)。Levy飛行機制的核心是短距離游走和長距離跳躍交替變化,當處于短距離游走時種群的多樣性將會提高,處于長距離跳躍時種群搜索具有方向的多樣性,搜索更為詳細[22-23]。L為Levy飛行的移動步長參數(shù),計算公式為:

(7)
式中,λ為縮放因子,參考文獻[24]中建議取λ=1.5;Γ(λ)為標準的伽瑪函數(shù);s為移動步長;s0為起始步長,即s>>s0>0為s→∞。
在黃金正弦算法全局搜索中引入Levy飛行變異機制幫助算法跳出局部最優(yōu),但Levy飛行變異機制無法滿足算法需要較高的收斂速度。本文中提出Levy飛行機制結(jié)合自適應(yīng)移動因子對黃金正弦算法位置更新公式改進,進而提高算法的收斂速度。自適應(yīng)移動因子α的公式為:

(8)
式中,j為當前的迭代次數(shù);q=1+j/M,M為最大迭代次數(shù)。
使用Levy飛行變異機制結(jié)合自適應(yīng)移動因子對Gold-SA位置更新公式進行變異,變異后的位置更新公式為:
αL(m,n)×(xbest-xi)
(9)
式中,L(m,n)是關(guān)于多個未知量下的步長參數(shù)的矩陣,其中m表示控制常數(shù),n為未知量個數(shù),取m=1.5,n=3;xbest表示每次迭代最優(yōu)解矩陣;xi表示當前迭代得出的解的矩陣。
基于Levy變異機制改進Gold-SA算法實現(xiàn)室內(nèi)可見光定位的流程如下:(1)PD接收器接收LED光信號,計算出LED與PD間的距離d;(2)設(shè)計初始種群個體數(shù)為N,最大迭代次數(shù)M,空間維數(shù)D的初始種群;(3)計算每個個體的適應(yīng)度的值Pbest,并將最優(yōu)個體對應(yīng)的適應(yīng)度值存入xbest;(4)根據(jù)(9)式更新個體的位置;(5)更新個體,比較個體的適應(yīng)度值取出最佳適應(yīng)度值個體作為下一次迭代的解;(6)判斷是否已經(jīng)達到設(shè)置迭代次數(shù),若達到則結(jié)束,若未達到則轉(zhuǎn)向第(4)步;(7)得到全局最優(yōu)解。
選取體積為10m×10m×3m的室內(nèi)空間作為仿真測試空間,設(shè)置9盞LED燈按照3×3的網(wǎng)格排列方式排布。在室內(nèi)隨機放置一個待測點,分別選取最小二乘(least square mathod,LMS)的RSSI定位算法、PSO的RSSI定位算法、Gold-SA的RSSI定位算法和改進的Gold-SA的RSSI定位算法,比較各算法定位產(chǎn)生的定位誤差。設(shè)置PD有效接收面積為1cm2。仿真參量表如表1所示。

Table 1 Simulation parameters

Fig.2 Algorithm error comparison
在3維空間中分別選取LSM定位算法、PSO定位算法、Gold-SA定位算法、改進后的Gold-SA定位算法進行仿真分析,仿真結(jié)果如圖2所示。
圖2a中采用LMS定位算法時,定位誤差為2.5924m,由于室內(nèi)環(huán)境復雜充滿電磁干擾,導致精度低不能做到精確定位。由圖2b和圖2c看出,基于PSO的定位算法誤差為5.9993cm,基于Gold-SA的定位算法誤差為5.9866cm,雖然上述兩種算法相比于LMS算法精度提高很多,但仍存在收斂速度慢的缺點。改進Gold-SA定位算法如圖2d所示,定位算法誤差為1.4703mm,相比PSO算法和未改進的Gold-SA算法,改進后Gold-SA算法的定位精度分別提升97.54%和95.52%。Levy變異機制增加算法搜索空間的多樣性,自適應(yīng)移動因子有效地避免群智能算法收斂早熟的缺點提高算法收斂速度,使算法誤差明顯減小,實現(xiàn)精確定位。在仿真參量不變的情況下對4個目標點進行同時定位,多目標仿真結(jié)果如圖3所示。

Fig.3 Multi-target positioning error of the improved Gold-SA algorithm
由圖3可以看出,采用改進Gold-SA算法對4個目標點同時定位,定位誤差分別為1.170cm,1.243cm,1.197cm,1.470cm,平均定位誤差為1.270cm。由圖3仿真分析可知,改進后的Gold-SA定位算法可應(yīng)用在多目標定位過程。
分別對PSO算法、Gold-SA算法和改進后的Gold-SA算法進行單目標迭代速度的分析,設(shè)置迭代數(shù)為200次,初始種群數(shù)量為20,采用3×3網(wǎng)格型LED燈源排布方案,在保證使用最少LED燈源且定位精度較高的前提下分析算法收斂速度,仿真結(jié)果如圖4所示。

Fig.4 Convergence speed comparison chart
由圖4可直觀看出:采用Levy飛行變異機制結(jié)合自適應(yīng)移動因子改進的Gold-SA算法收斂速度大幅度提升。改進后的Gold-SA算法經(jīng)過40次迭代后就快速收斂到最低適應(yīng)度值。基于PSO的RSSI定位算法110次迭代后收斂到最低適應(yīng)度值,Gold-SA算法經(jīng)過200次迭代后還未達到最低適應(yīng)度值。因此,說明改進后的算法在快速定位方面更具有優(yōu)勢。
選取改進Gold-SA算法、未改進的Gold-SA算法及PSO算法,在定位誤差為0cm~2cm區(qū)間內(nèi)仿真分析3種定位算法單目標定位時間,結(jié)果如圖5所示。

Fig.5 Comparison and analysis of positioning time
由圖5中明顯看出:3種算法在相同定位區(qū)間內(nèi),改進后的算法定位誤差在0cm~2cm的范圍內(nèi)定位時間均比未改進的Gold-SA算法和PSO算法短,由此說明改進的Gold-SA算法可實現(xiàn)快速定位。當定位誤差為0.2cm時,改進的Gold-SA定位時間為3.3s比傳統(tǒng)Gold-SA算法快0.5s,比PSO算法快0.9s;定位誤差為0.6cm時,改進后的算法定位時間為2.2s比傳統(tǒng)Gold-SA快0.8s,比PSO算法快1.6s;定位誤差為1.5cm時,改進后的算法定位時間為2.4s比傳統(tǒng)Gold-SA算法快0.6s,比PSO算法快1s。由此可以說明改進后的Gold-SA算法相比于其它兩種算法所需要的定位時間更短,改進后的Gold-SA算法整體優(yōu)于未改進的Gold-SA算法和PSO算法。
為進一步驗證改進后的黃金正弦算法優(yōu)越性,分別對改進的Gold-SA算法、Gold-SA算法和PSO算法分別進行200次單目標定位誤差計算。采用直方圖更直觀地觀測定位算法的誤差分布,如圖6所示。

Fig.6 Positioning error histogram
由圖6可看出:與Gold-SA算法和PSO算法相比,改進后的Gold-SA算法誤差大多集中在0cm~2cm范圍內(nèi),當誤差大于2cm時,誤差點個數(shù)呈大幅下降趨勢,在6cm~8cm范圍內(nèi)沒有誤差點分布。Gold-SA算法誤差集中在2cm~4cm范圍內(nèi),PSO算法誤差主要分布在2cm~4cm,4cm~6cm范圍內(nèi)。改進后的Gold-SA算法相較與Gold-SA算法和PSO算法定位性能分別提高64.3%和68.9%。因此,改進后的算法相比于其它兩種算法定位誤差更小、定位效果更好。本文中對改進Gold-SA算法進行80次的誤差計算,依然采用在10m×10m×3m的室內(nèi)空間中3×3網(wǎng)格型LED燈源排布方案,誤差折線圖如圖7所示。

Fig.7 Error line chart of the improved algorithm
圖7中對改進的Gold-SA算法對單目標進行80次誤差計算,經(jīng)過多次仿真可以得出改進后的算法誤差穩(wěn)定在0cm~1cm區(qū)間內(nèi),最小誤差可達1.4703mm。
由以上仿真綜合分析可知,相比于PSO算法、Gold-SA算法和LMS算法,改進的Gold-SA算法具有收斂速度快、誤差小趨于穩(wěn)定等優(yōu)點,改進后的Gold-SA算法相比PSO算法和Gold-SA算法定位性能更具優(yōu)越性,滿足室內(nèi)高精度快速定位要求。
提出了一種基于黃金正弦算法融合自適應(yīng)Levy飛行變異機制的室內(nèi)可見光定位方法。在保證光強平坦性且不影響照明效果的前提下,采用3×3網(wǎng)格型LED燈源排布方案,設(shè)計RSSI結(jié)合改進Gold-SA算法實現(xiàn)室內(nèi)精確定位。在傳統(tǒng)黃金正弦的基礎(chǔ)上引入變異機制和自適應(yīng)移動因子后大大提高搜索空間的多樣性,改善算法存在的收斂速度慢、易陷入局部最優(yōu)等缺陷。在10m×10m×3m的室內(nèi)空間中經(jīng)過多次仿真:改進的Gold-SA算法定位誤差最小可達1.4703mm,平均誤差1cm左右。算法在迭代40次~80次之間可收斂到最低適應(yīng)度值。本文中提出的改進黃金正弦定位算法具有定位精度高、定位速度快等優(yōu)點,且能夠?qū)崿F(xiàn)多目標同時定位。因此,本文中的定位方法更適合大型室內(nèi)場所精確、快速定位。