一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法【專利摘要】本發(fā)明公開了一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,具體為:計(jì)算LED燈的定位幀并發(fā)送給接收器;當(dāng)數(shù)據(jù)采樣位置點(diǎn)的個數(shù)≤100個,針對每個時隙,不同位置的接收器分別記錄LED燈的RSS值,組成行列矩陣并分別計(jì)算行列映射表;當(dāng)數(shù)據(jù)采樣間隔小于50cm,任意位置的接收器,根據(jù)行列映射結(jié)果分別在行列映射表中尋找定位結(jié)果;否則,分別帶入行列映射函數(shù)中計(jì)算定位結(jié)果。當(dāng)數(shù)據(jù)采樣位置點(diǎn)的個數(shù)>100個,推導(dǎo)出接收器位于任意位置處時行列映射結(jié)果計(jì)算公式,通過牛頓迭代法和二分查找法,計(jì)算接收器的最終定位結(jié)果。優(yōu)點(diǎn)在于:將密集蜂窩中多維信息整合成為二維信息,實(shí)現(xiàn)快速且較為準(zhǔn)確的定位?!緦@f明】一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法
技術(shù)領(lǐng)域:
[0001]本發(fā)明屬于室內(nèi)可見光定位領(lǐng)域,具體是一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法?!?br>背景技術(shù):
】[0002]隨著室內(nèi)安防監(jiān)控、目標(biāo)查找與追蹤、導(dǎo)航等需求日益增加,室內(nèi)定位也逐漸成為一個技術(shù)熱點(diǎn)。就目前看來,室內(nèi)定位技術(shù)主要包括基于超寬帶(ultra-wideband,UWB)、射頻識別(radiofrequencyidentification,RFID)、無線局域網(wǎng)(wirelesslocalareanetwork,WLAN)、藍(lán)牙(Bluetooth)、超聲波(ultrasonic)的定位。與已經(jīng)存在的主要室內(nèi)定位技術(shù)不同,可見光定位有著保密性高、適用于電磁敏感區(qū)域、價格低廉等諸多優(yōu)點(diǎn),并且室內(nèi)已布有的大量的LED光照系統(tǒng)也為室內(nèi)可見光定位提供了良機(jī)。[0003]由于光強(qiáng)的直接疊加,一直以來密集蜂窩中的可見光定位都是一個難點(diǎn)。但對于已經(jīng)固定的好的LED燈來說,其定位信息并不是隨機(jī)的,因此可以利用這一點(diǎn),將定位信息與LED燈的布局適當(dāng)?shù)亟Y(jié)合起來?!?br/>發(fā)明內(nèi)容】[0004]本發(fā)明將來自密集蜂窩的多維定位信息整合為二維信息,以快速、簡便地確定接收器在檢測平面的位置,提出了一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法。[0005]具體步驟如下:[0006]步驟一、根據(jù)室內(nèi)LED燈的水平分布劃分為M行XN列;[0007]LED燈水平布置于高度為H的天花板上,M與N均為整數(shù)值;[0008]步驟二、對每個LED燈按成幀規(guī)則計(jì)算各自的定位幀;[0009]定位幀的成幀規(guī)則如下:[0010]定位幀包括五部分:同步頭,LED燈總行數(shù)M,LED燈總列數(shù)N,行序號RI和列序號CI。[0011]同步頭用8位比特位表示:01111110;[0012]LED燈總行數(shù)M和總列數(shù)N均用二進(jìn)制表示,比特長度分別為8位。[0013]行序號RI為"行+"幀或者"行幀;長度為M;[0014]具體規(guī)定如下:如果某個LED燈在第i行,則行序號RI的后i個比特位置為1,其余Μι比特位置為〇,形成的幀為"行+"幀;或者后M+1-i個比特位置為1,其余i-Ι個比特位置為0,形成的幀為"行幀。[0015]列序號CI為"列+"幀或者"列幀;長度為N;[0016]具體規(guī)定如下:如果某個LED燈在第j列,則列序號CI的后j個比特位置為1,其余N-j比特位置為〇,形成的幀為"列+"幀;或者后N+1-j個比特位置為1,其余j-Ι個比特位置為0,形成的幀為"列幀。[0017]根據(jù)RI和CI的成幀模式,定位幀共有4種,如表1所示,每一比特位需一個時隙傳輸。[0018]表1[0020]步驟三、所有LED燈同時發(fā)送各自的定位幀給接收器;[0021]接收器水平放置于高度為h的檢測平面上;[0022]步驟四、根據(jù)數(shù)據(jù)庫的采樣間隔,判斷所需數(shù)據(jù)采樣位置點(diǎn)的個數(shù)是否小于等于100個,如果是,則在檢測平面設(shè)定接收器的初始位置,進(jìn)行步驟五;否則,進(jìn)行步驟十三;[0023]接收器初始位置為(0,0);[0024]步驟五、針對每個RI時隙與每個CI時隙,接收器分別記錄每個時隙所有LED燈的接收信號強(qiáng)度RSS值,并計(jì)算行映射結(jié)果和列映射結(jié)果。[0025]將每個RI時隙接收到的RSS值相加,并除以最后一個RI時隙接收到的RSS值,得到行映射結(jié)果aR(x,y);[0026]將每個Cl時隙接收到的RSS值相加,并除以最后一個Cl時隙接收到的RSS值,得到列映射結(jié)果ac(x,y)。[0027]步驟六、改變接收器在檢測平面上的位置,重復(fù)步驟四和步驟五,直至將接收器在檢測平面遍歷完,將遍歷的所有映射結(jié)果,組成行矩陣aR和列矩陣ac。[0028]步驟七、根據(jù)行矩陣aR和列矩陣叱分別計(jì)算行映射表r-MT和列映射表c-MT;[0029]具體為:對行矩陣aR的每一行取平均值,得到M個平均行映射值,并與相應(yīng)的縱坐標(biāo)y存入到行映射表r-MT中;[0030]對列矩陣叱的每一列取平均值,得到N個平均列映射值,并與相應(yīng)的橫坐標(biāo)X存入到列映射表c-MT中。[0031]步驟八、接收器位于任意某位置,接收來自LED的定位幀,并記錄每個RI時隙與每個CI時隙接收到新的RSS值,分別計(jì)算行映射結(jié)果和列映射結(jié)果;[0032]任意某位置的接收器坐標(biāo)為(x,y);[0033]具體為:將每個RI時隙接收到的RSS值相加,并除以最后一個RI時隙接收到的RSS值,得到行映射結(jié)果;[0034]將每個Cl時隙接收到的RSS值相加,并除以最后一個Cl時隙接收到的RSS值,得到列映射結(jié)果ac_measured〇[0035]步驟九、根據(jù)數(shù)據(jù)庫的數(shù)據(jù)采樣間隔大小判斷,如果采樣間隔小于50cm,進(jìn)入步驟十,否則,進(jìn)入步驟十一;[0036]步驟十、針對任意位置處接收器的行映射結(jié)果與列映射結(jié)果,分別在行映射表r-MT和列映射表c-MT中尋找對應(yīng)值作為定位結(jié)果。[0037]將aRmeasured與行映射表r-ΜΤ中的所有值做比較,將與aRmeasured最接近的值所對應(yīng)的縱坐標(biāo)y,定為接收器在y軸的定位結(jié)果;[0038]將叱^^^與列映射表C-MT中的所有值做比較,將與Ctcmeasured最接近的值所對應(yīng)的縱坐標(biāo)X,定為接收器在X軸的定位結(jié)果。[0039]步驟十一、將行映射表r-MT和列映射表c-MT進(jìn)行多項(xiàng)式擬合,得到行映射函數(shù)r-MF和列映射函數(shù)c-MF;[0040]具體為:將行映射表r-MT中的平均行映射值作為自變量,以y坐標(biāo)作為因變量,進(jìn)行多項(xiàng)式擬合,得到行映射函數(shù)r-MF;[0041]將列映射表c-MT中的平均列映射值作為自變量,以X坐標(biāo)作為因變量,進(jìn)行多項(xiàng)式擬合,得到列映射函數(shù)c-MF;[0042]步驟十二、將對任意位置處接收器的行映射結(jié)果與列映射結(jié)果,分別帶入行映射函數(shù)r-MF和列映射函數(shù)c-MF中,得到定位結(jié)果。[0043]將CJRjne3asure3dR入行映射函數(shù)r-MF中,所得值即為y軸的定位結(jié)果;將ac_me3asure3d代入列映射函數(shù)c-MF中,所得的值即為X軸的定位結(jié)果。[0044]步驟十三、根據(jù)所有LED燈的位置,推導(dǎo)出接收器位于任意位置處時,行映射結(jié)果計(jì)算公式aR(x,y)與列映射結(jié)果計(jì)算公Sac(x,y)。[0045]行映射結(jié)果aR(x,y)計(jì)算如下:[0046]aR(x,y)=(Wr*Sr)/(0r*Sr)[0047]"行+"幀時:[0048]Wr=[1,2,...i,...,M][0049]"行幀時:[0050]ffR=[M,M-l,...1,...,1][0051]Or=[I1...1][0054]Wr的第i個元素等于第i行LED燈比特'Γ出現(xiàn)的次數(shù);Or是一個尺寸為IXM的全1向量;Sr是MX1的矩陣,其元素SRciwi(X,y)表示的是來自第i行LED燈的RSS值;cU,j是接收器任意位置(x,y)與LEDu燈的距離;LEDu代表位于第i行第j列的LED燈;m是朗伯指數(shù),C是常數(shù),Ylj為示性函數(shù),值為0或1,具體表達(dá)式如下:[0055][0056]Ψ^是入射角,Ψ。表示接收器的視場角;[0057]列映射結(jié)果ac(x,y)計(jì)算如下:[0058]ac(x,y)=(ffc*Sc)/(0c*Sc)[0059]"列+"幀:[0066]Wc的第j個元素等于第j列LED燈比特'1'出現(xiàn)的次數(shù);Oc是一個尺寸為IXN的全1向量;Sc是NX1的矩陣,其元素&。1」(X,y)表示的是來自第j列的RSS。[0067]步驟十四、接收器位于任意某位置,分別記錄每個RI時隙與每個CI時隙所有LED燈的接收信號強(qiáng)度RSS值,并計(jì)算接收器處于該位置時的行映射結(jié)果和列映射結(jié)果;[0068]具體為:將每個RI時隙接收到的RSS值相加,并除以最后一個RI時隙接收到的RSS值,得到行映射結(jié)果;[0069]將每個Cl時隙接收到的RSS值相加,并除以最后一個Cl時隙接收到的RSS值,得到列映射結(jié)果ac_measured〇[0070]步驟十五:利用映射公式如&,7)與(^&,7),結(jié)合接收器位于任意某位置的行映射結(jié)果和列映射結(jié)果,通過牛頓迭代法和二分查找法,計(jì)算接收器的最終定位結(jié)果Xn和yn。[0071]牛頓迭代法中,當(dāng)fR+ched^yn)與fc+checkUn)足夠接近0時,對應(yīng)的Xn和yn為接收器的最終定位結(jié)果。[0072]fc-check(X)-ClC(X,yn)_CIC-measured,[0073]fRcheck(y)=ClR(xn,y)-aRmeasured[0074]具體步驟為:[0075]步驟1501、對不同LED燈的定位幀初始值XO和yo分別定義;[0076]如下:[0077]針對列序號CI為"列+"幀,初始值X0為:[0078]x〇=min(x)+(max(x)_min(x))/(N_l)*(ac-measured_l)[0079]針對列序號Cl為"列幀,初始值xo為:[0080]x〇=max(x)-(max(x)-min(x))/(N_l)*(ac-measured_l)[0081]針對行序號RI為"行+"幀,初始值y〇為:[0082]y〇=min(y)+(max(y)-min(y))/(M_l)*(aR-measured_l)[0083]針對行序號RI為"行幀,初始值yo為:[0084]y〇=max(y)-(max(y)_min(y))/(M_l)*(aR-measured_l)[0085]步驟1502、初始值XQ和yo經(jīng)過η次迭代后,迭代結(jié)果為X1^Pyn;[0086]每一組牛頓拉夫森的迭代如下:[0087][0088][0089]其中,fc(x)=ac(x,yn-I)_ac-measured,fc(x),為fc(x)對X的導(dǎo)函數(shù);fR(y)=aR(xn-1,y)_aR_measure(jfR(y)為fR(y)對y的導(dǎo)函數(shù)[0090]步驟1503、判斷迭代過程中的Xn,yn是否滿足定位區(qū)域,如果滿足,進(jìn)入步驟1504;否則,進(jìn)入步驟1506;[0091]如果則以下不等式應(yīng)成立,則xjPyn滿足定位區(qū)域;[0092]min(x)<xn<max(x)[0093]min(y)<yn<max(y)[0094]其中min(x)代表定位區(qū)域內(nèi)最小的橫坐標(biāo)值;max(x)代表定位區(qū)域內(nèi)最大的橫坐標(biāo)值,min(y)代表定位區(qū)域內(nèi)最小的縱坐標(biāo)值,max(y)代表定位區(qū)域內(nèi)最大的縱坐標(biāo)值。[0095]步驟1504、判斷迭代次數(shù)η是否小于最大迭代次數(shù)n_max,如果是,則繼續(xù)進(jìn)行步驟1505,否則進(jìn)入步驟1506;[0096]步驟1505、將接收器定位結(jié)果Xn,yn分別帶入J^dieck(X)和fR_check(y),判斷fc_check(χη)和fR_d^k(yn)是否足夠接近于0,如果是,則定位結(jié)果正確;否則繼續(xù)迭代,迭代出新結(jié)果后,再返回步驟1503;[0097]fc-check(X)-ClC(X,yn)_C[C-measured[0098]fRcheck(y)=ClR(xn,y)-aRmeasured[0099]步驟1506、當(dāng)xn或yn超出定位區(qū)域時,或者n2n_max,且fc_check(xn)和fR_check(yn)不足夠接近于〇,則均采用二分查找法確定接收器的位置。[0100]二分查找法具體步驟如下:[0101]任意某位置的接收器坐標(biāo)為(x,y),則X的取值范圍為<X<xr,y的取值范圍為yi<y<yr〇[0102]定位位置χη和yn的計(jì)算公式如下:[0103]Xn=(xi+Xr)/2;yn=(yi+yr)/2[0104]其中Xi初始化為min(x),xr初始化為max(x);yi初始化為min(y),yr初始化為max(y);[0105]在每次迭代中,根據(jù)RI、CI成幀模式的不同Xi或xr被更新為xn;yi或yr被更新為yn。二分法結(jié)束的條件:當(dāng)?·(;_?(χη)和fR+ched^yn)足夠接近于0或η2n_max時,對應(yīng)的xn,yn即為最終結(jié)果。[0106]本發(fā)明的優(yōu)點(diǎn)在于:[0107]1)、一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,將密集蜂窩中多維信息整合成為二維信息,實(shí)現(xiàn)快速且較為準(zhǔn)確的定位。[0108]2)、一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,給出不同的求解方案,分別為映射表法,映射函數(shù)法?!靖綀D說明】[0109]圖1是本發(fā)明一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法流程圖;[0110]圖2是本發(fā)明采用"行+列+"幀時,11行7列中LED2,7的比特填充前和比特填充后的定位幀圖;[0111]圖3是本發(fā)明用牛頓迭代法和二分法計(jì)算定位位置的流程圖。具體實(shí)施例[0112]下面結(jié)合附圖,對本發(fā)明的具體實(shí)施方法進(jìn)行詳細(xì)說明。[0113]本發(fā)明一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,可視為一種降維方案,假設(shè)所有的LED燈都有相同的屬性;接收器的接收信號為接收功率或照度。[0114]如圖1所示,具體步驟如下:[0115]步驟一、根據(jù)室內(nèi)LED燈的分布,將水平面劃分為M行XN列;[0116]假定房間尺寸定位:LmXWmXHm,Lm為房間的長度,Wm為房間的寬度;Hm為房間的高度,LED燈水平地安裝在高度為Hm的天花板上。接收器水平地放置在高度為hm的檢測平面上;天花板上共布置了M行N列個LED燈;LEDi,j代表位于第i行第j列的LED燈,H和h事先測量,為簡便起見,將LED燈LED^的坐標(biāo)(Xj,yi,H)簡寫為(^,71),將接收器的位置(1,7,1!)簡寫為(x,y);[0117]步驟二、按成幀規(guī)則,根據(jù)M與N值,對每個LED燈進(jìn)行計(jì)算,得到各自的定位幀。[0118]定位幀的成幀規(guī)則如下:[0119]定位幀包括五部分:同步頭,LED燈總行數(shù)M,LED燈總列數(shù)N,行序號RI(rowindex)和列序號CI(columnindex)。[0120]在比特填充之前,這五部分的比特長度分別為8,8,8,M和N。[0121]定位幀的第一部分,同步頭用8位比特位表示:01111110;[0122]定位幀的第二、三部分,LED燈總行數(shù)M和總列數(shù)N均用二進(jìn)制表示,比特長度分別為8位。需要注意的是,由于這兩部分的比特長度均為8,LED燈的總行數(shù)M不得超過(28-1),總列數(shù)N不得超過(28-1)。[0123]行序號RI為"行+"幀或者"行幀;具體規(guī)定如下:如果某個LED燈在第i行,則行序號RI的后i個比特位置為1,其余M-i比特位置為0,形成的幀為"行+"幀;或者后M+1-i個比特位置為1,其余i-Ι個比特位置為〇,形成的幀為"行幀。[0124]列序號CI為"列+"幀或者"列幀;具體規(guī)定如下:如果某個LED燈在第j列,則列序號CI的后j個比特位置為1,其余N-j比特位置為0,形成的幀為"列+"幀;或者后N+1-j個比特位置為1,其余j-Ι個比特位置為〇,形成的幀為"列幀。[0125]根據(jù)RI和CI的成幀模式,定位幀共有4種,如表1所示。每一比特位需一個時隙傳輸。[0126]所有的M*N個LED燈只能選擇4種中的一種;[0127]表1[0129]簡便起見,本發(fā)明都采用"行+列+"幀。[0130]舉例子來說,如附圖2所示,如果一個房間有11行7列燈,某燈在第2行第7列,則該燈定位幀的五部分分別為01111110,00001011,00000111,00000000011,1111111。因?yàn)榭偣灿?1行,所以該燈第四部分總位數(shù)為11位,燈在第2行,所以最后2位為1,其余為0;因?yàn)榭偣灿?列,所以該燈第五部分總位數(shù)為7位,該燈在第7列,所以最后7位為1,其余0位為0,即沒有0〇[0131]在同步頭中有一特殊的比特序列一一6個連續(xù)的'1'比特,為了能夠正確解調(diào)第二至第五部分,需要對每一幀進(jìn)行比特填充,如圖2所示,比特填充前和比特填充后的定位幀。標(biāo)為紅色的比特即為比特填充插入的比特位。如果沒有比特填充,則"01111110"的比特形式可能不止會出現(xiàn)在第一部分同步頭中,還可能會出現(xiàn)在第二至第五部分中,則若認(rèn)錯了同步頭則無法正確解出后面的信息了。比特填充的作用即是確保在定位幀的其他部分不會有與此相同的比特序列;能夠滿足以上要求的比特填充規(guī)則并不唯一。[0132]本發(fā)明中規(guī)則如下:對于第二部分和第三部分,在第4位和第8位后面插入比特'0',比特位數(shù)增加到10位。[0133]對于第四部分,視每5位為一組,在后邊插入比特'0分組結(jié)束后,如果M長度不能被5整除,則最后一組的比特位數(shù)小于5,在后面直接插入一個'0'比特。[0134]第五部分,視每5位為一組,在后邊插入比特'0分組結(jié)束后,如果N長度不能被5整除,則最后一組的比特位數(shù)小于5,在后面直接插入一個'0'比特。[0135]步驟三、所有LED燈同時發(fā)送各自的定位幀給接收器;[0136]步驟四、根據(jù)數(shù)據(jù)庫的采樣間隔,判斷所需數(shù)據(jù)采樣位置點(diǎn)的個數(shù)是否小于等于100個,如果是,則在檢測平面設(shè)定接收器的初始位置,進(jìn)行步驟五;否則,進(jìn)行步驟十三;[0137]接收器初始位置為(0,0);[0138]步驟五、針對每個RI時隙與每個CI時隙,接收器分別記錄每個時隙所有LED燈的接收信號強(qiáng)度RSS值,并計(jì)算行映射結(jié)果和列映射結(jié)果。[0139]在每個RI比特時隙和CI比特時隙接收信號強(qiáng)度RSS(receivedsignalstrength),后將每個RI時隙接收到的RSS值相加,并除以最后一個RI時隙接收到的RSS值,得到行映射結(jié)果aR(x,y);針對初始位置(〇,〇)處的接收器的行映射結(jié)果為aR(〇,〇)。[0140]將每個Cl時隙接收到的RSS值相加,并除以最后一個Cl時隙接收到的RSS值,得到列映射結(jié)果aC(x,y);針對初始位置(〇,〇)處的接收器的列映射結(jié)果為aC(〇,〇)。[0141]步驟六、改變接收器在檢測平面上的位置,重復(fù)步驟四和步驟五,直至將接收器在檢測平面遍歷完,將遍歷的所有映射結(jié)果,組成行矩陣CtR和列矩陣ac。[0142]如果有mm個行采樣點(diǎn)和nn個列采樣點(diǎn),則應(yīng)用aR(x,y)計(jì)算出rnmXnn個值,構(gòu)成aR矩陣(mmXnn);應(yīng)用ac(x,y)計(jì)算出mmXnn個值,構(gòu)成ac矩陣(mmXnn)。對于指紋數(shù)據(jù)庫法來說(fingerprintdatabasemethod,F(xiàn)DM),由于每個LED燈的RSS均需要被單獨(dú)記錄,其數(shù)據(jù)庫的尺寸應(yīng)為mmXnnXMXN。[0143]步驟七、根據(jù)行矩陣aR和列矩陣叱分別計(jì)算行映射表r-MT和列映射表c-MT;[0144]具體為:對行矩陣aR的每一行取平均值,得到M個平均行映射值,并與相應(yīng)的縱坐標(biāo)y存入到行映射表r-MT中;[0145]對列矩陣叱的每一列取平均值,得到N個平均列映射值,并與相應(yīng)的橫坐標(biāo)X存入到列映射表c-MT中。[0146]在得到初始數(shù)據(jù)庫后,生成行映射表r_MT(rowmappingtable)和列映射表c-MT(columnmappingtable)mm個縱坐標(biāo)值和其對應(yīng)的行映射結(jié)果儲存在行映射表里,其對應(yīng)的行映射表(mmX1)是aR矩陣(mmXnn)的每一行的平均值。nn個橫坐標(biāo)值和其對應(yīng)的列映射結(jié)果儲存在列映射表里,其對應(yīng)的列映射表(IX1111)是<^矩陣(mmXnn)的每一列的平均值。此步驟之后,數(shù)據(jù)庫的規(guī)模可縮減為(_+nn)。需要注意的是,這一步驟會限制定位精度,因?yàn)樵赼R矩陣同一行中的元素的值雖然相近,但不相同,在ac矩陣同一列中的元素也是如此。[0147]步驟八、接收器位于任意某位置接收來自LED的定位幀,并記錄每個RI時隙與每個CI時隙接收到新的RSS值,分別計(jì)算行映射結(jié)果和列映射結(jié)果;[0148]任意某位置的接收器坐標(biāo)為(x,y);[0149]具體為:將每個RI時隙接收到的RSS值相加,并除以最后一個RI時隙接收到的RSS值,得到行映射結(jié)果;[0150]將每個Cl時隙接收到的RSS值相加,并除以最后一個Cl時隙接收到的RSS值,得到列映射結(jié)果ac_measured〇[0151]步驟九、根據(jù)數(shù)據(jù)庫的數(shù)據(jù)采樣間隔大小判斷,如果采樣間隔小于50cm,進(jìn)入步驟十,否則,進(jìn)入步驟十一;[0152]步驟十、針對任意位置處接收器的行映射結(jié)果與列映射結(jié)果,分別在行映射表r-MT和列映射表c-MT中尋找對應(yīng)值作為定位結(jié)果。[0153]將aRmeasured與行映射表r-MT中的所有值做比較,將與aRmeasured最接近的值所對應(yīng)的縱坐標(biāo)y,定為接收器在y軸的定位結(jié)果;[0154]與列映射表c-MT中的所有值做比較,將與aCmeasured最接近的值所對應(yīng)的縱坐標(biāo)X,定為接收器在X軸的定位結(jié)果。[0155]舉例來說,表格如下:y值行映射結(jié)果Om0.1[0156]*'^2Im0.31.5m0.42m0.5[0157]若卯measured0.39,與0.4最接近,則y軸的定位結(jié)果應(yīng)為1.5m。[0158]根據(jù)行映射表和列映射表確定接收器的位置(x,y),x最終確定為列映射表中的某個橫坐標(biāo)值,該值對應(yīng)的ac與ac_measured差距最小;y最終確定為行映射表中的某個縱坐標(biāo)值,-該值對應(yīng)的QR與aR_measured差距·。[0159]步驟十一、將行映射表r-MT和列映射表c-MT進(jìn)行多項(xiàng)式擬合,得到行映射函數(shù)r-MF和列映射函數(shù)c-MF;[0160]具體為:將行映射表r-MT中的平均行映射值作為自變量,以y坐標(biāo)作為因變量,進(jìn)行多項(xiàng)式擬合,得到行映射函數(shù)r-MF;[0161]將列映射表c-MT中的平均列映射值作為自變量,以X坐標(biāo)作為因變量,進(jìn)行多項(xiàng)式擬合,得到列映射函數(shù)c-MF;[0162]為了兼顧定位精度與所需時間及存儲空間的需求,映射函數(shù)包括行映射函數(shù)(rowmappingfunction,r_MF)和列映射函數(shù)(coIumnmappingfunction,c_MF),這二者是由映射表生成的。映射函數(shù)的自變量是映射結(jié)果,即aR或ac,因變量是坐標(biāo)值,X或y。映射函數(shù)可擬合為某一階的多項(xiàng)式函數(shù)。為了權(quán)衡系統(tǒng)復(fù)雜度與定位精度,多項(xiàng)式的階數(shù)只要增加到以下二者的均方誤差達(dá)到可接受的范圍即可,這二者分別為映射表中的坐標(biāo)值、由映射表中對應(yīng)映射結(jié)果代入映射函數(shù)得到的坐標(biāo)值。后文中,MF(k)代表階數(shù)為k的映射函數(shù),MFM(k)代表使用MF(k)的映射函數(shù)方法。[0163]在此方法中,只需將aCmeasured、aRmeasured分別帶入c-MF和r-MF即可得到接收器的X值和y值。[0164]步驟十二、將對任意位置處接收器的行映射結(jié)果與列映射結(jié)果,分別帶入行映射函數(shù)r-MF和列映射函數(shù)c-MF中,得到定位結(jié)果。[0165]將CJRjne3asure3dR入行映射函數(shù)r-MF中,所得值即為y軸的定位結(jié)果;將ac_me3asure3d代入列映射函數(shù)c-MF中,所得值的即為X軸的定位結(jié)果。[0166]步驟十三、根據(jù)所有LED燈的位置,推導(dǎo)出接收器位于任意位置處時,行映射結(jié)果計(jì)算公式aR(x,y)與列映射結(jié)果計(jì)算公Sac(x,y)。[0167]行映射結(jié)果aR(x,y)計(jì)算如下:[0168]aR(x,y)=(Wr*Sr)/(0r*Sr)[0169]Wr=[1,2,...i,...,M][0170]Or=[II...1][0171][0172][0173]Wr的第i個元素等于第i行LED燈比特'1'出現(xiàn)的次數(shù),由于本發(fā)明采用的是"行+"幀,所以其元素為1到M;Or是一個尺寸為IXM的全1向量;Sr是MX1的矩陣,其元素SRciwi(X,y)表示的是來自第i行的RSS值;di,j是任意位置(x,y)與LEDi,j的距離,LEDi,j代表位于第i行第j列的LED燈;m是朗伯指數(shù),C是常數(shù),為示性函數(shù),值為0或1,具體表達(dá)式如下:[0174][0175]Ψ^是入射角,Ψ。表示接收器的視場角。[0176]列映射結(jié)果ac(x,y)計(jì)算如下:[0177][0178][0179][0180][0181][0182]Sc是NXl的矩陣,其元素SCc^(X,y)表示的是來自第j列的RSS;WC的第j個元素等于第j列LED燈比特'1'出現(xiàn)的次數(shù),由于本發(fā)明采用的是"列+"幀,所以其元素為1到N;0c是一個尺寸為IXN的全1向量。[0183]步驟十四、接收器位于任意某位置,分別記錄每個RI時隙與每個CI時隙,所有LED燈的接收信號強(qiáng)度RSS值,并計(jì)算接收器處于該位置時的行映射結(jié)果和列映射結(jié)果;[0184]具體為:將每個RI時隙接收到的RSS值相加,并除以最后一個RI時隙接收到的RSS值,得到行映射結(jié)果;[0185]將每個Cl時隙接收到的RSS值相加,并除以最后一個Cl時隙接收到的RSS值,得到列映射結(jié)果ac_measured〇[0186]步驟十五:利用映射公式如&,7)與<^&,7),結(jié)合接收器位于任意某位置的行映射結(jié)果和列映射結(jié)果,通過牛頓迭代法和二分查找法,計(jì)算接收器的最終定位結(jié)果Xn和yn。[0187]牛頓迭代法中,當(dāng)fR_check(yn)與fC^heck(Xn)足夠接近0時,迭代結(jié)束,對應(yīng)的Xr^Pyn為接收器的最終定位結(jié)果。[0188]fc-check(X)-ClC(X,yn)_C[C-measured,[0189]fRcheck(y)=ClR(xn,y)-aRmeasured[0190]如圖3所示,具體步驟為:[0191]步驟1501、對不同LED燈的定位幀初始值xo和yo分別定義;[0192]在不同的定位幀中,中間變量χη和yn的初始值XQ和yo是不同的,定義如下:[0193]針對列序號CI為"列+"幀,初始值X0為:[0194]x〇=min(x)+(max(x)_min(x))/(N-I)*(ac-measured_l)[0195]針對列序號Cl為"列幀,初始值xo為:[0196]x〇=max(x)-(max(x)-min(x))/(N-I)*(ac-measured_l)[0197]針對行序號RI為"行+"幀,初始值yo為:[0198]y〇=min(y)+(max(y)_min(y))/(M-I)*(aR-measured_l)[0199]針對行序號RI為"行幀,初始值yo為:[0200]y〇=max(y)-(max(y)_min(y))/(M_l)*(aR-measured_l)[0201]步驟1502、初始值xo和yo經(jīng)過η次迭代后,迭代結(jié)果為X1^Pyn;[0202]每一組牛頓拉夫森的迭代如下:[0203:[0204:[0205]其中,fc(x)=ac(x,yn-l)-ac_measured,fc(X)'為fc(X)對X的導(dǎo)函數(shù);[0206]fR(y)=aR(xn-uPdRjueasuredfR(y)'為fR(y)對y的導(dǎo)函數(shù)[0207]步驟1503、判斷迭代過程中的Xn,yn是否滿足定位區(qū)域,如果滿足,進(jìn)入步驟1504;否則,進(jìn)入步驟1506;[0208]在迭代過程中,需要進(jìn)行邊界檢測以防定位結(jié)果收斂到定位區(qū)域以外。如果X1^Pyn在定位區(qū)域內(nèi),則以下不等式應(yīng)成立[0209]min(x)<xn<max(x)[0210]min(y)<yn<max(y)[0211]其中min(x)代表定位區(qū)域內(nèi)最小的橫坐標(biāo)值;max(x)代表定位區(qū)域內(nèi)最大的橫坐標(biāo)值,min(y)代表定位區(qū)域內(nèi)最小的縱坐標(biāo)值,max(y)代表定位區(qū)域內(nèi)最大的縱坐標(biāo)值。[0212]步驟1504、判斷迭代次數(shù)η是否小于最大迭代次數(shù)n_max,如果是,則繼續(xù)進(jìn)行步驟1505,否則進(jìn)入步驟1506;[0213]步驟1505、將接收器定位結(jié)果Xn,yn分別帶入?·(;_?(Χ)和fR+ched^y),判斷fc_check(χη)和fR_d^k(yn)是否足夠接近于0,如果是,則定位結(jié)果正確;否則繼續(xù)迭代,迭代出新結(jié)果后,再返回步驟1503;[0214]fc-check(X)-ClC(X,yn)_C[C-measured[0215]fRcheck(y)=aR(xn,y)-Qrmeasured[0216]步驟1506、當(dāng)xn或yn超出定位區(qū)域時,或者n2n_max,且?·(;_?(χη)和fR+ched^yn)不足夠接近于〇,則均采用二分查找法確定接收器的位置。[0217]二分查找法具體步驟如下:[0218]任意某位置的接收器坐標(biāo)為(x,y),x的取值范圍為?<X<xr,y的取值范圍為yi<y<yr〇[0219]定位位置Xn和yn的計(jì)算公式如下:[0220]Xn=(xi+Xr)/2;yn=(yi+yr)/2[0221]其中Xi初始化為min(x),xr初始化為max(x);yi初始化為min(y),yr初始化為max(y)。在每次迭代中,根據(jù)RI、CI成幀模式的不同Xi或者xr會被更新為xn;yi或者yr會被更新為yn〇[0222]二分法結(jié)束的條件:當(dāng)fc_check(xn)和fR_check(yn)足夠接近于0或η2n_max時,對應(yīng)的Xn,yn即為最終結(jié)果?!局鳈?quán)項(xiàng)】1.一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,其特征在于,具體步驟如下:步驟一、根據(jù)室內(nèi)L邸燈的水平分布劃分為Μ行XN列;L邸燈水平布置于高度為Η的天花板上,Μ與Ν均為整數(shù)值;步驟二、對每個LED燈按成帖規(guī)則計(jì)算各自的定位帖;步驟Ξ、所有L邸燈同時發(fā)送各自的定位帖給接收器;接收器水平放置于高度為h的檢測平面上;步驟四、根據(jù)數(shù)據(jù)庫的采樣間隔,判斷所需數(shù)據(jù)采樣位置點(diǎn)的個數(shù)是否小于等于100個,如果是,則在檢測平面設(shè)定接收器的初始位置,進(jìn)行步驟五;否則,進(jìn)行步驟十Ξ;接收器初始位置為(〇,〇);步驟五、針對每個RI時隙與每個CI時隙,接收器分別記錄每個時隙所有L抓燈的接收信號強(qiáng)度RSS值,并計(jì)算行映射結(jié)果和列映射結(jié)果;將每個RI時隙接收到的RSS值相加,并除W最后一個RI時隙接收到的RSS值,得到行映射結(jié)果QR(x,y);將每個CI時隙接收到的RSS值相加,并除W最后一個CI時隙接收到的RSS值,得到列映射結(jié)果ac(x,y);步驟六、改變接收器在檢測平面上的位置,重復(fù)步驟四和步驟五,直至將接收器在檢測平面遍歷完,將遍歷的所有映射結(jié)果,組成行矩陣QR和列矩陣曰C;步驟屯、根據(jù)行矩陣OR和列矩陣ae分別計(jì)算行映射表r-MT和列映射表C-MT;具體為:對行矩陣OR的每一行取平均值,得到Μ個平均行映射值,并與相應(yīng)的縱坐標(biāo)y存入到行映射表r-MT中;對列矩陣ae的每一列取平均值,得到N個平均列映射值,并與相應(yīng)的橫坐標(biāo)X存入到列映射表C-MT中;步驟八、接收器位于任意某位置,接收來自Lm)的定位帖,并記錄每個RI時隙與每個CI時隙接收到新的RSS值,分別計(jì)算行映射結(jié)果和列映射結(jié)果;步驟九、根據(jù)數(shù)據(jù)庫的數(shù)據(jù)采樣間隔大小判斷,如果采樣間隔小于50cm,進(jìn)入步驟十,否則,進(jìn)入步驟十一;步驟十、針對任意位置處接收器的行映射結(jié)果與列映射結(jié)果,分別在行映射表r-MT和列映射表C-MT中尋找對應(yīng)值作為定位結(jié)果;將CtRmeasured與行映射表r-MT中的所有值做比較,將與CtRmeasured最接近的值所對應(yīng)的縱坐標(biāo)y,定為接收器在y軸的定位結(jié)果;將admeasured與列映射表C-MT中的所有值做比較,將與admeasured最接近的值所對應(yīng)的縱坐標(biāo)X,定為接收器在X軸的定位結(jié)果;步驟^^一、將行映射表r-MT和列映射表C-MT進(jìn)行多項(xiàng)式擬合,得到行映射函數(shù)r-MF和列映射函數(shù)C-MF;具體為:將行映射表r-MT中的平均行映射值作為自變量,Wy坐標(biāo)作為因變量,進(jìn)行多項(xiàng)式擬合,得到行映射函數(shù)r-MF;將列映射表C-MT中的平均列映射值作為自變量,Wx坐標(biāo)作為因變量,進(jìn)行多項(xiàng)式擬合,得到列映射函數(shù)C-MF;步驟十二、將對任意位置處接收器的行映射結(jié)果與列映射結(jié)果,分別帶入行映射函數(shù)r-MF和列映射函數(shù)C-MF中,得到定位結(jié)果;將aR_measured代入行映射函數(shù)r-MF中,所得值即為y軸的定位結(jié)果;將admeasured代入列映射函數(shù)C-MF中,所得的值即為X軸的定位結(jié)果;步驟十Ξ、根據(jù)所有LED燈的位置,推導(dǎo)出接收器位于任意位置處時,行映射結(jié)果計(jì)算公式aR(x,y)與列映射結(jié)果計(jì)算公式ac(x,y);行映射結(jié)果aR(x,y)計(jì)算如下:曰R(x,y)=(Wr*Sr)/(0撲Sr)"行+"帖時:Wr=[1,2,...1,...,Μ]"行帖時:Wr=[M,M-1,...1,...,1]〇R=[11...1]Wr的第i個元素等于第i行Lm)燈比特'1'出現(xiàn)的次數(shù);Or是一個尺寸為IXM的全1向量;Sr是MX1的矩陣,其元素SR?i(x,y)表示的是來自第i行LED燈的RSS值;di,堤接收器任意位置(X,y)與LEDi,j燈的距離;LEDi,j代表位于第i行第j列的L邸燈;m是朗伯指數(shù),C是常數(shù),Yi,j為示性函數(shù),值為0或1,具體表達(dá)式如下:Ψι,^是入射角,Ψ。表示接收器的視場角;列映射結(jié)果ae(x,y)計(jì)算如下:曰c(x,y)=(W巧Sc)/(0巧Sc)。列+"帖:Wc=[l,2,...j,..,Ν]"列帖:Wc=陽,Ν-1,...j,...1]Wc的第j個元素等于第j列Lm)燈比特'1'出現(xiàn)的次數(shù);Oc是一個尺寸為IXN的全1向量;Sc是NX1的矩陣,其元素就。1j(X,y)表示的是來自第巧揃RSS;步驟十四、接收器位于任意某位置,分別記錄每個RI時隙與每個CI時隙所有Lm)燈的接收信號強(qiáng)度RSS值,并計(jì)算接收器處于該位置時的行映射結(jié)果和列映射結(jié)果;步驟十五:利用映射公式QR(x,y)與ae(x,y),結(jié)合接收器位于任意某位置的行映射結(jié)果和列映射結(jié)果,通過牛頓迭代法和二分查找法,計(jì)算接收器的最終定位結(jié)果Xn和yn;牛頓迭代法中,當(dāng)fR_check(yn)與fc_check(Xn)足夠接近0時:fC-Check(X)二曰C(X,y。)-QCjneasuredfR_check(y)二曰R(Xn,y)-曰R-measured對應(yīng)的Xn和yn為接收器的最終定位結(jié)果。2.如權(quán)利要求1所述的一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,其特征在于,所述的步驟二中,定位帖的成帖規(guī)則如下:定位帖包括五部分:同步頭,L邸燈總行數(shù)M,L邸燈總列數(shù)N,行序號RI和列序號CI;同步頭用8位比特位表示LED燈總行數(shù)Μ和總列數(shù)N均用二進(jìn)制表示,比特長度分別為8位;行序號RI為"行+"帖或者"行帖;長度為Μ;具體規(guī)定如下:如果某個Lm)燈在第i行,則行序號RI的后i個比特位置為1,其余M-i比特位置為0,形成的帖為"行+"帖;或者后M+1-i個比特位置為1,其余i-1個比特位置為0,形成的帖為"行帖;列序號CI為"列+"帖或者"列帖;長度為N;具體規(guī)定如下:如果某個L抓燈在第j列,則列序號CI的后j個比特位置為1,其余N-j比特位置為0,形成的帖為"列+"帖;或者后N+1-j個比特位置為1,其余j-1個比特位置為0,形成的帖為"列帖;根據(jù)RI和CI的成帖模式,形成了4種定位帖:"行+列+"帖,"行+列帖,"行-列+"帖和"行-列帖。3.如權(quán)利要求1所述的一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,其特征在于,所述的步驟八和步驟十四的具體步驟為:任意某位置的接收器坐標(biāo)為(x,y);具體為:將每個RI時隙接收到的RSS值相加,并除W最后一個RI時隙接收到的RSS值,得到化映射結(jié)果QRjneasured;將每個Cl時隙接收到的RSS值相加,并除w最后一個CI時隙接收到的RSS值,得到列映射結(jié)果ac_measured〇4.如權(quán)利要求1所述的一種基于累積空時編碼的室內(nèi)密集蜂窩可見光定位方法,其特征在于,所述的步驟十五,具體為:步驟1501、對不同L邸燈的定位帖初始值X0和yo分別定義;如下:針對列序號CI為"列+"帖,初始值X0為:xo=min(x)+(max(x)-min(x))/(N-l)*(ac_measured-l)針對列序號CI為"列帖,初始值X0為:xo=max(x)-(max(x)-min(x))/(N-l)*(ac_measured-l)針對行序號RI為"行+"帖,初始值yo為:yo=min(y)+(max(y)-min(y))/(1-1)*(〇Rmeasured-!)針對行序號RI為"行帖,初始值yo為:yo二max(y)-(max(y)-min(y))/(1-1)*(aRmeasured-!)步驟1502、初始值X日和y日經(jīng)過η次迭代后,迭代結(jié)果為Xn和yn;每一組牛頓拉夫森的迭代如下:其中,fc(X)=ac(x,yn-l)-ac_measured,fc(x)'為fc(X)對X的導(dǎo)函數(shù);fR(y)=aR(Xn-l,y)-aR_measuredfR(y)'為fR(y)對y的導(dǎo)函數(shù)步驟1503、判斷迭代過程中的Xn,yn是否滿足定位區(qū)域,如果滿足,進(jìn)入步驟1504;否則,進(jìn)入步驟1506;如果則W下不等式應(yīng)成立,則Xn和yn滿足定位區(qū)域;min(x)<Xn<max(x)min(y)<yn<max(y)其中min(X)代表定位區(qū)域內(nèi)最小的橫坐標(biāo)值;max(X)代表定位區(qū)域內(nèi)最大的橫坐標(biāo)值,min(y)代表定位區(qū)域內(nèi)最小的縱坐標(biāo)值,max(y)代表定位區(qū)域內(nèi)最大的縱坐標(biāo)值;步驟1504、判斷迭代次數(shù)η是否小于最大迭代次數(shù)11_1113^,如果是,則繼續(xù)進(jìn)行步驟1505,否則進(jìn)入步驟1506;步驟1505、將接收器定位結(jié)果Xn,yn分別帶入fG_GheGk(X)和fR_GheGk(y),判斷fG_GheGk(Xn)和fR_cheek(yn)是否足夠接近于0,如果是,則定位結(jié)果正確;否則繼續(xù)迭代,迭代出新結(jié)果后,再返回步驟1503;fCcheck(x)_曰C(X,y。)-曰C-measuredfR_check(y)-曰R(Xn,Υ)-曰R-measured步驟1506、當(dāng)Xn或yn超出定位區(qū)域時,或者η>n_max,且fc_check(Xn)和fR_check(yn)不足夠接近于ο,則均采用二分查找法確定接收器的位置;二分查找法具體步驟如下:任意某位置的接收器坐標(biāo)為(x,y),則X的取值范圍為XI<X<Xr,y的取值范圍為yi<y<yr;定位位置Χη和yn的計(jì)算公式如下:Xn=(Xl+Xr)/2;Υη=(Υ1+Yr)/2其中XI初始化為min(x),?初始化為max(x);yi初始化為min(y),yr初始化為max(y);在每次迭代中,根據(jù)RI、CI成帖模式的不同XI或Xr被更新為xn;yi或yr被更新為yn;二分法結(jié)束的條件:當(dāng)fc_check(Xn)和fR_check(yn)足夠接近于0或η>n_max時,對應(yīng)的Xn,yn即為最終結(jié)果?!疚臋n編號】H04B10/116GK105842661SQ201610172211【公開日】2016年8月10日【申請日】2016年3月24日【發(fā)明人】黃治同,趙潤美,紀(jì)越峰【申請人】北京郵電大學(xué)