CN105842661B - 一种基于累积空时编码的室内密集蜂窝可见光定位方法 - Google Patents
一种基于累积空时编码的室内密集蜂窝可见光定位方法 Download PDFInfo
- Publication number
- CN105842661B CN105842661B CN201610172211.2A CN201610172211A CN105842661B CN 105842661 B CN105842661 B CN 105842661B CN 201610172211 A CN201610172211 A CN 201610172211A CN 105842661 B CN105842661 B CN 105842661B
- Authority
- CN
- China
- Prior art keywords
- row
- receiver
- frame
- result
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/16—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
- H04B10/114—Indoor or close-range type systems
- H04B10/1141—One-way transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/11—Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
- H04B10/114—Indoor or close-range type systems
- H04B10/116—Visible light communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/02—Arrangements for detecting or preventing errors in the information received by diversity reception
- H04L1/06—Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
- H04L1/0618—Space-time coding
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Optical Communication System (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于累积空时编码的室内密集蜂窝可见光定位方法,具体为:计算LED灯的定位帧并发送给接收器;当数据采样位置点的个数≤100个,针对每个时隙,不同位置的接收器分别记录LED灯的RSS值,组成行列矩阵并分别计算行列映射表;当数据采样间隔小于50cm,任意位置的接收器,根据行列映射结果分别在行列映射表中寻找定位结果;否则,分别带入行列映射函数中计算定位结果。当数据采样位置点的个数>100个,推导出接收器位于任意位置处时行列映射结果计算公式,通过牛顿迭代法和二分查找法,计算接收器的最终定位结果。优点在于:将密集蜂窝中多维信息整合成为二维信息,实现快速且较为准确的定位。
Description
技术领域
本发明属于室内可见光定位领域,具体是一种基于累积空时编码的室内密集蜂窝可见光定位方法。
背景技术
随着室内安防监控、目标查找与追踪、导航等需求日益增加,室内定位也逐渐成为一个技术热点。就目前看来,室内定位技术主要包括基于超宽带(ultra-wide band,UWB)、射频识别(radio frequency identification,RFID)、无线局域网(wireless local areanetwork,WLAN)、蓝牙(Bluetooth)、超声波(ultrasonic)的定位。与已经存在的主要室内定位技术不同,可见光定位有着保密性高、适用于电磁敏感区域、价格低廉等诸多优点,并且室内已布有的大量的LED光照系统也为室内可见光定位提供了良机。
由于光强的直接叠加,一直以来密集蜂窝中的可见光定位都是一个难点。但对于已经固定的好的LED灯来说,其定位信息并不是随机的,因此可以利用这一点,将定位信息与LED灯的布局适当地结合起来。
发明内容
本发明将来自密集蜂窝的多维定位信息整合为二维信息,以快速、简便地确定接收器在检测平面的位置,提出了一种基于累积空时编码的室内密集蜂窝可见光定位方法。
具体步骤如下:
步骤一、根据室内LED灯的水平分布划分为M行×N列;
LED灯水平布置于高度为H的天花板上,M与N均为整数值;
步骤二、对每个LED灯按成帧规则计算各自的定位帧;
定位帧的成帧规则如下:
定位帧包括五部分:同步头,LED灯总行数M,LED灯总列数N,行序号RI和列序号CI。
同步头用8位比特位表示:01111110;
LED灯总行数M和总列数N均用二进制表示,比特长度分别为8位。
行序号RI为“行+”帧或者“行-”帧;长度为M;
具体规定如下:如果某个LED灯在第i行,则行序号RI的后i个比特位置为1,其余M-i比特位置为0,形成的帧为“行+”帧;或者后M+1-i个比特位置为1,其余i-1个比特位置为0,形成的帧为“行-”帧。
列序号CI为“列+”帧或者“列-”帧;长度为N;
具体规定如下:如果某个LED灯在第j列,则列序号CI的后j个比特位置为1,其余N-j比特位置为0,形成的帧为“列+”帧;或者后N+1-j个比特位置为1,其余j-1个比特位置为0,形成的帧为“列-”帧。
根据RI和CI的成帧模式,定位帧共有4种,如表1所示,每一比特位需一个时隙传输。
表1
步骤三、所有LED灯同时发送各自的定位帧给接收器;
接收器水平放置于高度为h的检测平面上;
步骤四、根据数据库的采样间隔,判断所需数据采样位置点的个数是否小于等于100个,如果是,则在检测平面设定接收器的初始位置,进行步骤五;否则,进行步骤十三;
接收器初始位置为(0,0);
步骤五、针对每个RI时隙与每个CI时隙,接收器分别记录每个时隙所有LED灯的接收信号强度RSS值,并计算行映射结果和列映射结果。
将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR(x,y);
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC(x,y)。
步骤六、改变接收器在检测平面上的位置,重复步骤四和步骤五,直至将接收器在检测平面遍历完,将遍历的所有映射结果,组成行矩阵αR和列矩阵αC。
步骤七、根据行矩阵αR和列矩阵αC分别计算行映射表r-MT和列映射表c-MT;
具体为:对行矩阵αR的每一行取平均值,得到M个平均行映射值,并与相应的纵坐标y存入到行映射表r-MT中;
对列矩阵αC的每一列取平均值,得到N个平均列映射值,并与相应的横坐标x存入到列映射表c-MT中。
步骤八、接收器位于任意某位置,接收来自LED的定位帧,并记录每个RI时隙与每个CI时隙接收到新的RSS值,分别计算行映射结果和列映射结果;
任意某位置的接收器坐标为(x,y);
具体为:将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR_measured;
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC_measured。
步骤九、根据数据库的数据采样间隔大小判断,如果采样间隔小于50cm,进入步骤十,否则,进入步骤十一;
步骤十、针对任意位置处接收器的行映射结果与列映射结果,分别在行映射表r-MT和列映射表c-MT中寻找对应值作为定位结果。
将αR_measured与行映射表r-MT中的所有值做比较,将与αR_measured最接近的值所对应的纵坐标y,定为接收器在y轴的定位结果;
将αC_measured与列映射表c-MT中的所有值做比较,将与αC_measured最接近的值所对应的纵坐标x,定为接收器在x轴的定位结果。
步骤十一、将行映射表r-MT和列映射表c-MT进行多项式拟合,得到行映射函数r-MF和列映射函数c-MF;
具体为:将行映射表r-MT中的平均行映射值作为自变量,以y坐标作为因变量,进行多项式拟合,得到行映射函数r-MF;
将列映射表c-MT中的平均列映射值作为自变量,以x坐标作为因变量,进行多项式拟合,得到列映射函数c-MF;
步骤十二、将对任意位置处接收器的行映射结果与列映射结果,分别带入行映射函数r-MF和列映射函数c-MF中,得到定位结果。
将αR_measured代入行映射函数r-MF中,所得值即为y轴的定位结果;将αC_measured代入列映射函数c-MF中,所得的值即为x轴的定位结果。
步骤十三、根据所有LED灯的位置,推导出接收器位于任意位置处时,行映射结果计算公式αR(x,y)与列映射结果计算公式αC(x,y)。
行映射结果αR(x,y)计算如下:
αR(x,y)=(WR*SR)/(OR*SR)
“行+”帧时:
WR=[1,2,...i,...,M]
“行-”帧时:
WR=[M,M-1,...i,...,1]
OR=[1 1 ... 1]
WR的第i个元素等于第i行LED灯比特‘1’出现的次数;OR是一个尺寸为1×M的全1向量;SR是M×1的矩阵,其元素SRowi(x,y)表示的是来自第i行LED灯的RSS值;di,j是接收器任意位置(x,y)与LEDi,j灯的距离;LEDi,j代表位于第i行第j列的LED灯;m是朗伯指数,C是常数,Yij为示性函数,值为0或1,具体表达式如下:
Ψi,j是入射角,Ψc表示接收器的视场角;
列映射结果αC(x,y)计算如下:
αC(x,y)=(WC*SC)/(OC*SC)
“列+”帧:
WC=[1,2,...j,...N]
“列-”帧:
WC=[N,N-1,...j,...1]
OC=[1 1 ... 1]
WC的第j个元素等于第j列LED灯比特‘1’出现的次数;OC是一个尺寸为1×N的全1向量;SC是N×1的矩阵,其元素SColj(x,y)表示的是来自第j列的RSS。
步骤十四、接收器位于任意某位置,分别记录每个RI时隙与每个CI时隙所有LED灯的接收信号强度RSS值,并计算接收器处于该位置时的行映射结果和列映射结果;
具体为:将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR_measured;
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC_measured。
步骤十五:利用映射公式αR(x,y)与αC(x,y),结合接收器位于任意某位置的行映射结果和列映射结果,通过牛顿迭代法和二分查找法,计算接收器的最终定位结果xn和yn。
牛顿迭代法中,当fR_check(yn)与fC_check(xn)足够接近0时,对应的xn和yn为接收器的最终定位结果。
fC_check(x)=αC(x,yn)-αC_measured,
fR_check(y)=αR(xn,y)-αR_measured
具体步骤为:
步骤1501、对不同LED灯的定位帧初始值x0和y0分别定义;
如下:
针对列序号CI为“列+”帧,初始值x0为:
x0=min(x)+(max(x)-min(x))/(N-1)*(αC_measured-1)
针对列序号CI为“列-”帧,初始值x0为:
x0=max(x)-(max(x)-min(x))/(N-1)*(αC_measured-1)
针对行序号RI为“行+”帧,初始值y0为:
y0=min(y)+(max(y)-min(y))/(M-1)*(αR_measured-1)
针对行序号RI为“行-”帧,初始值y0为:
y0=max(y)-(max(y)-min(y))/(M-1)*(αR_measured-1)
步骤1502、初始值x0和y0经过n次迭代后,迭代结果为xn和yn;
每一组牛顿拉夫森的迭代如下:
其中,fC(x)=αC(x,yn-1)-αC_measured,fC(x)'为fC(x)对x的导函数;fR(y)=αR(xn-1,y)-αR_measured fR(y)'为fR(y)对y的导函数
步骤1503、判断迭代过程中的xn,yn是否满足定位区域,如果满足,进入步骤1504;否则,进入步骤1506;
如果则以下不等式应成立,则xn和yn满足定位区域;
min(x)≤xn≤max(x)
min(y)≤yn≤max(y)
其中min(x)代表定位区域内最小的横坐标值;max(x)代表定位区域内最大的横坐标值,min(y)代表定位区域内最小的纵坐标值,max(y)代表定位区域内最大的纵坐标值。
步骤1504、判断迭代次数n是否小于最大迭代次数n_max,如果是,则继续进行步骤1505,否则进入步骤1506;
步骤1505、将接收器定位结果xn,yn分别带入fC_check(x)和fR_check(y),判断fC_check(xn)和fR_check(yn)是否足够接近于0,如果是,则定位结果正确;否则继续迭代,迭代出新结果后,再返回步骤1503;
fC_check(x)=αC(x,yn)-αC_measured
fR_check(y)=αR(xn,y)-αR_measured
步骤1506、当xn或yn超出定位区域时,或者n≥n_max,且fC_check(xn)和fR_check(yn)不足够接近于0,则均采用二分查找法确定接收器的位置。
二分查找法具体步骤如下:
任意某位置的接收器坐标为(x,y),则x的取值范围为xl≤x≤xr,y的取值范围为yl≤y≤yr。
定位位置xn和yn的计算公式如下:
xn=(xl+xr)/2;yn=(yl+yr)/2
其中xl初始化为min(x),xr初始化为max(x);yl初始化为min(y),yr初始化为max(y);
在每次迭代中,根据RI、CI成帧模式的不同xl或xr被更新为xn;yl或yr被更新为yn。二分法结束的条件:当fC_check(xn)和fR_check(yn)足够接近于0或n≥n_max时,对应的xn,yn即为最终结果。
本发明的优点在于:
1)、一种基于累积空时编码的室内密集蜂窝可见光定位方法,将密集蜂窝中多维信息整合成为二维信息,实现快速且较为准确的定位。
2)、一种基于累积空时编码的室内密集蜂窝可见光定位方法,给出不同的求解方案,分别为映射表法,映射函数法。
附图说明
图1是本发明一种基于累积空时编码的室内密集蜂窝可见光定位方法流程图;
图2是本发明采用“行+列+”帧时,11行7列中LED2,7的比特填充前和比特填充后的定位帧图;
图3是本发明用牛顿迭代法和二分法计算定位位置的流程图。
具体实施例
下面结合附图,对本发明的具体实施方法进行详细说明。
本发明一种基于累积空时编码的室内密集蜂窝可见光定位方法,可视为一种降维方案,假设所有的LED灯都有相同的属性;接收器的接收信号为接收功率或照度。
如图1所示,具体步骤如下:
步骤一、根据室内LED灯的分布,将水平面划分为M行×N列;
假定房间尺寸定位:Lm×Wm×Hm,Lm为房间的长度,Wm为房间的宽度;Hm为房间的高度,LED灯水平地安装在高度为Hm的天花板上。接收器水平地放置在高度为hm的检测平面上;天花板上共布置了M行N列个LED灯;LEDi,j代表位于第i行第j列的LED灯,H和h事先测量,为简便起见,将LED灯LEDi,j的坐标(xj,yi,H)简写为(xj,yi),将接收器的位置(x,y,h)简写为(x,y);
步骤二、按成帧规则,根据M与N值,对每个LED灯进行计算,得到各自的定位帧。
定位帧的成帧规则如下:
定位帧包括五部分:同步头,LED灯总行数M,LED灯总列数N,行序号RI(row index)和列序号CI(column index)。
在比特填充之前,这五部分的比特长度分别为8,8,8,M和N。
定位帧的第一部分,同步头用8位比特位表示:01111110;
定位帧的第二、三部分,LED灯总行数M和总列数N均用二进制表示,比特长度分别为8位。需要注意的是,由于这两部分的比特长度均为8,LED灯的总行数M不得超过(28-1),总列数N不得超过(28-1)。
行序号RI为“行+”帧或者“行-”帧;具体规定如下:如果某个LED灯在第i行,则行序号RI的后i个比特位置为1,其余M-i比特位置为0,形成的帧为“行+”帧;或者后M+1-i个比特位置为1,其余i-1个比特位置为0,形成的帧为“行-”帧。
列序号CI为“列+”帧或者“列-”帧;具体规定如下:如果某个LED灯在第j列,则列序号CI的后j个比特位置为1,其余N-j比特位置为0,形成的帧为“列+”帧;或者后N+1-j个比特位置为1,其余j-1个比特位置为0,形成的帧为“列-”帧。
根据RI和CI的成帧模式,定位帧共有4种,如表1所示。每一比特位需一个时隙传输。
所有的M*N个LED灯只能选择4种中的一种;
表1
简便起见,本发明都采用“行+列+”帧。
举例子来说,如附图2所示,如果一个房间有11行7列灯,某灯在第2行第7列,则该灯定位帧的五部分分别为01111110,00001011,00000111,00000000011,1111111。因为总共有11行,所以该灯第四部分总位数为11位,灯在第2行,所以最后2位为1,其余为0;因为总共有7列,所以该灯第五部分总位数为7位,该灯在第7列,所以最后7位为1,其余0位为0,即没有0。
在同步头中有一特殊的比特序列——6个连续的‘1’比特,为了能够正确解调第二至第五部分,需要对每一帧进行比特填充,如图2所示,比特填充前和比特填充后的定位帧。标为红色的比特即为比特填充插入的比特位。如果没有比特填充,则“01111110”的比特形式可能不止会出现在第一部分同步头中,还可能会出现在第二至第五部分中,则若认错了同步头则无法正确解出后面的信息了。比特填充的作用即是确保在定位帧的其他部分不会有与此相同的比特序列;能够满足以上要求的比特填充规则并不唯一。
本发明中规则如下:对于第二部分和第三部分,在第4位和第8位后面插入比特‘0’,比特位数增加到10位。
对于第四部分,视每5位为一组,在后边插入比特‘0’;分组结束后,如果M长度不能被5整除,则最后一组的比特位数小于5,在后面直接插入一个‘0’比特。
第五部分,视每5位为一组,在后边插入比特‘0’;分组结束后,如果N长度不能被5整除,则最后一组的比特位数小于5,在后面直接插入一个‘0’比特。
步骤三、所有LED灯同时发送各自的定位帧给接收器;
步骤四、根据数据库的采样间隔,判断所需数据采样位置点的个数是否小于等于100个,如果是,则在检测平面设定接收器的初始位置,进行步骤五;否则,进行步骤十三;
接收器初始位置为(0,0);
步骤五、针对每个RI时隙与每个CI时隙,接收器分别记录每个时隙所有LED灯的接收信号强度RSS值,并计算行映射结果和列映射结果。
在每个RI比特时隙和CI比特时隙接收信号强度RSS(received signalstrength),后将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR(x,y);针对初始位置(0,0)处的接收器的行映射结果为αR(0,0)。
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC(x,y);针对初始位置(0,0)处的接收器的列映射结果为αC(0,0)。
步骤六、改变接收器在检测平面上的位置,重复步骤四和步骤五,直至将接收器在检测平面遍历完,将遍历的所有映射结果,组成行矩阵αR和列矩阵αC。
如果有mm个行采样点和nn个列采样点,则应用αR(x,y)计算出mm×nn个值,构成αR矩阵(mm×nn);应用αC(x,y)计算出mm×nn个值,构成αC矩阵(mm×nn)。对于指纹数据库法来说(fingerprint database method,FDM),由于每个LED灯的RSS均需要被单独记录,其数据库的尺寸应为mm×nn×M×N。
步骤七、根据行矩阵αR和列矩阵αC分别计算行映射表r-MT和列映射表c-MT;
具体为:对行矩阵αR的每一行取平均值,得到M个平均行映射值,并与相应的纵坐标y存入到行映射表r-MT中;
对列矩阵αC的每一列取平均值,得到N个平均列映射值,并与相应的横坐标x存入到列映射表c-MT中。
在得到初始数据库后,生成行映射表r-MT(row mapping table)和列映射表c-MT(column mapping table)。mm个纵坐标值和其对应的行映射结果储存在行映射表里,其对应的行映射表(mm×1)是αR矩阵(mm×nn)的每一行的平均值。nn个横坐标值和其对应的列映射结果储存在列映射表里,其对应的列映射表(1×nn)是αC矩阵(mm×nn)的每一列的平均值。此步骤之后,数据库的规模可缩减为(mm+nn)。需要注意的是,这一步骤会限制定位精度,因为在αR矩阵同一行中的元素的值虽然相近,但不相同,在αC矩阵同一列中的元素也是如此。
步骤八、接收器位于任意某位置接收来自LED的定位帧,并记录每个RI时隙与每个CI时隙接收到新的RSS值,分别计算行映射结果和列映射结果;
任意某位置的接收器坐标为(x,y);
具体为:将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR_measured;
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC_measured。
步骤九、根据数据库的数据采样间隔大小判断,如果采样间隔小于50cm,进入步骤十,否则,进入步骤十一;
步骤十、针对任意位置处接收器的行映射结果与列映射结果,分别在行映射表r-MT和列映射表c-MT中寻找对应值作为定位结果。
将αR_measured与行映射表r-MT中的所有值做比较,将与αR_measured最接近的值所对应的纵坐标y,定为接收器在y轴的定位结果;
将αC_measured与列映射表c-MT中的所有值做比较,将与αC_measured最接近的值所对应的纵坐标x,定为接收器在x轴的定位结果。
举例来说,表格如下:
若αR_measured=0.39,与0.4最接近,则y轴的定位结果应为1.5m。
根据行映射表和列映射表确定接收器的位置(x,y),x最终确定为列映射表中的某个横坐标值,该值对应的αC与αC_measured差距最小;y最终确定为行映射表中的某个纵坐标值,该值对应的αR与αR_measured差距最小。
步骤十一、将行映射表r-MT和列映射表c-MT进行多项式拟合,得到行映射函数r-MF和列映射函数c-MF;
具体为:将行映射表r-MT中的平均行映射值作为自变量,以y坐标作为因变量,进行多项式拟合,得到行映射函数r-MF;
将列映射表c-MT中的平均列映射值作为自变量,以x坐标作为因变量,进行多项式拟合,得到列映射函数c-MF;
为了兼顾定位精度与所需时间及存储空间的需求,映射函数包括行映射函数(rowmappingfunction,r-MF)和列映射函数(column mapping function,c-MF),这二者是由映射表生成的。映射函数的自变量是映射结果,即αR或αC,因变量是坐标值,x或y。映射函数可拟合为某一阶的多项式函数。为了权衡系统复杂度与定位精度,多项式的阶数只要增加到以下二者的均方误差达到可接受的范围即可,这二者分别为映射表中的坐标值、由映射表中对应映射结果代入映射函数得到的坐标值。后文中,MF(k)代表阶数为k的映射函数,MFM(k)代表使用MF(k)的映射函数方法。
在此方法中,只需将αC_measured、αR_measured分别带入c-MF和r-MF即可得到接收器的x值和y值。
步骤十二、将对任意位置处接收器的行映射结果与列映射结果,分别带入行映射函数r-MF和列映射函数c-MF中,得到定位结果。
将αR_measured代入行映射函数r-MF中,所得值即为y轴的定位结果;将αC_measured代入列映射函数c-MF中,所得值的即为x轴的定位结果。
步骤十三、根据所有LED灯的位置,推导出接收器位于任意位置处时,行映射结果计算公式αR(x,y)与列映射结果计算公式αC(x,y)。
行映射结果αR(x,y)计算如下:
αR(x,y)=(WR*SR)/(OR*SR)
WR=[1,2,...i,...,M]
OR=[1 1 ... 1]
WR的第i个元素等于第i行LED灯比特‘1’出现的次数,由于本发明采用的是“行+”帧,所以其元素为1到M;OR是一个尺寸为1×M的全1向量;SR是M×1的矩阵,其元素SRowi(x,y)表示的是来自第i行的RSS值;di,j是任意位置(x,y)与LEDi,j的距离,LEDi,j代表位于第i行第j列的LED灯;m是朗伯指数,C是常数,Yi,j为示性函数,值为0或1,具体表达式如下:
Ψi,j是入射角,Ψc表示接收器的视场角。
列映射结果αC(x,y)计算如下:
αC(x,y)=(WC*SC)/(OC*SC)
WC=[1,2,...j,...N]
OC=[1 1 ... 1]
SC是N×1的矩阵,其元素SColj(x,y)表示的是来自第j列的RSS;WC的第j个元素等于第j列LED灯比特‘1’出现的次数,由于本发明采用的是“列+”帧,所以其元素为1到N;OC是一个尺寸为1×N的全1向量。
步骤十四、接收器位于任意某位置,分别记录每个RI时隙与每个CI时隙,所有LED灯的接收信号强度RSS值,并计算接收器处于该位置时的行映射结果和列映射结果;
具体为:将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR_measured;
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC_measured。
步骤十五:利用映射公式αR(x,y)与αC(x,y),结合接收器位于任意某位置的行映射结果和列映射结果,通过牛顿迭代法和二分查找法,计算接收器的最终定位结果xn和yn。
牛顿迭代法中,当fR_check(yn)与fC_check(xn)足够接近0时,迭代结束,对应的xn和yn为接收器的最终定位结果。
fC_check(x)=αC(x,yn)-αC_measured,
fR_check(y)=αR(xn,y)-αR_measured
如图3所示,具体步骤为:
步骤1501、对不同LED灯的定位帧初始值x0和y0分别定义;
在不同的定位帧中,中间变量xn和yn的初始值x0和y0是不同的,定义如下:
针对列序号CI为“列+”帧,初始值x0为:
x0=min(x)+(max(x)-min(x))/(N-1)*(αC_measured-1)
针对列序号CI为“列-”帧,初始值x0为:
x0=max(x)-(max(x)-min(x))/(N-1)*(αC_measured-1)
针对行序号RI为“行+”帧,初始值y0为:
y0=min(y)+(max(y)-min(y))/(M-1)*(αR_measured-1)
针对行序号RI为“行-”帧,初始值y0为:
y0=max(y)-(max(y)-min(y))/(M-1)*(αR_measured-1)
步骤1502、初始值x0和y0经过n次迭代后,迭代结果为xn和yn;
每一组牛顿拉夫森的迭代如下:
其中,fC(x)=αC(x,yn-1)-αC_measured,fC(x)'为fC(x)对x的导函数;
fR(y)=αR(xn-1,y)-αR_measured fR(y)'为fR(y)对y的导函数
步骤1503、判断迭代过程中的xn,yn是否满足定位区域,如果满足,进入步骤1504;否则,进入步骤1506;
在迭代过程中,需要进行边界检测以防定位结果收敛到定位区域以外。如果xn和yn在定位区域内,则以下不等式应成立
min(x)≤xn≤max(x)
min(y)≤yn≤max(y)
其中min(x)代表定位区域内最小的横坐标值;max(x)代表定位区域内最大的横坐标值,min(y)代表定位区域内最小的纵坐标值,max(y)代表定位区域内最大的纵坐标值。
步骤1504、判断迭代次数n是否小于最大迭代次数n_max,如果是,则继续进行步骤1505,否则进入步骤1506;
步骤1505、将接收器定位结果xn,yn分别带入fC_check(x)和fR_check(y),判断fC_check(xn)和fR_check(yn)是否足够接近于0,如果是,则定位结果正确;否则继续迭代,迭代出新结果后,再返回步骤1503;
fC_check(x)=αC(x,yn)-αC_measured
fR_check(y)=αR(xn,y)-αR_measured
步骤1506、当xn或yn超出定位区域时,或者n≥n_max,且fC_check(xn)和fR_check(yn)不足够接近于0,则均采用二分查找法确定接收器的位置。
二分查找法具体步骤如下:
任意某位置的接收器坐标为(x,y),x的取值范围为xl≤x≤xr,y的取值范围为yl≤y≤yr。
定位位置xn和yn的计算公式如下:
xn=(xl+xr)/2;yn=(yl+yr)/2
其中xl初始化为min(x),xr初始化为max(x);yl初始化为min(y),yr初始化为max(y)。在每次迭代中,根据RI、CI成帧模式的不同xl或者xr会被更新为xn;yl或者yr会被更新为yn。
二分法结束的条件:当fC_check(xn)和fR_check(yn)足够接近于0或n≥n_max时,对应的xn,yn即为最终结果。
Claims (4)
1.一种基于累积空时编码的室内密集蜂窝可见光定位方法,其特征在于,具体步骤如下:
步骤一、根据室内LED灯的水平分布划分为M行×N列;
LED灯水平布置于高度为H的天花板上,M与N均为整数值;
步骤二、对每个LED灯按成帧规则计算各自的定位帧;
步骤三、所有LED灯同时发送各自的定位帧给接收器;
接收器水平放置于高度为h的检测平面上;
步骤四、根据数据库的采样间隔,判断所需数据采样位置点的个数是否小于等于100个,如果是,则在检测平面设定接收器的初始位置,进行步骤五;否则,进行步骤十三;
接收器初始位置为(0,0);
步骤五、针对每个RI时隙与每个CI时隙,接收器分别记录每个时隙所有LED灯的接收信号强度RSS值,并计算行映射结果和列映射结果;
将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR(x,y);
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC(x,y);
步骤六、改变接收器在检测平面上的位置,重复步骤四和步骤五,直至将接收器在检测平面遍历完,将遍历的所有映射结果,组成行矩阵αR和列矩阵αC;
步骤七、根据行矩阵αR和列矩阵αC分别计算行映射表r-MT和列映射表c-MT;
具体为:对行矩阵αR的每一行取平均值,得到M个平均行映射值,并与相应的纵坐标y存入到行映射表r-MT中;
对列矩阵αC的每一列取平均值,得到N个平均列映射值,并与相应的横坐标x存入到列映射表c-MT中;
步骤八、接收器位于任意某位置,接收来自LED的定位帧,并记录每个RI时隙与每个CI时隙接收到新的RSS值,分别计算行映射结果和列映射结果;
任意某位置的接收器坐标为(x,y);
具体为:将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR_measured;
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC_measured;
步骤九、根据数据库的数据采样间隔大小判断,如果采样间隔小于50cm,进入步骤十,否则,进入步骤十一;
步骤十、针对任意位置处接收器的行映射结果与列映射结果,分别在行映射表r-MT和列映射表c-MT中寻找对应值作为定位结果;
将αR_measured与行映射表r-MT中的所有值做比较,将与αR_measured最接近的值所对应的纵坐标y,定为接收器在y轴的定位结果;
将αC_measured与列映射表c-MT中的所有值做比较,将与αC_measured最接近的值所对应的纵坐标x,定为接收器在x轴的定位结果;
步骤十一、将行映射表r-MT和列映射表c-MT进行多项式拟合,得到行映射函数r-MF和列映射函数c-MF;
具体为:将行映射表r-MT中的平均行映射值作为自变量,以y坐标作为因变量,进行多项式拟合,得到行映射函数r-MF;
将列映射表c-MT中的平均列映射值作为自变量,以x坐标作为因变量,进行多项式拟合,得到列映射函数c-MF;
步骤十二、将对任意位置处接收器的行映射结果与列映射结果,分别带入行映射函数r-MF和列映射函数c-MF中,得到定位结果;
将αR_measured代入行映射函数r-MF中,所得值即为y轴的定位结果;将αC_measured代入列映射函数c-MF中,所得的值即为x轴的定位结果;
步骤十三、根据所有LED灯的位置,推导出接收器位于任意位置处时,行映射结果计算公式αR(x,y)与列映射结果计算公式αC(x,y);
行映射结果αR(x,y)计算如下:
αR(x,y)=(WR*SR)/(OR*SR)
“行+”帧时:
WR=[1,2,...i,...,M]
“行-”帧时:
WR=[M,M-1,...i,...,1]
OR=[1 1 ... 1]
WR的第i个元素等于第i行LED灯比特‘1’出现的次数;OR是一个尺寸为1×M的全1向量;SR是M×1的矩阵,其元素SRowi(x,y)表示的是来自第i行LED灯的RSS值;di,j是接收器任意位置(x,y)与LEDi,j灯的距离;LEDi,j代表位于第i行第j列的LED灯;m是朗伯指数,C是常数,Yi,j为示性函数,值为0或1,具体表达式如下:
Ψi,j是入射角,Ψc表示接收器的视场角;
列映射结果αC(x,y)计算如下:
αC(x,y)=(WC*SC)/(OC*SC)
“列+”帧:
WC=[1,2,...j,...N]
“列-”帧:
WC=[N,N-1,...j,...1]
OC=[1 1 ... 1]
WC的第j个元素等于第j列LED灯比特‘1’出现的次数;OC是一个尺寸为1×N的全1向量;SC是N×1的矩阵,其元素SColj(x,y)表示的是来自第j列的RSS;
步骤十四、接收器位于任意某位置,分别记录每个RI时隙与每个CI时隙所有LED灯的接收信号强度RSS值,并计算接收器处于该位置时的行映射结果和列映射结果;
步骤十五:利用映射公式αR(x,y)与αC(x,y),结合接收器位于任意某位置的行映射结果和列映射结果,通过牛顿迭代法和二分查找法,计算接收器的最终定位结果xn和yn;
牛顿迭代法中,当fR_check(yn)与fC_check(xn)足够接近0时:
fC_check(x)=αC(x,yn)-αC_measured
fR_check(y)=αR(xn,y)-αR_measured
对应的xn和yn为接收器的最终定位结果。
2.如权利要求1所述的一种基于累积空时编码的室内密集蜂窝可见光定位方法,其特征在于,所述的步骤二中,定位帧的成帧规则如下:
定位帧包括五部分:同步头,LED灯总行数M,LED灯总列数N,行序号RI和列序号CI;
同步头用8位比特位表示:01111110;
LED灯总行数M和总列数N均用二进制表示,比特长度分别为8位;
行序号RI为“行+”帧或者“行-”帧;长度为M;
具体规定如下:如果某个LED灯在第i行,则行序号RI的后i个比特位置为1,其余M-i比特位置为0,形成的帧为“行+”帧;或者后M+1-i个比特位置为1,其余i-1个比特位置为0,形成的帧为“行-”帧;
列序号CI为“列+”帧或者“列-”帧;长度为N;
具体规定如下:如果某个LED灯在第j列,则列序号CI的后j个比特位置为1,其余N-j比特位置为0,形成的帧为“列+”帧;或者后N+1-j个比特位置为1,其余j-1个比特位置为0,形成的帧为“列-”帧;
根据RI和CI的成帧模式,形成了4种定位帧:“行+列+”帧,“行+列-”帧,“行-列+”帧和“行-列-”帧。
3.如权利要求1所述的一种基于累积空时编码的室内密集蜂窝可见光定位方法,其特征在于,所述的步骤十四的具体步骤为:
任意某位置的接收器坐标为(x,y);
具体为:将每个RI时隙接收到的RSS值相加,并除以最后一个RI时隙接收到的RSS值,得到行映射结果αR_measured;
将每个CI时隙接收到的RSS值相加,并除以最后一个CI时隙接收到的RSS值,得到列映射结果αC_measured。
4.如权利要求1所述的一种基于累积空时编码的室内密集蜂窝可见光定位方法,其特征在于,所述的步骤十五,具体为:
步骤1501、对不同LED灯的定位帧初始值x0和y0分别定义;
如下:
针对列序号CI为“列+”帧,初始值x0为:
x0=min(x)+(max(x)-min(x))/(N-1)*(αC_measured-1)
针对列序号CI为“列-”帧,初始值x0为:
x0=max(x)-(max(x)-min(x))/(N-1)*(αC_measured-1)
针对行序号RI为“行+”帧,初始值y0为:
y0=min(y)+(max(y)-min(y))/(M-1)*(αR_measured-1)
针对行序号RI为“行-”帧,初始值y0为:
y0=max(y)-(max(y)-min(y))/(M-1)*(αR_measured-1)
步骤1502、初始值x0和y0经过n次迭代后,迭代结果为xn和yn;
每一组牛顿拉夫森的迭代如下:
其中,fC(x)=αC(x,yn-1)-αC_measured,fC(x)'为fC(x)对x的导函数;
fR(y)=αR(xn-1,y)-αR_measured fR(y)'为fR(y)对y的导函数
步骤1503、判断迭代过程中的xn,yn是否满足定位区域,如果满足,进入步骤1504;否则,进入步骤1506;
如果则以下不等式应成立,则xn和yn满足定位区域;
min(x)≤xn≤max(x)
min(y)≤yn≤max(y)
其中min(x)代表定位区域内最小的横坐标值;max(x)代表定位区域内最大的横坐标值,min(y)代表定位区域内最小的纵坐标值,max(y)代表定位区域内最大的纵坐标值;
步骤1504、判断迭代次数n是否小于最大迭代次数n_max,如果是,则继续进行步骤1505,否则进入步骤1506;
步骤1505、将接收器定位结果xn,yn分别带入fC_check(x)和fR_check(y),判断fC_check(xn)和fR_check(yn)是否足够接近于0,如果是,则定位结果正确;否则继续迭代,迭代出新结果后,再返回步骤1503;
fC_check(x)=αC(x,yn)-αC_measured
fR_check(y)=αR(xn,y)-αR_measured
步骤1506、当xn或yn超出定位区域时,或者n≥n_max,且fC_check(xn)和fR_check(yn)不足够接近于0,则均采用二分查找法确定接收器的位置;
二分查找法具体步骤如下:
任意某位置的接收器坐标为(x,y),则x的取值范围为xl≤x≤xr,y的取值范围为yl≤y≤yr;
定位位置xn和yn的计算公式如下:
xn=(xl+xr)/2;yn=(yl+yr)/2
其中xl初始化为min(x),xr初始化为max(x);yl初始化为min(y),yr初始化为max(y);
在每次迭代中,根据RI、CI成帧模式的不同xl或xr被更新为xn;yl或yr被更新为yn;二分法结束的条件:当fC_check(xn)和fR_check(yn)足够接近于0或n≥n_max时,对应的xn,yn即为最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610172211.2A CN105842661B (zh) | 2016-03-24 | 2016-03-24 | 一种基于累积空时编码的室内密集蜂窝可见光定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610172211.2A CN105842661B (zh) | 2016-03-24 | 2016-03-24 | 一种基于累积空时编码的室内密集蜂窝可见光定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105842661A CN105842661A (zh) | 2016-08-10 |
CN105842661B true CN105842661B (zh) | 2018-07-17 |
Family
ID=56583157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610172211.2A Active CN105842661B (zh) | 2016-03-24 | 2016-03-24 | 一种基于累积空时编码的室内密集蜂窝可见光定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105842661B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810116B (zh) | 2017-09-01 | 2023-02-03 | 华为技术有限公司 | 光信号传输系统及光信号传输方法 |
CN109725283B (zh) * | 2017-10-27 | 2024-05-24 | 北京握奇智能科技有限公司 | 一种信号强度确定方法、装置、车载单元的定位方法及系统 |
CN108512599A (zh) * | 2018-03-06 | 2018-09-07 | 东莞职业技术学院 | 可见光通信装置及方法 |
CN109547665B (zh) * | 2018-12-03 | 2021-02-26 | 新视家科技(北京)有限公司 | 一种计算n次方根的电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060034883A (ko) * | 2004-10-20 | 2006-04-26 | 삼성전자주식회사 | 위치 측정을 위한 가시광선 통신 시스템과 그 위치 측정방법 및 그를 이용한 양방향 정보 전송 방법 |
CN104270816A (zh) * | 2014-10-14 | 2015-01-07 | 西北工业大学 | Led可见光室内定位系统的自适应动态指纹库构建方法 |
CN104270194A (zh) * | 2014-09-16 | 2015-01-07 | 南京邮电大学 | 一种可见光室内定位方法 |
CN104614707A (zh) * | 2014-12-29 | 2015-05-13 | 软通动力信息技术(集团)有限公司 | 一种室内定位方法及装置 |
CN105162519A (zh) * | 2015-09-29 | 2015-12-16 | 北京邮电大学 | 一种室内微蜂窝可见光通信网络中基于卡尔曼滤波的定位与越区切换方法 |
-
2016
- 2016-03-24 CN CN201610172211.2A patent/CN105842661B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060034883A (ko) * | 2004-10-20 | 2006-04-26 | 삼성전자주식회사 | 위치 측정을 위한 가시광선 통신 시스템과 그 위치 측정방법 및 그를 이용한 양방향 정보 전송 방법 |
CN104270194A (zh) * | 2014-09-16 | 2015-01-07 | 南京邮电大学 | 一种可见光室内定位方法 |
CN104270816A (zh) * | 2014-10-14 | 2015-01-07 | 西北工业大学 | Led可见光室内定位系统的自适应动态指纹库构建方法 |
CN104614707A (zh) * | 2014-12-29 | 2015-05-13 | 软通动力信息技术(集团)有限公司 | 一种室内定位方法及装置 |
CN105162519A (zh) * | 2015-09-29 | 2015-12-16 | 北京邮电大学 | 一种室内微蜂窝可见光通信网络中基于卡尔曼滤波的定位与越区切换方法 |
Non-Patent Citations (3)
Title |
---|
Efficient Cross-Room Switch Mechanism for Indoor Room-Division-Multiplexing Based Visible Light Communication Network;Zhitong Huang et al.;《Journal of the Optical Society of Korea》;20150831;第19卷(第4期);第351-356页 * |
可见光通信中的室内定位技术研究;刘让龙;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131115(第11期);第I136-769页 * |
基于FPGA的室内可见光通信系统物理层设计与实现;贾银杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150815(第8期);第I135-151页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105842661A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105842661B (zh) | 一种基于累积空时编码的室内密集蜂窝可见光定位方法 | |
US10198625B1 (en) | Association of unique person to a mobile device using repeat face image matching | |
CN105472733B (zh) | 一种应用于室内定位中的基于ap选择定位方法 | |
CN108536851B (zh) | 一种基于移动轨迹相似度比较的用户身份识别方法 | |
CN105631436B (zh) | 基于随机森林的级联位置回归用于人脸对齐的方法 | |
CN104507050B (zh) | 一种WiFi室内定位中概率型指纹匹配方法 | |
CN109511085B (zh) | 一种基于MeanShift和加权k近邻算法的UWB指纹定位方法 | |
CN104038901B (zh) | 一种减少指纹数据采集工作量的室内定位方法 | |
CN105636201B (zh) | 基于稀疏信号指纹数据库的室内定位方法 | |
CN107770859A (zh) | 一种考虑基站位置误差的tdoa‑aoa定位方法 | |
Hu et al. | A Zigbee-based localization algorithm for indoor environments | |
CN103258001B (zh) | 一种基于局部线性嵌入算法的射频地图无监督分类方法 | |
CN107727095A (zh) | 基于谱聚类和加权反向传播神经网络的3d室内定位方法 | |
CN103313383B (zh) | 一种基于区域分割和曲面拟合的室内定位方法 | |
CN105044659B (zh) | 基于环境光谱指纹的室内定位装置及方法 | |
CN107560618B (zh) | 基于rfid的机器人室内定位方法 | |
CN110222776A (zh) | 一种基于csi指纹信息的室内被动定位方法 | |
Ni et al. | Fingerprint-MDS based algorithm for indoor wireless localization | |
CN102967848A (zh) | 一种基于距离关系库及接收信号强度的定位方法 | |
CN104683953A (zh) | 基于SimRank相似组合邻近图构建的室内WLAN定位组网方法 | |
CN105704676B (zh) | 利用信号时间相关性提高指纹室内定位精度的方法 | |
CN110072192A (zh) | 一种智能手机WiFi室内定位方法 | |
CN105517143B (zh) | 一种降低wlan室内定位搜索维度的方法 | |
Cherntanomwong et al. | Soft-clustering Technique for Fingerprint-based Localization. | |
CN110933625A (zh) | 一种基于深度学习的超宽带指纹定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |