本發(fā)明屬于移動(dòng)通信技術(shù)和室內(nèi)定位領(lǐng)域,具體涉及一種在可見光通信場景中基于指紋匹配和可見光傳輸特性的三維定位方法。
背景技術(shù):
近年來,位置信息服務(wù)得到了迅速的發(fā)展,基于全球定位系統(tǒng)(GPS,Global Positioning System)的室外定位技術(shù)已經(jīng)相當(dāng)成熟。然而由于在室內(nèi)接收的GPS衛(wèi)星信號非常微弱甚至無法正常接收,使得室內(nèi)定位不得不放棄成熟可靠的GPS技術(shù)而尋求其他解決方案?,F(xiàn)在大多數(shù)的室內(nèi)定位解決方案都需要額外的布置定位錨節(jié)點(diǎn),這增加了室內(nèi)定位系統(tǒng)的部署成本和普及難度;在基于WiFi(Wireless Fidelity)的室內(nèi)定位解決方案中,雖然WiFi無線接入點(diǎn)在室內(nèi)場景中得到了大量的部署,但是該解決方案的定位精度通常較低。
同時(shí),固態(tài)照明技術(shù)正在改變著室內(nèi)照明的未來,白熾燈和熒光燈正在越來越多的被發(fā)光二極管(LED,Light Emitting Diode)所代替。LED具有能量轉(zhuǎn)換效率高、產(chǎn)生熱量少、使用壽命長以及綠色環(huán)保的優(yōu)點(diǎn)。此外,LED光源可以快速的改變發(fā)光強(qiáng)度,這就為高速的可見光通信提供了可能性??梢姽馔ㄐ畔到y(tǒng)不僅保密性好、抗干擾能力強(qiáng)、隱蔽性強(qiáng),而且不會(huì)有電磁干擾,能適用于人口密集以及某些射頻敏感的場合。再加上LED光源已經(jīng)在室內(nèi)場景中得到了大量的部署,使得基于可見光通信的室內(nèi)定位技術(shù)具有廣闊的應(yīng)用前景。
現(xiàn)階段常用的可見光定位技術(shù)主要有基于接收信號強(qiáng)度(RSS,Received Signal Strength),到達(dá)時(shí)間(TOA,Time of Arrival)、到達(dá)時(shí)間差(TDOA,Time Difference of Arrival)、到達(dá)角度(AOA,Angle of Arrival)等方法。其中,由于室內(nèi)環(huán)境下的空間較小,可見光的傳播距離很短使得傳播時(shí)間極短,這就對收發(fā)設(shè)備的時(shí)鐘精度和同步性能提出了嚴(yán)苛的要求,因此TOA和TDOA技術(shù)很難實(shí)現(xiàn)。AOA技術(shù)往往需要圖像傳感器陣列,這使得定位成本變大。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明公開了一種基于指紋匹配的可見光通信場景中三維定位方法,采用指紋匹配方法進(jìn)行三維定位,并根據(jù)可見光的傳輸特性對定位結(jié)果進(jìn)行修正并進(jìn)一步精確估計(jì)接收端的三維位置坐標(biāo)。
技術(shù)方案:一種基于指紋匹配的可見光通信場景中三維定位方法,包括如下步驟:
步驟1、在定位場景中布置發(fā)射節(jié)點(diǎn)和指紋采樣點(diǎn),根據(jù)指紋采樣點(diǎn)處的信息建立RSS指紋庫;所述RSS指紋庫中每個(gè)RSS指紋數(shù)據(jù)包含指紋采樣點(diǎn)處的三維坐標(biāo)、接收到的可見光發(fā)射節(jié)點(diǎn)ID信息、可見光接收信號強(qiáng)度、覆蓋號、可見光傳輸距離及對應(yīng)的傳輸距離修正因子;
步驟2、區(qū)域鎖定:根據(jù)接收端收到的可見光信息,在RSS指紋庫中進(jìn)行搜索,得到與接收端接收到的可見光信息最接近的RSS指紋數(shù)據(jù);以得到的RSS指紋數(shù)據(jù)為中心,選取鄰域半徑,鎖定搜索區(qū)域;
步驟3、迭代搜索:在搜索區(qū)域中,使用K近鄰迭代搜索,用指紋采樣點(diǎn)的傳輸距離修正因子作為實(shí)際位置上的距離修正因子,在傳輸距離構(gòu)成的向量空間中搜索最近鄰采樣點(diǎn),搜索得到若干個(gè)最近鄰指紋采樣點(diǎn);
步驟4、位置估計(jì):對搜索得到的所有最近鄰指紋采樣點(diǎn)的三維坐標(biāo)求均值,得到接收端的實(shí)際位置三維坐標(biāo)估計(jì)值。
具體地,RSS指紋數(shù)據(jù)的覆蓋號c為:
其中M為定位場景中發(fā)射節(jié)點(diǎn)的個(gè)數(shù);K為所述RSS指紋數(shù)據(jù)采樣點(diǎn)處同時(shí)接收到的可見光個(gè)數(shù)最大值;uj為第j個(gè)發(fā)射節(jié)點(diǎn)的UID,wj為第j個(gè)發(fā)射節(jié)點(diǎn)的覆蓋權(quán)重;t(i)為所述RSS指紋數(shù)據(jù)采樣點(diǎn)處接收到的第i個(gè)發(fā)射節(jié)點(diǎn)的UID。
具體地,步驟2中在RSS指紋庫中進(jìn)行搜索具體包括如下步驟:
(21)根據(jù)接收端收到的可見光信息計(jì)算覆蓋號cr;
(22)在RSS指紋庫中搜索覆蓋號與cr相同的指紋采樣點(diǎn),構(gòu)成集合S;
(23)遍歷集合S中的指紋采樣點(diǎn),尋找使得RSS空間距離度量函數(shù)dz(Rr,Ri)最小的點(diǎn),所述RSS空間距離度量函數(shù)定義為:
其中為接收端接收到的K個(gè)可見光的接收信號強(qiáng)度構(gòu)成的向量;為RSS指紋采樣點(diǎn)處接收到的K個(gè)可見光的接收信號強(qiáng)度構(gòu)成的向量。
具體地,步驟3具體包括如下步驟:
(31)初始化迭代條件,將步驟(2)中搜索到的RSS指紋數(shù)據(jù)作為迭代初始條件,其傳輸距離修正因子作為傳輸距離修正因子估計(jì)值的初始值;
(32)用傳輸距離修正因子估計(jì)值對接收端接收到的傳輸距離向量D=(d(1),d(2),...,d(K))進(jìn)行修正,即D=(d(1)β(1),d(2)β(2),...,d(K)β(K)),遍歷搜索區(qū)域中的RSS指紋采樣點(diǎn),尋找此時(shí)的最近鄰采樣點(diǎn):
其中d(D,Di)為向量D和Di之間的歐氏距離,Di為搜索到的最近鄰RSS指紋采樣點(diǎn)的傳輸距離向量;
(33)用上一步搜索到的最近鄰RSS指紋采樣點(diǎn)的傳輸距離修正因子作為傳輸距離修正因子估計(jì)值重復(fù)步驟(32),直至相鄰兩次迭代過程中的k值相等為止。
優(yōu)選地,發(fā)射節(jié)點(diǎn)采用時(shí)分復(fù)用的方式向接收端發(fā)送信息。
優(yōu)選地,指紋采樣點(diǎn)在定位場景中的三維空間上均勻分布。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明公開的三維定位方法具有以下優(yōu)點(diǎn):通過指紋匹配的方法克服了基于可見光通信定位系統(tǒng)中傳輸函數(shù)難以測量以及傳輸距離難以估計(jì)的問題,通過引入覆蓋號的概念加快匹配搜索的速度,然后通過劃定鄰域并對傳輸距離和距離修正因子β的迭代估計(jì)來獲得K近鄰指紋采樣點(diǎn),最后根據(jù)更為精確的K近鄰采樣點(diǎn)的坐標(biāo)平均得到最終的定位結(jié)果估計(jì),因此本發(fā)明中并不需要搜索所有的指紋采樣點(diǎn)數(shù)據(jù),而是先通過覆蓋號的概念縮小范圍,再通過劃定鄰域進(jìn)一步縮小范圍,最后在鄰域中運(yùn)行迭代算法,因此不僅定位精度很高,而且定位算法復(fù)雜度也很小。
附圖說明
圖1為基于可見光通信的室內(nèi)定位場景圖;
圖2為基于指紋匹配的三維定位算法結(jié)構(gòu)框圖;
圖3為單發(fā)射端單接收端的可見光傳輸場景圖;
圖4為可見光接收功率隨輻射角度變化實(shí)測圖;
圖5為三維定位算法具體實(shí)施步驟的示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式,進(jìn)一步闡明本發(fā)明。
一種基于指紋匹配的可見光通信場景中三維定位方法,如圖2所示,包括如下步驟:
步驟1、在定位場景中布置M個(gè)發(fā)射節(jié)點(diǎn)和N個(gè)指紋采樣點(diǎn),本實(shí)施例中的定位場景如圖1所示,發(fā)射節(jié)點(diǎn)為照明設(shè)備,為了避免光源間的區(qū)間干擾可以采用時(shí)分復(fù)用的方式發(fā)送發(fā)射節(jié)點(diǎn)的信息;控制器用于對定位系統(tǒng)的全局配置,例如統(tǒng)一分配光源發(fā)送可見光信號的時(shí)隙等,網(wǎng)關(guān)用于轉(zhuǎn)發(fā)控制器的各種控制指令至目標(biāo)光源,接收器解析出當(dāng)前可見光信號中的數(shù)據(jù)以及RSS值然后發(fā)送給定位服務(wù)器端,定位服務(wù)器運(yùn)行定位算法最終得到三維坐標(biāo)估計(jì);其中發(fā)射節(jié)點(diǎn)的布置應(yīng)盡量使得待定位區(qū)域內(nèi)存在多個(gè)可見光信號的重疊,而指紋采樣點(diǎn)采用均勻分布。
每個(gè)發(fā)射節(jié)點(diǎn)都有獨(dú)一無二的特定身份號(UID,Unique Identity)為ui(i=1,…,M),每個(gè)ui都對應(yīng)一個(gè)覆蓋權(quán)重wi(i=1,…,M),可見光定位場景中每個(gè)位置一般只能接收到有限個(gè)具有不同UID的可見光信號,設(shè)同時(shí)接收到的UID個(gè)數(shù)最大值為K,定義接收端UID集合組成的向量為T=(t(1),t(2),…t(K)),與此對應(yīng)的接收信號強(qiáng)度為R=(r(1),r(2),…r(K))。
根據(jù)指紋采樣點(diǎn)處的信息建立RSS指紋庫;RSS指紋庫中每個(gè)RSS指紋數(shù)據(jù)包含指紋采樣點(diǎn)處的三維坐標(biāo)Li=(xi,yi,zi)、接收到的可見光發(fā)射節(jié)點(diǎn)ID信息Ti、可見光接收信號強(qiáng)度Ri、覆蓋號ci、可見光傳輸距離Di及對應(yīng)的傳輸距離修正因子βi。
如圖3所示,當(dāng)發(fā)射平面和接收平面平行時(shí),接收可見光功率P可以表示為其中P0是LED光源中心方向的光功率,α是輻射角,R(α)是隨輻射角而變化的衰減函數(shù),可以通過測量獲得,某LED光源的R(α)測量結(jié)果如圖4所示,α輻射角從0開始變化時(shí),可見光功率P從P0衰減為P0R(α);d是可見光傳輸距離,即光源到接收端的距離。定義估計(jì)距離d=βd′,其中傳輸距離修正因子d′是忽略光源輻射角和接收端入射角的影響而對傳輸距離進(jìn)行的直接估計(jì),可以表示為
RSS指紋數(shù)據(jù)的覆蓋號c為:
其中M為定位場景中發(fā)射節(jié)點(diǎn)的個(gè)數(shù);K為所述RSS指紋數(shù)據(jù)采樣點(diǎn)處同時(shí)接收到的可見光個(gè)數(shù)最大值;uj為第j個(gè)發(fā)射節(jié)點(diǎn)的UID,wj為第j個(gè)發(fā)射節(jié)點(diǎn)的覆蓋權(quán)重;t(i)為所述RSS指紋數(shù)據(jù)采樣點(diǎn)處接收到的第i個(gè)發(fā)射節(jié)點(diǎn)的UID。
為了便于計(jì)算可以把覆蓋權(quán)重wj設(shè)置為二進(jìn)制表示中只有1位為1的數(shù)值,定義兩個(gè)覆蓋號之間的距離為它們的二進(jìn)制表示中不同位的個(gè)數(shù),則此時(shí)進(jìn)行一次按位異或操作即可獲得覆蓋號之間的距離;只需要對兩個(gè)覆蓋號進(jìn)行一次按位與或操作就可以找到所有需要計(jì)算距離的UID,而不需要對所有的M個(gè)UID進(jìn)行遍歷。
首先,在離線階段對所有的指紋采樣點(diǎn)計(jì)算所有的覆蓋號,并以覆蓋號為索引構(gòu)建數(shù)據(jù)結(jié)構(gòu),即通過覆蓋號可獲取一個(gè)所有具備相同覆蓋號的采樣點(diǎn)列表;其次,在在線階段根據(jù)所獲得的可見光RSS信息計(jì)算覆蓋號,通過查詢覆蓋號索引獲得所有具備相同覆蓋號的采樣點(diǎn)列表;最后,根據(jù)覆蓋號獲得該覆蓋號下所有的UID,并根據(jù)UID整理RSS向量,然后逐個(gè)計(jì)算與列表中采樣點(diǎn)之間的RSS空間距離度量函數(shù),尋找最小值。
步驟2、區(qū)域鎖定:根據(jù)接收端收到的可見光信息,在RSS指紋庫中進(jìn)行搜索,得到與接收端接收到的可見光信息最接近的RSS指紋數(shù)據(jù);以得到的RSS指紋數(shù)據(jù)為中心,選取鄰域半徑,鎖定搜索區(qū)域;步驟2-步驟4的流程如圖5所示。
在RSS指紋庫中進(jìn)行搜索具體包括如下步驟:
(21)根據(jù)接收端收到的可見光信息計(jì)算覆蓋號cr;
(22)在RSS指紋庫中搜索覆蓋號與cr相同的指紋采樣點(diǎn),構(gòu)成集合S;
(23)遍歷集合S中的指紋采樣點(diǎn),尋找使得RSS空間距離度量函數(shù)dz(Rr,Ri)最小的點(diǎn),所述RSS空間距離度量函數(shù)定義為:
其中為接收端接收到的K個(gè)可見光的接收信號強(qiáng)度構(gòu)成的向量;為RSS指紋采樣點(diǎn)處接收到的K個(gè)可見光的接收信號強(qiáng)度構(gòu)成的向量。
以得到的RSS指紋數(shù)據(jù)為中心,選取鄰域半徑,劃定一個(gè)包含實(shí)際空間位置的鄰域,該鄰域中的所有指紋采樣點(diǎn)進(jìn)入下一步K近鄰迭代搜索。
步驟3、迭代搜索:在搜索區(qū)域中,使用K近鄰迭代搜索,用指紋采樣點(diǎn)的傳輸距離修正因子作為實(shí)際位置上的距離修正因子,在傳輸距離構(gòu)成的向量空間中搜索最近鄰采樣點(diǎn),搜索得到若干個(gè)最近鄰指紋采樣點(diǎn);
具體包括如下步驟:
(31)初始化迭代條件,將步驟(2)中搜索到的RSS指紋數(shù)據(jù)作為迭代初始條件,其傳輸距離修正因子作為傳輸距離修正因子估計(jì)值的初始值;
(32)用傳輸距離修正因子估計(jì)值對接收端接收到的傳輸距離向量D=(d(1),d(2),...,d(K))進(jìn)行修正,即遍歷搜索區(qū)域中的RSS指紋采樣點(diǎn),尋找此時(shí)的最近鄰采樣點(diǎn):
其中d(D,Di)為向量D和Di之間的歐氏距離,Di為搜索到的最近鄰RSS指紋采樣點(diǎn)的傳輸距離向量;
(33)用上一步搜索到的最近鄰RSS指紋采樣點(diǎn)的傳輸距離修正因子作為傳輸距離修正因子估計(jì)值重復(fù)步驟(32),直至相鄰兩次迭代過程中的k值相等為止。
步驟4、位置估計(jì):對搜索得到的所有最近鄰指紋采樣點(diǎn)的三維坐標(biāo)求均值,得到接收端的實(shí)際位置三維坐標(biāo)估計(jì)值。
例如選擇到的3個(gè)最近鄰分別為i,j和k采樣點(diǎn),則最終的坐標(biāo)輸出為: