張 旭,姚善化
(安徽理工大學(xué) 電氣與信息工程學(xué)院,安徽 淮南 232001)
近年來(lái)隨著可見(jiàn)光通信技術(shù)的不斷發(fā)展,可見(jiàn)光在室內(nèi)定位方面具有精度高、成本低、安全性高等優(yōu)勢(shì),越來(lái)越多的研究人員將可見(jiàn)光用于室內(nèi)定位[1-2]。
基于指紋庫(kù)的室內(nèi)定位方法,因其定位精度高、部署簡(jiǎn)單而被廣泛地采用[3-5]。指紋定位主要分兩個(gè)階段,離線階段和在線階段,離線階段采集信號(hào)強(qiáng)度構(gòu)建指紋庫(kù),在線階段根據(jù)定位目標(biāo)接收信號(hào)強(qiáng)度,利用K近鄰算法(K Nearest Neighbor,KNN)估算出定位目標(biāo)的位置。離線階段指紋庫(kù)采集得越詳細(xì),則定位精度越高,然而過(guò)大的指紋庫(kù)不僅導(dǎo)致采集的工作量增加,還會(huì)使得在線匹配階段的時(shí)間增加[6]。目前針對(duì)降低指紋庫(kù)采集工作量的研究有:利用插值算法根據(jù)已知點(diǎn)的信號(hào)強(qiáng)度來(lái)估算未知點(diǎn)的信號(hào)強(qiáng)度,定位精度有待提高[7-8];利用低秩矩陣填充理論來(lái)恢復(fù)只有少數(shù)采集點(diǎn)的指紋庫(kù),算法的復(fù)雜度較高[9-10];利用移動(dòng)眾包的方法,通過(guò)用戶數(shù)據(jù)就能進(jìn)行定位,非專業(yè)的勘測(cè)數(shù)據(jù)可信度受到質(zhì)疑,還會(huì)產(chǎn)生大量冗余的數(shù)據(jù)[11-12]。通過(guò)分析研究,本文通過(guò)測(cè)量參考位置的光信號(hào)強(qiáng)度,利用光信號(hào)的傳播模型來(lái)估算出其他位置的光信號(hào)強(qiáng)度,以此來(lái)構(gòu)建再生指紋庫(kù);同時(shí)提出改進(jìn)的加權(quán)K近鄰算法(Weighted K Nearest Neighbor,WKNN)[13-14],用平方弦距離度量替代歐氏距離度量,同時(shí)結(jié)合發(fā)光二極管(Light-Emitting Diode,LED)的穩(wěn)定性,選取平方弦距離最近的k個(gè)點(diǎn)來(lái)估計(jì)定位目標(biāo)的位置,在保證定位精度的同時(shí)大大降低了采集數(shù)據(jù)的工作量。本文所提算法相較于指紋識(shí)別融合貝葉斯算法以及指紋數(shù)據(jù)濾波與聚類算法,采集的數(shù)據(jù)信息更少,算法復(fù)雜度更低,構(gòu)建指紋的時(shí)間更短。
一般情況下,可見(jiàn)光室內(nèi)定位采用LED作為光源,光電二極管(Photodiode,PD)作為接收器,光源的發(fā)光強(qiáng)度服從朗伯輻射模型,在只考慮視距(Line of Sight,LOS)的情況下,如圖1所示,PD接收到的功率可以表示為:
(1)
(2)
式中Pt是LED的發(fā)射功率,Ar為PD的有效接收面積,m為朗伯發(fā)射級(jí)數(shù),φ1/2是LED發(fā)光的半功率半角,d為L(zhǎng)ED與PD之間的直線距離,φ是發(fā)射角,φ是入射角,φcom是接收視場(chǎng)角,入射角小于等于接收視場(chǎng)角,Ts(φ)是接收器的帶通光濾波器透射率,g(φ)是非成像聚光器的增益。
圖1 可見(jiàn)光定位模型
假設(shè)接收機(jī)的位置與發(fā)射器的位置平行,則入射角φ和發(fā)射角φ是相等的,若在實(shí)際測(cè)量時(shí)接收機(jī)與發(fā)射器的位置不平行,使用光傳播模型構(gòu)建的指紋庫(kù)與真實(shí)指紋庫(kù)之間的誤差會(huì)很大,導(dǎo)致在定位階段通過(guò)WKNN算法估算出的定位坐標(biāo)誤差會(huì)很大,必須要保證入射角與發(fā)射角相等。在忽略Ts(φ)和g(φ)的時(shí)候,位于i點(diǎn)的接收功率Pr,i為:
(3)
取朗伯發(fā)射級(jí)數(shù)m為1,其中cos(φi)=h/di,h為接收機(jī)到LED的垂直距離,則位于j點(diǎn)的接收功率可以用i點(diǎn)的接收功率來(lái)表示:
(4)
將定位區(qū)域均勻劃分成大小相等的小網(wǎng)格,在每個(gè)網(wǎng)格中選取參考點(diǎn)來(lái)測(cè)量接收信號(hào)強(qiáng)度,只選取l個(gè)參考點(diǎn)來(lái)測(cè)量信號(hào)強(qiáng)度,將這l個(gè)參考點(diǎn)根據(jù)公式(4)依次來(lái)構(gòu)建虛擬指紋庫(kù),這樣就構(gòu)建了l個(gè)指紋庫(kù),將這l個(gè)指紋庫(kù)合并在一起,則指紋庫(kù)中每個(gè)位置的信號(hào)強(qiáng)度就有l(wèi)個(gè),將每個(gè)位置的l個(gè)信號(hào)強(qiáng)度相加求其均值作為該位置最終的信號(hào)強(qiáng)度,這樣就可以構(gòu)建出再生指紋庫(kù)。
離線階段通過(guò)光傳播模型構(gòu)建的指紋庫(kù)與真實(shí)指紋庫(kù)之間存在著誤差,為了進(jìn)一步提高定位精度,在線定位階段采用改進(jìn)的WKNN定位算法。通過(guò)測(cè)量定位目標(biāo)點(diǎn)接收到LED的信號(hào)強(qiáng)度,計(jì)算目標(biāo)點(diǎn)的信號(hào)強(qiáng)度與指紋庫(kù)中每一點(diǎn)的信號(hào)強(qiáng)度之間的距離,選取距離最近的k個(gè)點(diǎn)的信號(hào)強(qiáng)度來(lái)估計(jì)目標(biāo)位置,現(xiàn)有的WKNN算法大多采用信號(hào)之間的歐氏距離作為度量,而歐氏距離表示的只是定位目標(biāo)和采集點(diǎn)信號(hào)之間的絕對(duì)位置,并不能很好地反映采集點(diǎn)之間的相對(duì)位置,定位會(huì)存在偏差,故而采用平方弦距離代替歐氏距離,可以很好地改善定位誤差,即:
(5)
(6)
(7)
(8)
式中Wi,k為定位目標(biāo)點(diǎn)i與距離最近的k個(gè)點(diǎn)之間的權(quán)重,則通過(guò)改進(jìn)的WKNN算法估算出定位目標(biāo)點(diǎn)的位置為:
(9)
通過(guò)MATLAB仿真軟件,在只考慮視距的情況下,采用4個(gè)LED來(lái)進(jìn)行可見(jiàn)光室內(nèi)定位,具體方法為:將定位區(qū)域均勻劃分成大小相同的小網(wǎng)格,離線階段構(gòu)建真實(shí)指紋庫(kù),選取其中的25個(gè)參考點(diǎn)通過(guò)光傳播模型構(gòu)建虛擬指紋庫(kù),如圖2所示,選取剩余位置點(diǎn)作為在線階段的測(cè)試點(diǎn),共計(jì)576個(gè)位置點(diǎn),對(duì)比所提算法下再生指紋庫(kù)和真實(shí)指紋庫(kù)之間的定位精度,驗(yàn)證所提算法的可行性,實(shí)驗(yàn)參數(shù)如表1所示:
表1 仿真環(huán)境參數(shù)
圖2 參考點(diǎn)與測(cè)量點(diǎn)的位置
定位階段采用改進(jìn)的WKNN算法,k的取值對(duì)定位算法具有一定的影響。當(dāng)k值太小時(shí)定位目標(biāo)鄰近的區(qū)域就會(huì)很小,定位模型變得很復(fù)雜,定位目標(biāo)的估計(jì)位置更貼近于再生指紋庫(kù),近似誤差較小;然而k的取值較小會(huì)導(dǎo)致隨機(jī)誤差增大,不能很好地反映定位目標(biāo)的估計(jì)位置,而且估算到的定位目標(biāo)的位置與真實(shí)位置也會(huì)存在較大的差距,估計(jì)誤差較大。當(dāng)k值太大時(shí)則正好相反,需要選擇最合適的k值使得定位算法的精度最高。因此我們研究了改進(jìn)的WKNN算法在不同k值下的定位精度,如圖3所示。
圖3 改進(jìn)WKNN不同k值下的平均定位誤差
在k取5的時(shí)候效果最好,定位的平均誤差最小。同時(shí)LED的穩(wěn)定性對(duì)定位系統(tǒng)的精度也會(huì)產(chǎn)生一定的影響,由于LED受到多徑效應(yīng)的影響,穩(wěn)定性以及定位精度都會(huì)降低,增加LED的個(gè)數(shù)可以提供更均勻的光強(qiáng)分布,使得定位精度更高,但是計(jì)算量也會(huì)增加。在不增加LED個(gè)數(shù)的前提下,通過(guò)統(tǒng)計(jì)定位區(qū)域內(nèi)參考點(diǎn)來(lái)自各個(gè)LED的信號(hào)強(qiáng)度并計(jì)算每個(gè)LED的信號(hào)強(qiáng)度方差,方差越小表示各個(gè)參考點(diǎn)上測(cè)量的LED的信號(hào)強(qiáng)度偏離平均值越小,該LED的穩(wěn)定性就越好。在WKNN算法中加入LED信號(hào)強(qiáng)度的方差,可以減少由于LED不穩(wěn)定所帶來(lái)的定位誤差。
通過(guò)仿真對(duì)比了改進(jìn)的WKNN算法和WKNN算法,如圖4所示,改進(jìn)的WKNN的定位精度相對(duì)于WKNN的定位精度有所提高,定位誤差更小。
為了驗(yàn)證所提算法的有效性,與二維插值法構(gòu)建的指紋庫(kù)和真實(shí)指紋庫(kù)的定位精度進(jìn)行對(duì)比,如圖5所示。
圖4 WKNN和改進(jìn)的WKNN的平均定位誤差
圖5 不同指紋庫(kù)下的平均定位誤差
在平均定位誤差為5 cm時(shí),光傳播模型再生指紋庫(kù)的定位精度累積概率分布為90%,遠(yuǎn)高于二維插值法構(gòu)造指紋的8%,略低于真實(shí)指紋庫(kù)的97%,表明所提方法的定位精度要高于二維插值法的定位精度,相比于真實(shí)指紋的定位精度要略低,但是本次實(shí)驗(yàn)只采集了25個(gè)位置點(diǎn)的光信號(hào)強(qiáng)度,而真實(shí)指紋庫(kù)中需要采集625個(gè)位置點(diǎn)的光信號(hào)強(qiáng)度,本文所提方法大大降低了指紋庫(kù)構(gòu)建的工作量,而且定位精度差別不大。
研究結(jié)果表明所提出的算法在前期指紋庫(kù)的采集方面可以大大降低工作量,同時(shí)定位精度與真實(shí)指紋庫(kù)相近,相比于二維插值方法構(gòu)建的指紋庫(kù),定位精度更高。接下來(lái)的研究會(huì)進(jìn)一步在實(shí)際應(yīng)用中驗(yàn)證算法的可行性,同時(shí)考慮多徑反射的情況,進(jìn)一步提高定位精度。