本发明涉及可见光室内定位,尤其涉及一种基于稀疏指纹和e-min-max-wknn算法的可见光定位方法。
背景技术:
1、在智能移动设备广泛普及和应用场景多元化的大背景下,基于位置的服务逐渐成为研究的热点。当前,室外定位技术已经渗透到航天、测绘、军事等方方面面,四大卫星导航系统已经可以基本满足室外定位的需求,但是由于卫星信号在室内衰减严重,室内定位成为卫星导航系统的盲区。
2、可见光定位技术具有低成本、不受电磁干扰、能实现高精度定位等特性,为解决当今室内定位领域成本与精度均衡的难题提供了新思路和新方法。室内可见光定位系统通常将发光二极管(light-emitting diode,led)和安装在待定位物体上的光电探测器(photodiode,pd)作为发射机和接收机。目前广泛使用的基于接收信号强度(receivedsignal strength,rss)的可见光定位技术可以分为两种类型:非测距定位技术和基于测距的定位技术。在基于测距的定位系统中,我们通常以测量得到的rss特征向量来估计led和pd之间的距离,根据估计出来的距离最终联合不同的定位算法来估计目标节点的准确位置。非测距定位技术包括基于邻近的定位技术、基于几何的定位技术和指纹定位技术,其中指纹定位技术在定位精度方面更胜一筹。
3、基于rss指纹的可见光定位技术分为两个阶段:离线阶段和在线阶段。在离线阶段,特定参考节点的位置坐标和对应的rss特征向量构成指纹数据库;在在线阶段,目标节点处的rss特征向量通过合适的匹配算法与指纹数据库进行对比,从而确定目标位置。在基于rss指纹的可见光定位系统中,一般来说,参考节点的数量越多,指纹定位的精度就越高,然而,随着参考节点的增多,有两个问题需要考虑:(1)离线阶段构建指纹数据库需要大量的现场测量,这是一项耗时耗力的工作;(2)在线阶段指纹匹配过程的运算量增加。本发明致力于在使用稀疏指纹的条件下提供一种高精度和高指纹匹配效率的室内可见光定位方法。
技术实现思路
1、本发明提供一种基于稀疏指纹和e-min-max-wknn算法的可见光定位方法,以解决现有的指纹定位方法存在的离线阶段需要大量现场测量和在线阶段指纹匹配的效率低等问题。
2、本发明解决上述问题的技术方案是:采用基于稀疏指纹和e-min-max-wknn算法的可见光定位方法,其特征在于,离线阶段只需要测量少数真实参考节点处的rss特征向量和在线阶段的指纹匹配效率较高,包括以下步骤:
3、s1:把房间划分为一些稀疏的网格,这些网格的顶点为真实的参考节点,在每个真实的参考节点处测量rss特征向量,构建稀疏指纹库其中pij表示第j个参考节点处的pd接收的来自第i个led的光功率,(xj,yj)表示第j个参考节点的位置坐标;
4、s2:在每个网格中插入一些位置已知的虚拟参考节点,根据稀疏指纹库,利用双三次插值直接计算每个虚拟参考节点处的rss特征向量,构建虚拟指纹库,稀疏指纹库和虚拟指纹库构成“密集”指纹库
5、s3:根据目标节点处的rss特征向量计算出目标节点与每个led之间的水平距离,利用扩展min-max(extended min-max,e-min-max)算法估计出目标节点的一个粗略位置;
6、s4:以e-min-max算法得到的目标节点的粗略位置为中心、δ值为边长,确定一个正方形的目标区域,记录目标区域四个顶点的位置坐标;
7、s5:根据目标区域四个顶点的位置坐标判断目标区域是否超出了房间的边界,如果超出了房间边界,则将位于房间内的这部分目标区域作为新的目标区域,并更新目标区域四个顶点的位置坐标。
8、s6:根据目标区域内的部分“密集”指纹库,利用加权k近邻(weighted k-nearestneighbor,wknn)算法确定目标的准确位置。
9、优选的是,步骤s3具体包括:
10、s301:目标节点处的rss特征向量记作其中pi表示目标节点处的pd接收到的来自第i个led的光功率。先根据朗伯辐射模型计算目标节点与每个led之间的距离:
11、
12、其中,m为朗伯阶数,a为pd有效面积,h为led的高度,h为pd的高度,ψ为pd平面法向量与接收机发射机连线的夹角,ts(ψ)为光学滤波器增益,g(ψ)为pd集中器增益,pt为led的发射功率。朗伯阶数m和pd集中器增益g(ψ)的计算公式如下:
13、
14、
15、其中,φ1/2表示led的半功率角,ψfov表示pd的视场角(field ofview,fov),n表示透镜折射率。
16、s302:计算目标节点与每个led之间的水平距离:
17、
18、s303:以每个led为中心、目标节点与每个led之间水平距离的2倍为边长,在每个led周围建立一个正方形区域,记录多个正方形的重叠矩形区域的四个顶点的坐标
19、
20、s304:根据e-min-max算法的公式估计出目标节点的粗略位置:
21、
22、其中,w4(b)表示重叠矩形区域的第b个顶点的加权系数,计算公式如下:
23、
24、其中,di,b表示第i个led与重叠矩形区域的第b个顶点之间的欧几里得距离,计算公式如下:
25、
26、其中,(xi,yi)表示第i个led的位置坐标。
27、优选的是,步骤s6具体包括:
28、s601:根据目标区域四个顶点的位置坐标,在“密集”指纹库中找到对应参考节点的序号,提取出目标区域内的部分“密集”指纹库作为局部指纹库。
29、s602:计算rsslive与该局部指纹库中所有参考节点的rss特征向量之间的欧几里得距离:
30、
31、s603:将计算得到的所有距离按照升序排列,挑选最小的前k个距离对应的参考节点用于定位,这k个参考节点被认为是目标节点的k个邻居参考节点,这最小的k个距离记作
32、
33、s604:根据wknn算法的公式估计出目标的准确位置:
34、
35、其中,(x(k),y(k))为第k个邻居参考节点的位置坐标。每个邻居参考节点的加权系数w(k)是距离d(k)的倒数:
36、
1.采用基于稀疏指纹和e-min-max-wknn算法的可见光定位方法,其特征在于,离线阶段只需要测量少数参考节点处的rss值和在线阶段的指纹匹配效率较高,包括以下步骤: