本发明涉及可见光室内定位技术领域,主要涉及一种指纹库重新构造的算法。
背景技术:
近年来随着可见光通信技术的不断发展,可见光通信因其具有无线通信无法比拟的优势,越来越多的研究人员将可见光用于室内定位。
可见光室内定位主要采用的方法有几何测量法、近似感知法、构建指纹库法等。指纹定位法的系统相对简单、易于构建,主要通过离线阶段构建指纹库,在线阶段进行匹配从而实现室内定位,成本较低;指纹定位法对系统的复杂性要求较低,无需求解信道衰减模型;同时指纹定位法的适用范围很广。但指纹定位法也有许多待解决的问题,室内指纹库的构建工作量大,需要大量的人力物力,可移植性比较差,一旦室内环境发生改变就需要重新构造费时费力;指纹库在线匹配阶段往往需要遍历整个指纹库,消耗大量时间,计算量大实时性无法保证;指纹库定位精度不够,误差较大。针对这些问题国内外的研究学者提出很多改进措施。
技术实现要素:
本发明主要解决的技术问题是:提供一种快速构建指纹库的方法,以达到缩减指纹库的构建时间。
本发明的目的可以通过以下技术方案实现:
本发明通过搭建实验平台采集光信号强度值,提取少数的光信号强度值,结合光信号传播模型,构建虚拟的指纹库,并在精度方面与真实指纹库接近,时间大大缩减。本发明提出一种再生指纹的可见光室内定位算法,具体步骤如下:
1)在室内区域范围内采用正方形作为可见光的定位区域,以正方形的左下角作为原点o建立直角坐标系;在正方形中以相同的间隔将其等分为n个大小相同网格,取每个网格的正中心作为参考点,形成n个参考点,用集合rf={rf1,rf2,···,rfi,···,rfn}来表示,其中rfi表示第i个网格的参考点,1≤i≤n;led灯具的个数为m个,用集合l={l1,l2,···,lj,···lm}表示,其中lj表示第j个led灯,1≤j≤m。
2)在第i个参考点连续采集第j个led灯的光信号强度v次,求其均值作为第i个参考点测量的第j个led灯的光信号功率,用pij来表示,1≤i≤n,1≤j≤m,则在第i个参考点测得的所有led光信号功率用集合{pi1,pi2,···,pij,···,pim}来表示。
3)在第i个参考点所测得的数据用集合pi={xi,yi,pi1,pi2,···,pij,···,pim}来表示,其中xi和yi是第i个参考点的坐标,将所测得数据用矩阵p=[p1,p2,···,pi,···,pn]t来表示,以此来构成指纹库。
4)在n个参考点中选取r个参考点用来虚构指纹库。
5)假设led灯是朗伯辐射,参考点处的发光强度为i(φ)=i(0)cosm(φ),式中φ是发射光线和发射平面垂直的轴线的夹角;i(0)是中心发光强度;m是朗伯发射级数,定义为m=ln(2)/ln(cosφ1/2),式中φ1/2为led发光强度为一半时的半角;则在参考点(xi,yi)的水平发光强度
6)用
7)由(5)中的接收信号功率可知
8)采用公式
本发明的有益效果:
1、本发明提供的一种再生指纹的可见光室内定位方法,多次测量光信号强度,剔除误差较大的数据同时取其均值作为测量结果,减少了定位误差,使定位精度更高。
2、通过提取少数的光信号强度,利用光功率传播模型,推导出未知参考点与已知参考点之间的功率关系,通过已知参考点的功率计算未知参考点的光信号功率,从而可以构建虚拟的指纹库,可以快速构建指纹库,减少人力物力。
附图说明
下面结合附图对本发明作进一步的说明。
图1是发明方法的流程图;
图2是待测区域划分图;
图3是led光传播的几何模型。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本实施例中,一种再生指纹的可见光室内定位方法;如图一所示,包括:1将待测区域均匀等分,建立直角坐标系;2在参考点连续测量led的光信号强度;3剔除明显误差数据,取平均值作为测量值;4抽取若干参考点数据值;5预测未知参考点的信号强度;6构建完整的指纹库,具体步骤如下:
(1)在室内区域范围内采用正方形作为可见光的定位区域,以正方形的左下角作为原点o建立直角坐标系;在正方形中以相同的间隔将其等分为n个大小相同网格,取每个网格的正中心作为参考点,形成n个参考点,用集合rf={rf1,rf2,···,rfi,···,rfn}来表示,其中rfi表示第i个网格的参考点,1≤i≤n,如图2所示;led灯具的个数为m个,用集合l={l1,l2,···,lj,···lm}表示,其中lj表示第j个led灯,1≤j≤m。
(2)在第i个参考点连续采集第j个led灯的光信号强度v次,求其均值作第i个参考点测量的第j个led灯的光信号功率,用pij来表示,1≤i≤n,1≤j≤m,则在第i个参考点测得的所有led光信号功率用集合{pi1,pi2,···,pij,···,pim}来表示。
(3)在第i个参考点所测得的数据用集合pi={xi,yi,pi1,pi2,···,pij,···,pim}来表示,其中xi和yi是第i个参考点的坐标,将所测得数据用矩阵p=[p1,p2,···,pi,···,pn]t来表示,以此来构成指纹库。
(4)在n个参考点中选取r个参考点用来虚构指纹库。
(5)假设led灯是朗伯辐射,参考点处的发光强度为i(φ)=i(0)cosm(φ),式中φ是发射光线和发射平面垂直的轴线的夹角;i(0)是中心发光强度;m是朗伯发射级数,定义为m=ln(2)/ln(cosφ1/2),式中φ1/2为led发光强度为一半时的半角;则在参考点(xi,yi)的水平发光强度
(6)用
(7)由(5)中的接收信号功率可知
(8)采用公式