徐巖 王昕昕
摘 ? 要:在漫反射光信道中,可見光室內定位受一階反射、噪聲信號等的影響,邊界區(qū)域的定位誤差相比內部區(qū)域較大,針對此問題,提出一種基于多層極限學習機的分區(qū)域定位算法,并通過仿真實驗驗證了算法的有效性. 首先,對整體的實驗區(qū)域建立第1層極限學習機神經網絡,計算出整體的定位誤差. 其次,根據定位誤差的大小和分布特征建立第2層極限學習機神經網絡,將整體實驗區(qū)域劃分為邊界區(qū)域和內部區(qū)域. 對提取出的邊界區(qū)域建立第3層極限學習機神經網絡,計算出邊界區(qū)域的定位誤差. 最后將邊界區(qū)域的定位誤差更新到整體的定位誤差中,以實現定位. 實驗結果表明,該算法的整體平均定位誤差為2.79 cm. 與接收信號強度算法和反向傳播神經網絡相比,該算法的平均定位誤差分別降低了13倍和55.36%. 與單層極限學習機算法相比,邊界區(qū)域的平均定位誤差降低了65.66%,整體的平均定位誤差降低了23.77%. 該算法邊界區(qū)域的定位誤差明顯降低,具有更高的定位精度和魯棒性能,可適用于不同的定位場景.
關鍵詞:室內定位系統(tǒng);可見光通信;極限學習機;分區(qū)域;接收信號強度
中圖分類號:TN929.1 ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標志碼:A
Indoor Positioning Algorithm of Subregional
Visible Light Based on Multilayer ELM
XU Yan,WANG Xinxin?覮
(School of Electrical and Information Engineering,Tianjin University,Tianjin 300072,China)
Abstract: In a diffuse optical channel,the visible light indoor positioning is affected by first-order reflection and noise,and thus the positioning error in boundary region is relatively larger than that in interior region. To solve this problem,a positioning algorithm of subregional visible light indoor based on multilayer Extreme Learning Machine (ELM) was proposed in this paper,and the effectiveness of the proposed algorithm was verified by simulation experiments. Firstly,the first layer ELM based on the entire experimental region was established to calculate the entire positioning error. Secondly,the second layer ELM based on the magnitude and distribution characteristics of positioning error was established,and the entire experimental region was divided into boundary subregion and interior subregion. Thirdly,the third layer ELM based on the extracted boundary subregion was established to calculate the boundary positioning error. Lastly,the entire error with updated boundary error was used to realize the positioning. The experimental results show that the entire average positioning error of the proposed algorithm is 2.79 cm. Compared with the Received Signal Strength(RSS) and Back Propagation(BP) neural networks,the average positioning error is reduced by 13 times and 55.36%,respectively. Compared with the single-layer ELM,the boundary average positioning error is reduced by 65.66%,the entire average positioning error is reduced by 23.77%. Experimental results indicate that the boundary positioning error of the proposed algorithm is obviously decreased,which means the proposed algorithm has higher positioning accuracy and robustness,and is suitable for various positioning applications.
Key words: indoor positioning systems;visible light communication;extreme learning machine;divided region;received signal strength
隨著位置服務的發(fā)展,室內定位成了熱門的研究領域. 全球定位系統(tǒng)(Global Positioning System,GPS)廣泛應用于室外定位,定位精度可達到幾米,但在室內不能滿足定位需求[1].目前有許多技術應用于室內定位,如無線(Wireless Local Area Network,WLAN)、超寬帶(Ultra-wideband,UWB)、射頻識別(Radio Frequency Identification,RFID)等[2],但這些技術存在定位精度不高、電磁干擾及設備昂貴等問題. 基于發(fā)光二極管(Light Emitting Diode,LED)的可見光通信(Visible Light Communication,VLC)可用于數據通信、智能交通系統(tǒng)、定位等領域,具有成本低、不受限制的可見光頻譜資源、無電磁干擾等優(yōu)點. 相對于其他的定位技術[3],基于VLC的室內定位得到了發(fā)展.
根據接收端的不同,可見光室內定位技術分為基于光電探測器(Photodetector,PD)和基于圖像傳感器(Image Sensor,IS)的定位. 當PD為接收端時,基礎的定位方法有接收信號強度法(Received Signal Strength,RSS)、到達角度差法(Angel Difference of Arrival,ADOA)、到達時間差法(Time Difference of Arrival,TDOA)[4-6]等. 當IS為接收端時,利用LED在傳感器上的成像和圖像測量原理進行定位[7-10]. 因此,從系統(tǒng)設備和定位精度綜合考慮,采用了以PD為接收端,利用RSS進行定位.
文獻[11]提出了基于VLC的異步定位算法,利用RSS和線性最小二乘法估計發(fā)送端和接收端的距離,但只考慮了視距傳播的情況. 文獻[12]提出了在漫反射光信道中,基于反向傳播(Back Propagation,BP)神經網絡的可見光定位算法,建立RSS和位置的訓練測試模型進行定位,但邊界區(qū)域定位誤差較大. 文獻[13]針對邊界定位誤差大的問題,提出了邊界校正算法,在最小二乘法得到發(fā)送端和接收端的距離中引入測量誤差,利用牛頓迭代算法使距離誤差的殘差函數足夠小,提高了整體的平均定位誤差.
在此基礎上,本文提出了一種基于多層極限學習機(Extreme Learning Machine,ELM)的分區(qū)域可見光室內定位算法. 首先利用ELM回歸算法對整體的實驗區(qū)域建立第1層神經網絡,進行整體的定位. 針對邊界區(qū)域定位誤差大的問題,將整體實驗區(qū)域劃分為邊界區(qū)域和內部區(qū)域,利用ELM分類算法建立第2層神經網絡. 將提取出來的邊界區(qū)域利用ELM回歸算法建立第3層神經網絡,計算出邊界區(qū)域的定位誤差. 將邊界區(qū)域誤差進行更新,以得到最終的定位. 實驗結果表明,建立3層神經網絡,可提高整體的定位精度.
1 ? 系統(tǒng)模型
可見光通信利用可見光信號在空間傳播傳遞信息. 發(fā)送端將LED的位置信息通過調制、編碼以及對LED進行驅動,將電信號轉換為光信號. 在接收端,光信號通過光學集中器、濾波器和PD將光信號轉換為電信號,通過解調解碼得到發(fā)送端LED的位置. 基于LED的可見光定位利用LED的位置信息以及PD接收到的功率相對發(fā)送端功率的變化實現接收端PD的定位. 本文提出的算法用于定位
階段.
假設可見光在空間傳播符合朗伯發(fā)射模型,存在視距傳播、一階反射、二階反射等形式. 視距傳播的影響遠大于反射傳播的影響,且二階反射在光信道中的脈沖響應所占比例較低,可忽略不計[14]. 光信道的直流增益H(0)表示為:
H(0) =
■cosm(?準)Ts(ψ)g(ψ)cos(ψ),0≤ψ≤ψc0,?鬃 > ?鬃c
(1)
式中:A為PD的物理面積;m為朗伯階數;Dd為發(fā)送端和接收端之間的距離;?準和?鬃分別為發(fā)送端的輻射角和接收端的入射角;?鬃c為接收端的視場角; Ts(ψ)為光學濾波器的增益;g(ψ)為光學集中器的增益,其可表示為:
g(ψ) = ■,0≤ψ≤ψc0,0 > ?鬃c ? ? ?(2)
式中:n為折射指標.
光信道一階反射的直流增益Href(0)表示為:
Href(0) = ■ρdAwall cosm(?準)cos(α)cos(β)g(ψ)Ts(ψ)cos(ψ),0≤ψ≤ψc0,?鬃 > ?鬃c
(3)
式中:D1為發(fā)送端到反射點間的距離;D2為反射點到接收端的距離;ρ為反射因子;dAwall為反射區(qū)域的面積;?準和?琢分別為反射點的輻射角和入射角;β和ψ分別為接收端的輻射角和入射角.
當PD接收到光信號時,能夠將光功率轉換為電功率,電功率表示為:
Prs = {RPt [H(0) + Href(0)]}2 + σ2 ? ? ?noise ? ? ?(4)
式中:R為接收端PD的響應度;Pt為LED的發(fā)射功率;σ2 ? ? ?noise為總噪聲方差,包含熱噪聲方差和散粒噪聲方差. 散粒噪聲方差和接收端接收功率相關,假設背景電流來自直射太陽光[14],將這兩項噪聲均假設為加性高斯白噪聲(Additive White Gaussion Noise,AWGN)[15]. 在對LED進行調制時,當速率為200 kbps時,碼間串擾很小可以忽略[15]. 各噪聲方差可表示為:
σ2 ? ? ?noise = σ2 ? ? ? ? thermal + σ2 ? ?shot ? ? (5)
σ2 ? ? ? ? thermal = ■ηAI2B2 + ■η2A2I3B3 ? ?(6)
σ2 ? ? shot = 2qRpPr B + 2qIbg I2 B ? ? (7)
式中:σ2 ? ? ? ? thermal為熱噪聲方差;σ2 ? ? shot為散粒噪聲方差;k為玻爾茲曼常數;Tk為絕對溫度;G為開環(huán)電壓增益;η為PD上每單位面積的固定電容;I2為噪聲帶寬因子;Pr為接收的光功率;B為等效噪聲帶寬;q為電荷量;Ibg為背景電流;Γ為FET信道噪聲因子; ?gm為FET跨導. 故系統(tǒng)的信噪比可表示為:
SNR = 101g■ = 101g■
(8)
式中:Pr2為接收端的信號功率.
2 ? 算 ? 法
2.1 ? ELM算法
ELM[16-17]是基于單隱藏層前饋神經網絡(Single-hidden Layer Feedforward Neural Networks,SLFNs)的算法,該算法由輸入層、隱藏層、輸出層組成. 隨機產生輸入層和隱藏層間的連接權值矩陣和隱藏層神經元的閾值矩陣,且在訓練過程中保持不變. 只需要設置隱藏層的個數和隱藏層神經元間的激活函數,通過計算隱藏層的輸出矩陣及其廣義逆矩陣,便可求得隱藏層和輸出層間的連接權值矩陣,進而求得輸出,SLFNs可以無限逼近訓練樣本. 該算法具有設置參數少,訓練時間短,學習速度快,良好的泛化性能等優(yōu)點,可用于分類和回歸擬合[18].
假設具有N個訓練樣本(xi,ti),其中xi = [xi1,xi2,…,xin]T ∈Rn,ti = [ti1,ti2,…,tim]T ∈Rm,n和m分別為輸入層和輸出層神經元的個數.具有L個隱藏層節(jié)點的標準SLFNs表達式為:
■βi g(wi·xj + bi) = oj,j = 1,…,N ? ? (9)
式中:wi = [wi1,wi2,…,win]T表示輸入層第i個神經元和隱藏層間的連接權值矩陣;βi = [βi1,βi2,…,βin]T表示隱藏層第i個神經元和輸出層間的連接權值矩陣;bi是第i個隱藏層神經元的閾值矩陣. 當激活函數無限可微時,具有L個隱藏層節(jié)點的標準SLFNs可以零均值誤差逼近N個訓練樣本,即
■‖oj - tj‖= 0 ? ? (10)
■βi g(wi·xj + bi) = tj,j = 1,…,N ? ? (11)
上式可表示為矩陣的形式:
Hβ = T ? ? (12)
式中:H為隱藏層神經元的輸出矩陣;β為隱藏層神經元與輸出層神經元之間的連接權值矩陣;T為期望輸出矩陣.
隱藏層與輸出層間的連接權值矩陣β可通過求解以下方程組的最小二乘解獲得:
■‖Hβ - T‖ ? ? (13)
其解為:
■ = H?覮T ? ?(14)
式中:H?覮為隱藏層輸出矩陣H的廣義逆矩陣.進一步求得輸出:
oj = H■ ? ? ? (15)
當ELM神經網絡用于回歸時,定位誤差表
示為:
err = |oj - T | ? ? ? (16)
當ELM神經網絡用于分類時,對應的類標為:
label(x) = arg ■(oj) ? ? ? (17)
式中:m為樣本的類別總數.
2.2 ? 基于多層ELM的分區(qū)域可見光定位算法
可見光信號在傳播過程中,隨著距離的增加信號會逐漸衰減,在邊界處信號強度較弱,而一階反射和噪聲信號在邊界處的信號強度較強,從而相對內部區(qū)域,邊界區(qū)域的一階反射和噪聲信號對直射信號的影響較大,故邊界處定位誤差較大. 針對邊界區(qū)域存在的此問題,將整體實驗區(qū)域劃分為邊界區(qū)域和內部區(qū)域,采用3層神經網絡進行定位,進一步提高整體的定位效果.
總的算法流程圖如圖1所示. 第1層神經網絡對整體實驗區(qū)域進行初步定位. 首先根據上述的光信道增益,利用PD采集來自每一個LED的總電功率,將總電功率歸一化到[-1,1]區(qū)間,以歸一化的電功率為輸入,對應的位置坐標為輸出,建立訓練和測試樣本集數據1. 利用ELM回歸算法對訓練樣本1建立神經網絡模型,將測試樣本1輸入到訓練好的神經網絡中以實現對接收端的定位,分別根據式(16)計算訓練和測試樣本的定位誤差.
第2層神經網絡利用ELM分類算法實現了整體區(qū)域的劃分. 綜合考慮第1層神經網絡得到的訓練和測試樣本的定位誤差大小和分布特征,將靠近墻體且定位誤差大于平均定位誤差的區(qū)域定義為邊界區(qū)域,其他區(qū)域定義為內部區(qū)域,其可表示為:
I(err) = 1,if err > ave0,if err < ave ? ? ?(18)
■
圖7 ? RSS算法定位誤差
Fig.7 ? Positioning error of RSS algorithm
■
圖8 ? BP神經網絡測試數據定位誤差
Fig.8 ? Testing positioning error of BP neural network
為了進一步表示多層ELM、單層ELM、BP以及RSS算法的定位性能,比較了它們各誤差值的累積分布函數(Cumulative Distribution Function,CDF). 從圖9可以看出,多層ELM的定位精度優(yōu)于其他算法. 單層ELM誤差小于5 cm的概率是81.738%,BP神經網絡定位誤差小于5 cm的概率是64.994%,RSS誤差小于5 cm的概率是4%,而多層ELM誤差小于5 cm的概率是86.54%,定位精度較高.
■
定位誤差/m
圖9 ? 各算法定位誤差的累積分布函數
Fig.9 ? CDF of the positioning error of different algorithms
神經網絡的性能受隱藏層個數的影響,圖10表示了多層ELM、單層ELM、BP以及RSS算法隨隱藏層個數變化的平均距離誤差(Average Distance Error,ADE)和均方根誤差(Root Mean Square Error,RMSE). 其中,隱藏層個數為0時,代表RSS定位算法. 從圖中可看出,RSS算法的ADE和RMSE值最高,表示其定位性能最差. 隨著隱藏層個數的增加,多層ELM、單層ELM、BP的定位性能逐漸提高并趨于穩(wěn)定,且多層ELM算法的ADE和RMSE值最小,其定位性能優(yōu)于RSS、單層ELM和BP算法. 當隱
■
隱藏層個數
圖10 ? 不同隱藏層個數的定位誤差
Fig.10 ? Positioning error with different number hidden layer
藏層個數為30時,多層ELM的定位性能最好,此時ADE為2.79 cm,RMSE為3.32 cm. 隱藏層個數為20時,BP的定位性能最好,此時ADE為6.25 cm,RMSE為8.44 cm. 而隱藏層個數為450時,單層ELM的定位性能最好,此時ADE為3.66 cm,RMSE為5.35 cm. 其中本文的第1層ELM神經網絡即基于此數據.
ELM算法只需要設置隱藏層個數和激活函數,訓練時間復雜度低. 以下算法測試時間均是在最佳隱藏層個數以及62 500組數據下計算所得,取10次實驗的平均時間作為其時間復雜度. 其中3層ELM神經網絡總的平均測試時間為1.504 9 s;單層ELM神經網絡平均測試時間為0.968 8 s;BP神經網絡的平均測試時間為0.125 0 s;RSS算法定位時間為2.843 8 s. 雖然BP測試時間最短,但其定位精度不及多層ELM算法.
在實際環(huán)境中,信號容易受到各種噪聲的影響,為了評估所提算法的魯棒性,圖11表示了在不同的信噪比水平下各種算法的定位性能. 隨著信噪比的降低,多層ELM、單層ELM、BP定位算法對噪聲容忍高,具有較好的定位效果,且多層ELM定位精度最高. 但RSS算法的定位性能明顯降低.
■
信噪比SNR/dB
圖11 ? 不同信噪比下的定位誤差
Fig.11 ? Positioning error with different SNR
由以上分析可知,多層ELM分區(qū)域定位算法的定位精度較高,優(yōu)于傳統(tǒng)的RSS算法、單層ELM和BP神經網絡,且魯棒性較強. 時間復雜度上雖不是最低,但所需時間較少. 因此綜合考慮算法的定位誤差、時間復雜度和魯棒性,該算法與上述算法相比,能夠滿足室內定位的需求,且能適應于噪聲較大的不同的場景中,如室內、走廊、展廳、博物館等.
5 ? 結 ? 論
本文針對漫反射光信道中,邊界區(qū)域定位誤差大的問題,提出一種多層ELM的分區(qū)域可見光室內定位算法. 由理論分析和仿真實驗可得:
1)所提算法能夠實現可見光室內定位,平均定位誤差為2.79 cm,具有良好的定位效果,且魯棒性較強.
2)受一階反射和噪聲信號的影響,邊界區(qū)域定位誤差較大,該算法通過建立3層ELM神經網絡,降低了邊界區(qū)域誤差,提高了定位精度.
3)該算法具有ELM原有的設置參數少,學習速度快,泛化能力強等優(yōu)點,無需求解復雜的非線性方程組.
4)與傳統(tǒng)的RSS定位算法和BP神經網絡相
比,平均定位誤差分別降低了13倍和55.36%,和ELM神經網絡相比,邊界區(qū)域定位誤差降低65.66%,整體平均定位誤差降低23.77%,進一步證明了該算法的有效性.
本文的研究結果表明,該算法具有較好的定位性能,且訓練測試時間較少,解決了邊界區(qū)域定位誤差較大的問題,具有較強的魯棒性,對于可見光室內定位的應用具有一定的參考意義.
參考文獻
[1] ? ?OH J,UM J. Acoustic signal-based indoor global coordinates system for smartphones [J]. IEEE Sensors Journal,2018,18(8):3248—3254.
[2] ? ?YASSIN A,NASSER Y,AWAD M,et al. Recent advances in indoor localization: a survey on theoretical approaches and applications [J]. IEEE Communications Surveys & Tutorials,2017,19(2): 1327—1346.