一种基于建筑物开放边缘距离加权的楼层识别方法
技术领域
本发明属于信号定位识别技术领域,具体涉及一种基于建筑物开放边缘距离加权的楼层识别方法。
背景技术
随着无线网络技术的飞速发展和人们对定位服务需求的日益增多,无线定位技术得到越来越多的关注。GPS(Global Position System,全球定位系统)是20世纪70年代由美国研制的以为陆、海、空三大领域提供实时、全天候和全球性的导航服务为目的的空间卫星导航定位系统。对于信号到达较为容易的开阔的室外环境,GPS可以提供高精度的定位信息。而对于室内环境,由于建筑物本身的遮挡以及建筑物内部结构包括墙壁、门窗、各种摆设和实时变化的人员走动,使得在室内环境中接收到的GPS信号极其微弱,无法从中获得定位所需的有效信息,因此需要考虑建立一种室内的定位系统,为日益增长的室内定位需求提供可靠的定位信息。
目前,可以用来作为室内定位的无线信号主要包括WiFi和蓝牙,WiFi或者蓝牙AP(Access Point,无线接入点,即热点)周期性发出广播信号,可以用作定位。无线室内定位原理如图1所示。在室内空间内部署无线接入点A和B之后,在测量点1的位置可以测量到A的信号强度为-69,B的信号强度为-82,构成信号强度矢量[-69,-82]。同样,在测量点2的位置分别测量到A和B的强度为-74和-72,构成信号强度矢量[-74,-72]。对图中所有的测量点上对A和B的信号强度进行测量,获得所有测量点的信号强度矢量,便生成了该区域的信号指纹地图。用户所持手机在当前位置测到的A和B的信号强度分别为-73和-75,即当前位置的信号强度矢量[-73,-75]。设sqr()为开平方函数,则根据矢量距离计算公式得到其与A点的信号强度矢量距离为:
S(测量点 1)= sqr((-73+74)2+(-75+72)2)=3.16
S(测量点 2)= sqr((-73+69)2+(-75+82)2)=8.06
由此可知,用户当前所在的位置更接近于测量点1。由此可知,在定位时将实际测量得到的信号强度与整个指纹地图进行匹配,找到与之最为相似的测量点,即为当前所在的近似位置。
如何确定定位者当前所在楼层是是无线室内定位的关键技术之一。通常无线室内定位存在着一定的误差。首先,由于AP每次发出信号的强度不完全一致;其次,周围环境中人和物的移动、电子设备的干扰也会导致AP发出的信号产生一定的变化;再次,定位者使用的接收设备各不相同,对同一信号的接收强度也不一样。以WiFi信号为例,定位的平均误差一般在3米左右。在水平方向上存在3米左右的误差,对一般应用不会产生很大的影响。然而在垂直方向上,3米左右近似于建筑物的层高,会导致楼层识别的错误。一旦楼层识别错误,定位系统将显示错误的平面图,对应用产生严重的影响。
目前楼层定位的方法有以下几类:1.上下楼判断法:通过加速度传感器记录定位者上下楼层的动作,可以有效判断当前所在的楼层。2.投票法:统计每个楼层信号强度矢量距离较小的点的个数,数量最多的为当前楼层。3.轨迹预测法:根据移动的轨迹和速度预测当前所在的楼层。这些方法都需要额外的传感器设备或者复杂算法,对定位设备的运算能力和存储能力要求高。设计一个简单快速精确的楼层定位算法,是构造高精度的室内定位系统亟待解决的重要问题。
发明内容
本发明的目的就是提出一种基于建筑物开放边缘距离加权的楼层识别方法,该方法利用边界距离加权的信号强度矢量距离计算方法解决楼层识别的精度问题。
本发明方法的主要思想是:楼层定位产生的错误绝大部分原因是由楼层的开放边缘引起的,相邻两个楼层之间信号可以通过开放边缘无障碍地进行传递,因此信号衰减的幅度较小,两个楼层的信号强度差别不大,导致楼层定位的误差。在建筑物中部署的AP,距离楼层的开放边缘越近,这个AP的信号会导致楼层定位错误的可能性越大,距离楼层的开放边缘越远,这个AP的信号导致楼层定位错误的可能性越小。因此把AP与楼层开放边缘的距离作为权重来计算信号强度矢量距离进行定位,距离楼层的开放边缘远的AP具有大的权重,距离楼层的开放边缘近的具有小的权重,这一方法可以有效避免楼层定位误差。
本发明方法首先进行部署,然后进行楼层定位。
所述的部署是对一个n层、每层m个AP的建筑物进行测量和计算,获得该建筑物的信号特征数据,所述的AP为热点(Access Point,无线接入点),具体步骤是:
步骤1、对建筑物中的每个AP进行编号AP(k,j)其中k为AP所在的楼层号,j为AP在该楼层中的编号, 1≤k≤n, 1≤j≤m。
步骤2、确定每个AP(k,j)与所在楼层的开放边缘的最小距离D(k,j),所述开放边缘是指建筑物外墙中没有混凝土墙体的部分。
步骤3、计算所有AP的D值的平均值 , 。
步骤4、对每个AP(k,j)计算楼层定位权重。
步骤5、对建筑物中的每个测量点编号为point(x,y),其中x为测量点所在的楼层号,y为测量点在该楼层中的编号。
步骤6、在每一个测量点point(x,y)测得信号强度矢量V(x,y),
V(x,y)=RSSI(point(x,y), AP(1,1)),
RSSI(point(x,y), AP(1,2)),
RSSI(point(x,y), AP(2,1)),
RSSI(point(x,y), AP(2,2)),
RSSI(point(x,y), AP(n,1)),
RSSI(point(x,y), AP(n,2)),
RSSI(point(x,y), AP(n,m))
所述RSSI(point(x,y), AP(k,j))表示在测量点point(x,y)测到的AP(k,j)的信号强度。
所述的楼层定位是指用户确定自身当前所在楼层,具体方法是:
步骤Ⅰ、测量当前位置point的信号强度矢量V,
V= RSSI(point, AP(1,1)),
RSSI(point, AP(1,2)),
RSSI(point, AP(2,1)),
RSSI(point, AP(2,2)),
RSSI(point, AP(n,1)),
RSSI(point, AP(n,2)),
RSSI(point, AP(n,m))
步骤Ⅱ、对每一个测量点point(x,y),计算与当前位置的信号强度矢量加权距离S(x,y)=sqr(P(1,1)×(RSSI(point, AP(1,1))- RSSI(point(x,y), AP(1,1))) 2
+ P(1,2)×(RSSI(point, AP(1,2))- RSSI(point(x,y), AP(1,2))) 2
+...
+ P(2,1)× (RSSI(point, AP(2,1))- RSSI(point(x,y), AP(2,1))) 2
+ P(2,2)×(RSSI(point, AP(2,2))- RSSI(point(x,y), AP(2,2))) 2
+...
+ P(n,1)×(RSSI(point, AP(n,2))- RSSI(point(x,y), AP(n,2))) 2
+ P(n,2)×(RSSI(point, AP(n,2))- RSSI(point(x,y), AP(n,2))) 2
+...
+ P(n,m)×(RSSI(point, AP(n,m))- RSSI(point(x,y), AP(n,m))) 2)
步骤Ⅲ、对所有测量点根据其信号强度矢量加权距离进行排序,取信号强度矢量加权距离最小的测量点所在楼层为用户当前所在楼层。
本发明方法针对无线室内定位中楼层定位的特点,提出了一种利用边界距离加权的信号强度矢量距离计算方法来识别楼层。这种方法的提出主要根据产生楼层误差的一个最重要原因:在一些边缘开放的楼层,AP信号可以通过这些开放的边缘传播到相邻楼层,而不需要穿透墙体,因此信号强度的衰减很小,测量者会误认为与该AP在同一楼层。并且这一现象在AP离开放边缘距离越近时越明显;而对于在远离边缘的中部位置的AP,这种现象则不明显。因此本发明根据每个AP距离楼层开放边缘的距离作为权重因子来计算信号强度矢量距离,从而对传统的计算方法进行修正,得到更为精确的楼层定位结果。
附图说明
图1为现有的无线室内定位原理示意图;
图2为本发明方法楼层定位示例示意图。
具体实施方式
一种基于建筑物开放边缘距离加权的楼层识别方法,首先进行部署,然后进行楼层定位。
所述的部署是对一个n层、每层m个AP的建筑物进行测量和计算,获得该建筑物的信号特征数据,所述的AP为热点(Access Point,无线接入点),具体步骤是:
步骤1、对建筑物中的每个AP进行编号AP(k,j)其中k为AP所在的楼层号,j为AP在该楼层中的编号, 1≤k≤n, 1≤j≤m。例如图2中AP(8,2)表示第8层中的第2个AP。
步骤2、确定每个AP(k,j)与所在楼层的开放边缘的最小距离D(k,j),所述开放边缘是指建筑物外墙中没有混凝土墙体的部分,如窗户、护栏等。例如图2中中央的矩形表示该建筑物的中央天井,第8层靠近中央天井处为金属栏杆,没有墙体,因此属于开放边缘。图2中第8层的外部边缘为落地玻璃,同样没有墙体,因此也属于开放边缘。从图2中可知,AP(8,6)与开放边缘的最小距离是到中央天井的垂直距离;而AP(8,4) 与开放边缘的最小距离是到外部玻璃幕墙的垂直距离。
步骤3、计算所有AP的D值的平均值, ;
步骤4、对每个AP(k,j)计算楼层定位权重;
步骤5、对建筑物中的每个测量点编号为point(x,y),其中x为测量点所在的楼层号,y为测量点在该楼层中的编号。例如,point(8,3)表示第8层中的第3个测量点。
步骤6、在每一个测量点point(x,y)测得信号强度矢量V(x,y),
V(x,y)=RSSI(point(x,y), AP(1,1)),
RSSI(point(x,y), AP(1,2)),
RSSI(point(x,y), AP(2,1)),
RSSI(point(x,y), AP(2,2)),
RSSI(point(x,y), AP(n,1)),
RSSI(point(x,y), AP(n,2)),
RSSI(point(x,y), AP(n,m))
RSSI(point(x,y), AP(k,j))表示在测量点point(x,y)测到的AP(k,j)的信号强度。
楼层定位是指用户确定自身当前所在楼层,具体方法是:
步骤Ⅰ、测量当前位置point的信号强度矢量V,
V= RSSI(point, AP(1,1)),
RSSI(point, AP(1,2)),
RSSI(point, AP(2,1)),
RSSI(point, AP(2,2)),
RSSI(point, AP(n,1)),
RSSI(point, AP(n,2)),
RSSI(point, AP(n,m))
步骤Ⅱ、对每一个测量点point(x,y),计算与当前位置的信号强度矢量加权距离S(x,y)=sqr(P(1,1)×(RSSI(point, AP(1,1))- RSSI(point(x,y), AP(1,1))) 2
+ P(1,2)×(RSSI(point, AP(1,2))- RSSI(point(x,y), AP(1,2))) 2
+...
+ P(2,1)× (RSSI(point, AP(2,1))- RSSI(point(x,y), AP(2,1))) 2
+ P(2,2)×(RSSI(point, AP(2,2))- RSSI(point(x,y), AP(2,2))) 2
+...
+ P(n,1)×(RSSI(point, AP(n,2))- RSSI(point(x,y), AP(n,2))) 2
+ P(n,2)×(RSSI(point, AP(n,2))- RSSI(point(x,y), AP(n,2))) 2
+...
+ P(n,m)×(RSSI(point, AP(n,m))- RSSI(point(x,y), AP(n,m))) 2)
步骤Ⅲ、对所有测量点根据其信号强度矢量加权距离进行排序,取信号强度矢量加权距离最小的测量点所在楼层为用户当前所在楼层。