一种类指纹的蓝牙定位方法与流程

文档序号:11710281阅读:270来源:国知局

本发明属于定位领域,尤其涉及一种类指纹的蓝牙定位方法。



背景技术:

现如今我们的基本生活已经离不开定位功能,比如导航、外卖用户位置定位、兴趣点检索、公交、出租出行等,目前的这些定位服务均是基于gps或者蜂窝基站的定位,因为基于gps的定位技术已经十分成熟,所以在户外gps能够覆盖的地方能够实现精准的定位,然而在室内或者有大量高层建筑gps信号很弱、甚至没有的地方,只能通过蜂窝基站实现大致的定位。事实上,根据数据研究结果表明目前生活在城市的人们有超过80%的时间进行的是户内活动,而户内就意味着可能gps信号很弱或者没有,比如身处陌生的商场想找到出口或地下停车场想找到停车位置,亦或是商场的商家们希望可以基于位置给客户推送活动或者促销信息,面对这些当前十分现实的需求,传统的gps定位方法已是无能为力,所以室内定位技术的研究就显得十分必要。

从近几年室内定位的研究成果来看,主要的定位方法有信号强度指纹匹配定位、信号传播模型的zigbee定位、蓝牙定位、超声波或红外定位。而其中蓝牙技术作为一起比较成熟、短距离、性价比高的技术,相对于其他定位技术,不仅具有低成本、易部署的特点,还因当前几乎所有的智能设备都已经支持蓝牙,具有高普及率、无额外定位成本基础。而当前使用蓝牙定位方法主要是基于信号的指纹的和基于信号衰减测距模型的,虽然基于这两种方式的定位都在一定程度上已经取得了许多研究成果,但却存在许多问题。基于信号指纹的定位方法的平均误差可以低至1.65米,但需要大量的离线指纹采集工作,且当环境发生改变时就必须重新更新指纹数据库,定位的准确度与指纹采集密度和指纹的维度有着直接的关系;而基于信号衰减模型的方法平均误差可做到2m以内,但多是在一个特定的测试环境下通过大量的实测尽可能多的得到每个距离下的信号强度值,然后使用距离与信号强度的测试数据通过线性回归的方法得到一个信号强度与距离的关系模型,再将这样的特定模型用于实际环境定位,这必然面临着通用性较差、使用环境过于理想化的问题,最终在实际复杂应用环境中的定位效果并不理想。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供一种类指纹的蓝牙定位方法。

本发明的目的是通过以下技术方案来实现的:一种类指纹的蓝牙定位方法,包括以下步骤:

(1)基站部署:将待测环境划分为多边形网格,每个网格结点部署一个蓝牙基站,并在服务器储存每个基站的信息,包含基站编号和位置坐标(x,y)。

(2)移动终端扫描附近基站,获取附近基站并获得相应信号强度值:移动终端使用扫描得到的基站id信息发送获取基站信息请求。

(3)网格粗定位:为每个网格定义一个虚拟点,该虚拟点的信号强度值为其网格上的实际顶点的实时信号强度值的加权平均值,逐个计算每个虚拟点的信号强度值,信号强度值最大的虚拟点所属的网格即为移动终端所在的网格。

(4)网格内细定位:根据所属网格的每个顶点的信号强度值,结合信号比例趋向模型和rssi信号测距模型计算出目标点到该网格包含的某两个顶点之间的距离的比值,为了尽可能多的照顾到多个参考点的拟合效果,利用n-1个距离比计算出移动终端在网格内的具体位置,n为顶点数,最终得到移动终端的位置坐标(x,y),实现移动终端的实时位置定位。

进一步地,所述步骤2中,根据在较短的时间内获取基站的n个信号强度值,结合rssi滤波推导更加贴近真实情况的瞬时信号强度值,所述rssi滤波包括高斯滤波、递推平均滤波;具体如下:

(2.1)高斯滤波:把连续接收到的n个rssi值看成一个队列,队列的长度固定为n,每次接收到一个新的rssi值后放入队尾,并丢弃原来队首的rssi值,记第m个高斯分布的密度为f(rssim):

其中,

根据计算结果,取使得f的值在0.6-1之间的信号强度值,作为有效的信号强度值;

(2.2)递推平均滤波:假定根据高斯滤波筛选出m个rssi值,对其进行算术平均运算,获得新的滤波结果。记m个信号强度值为rssi[1-m],则滤波后的结果如下:

进一步地,该方法用于室内多楼层定位时,在服务器储存的每个基站的信息还包含楼层号,根据步骤2扫描到的基站,从服务器获取每个基站对应的楼层号,将最多的楼层号确定为移动终端所在的楼层。

进一步地,所述步骤4包括下子步骤:

(4.1)信号比例趋向模型:假设a、b为移动终端所属网格的两个顶点,根据移动终端接收到的a、b的信号强度值计算出移动终端到顶点a和顶点b的距离的比值。设a、b和移动终端的坐标为(xa,ya)、(xb,yb)、(x,y),在x处收到a、b的信号强度为rssia、rssib,则定义x坐标的计算方法如下:

其中,α与β为x到a和x到b距离占ab距离的比值;

(4.2)根据rssi信号测距模型,信号强度rssi与距离之间存在如下关系:

其中p(d)和p(d0)分别为移动终端距离基站d米和d0米处的接收功率,单位为dbm;n为无线信道衰减因子;ε为一个均值为零,服从高斯分布的随机变量。

近似地认为基站的信号衰减模型中参考信号强度与环境参数是一致的,根据步骤4.1的公式可推导出α与β比值:

其中,为环境参数经验值,并且α与β比值取值为正;

(4.3)设实际得到一目标所处的多边形网格有n个顶点,分别是p1,p2,…,pn,其位置分别是p1(x1,y1),p2(x2,y2),…,pn(xn,yn),目标结点的位置设为x(x,y),记根据信号衰减模型估算x到p1,p2,…,pn的距离为d1,d2,…,dn。根据步骤(4.1)所述信号比例趋向模型和步骤(4.2)所述rssi信号测距模型,可以得到d1,d2,…,dn两两之间的比值。取其中n-1个比值得到比例值向量其中环境参数的具体取值为经验值,根据空间中两点之间距离公式可以得到一个超二元二次方程组:

通过枚举的方式得到二元二次方程组的的解,由于已经完成了网格的粗定位,显然地需要进行枚举的解的范围是确定的,并且根据基于信号强度定位的精确度有限,枚举增量不必过小,所以候选解的数量是有限的,所以求解的过程也必然是收敛的。枚举求解过程如下:

a)确定需要进行枚举解的范围:找出p1,p2,…,pn点的x,y值的最小值和最大值,得到枚举解范围x∈[lx,rx],y∈[ly,ry],枚举增量为δ=0.1;

b)依次取x当前取值加上增量,在确定x不变情况下,枚举y的值,最终得到一个临时的枚举值,当前枚举值所代表的点为p(cx,cy),使用射线法判断点是否在多边形内:从p(cx,cy)到多边形外面任意一点画一条虚拟的射线,计算该射线与多边形上的边相交的次数,如果该次数是偶数,说明p(cx,cy)在多边形外,进行下一可能解判断,如果是奇数,则p(cx,cy)在多边形内,代入方程求出当前枚举点到多边形网格各个顶点之间的距离

c)评价并记录当前解:根据所得可得到当前枚举值代表的比例值向量计算出r与的欧氏距离j以及(n-1)个分量j1,j2,…,j(n-1),将计算结果与上次评价值比较,若本次评价值优于上一次,则替换当前最优评价值和当前解,反之则进行下一可能解判断;

d)得出最优解。

本发明的有益效果是:本发明类指纹的蓝牙定位方法,一方面方便了基于蓝牙功能的实际业务开发,另一方面提出的基于网格的先粗定位后细定位模型与方法提升了蓝牙精确定位的稳定性与容错性。

在开发过程中共实现了四种对采样的信号强度滤波的方式和两种目标位置分析算法。但经过开发过程中的简单比较发现对于信号采样既要求实时性又要求能尽可能反应真实情况下当前位置下的实时信号强度,而递推均值滤波、递推中位数滤波、高斯滤波和加权窗口滤波四种滤波方式对于当前定位系统而言效果最好的是递推平均值滤波。对于根据参考点的实时信息估算目标位置的方法,在实现过程中同时实现了完全基于信号强度衰减模型估的估算目标与参考点的距离,再基于最小二乘的方法基于目标到多个参考点的位置已知的条件构造超线性方程组,最终求解出目标的近似位置。但经过实际室内环境下测试发现会存在以下问题:

1)室内墙壁及其他设施对信号的干扰,比如阻挡、反射;

2)室内人员干扰,比如手机与基站之间有人阻挡;

3)定位过程中,手机所处位置影响,比如拿在手中与装在口袋里;

以上问题会严重影响到实时定位过程中接收到信号强度的可信度,如果接收到的实时信号强度值产生偏差,那么根据信号强度计算出来的距离的可信度就不高了,所以直接使用信号衰减模型的方法在定位过程会因为不可信的信号结点的干扰,从而导致最终的定位结果严重偏差。

基于开发测试过程中发现的问题,所以最终提出并实现了能解决以上所有问题的先基于网格进行定位再在网格内进行精确定位的类指纹定位方法,这样的好处在于:

1)通过实际的测试发现,第一步的网格区域定位结果基本准确无误;

2)第二步的网格内的精确定位因为是建立在第一步的基础之上,即使发现错误,最大误差也不会超过网格的边长。而且经过实际的不同网格大小测试结果发现当把网格的边长设置为6m左右时产生的定位误差在2m以内,应用前景广阔。

附图说明

图1为本发明方法流程图。

具体实施方式

为使本发明实施例的技术方案和优点更加清楚,下面将结合本发明实施例中的附图、对本发明实施例中的技术方案进行清楚、完整的表述。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的一种类指纹的蓝牙定位方法,包括以下步骤:

(1)基站部署:将待测环境划分为多边形网格,每个网格结点部署一个蓝牙基站,并在服务器储存每个基站的信息,包含基站编号和位置坐标(x,y)。

(2)移动终端扫描附近基站,获取附近基站并获得相应信号强度值:移动终端使用扫描得到的基站id信息发送获取基站信息请求。

(3)网格粗定位:为每个网格定义一个虚拟点,该虚拟点的信号强度值为其网格上的实际顶点的实时信号强度值的加权平均值,逐个计算每个虚拟点的信号强度值,信号强度值最大的虚拟点所属的网格即为移动终端所在的网格。

(4)网格内细定位:根据所属网格的每个顶点的信号强度值,结合信号比例趋向模型和rssi信号测距模型计算出目标点到该网格包含的某两个顶点之间的距离的比值,为了尽可能多的照顾到多个参考点的拟合效果,利用n-1个距离比计算出移动终端在网格内的具体位置,n为顶点数,最终得到移动终端的位置坐标(x,y),实现移动终端的实时位置定位。

进一步地,所述步骤2中,根据在较短的时间内获取基站的n个信号强度值,结合rssi滤波推导更加贴近真实情况的瞬时信号强度值,所述rssi滤波包括高斯滤波、递推平均滤波;具体如下:

(2.1)高斯滤波:把连续接收到的n个rssi值看成一个队列,队列的长度固定为n,每次接收到一个新的rssi值后放入队尾,并丢弃原来队首的rssi值,记第m个高斯分布的密度为f(rssim):

其中,

根据计算结果,取使得f的值在0.6-1之间的信号强度值,作为有效的信号强度值;

(2.2)递推平均滤波:假定根据高斯滤波筛选出m个rssi值,对其进行算术平均运算,获得新的滤波结果。记m个信号强度值为rssi[1-m],则滤波后的结果如下:

进一步地,该方法用于室内多楼层定位时,在服务器储存的每个基站的信息还包含楼层号,根据步骤2扫描到的基站,从服务器获取每个基站对应的楼层号,将最多的楼层号确定为移动终端所在的楼层。

进一步地,所述步骤4包括下子步骤:

(4.1)信号比例趋向模型:假设a、b为移动终端所属网格的两个顶点,根据移动终端接收到的a、b的信号强度值计算出移动终端到顶点a和顶点b的距离的比值。设a、b和移动终端的坐标为(xa,ya)、(xb,yb)、(x,y),在x处收到a、b的信号强度为rssia、rssib,则定义x坐标的计算方法如下:

其中,α与β为x到a和x到b距离占ab距离的比值;

(4.2)根据rssi信号测距模型,信号强度rssi与距离之间存在如下关系:

其中p(d)和p(d0)分别为移动终端距离基站d米和d0米处的接收功率,单位为dbm;n为无线信道衰减因子;ε为一个均值为零,服从高斯分布的随机变量。

近似地认为基站的信号衰减模型中参考信号强度与环境参数是一致的,根据步骤4.1的公式可推导出α与β比值:

其中,为环境参数经验值,并且α与β比值取值为正;

(4.3)设实际得到一目标所处的多边形网格有n个顶点,分别是p1,p2,…,pn,其位置分别是p1(x1,y1),p2(x2,y2),…,pn(xn,yn),目标结点的位置设为x(x,y),记根据信号衰减模型估算x到p1,p2,…,pn的距离为d1,d2,…,dn。根据步骤(4.1)所述信号比例趋向模型和步骤(4.2)所述rssi信号测距模型,可以得到d1,d2,…,dn两两之间的比值。取其中n-1个比值得到比例值向量其中环境参数的具体取值为经验值,根据空间中两点之间距离公式可以得到一个超二元二次方程组:

通过枚举的方式得到二元二次方程组的的解,由于已经完成了网格的粗定位,显然地需要进行枚举的解的范围是确定的,并且根据基于信号强度定位的精确度有限,枚举增量不必过小,所以候选解的数量是有限的,所以求解的过程也必然是收敛的。枚举求解过程如下:

a)确定需要进行枚举解的范围:找出p1,p2,…,pn点的x,y值的最小值和最大值,得到枚举解范围x∈[lx,rx],y∈[ly,ry],枚举增量为δ=0.1;

b)依次取x当前取值加上增量,在确定x不变情况下,枚举y的值,最终得到一个临时的枚举值,当前枚举值所代表的点为p(cx,cy),使用射线法判断点是否在多边形内:从p(cx,cy)到多边形外面任意一点画一条虚拟的射线,计算该射线与多边形上的边相交的次数,如果该次数是偶数,说明p(cx,cy)在多边形外,进行下一可能解判断,如果是奇数,则p(cx,cy)在多边形内,代入方程求出当前枚举点到多边形网格各个顶点之间的距离

c)评价并记录当前解:根据所得可得到当前枚举值代表的比例值向量计算出r与的欧氏距离j以及(n-1)个分量j1,j2,…,j(n-1),将计算结果与上次评价值比较,若本次评价值优于上一次,则替换当前最优评价值和当前解,反之则进行下一可能解判断;

d)得出最优解。

以下以多边形网格为矩形网格为例,阐述步骤4.3的实现过程:

设实际得到一目标所处的矩形网格4个顶点的位置分别是p1(x1,y1)、p2(x2,y2)、p3(x3,y3)、p4(x4,y4),目标结点的位置设为x(x,y),记根据信号衰减模型估算x到p1,p2,p3,p4的距离为d1,d2,d3,d4。根据空间中两点之间距离公式可以得到一个超二元二次方程组:

a)确定需要进行枚举解的范围:找出p1,p2,p3,p4点的x,y值的最小值和最大值,得到枚举解范围x∈[lx,rx],y∈[ly,ry],枚举增量为δ=0.1;

b)依次取x当前取值加上增量,在确定x不变情况下,枚举y的值,最终得到一个临时的枚举值,当前枚举值所代表的点为p(cx,cy),代入方程求出当前枚举点到矩形网格4个顶点之间的距离

c)评价并记录当前解:根据所得可得到当前枚举值代表的比例值向量计算出r与的欧氏距离j以及3个分量j1,j2,j3,将计算结果与上次评价值比较,若本次评价值优于上一次,则替换当前最优评价值和当前解,反之则进行下一可能解判断;

d)得出最优解。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1