許毅欽, 陳志濤, 袁 濤, 陳 昊, 古志良, 張志清, 張 強, 許 平, 陳俊芳*
(1. 華南師范大學(xué) 物理與電信工程學(xué)院, 廣東 廣州 510640;2. 廣東省半導(dǎo)體產(chǎn)業(yè)技術(shù)研究院, 廣東 廣州 510650; 3. 華南理工大學(xué), 廣東 廣州 510650)
近年來,發(fā)光二極管由于其長壽命、高亮度和快響應(yīng)的特性被廣泛用于區(qū)域照明、車燈和交通信號燈等相關(guān)產(chǎn)品。可見光通信技術(shù)(Visible light communication,VLC)是基于LED的新一代通信技術(shù),通過控制LED的快速開關(guān)達到通信的目的。目前在國際上,由于VLC技術(shù)的高速、保密性好、無需占用無線電頻譜資源的特點而廣受關(guān)注[1]。作為一項新興技術(shù),目前VLC在許多領(lǐng)域已有相關(guān)的應(yīng)用報道,如水下通信[2]、超高速光組網(wǎng)[3-7]、室內(nèi)定位[8-10]等。
在室內(nèi)環(huán)境中,由于建筑物材料對電磁波的吸收及鋼結(jié)構(gòu)的電磁波屏蔽效應(yīng),GPS等基于電磁波的定位系統(tǒng)會產(chǎn)生較大的定位誤差[11]。為此在室內(nèi)定位領(lǐng)域,已有許多補充定位技術(shù)被提出,如射頻標簽(RFID)[12]、視覺定位技術(shù)[13]、Wi-Fi定位技術(shù)[14]等。已經(jīng)有相關(guān)文獻報道這些室內(nèi)定位技術(shù)的應(yīng)用,然而上述的室內(nèi)定位技術(shù)僅能實現(xiàn)1~5 m的室內(nèi)定位精度。相比于戶外環(huán)境,室內(nèi)定位往往需要更高的定位精度以實現(xiàn)位置信息相關(guān)的推送服務(wù),因而上述的室內(nèi)定位解決方案尚未完全滿足實際需要。
而基于可見光通信技術(shù)的室內(nèi)定位系統(tǒng)由于無需借助電磁波通信,可實現(xiàn)室內(nèi)高精度定位。目前國際上已有許多文獻報道了基于VLC的室內(nèi)定位技術(shù)。若不考慮附加的精度控制技術(shù),基于VLC的室內(nèi)定位算法可分為接收信號強度(RSS)、到達時間差(TDOA)、到達接收角(AOA)、到達相位差(PDOA)[15-17]。在上述系統(tǒng)中TDOA與PDOA可實現(xiàn)較高的定位精度,但是系統(tǒng)需要時鐘同步處理,系統(tǒng)的復(fù)雜度較高,不利于系統(tǒng)集成。而AOA是基于角度的定位算法,需要特制的傳感器測量信號到達角。RSS通過測量信號強度來估計相對距離,無需額外的設(shè)計,然而由于信號強度的采樣值通常受到信道的多徑效應(yīng)、系統(tǒng)噪聲影響,在上述的幾種定位算法中,RSS的定位精度最差。
由于基于RSS的室內(nèi)可見光定位系統(tǒng)復(fù)雜度低、易于實現(xiàn)且成本很低,因而具有廣闊的應(yīng)用前景。為了解決基于RSS算法的室內(nèi)可見光通信定位系統(tǒng)精度不足的問題,本文提出一種基于人工神經(jīng)網(wǎng)絡(luò)和迭代優(yōu)化算法的RSS室內(nèi)可見光通信定位系統(tǒng)的設(shè)計方案,包括硬件部分及算法。首先通過訓(xùn)練人工神經(jīng)網(wǎng)絡(luò),使得網(wǎng)絡(luò)擬合室內(nèi)的直射信道及漫射信道,消除由于多徑效應(yīng)引起的信號強度采樣誤差。不同于信道的靜態(tài)參數(shù),由于噪聲是隨機過程,無法采用學(xué)習(xí)的方式進行擬合,因此進一步通過優(yōu)化算法降低由于噪聲等隨機過程引起的定位誤差。
基于可見光通信技術(shù)的室內(nèi)定位系統(tǒng)由安裝在天花板上的LED(CREE Q5 XPE 3 W)及接收機組成。模型中接收機包含一個光電二極管(PD)一級跨阻放大電路。由于LED的尺寸與實際光信號的傳輸距離相比較小,因此常將LED當(dāng)作朗伯體進行分析。
如圖1,將LED的發(fā)射角定義為θ,LED與光電二極管之間的空間距離定義為d,直射光信號與光電二極管法線之間的夾角定義為φ。直射信道模型描述了發(fā)射機與接收機之間的光信號傳輸特性,其傳輸函數(shù)可以寫為:
H(0)LOS=
式中A為光電二極管的有效感光面積,Ts(φ)為光濾波器增益,G(φ)為聚光透鏡增益,mt、mr為朗伯常數(shù)。
圖1 可見光通信室內(nèi)定位系統(tǒng)模型圖
Fig.1 Model of positioning system for indoor visible light communication
通常室內(nèi)的可見光通信不是理想的直射鏈路信道,由于墻壁、地面及室內(nèi)其他具有反射特性物體對光信號的漫反射作用,會產(chǎn)生多徑效應(yīng)。漫反射信道的傳輸函數(shù)可以寫為:
cosα·cosβ·cosmt(θ)·cosmr(φ), (2)
式中d1、d2分別為LED到反射點及反射點到接收機之間的距離,ρ是與反射體材料有關(guān)的系數(shù),dSf為反射體的面積微元,α、β分別為反射光信號的入射角與出射角。
如果設(shè)接收機接收到光信號的功率為Pr,單個LED的輻射功率為Pt,則接收功率與輻射功率之間的關(guān)系可以表示為:
Pr=PtHLOS(0)+PtHREF(0)dSf.(3)
現(xiàn)有的一些基于RSS方法的室內(nèi)可見光通信系統(tǒng)設(shè)計僅僅考慮了直射鏈路信道增益函數(shù),并通過一些糾錯算法可實現(xiàn)的定位精度普遍在3~10 cm[18-20]。而漫射信道由于室內(nèi)情況復(fù)雜,幾乎無法通過解析的方式計算其附加增益。同時實際接收到的信號功率還與系統(tǒng)噪聲因素相關(guān),一般考慮電路系統(tǒng)及光路系統(tǒng)噪聲:(1)由光信號及背景光信號造成的散粒噪聲;(2)電路元件熱噪聲。這兩類噪聲均可視為加性高斯白噪聲:
在這些公式中,q、B、k、Ibg、Tk、G0、Γ、η、gm分別為元電荷電量、等效噪聲帶寬、波爾茲曼常數(shù)、背景光電流、絕對溫度、電路開環(huán)電壓增益、信道噪聲常數(shù)、光電二極管的固定電容量和跨導(dǎo)。
為了解決室內(nèi)多參考點可見光通信帶來的碼間干擾問題,需要引入多址技術(shù)[21]。本系統(tǒng)使用碼分多址技術(shù)(CDMA)用于碼間干擾的消除,具體做法如下:
(1)每個LED獲得事先約定的二進制ID信息碼序列(代表所在的地理位置),該序列用于區(qū)分不同的LED信號源,第i個LED的二進制ID信息碼序列可以寫為:
Si={Si,1,Si,2,…,Si,N}.(6)
(2)產(chǎn)生OOK調(diào)制的ID信息碼基帶信號。
(3)直接擴頻調(diào)制,在本系統(tǒng)中利用Walsh碼作為擴頻碼,在一個具有n個信源的CDMA通信系統(tǒng)中需要用到長度為n的Walsh碼,Walsh碼可以由哈達瑪矩陣產(chǎn)生,一個具有2n個元素的哈達瑪矩陣可由迭代關(guān)系求出:
將具有2n個元素的哈達瑪矩陣按每行或每列取出,可獲得一組長度為n的Walsh序列:
Wi={Ci,1,Ci,2…,Ci,n},(8)
直接擴頻操作只需將每個ID信息碼元與該組Walsh序列相乘,第i個LED的ID信息碼擴頻后的信號為:
(4)擴頻后的信號經(jīng)過LED驅(qū)動電路以光信號的形式發(fā)射,根據(jù)上述的室內(nèi)無線光通信信道模型,并假設(shè)系統(tǒng)中所有的LED功率相同為Pt,接收機接收到的混疊光信號可以表示為:
根據(jù)Walsh碼的正交性質(zhì):
假想接收機需要恢復(fù)第iLED的信號的第j個碼元,只需要使用與擴頻操作相同的Walsh序列即第i個Walsh序列對r的第j個元素進行內(nèi)積運算:
Oi,j=〈Wi·r〉j=
n為系統(tǒng)中LED的總數(shù),為已知量,可見從混疊信號中恢復(fù)出了光強衰減信息與不同LED的ID信息。
圖2 可見光通信室內(nèi)定位系統(tǒng)的框架
2.3.1 人工神經(jīng)網(wǎng)絡(luò)空間距離預(yù)測算法
為了確定接收機在三維空間中的坐標(x,y,z),需要通過測量來自各個LED的信號強度從而估計接收機的空間坐標,如果先不考慮噪聲等隨機過程對定位結(jié)果的影響,設(shè)在接收端測得來自第i個LED參考點光信號衰減傳輸系數(shù)為H(i)(0),在理想的無噪聲條件下,最終的定位結(jié)果(x,y,z)是光信號衰減傳輸系數(shù)的H(i)(0)的非線性函數(shù),包含了上述直射信道增益及漫反射信道增益。
目前大多數(shù)文獻僅僅考慮直射信道增益對接收信號的強度貢獻,這是因為在大多數(shù)情況下室內(nèi)材料對光信號的吸收作用及接收機的視場角的有限性,由漫反射帶來的定位誤差通??刹挥嬋肟紤]。然而在多反射材料(光滑的瓷磚,玻璃等)存在的室內(nèi)環(huán)境,由于漫反射導(dǎo)致的定位誤差則會對基于RSS三角方法的可見光室內(nèi)定位系統(tǒng)造成較大的定位影響?,F(xiàn)不考慮信道參數(shù)的具體解析表達式,通過對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,使之?dāng)M合實際信道環(huán)境。
為了擬合實際信道的傳輸函數(shù),我們設(shè)計了一個3層的BP神經(jīng)網(wǎng)絡(luò),在本實驗中采用了4個LED實現(xiàn)三維定位,為此輸入層的輸入是一個長度為4的向量:
I={H(1)(0),…,H(4)(0)},(13)
D={d(1),…,d(4)},(14)
具體的訓(xùn)練算法步驟如下:
(1)獲取訓(xùn)練樣本(I(k),D(k)),其中k為樣本的標號,且I(k),D(k)∈R1×4。
(2)神經(jīng)網(wǎng)絡(luò)權(quán)值隨機初始化。
(3)對于每一個訓(xùn)練樣本,從前向后計算每個神經(jīng)元的輸出,直到輸出層。并設(shè)第i個輸出層的輸出值為oi。
(4)對輸出層神經(jīng)元計算輸出誤差:
δi=oi(1-oi)(di-oi).(15)
(5)對于隱藏層單元h,計算其誤差項:
δh=oh(1-oh)∑k∈outputlayerwkhδh,(16)
其中outputlayer表示輸出層點集合,wji表示結(jié)點i到j(luò)的連接權(quán)值。
(6)更新網(wǎng)絡(luò)權(quán)值,增量為:
Δwji=wji+ηδjxji.(17)
圖3 用于室內(nèi)定位的人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
Fig.3 Structure of artificial neural network for indoor location
2.3.2 三邊定位約束方程與誤差修復(fù)算法
在獲得了接收機到4個LED距離的估計值后,可通過下面的約束方程推算出接收機的定位估計坐標(xe,ye,ze):
其中H是接收機與LED所在平面的垂直距離,(xi,yi)是LED的平面坐標。需要指出的是盡管神經(jīng)網(wǎng)絡(luò)能對整個室內(nèi)非線性信道具有較好的擬合效果,但是無法處理諸如隨機過程,如噪聲因素帶來的定位誤差。為此提出一種基于Newton-Raphson迭代法的定位誤差修復(fù)算法。算法首先假設(shè)真實的估計距離為:
其中ε(i)是隨機變量且服從連續(xù)高斯分布:ε(i)~N(μ,σ2),μ,σ2→0。做出這一假設(shè)的前提是通信的信噪比足夠好,且噪聲的幅度分布較為集中。誤差修復(fù)算法的基本思想如下:由于噪聲因素導(dǎo)致神經(jīng)網(wǎng)絡(luò)輸出偏移正常值,結(jié)果是定位坐標(xe,ye,ze)無法同時滿足方程組(16)的4個方程;從幾何關(guān)系來看,以各個LED為圓心,以估計距離為半徑的圓沒有相交于一點(如圖4)。
圖4 噪聲導(dǎo)致定位誤差的幾何描述
Fig.4 Geometric description of positioning error caused by noise
基于上述假設(shè),約束方程可以重新寫為:
并設(shè):
定義余函數(shù)為:
fi=(xe-xi)2+(ye-yi)2-(dxy,i±ε)2,(23)
余函數(shù)對xe、ye、ε的偏導(dǎo)數(shù)分別表示為:
定義第k次迭代后的余函數(shù)為:
第k次迭代與第k+1次迭代之間的關(guān)系可以由以下公式表示:
根據(jù)Newton方法的原理在第k+1次迭代時余函數(shù)應(yīng)當(dāng)設(shè)定為0,因此上述方程可以進一步寫為:
具體的誤差修復(fù)算法步驟如下:
(1)選擇迭代運算的初始點。
(2)根據(jù)式(23)~(25)計算余函數(shù)。
如圖1所示,在普通實驗室環(huán)境搭建了室內(nèi)定位實驗框架,其尺寸為1 m×1 m×1.2 m。接收機高度(以光電二極管的感光面高度為基準)為0.2 m,LED光功率的參考點在框架下方0.2 m處(考慮到散熱器及連接導(dǎo)線的高度)。在接收電路設(shè)計時,已經(jīng)充分考慮OP電路的線性響應(yīng)度(通過調(diào)整LED的光功率及跨阻放大倍數(shù)),電路的最終輸出波形如圖5所示,信號的采樣是基于STM32F407的10位ADC。具體的實驗步驟如下:
(1)從坐標(0 m,0 m,0.2 m)開始以0.1 m為步長將xy平面劃分為網(wǎng)格,以接收機在每個格點處的測量值作為樣本對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,共100個樣本。
(2)從坐標(0.05 m,0.05 m,0.2 m)開始以0.1 m為步長將xy平面劃分為網(wǎng)格,進行二維定位測試。
(3)以0.1 m為步長將z軸分割各平面,范圍0.2~0.6 m,在每一個平面上按照(1)所述步驟
圖5 CDMA接收信號波形
繼續(xù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
(4)在z軸0.25~0.55 m范圍內(nèi),以0.1 m為步長的各個平面上按照(2)所述步驟繼續(xù)訓(xùn)練網(wǎng)絡(luò),在0.3~0.5 m高度范圍內(nèi)進行三維隨機路徑定位實驗。
3.2.1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練
圖6是在一個高度平面上以100個采樣點為樣本的神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程。在單次實驗中,遍歷整個訓(xùn)練集56次后,最小均方誤差收斂到了預(yù)設(shè)值。單個高度平面點集的訓(xùn)練時間為8 s。
圖6 均方誤差下降曲線
3.2.2 二維定位實驗
圖7展示了二維定位的整體結(jié)果,黑色的三角形代表用于神經(jīng)訓(xùn)練的樣本數(shù)據(jù),黑色的圓點代表用于測試的數(shù)據(jù),白色的圓點代表人工網(wǎng)絡(luò)的定位預(yù)測結(jié)果,從結(jié)果來看無較大的偏離,具體的統(tǒng)計數(shù)據(jù)展示在圖9中。在100個測試點中,
圖7 二維定位實驗結(jié)果
圖8 二維定位誤差分布
Fig.8 Two dimensional location error distribution
圖9 二維定位誤差直方圖
圖10 定位誤差修復(fù)算法效果圖
95%的測試點實現(xiàn)了1 cm以內(nèi)的定位誤差,其余的測試點均實現(xiàn)了2 cm以內(nèi)的定位誤差;系統(tǒng)的二維定位平均定位誤差為0.87 cm。具體的二維定位誤差分布在圖8中展示,可以清晰地看出,在模型的邊緣處定位誤差較大,這是由于在模型邊緣處,光信號的幅度受到漫反射物體的影響較大,對人工神經(jīng)網(wǎng)絡(luò)的非線性擬合能力要求更大;另一種可能的解釋是在模型的邊緣區(qū)域,來自遠離該區(qū)域的LED光信號較弱,受到的噪聲影響更大。為此可通過增加隱藏層的節(jié)點數(shù)目或者上述的誤差修復(fù)算法對邊緣區(qū)域的誤差進行進一步消除。
對誤差超過1 cm的5個測試點采用誤差修復(fù)算法進一步逼近后,定位誤差的修復(fù)效果如圖10所示。
3.2.3 三維定位實驗
在完成了神經(jīng)網(wǎng)絡(luò)高度信息訓(xùn)練后,使用三維路徑測試實驗對系統(tǒng)的三維定位效果進行測試,測試的高度范圍為0.3~0.5 m,以0.1 m為高度分辨率,共3個高度平面,每個高度平面上通過隨機抽樣的方式選定5個測試點,并且根據(jù)抽樣的順序依次連接形成一條隨機測試路徑,具體的實驗結(jié)果如圖11所示。
圖11 隨機路徑實驗
圖12所示的三維定位誤差分布直方圖,在參與測試的15個測試點中,4個點實現(xiàn)了1 cm內(nèi)的定位精度,14個點實現(xiàn)了3 cm內(nèi)的定位精度,隨機路徑實驗的平均定位誤差僅為1.47 cm。
如果對所有的測試點采用誤差修復(fù)算法進一步逼近,得到圖13的三維隨機路徑定位結(jié)果。
圖12 三維定位誤差分布直方圖
圖13 隨機路徑實驗:使用誤差修復(fù)算法。
Fig.13 Random path experiment: use error repair algorithm.
圖14是定位誤差修復(fù)后的誤差分布直方圖,可以直觀地看出,使用誤差修復(fù)算法后整體的定位誤差可控制在2 cm內(nèi)。
圖14 使用誤差修復(fù)算法后的隨機路徑定位誤差
Fig.14 Random path positioning error after using error repair algorithm
本文提出了一種基于接收信號強度的室內(nèi)可見光通信定位系統(tǒng),包括硬件設(shè)計及算法設(shè)計。在硬件設(shè)計上充分考慮了真實應(yīng)用場景,采用CDMA技術(shù)解決參考點通信干擾問題,由于室內(nèi)漫反射信道的解析表達式復(fù)雜,故采用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的方式擬合室內(nèi)的真實信道參數(shù);而針對隨機過程帶來的定位誤差,提出一種定位解迭代逼近算法,進一步減小定位誤差。實驗結(jié)果表明:未使用逼近算法的前提下,本系統(tǒng)在用于二維定位時,99%以上的測試點實現(xiàn)了1 cm以內(nèi)的定位誤差,平均定位誤差僅為0.87 cm;本系統(tǒng)在用于三維定位時93%的測試點實現(xiàn)了3 cm以內(nèi)的定位誤差,平均定位誤差為1.47 cm;而使用逼近算法后,二維定位測試點的誤差可控制在1 cm內(nèi),三維定位測試點的誤差可控制在2 cm內(nèi)。