大型室内空间中的多热点信号指纹地图的存储和匹配方法组成比例

技术编号:10741856 阅读:111 留言:0更新日期:2014-12-10 15:16
本发明专利技术涉及大型室内空间中的多热点信号指纹地图的存储和匹配方法。传统的二维链表结构适合进行稀疏矩阵的存储,但是不适合进行信号强度矢量的快速匹配。本发明专利技术方法包括建立指纹地图的内存数据结构和信号强度矢量在指纹地图的匹配方法两部分。指纹地图的内存数据结构主体为二维稀疏链表,两个维度均采用哈希表,分别为AP哈希表和测量点哈希表。指纹地图内存数据结构建立之后,开始定位,将测量到的信号强度矢量在指纹地图中进行匹配,计算信号强度矢量与某一测量点的信号强度矢量之间的矢量距离,根据该矢量距离进行匹配。本发明专利技术方法提高了匹配计算的速度,解决了在大型室内空间中的多热点信号指纹地图匹配引起的定位延迟问题。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及。传统的二维链表结构适合进行稀疏矩阵的存储,但是不适合进行信号强度矢量的快速匹配。本专利技术方法包括建立指纹地图的内存数据结构和信号强度矢量在指纹地图的匹配方法两部分。指纹地图的内存数据结构主体为二维稀疏链表,两个维度均采用哈希表,分别为AP哈希表和测量点哈希表。指纹地图内存数据结构建立之后,开始定位,将测量到的信号强度矢量在指纹地图中进行匹配,计算信号强度矢量与某一测量点的信号强度矢量之间的矢量距离,根据该矢量距离进行匹配。本专利技术方法提高了匹配计算的速度,解决了在大型室内空间中的多热点信号指纹地图匹配引起的定位延迟问题。【专利说明】
本专利技术属于无线通信
,具体涉及一种。
技术介绍
随着无线网络技术的飞速发展和人们对定位服务需求的日益增多,无线定位技术得到越来越多的关注。GPS(Global Posit1n System,全球定位系统)是20世纪70年代由美国研制的以为陆、海、空三大领域提供实时、全天候和全球性的导航服务为目的的空间卫星导航定位系统。对于信号到达较为容易的开阔的室外环境,GPS可以提供高精度的定位信息。而对于室内环境,由于建筑物本身的遮挡以及建筑物内部结构包括墙壁、门窗、各种摆设和实时变化的人员走动,使得在室内环境中接收到的GPS信号极其微弱,无法从中获得定位所需的有效信息,因此需要考虑建立一种室内的定位系统,为日益增长的室内定位需求提供可靠的定位信息。 目前,业界大多是在现有的无线通信网络设施的基础之上构建无线定位技术。室内的无线通信网络设施主要是WLAN,WLAN通过WiFi信号进行通信,AP (Access Point,无线接入点)即WiFi热点,是WLAN的核心设备,它负责无线网络的管理,通告自己的存在以及当前无线网络信息,让终端用户经过扫描匹配后能够与之关联,并控制通信过程。WLAN的广泛应用源于它的众多优点=WLAN的网络布局简单,并具有较高的通信速度,符合现代社会对于移动通信、移动办公以及移动娱乐等要求。并且无线局域网的容量大、用户多、覆盖广等特点使得其应用更加广泛。WLAN主要的应用环境是室内环境和人们活动的热点地区。 WLAN中AP所发出的WiFi信号也可以用作定位。基于WiFi的室内定位原理如图1所示。在室内空间内部署无线接入点A和B之后,在测量点I的位置可以测量到A的信号强度为-69,B的信号强度为-82。同样,在测量点2的位置分别测量到A和B的强度为-74和-72。对图中所有的测量点上对A和B的信号强度进行测量,便生成了该区域的信号指纹地图。用户所持手机在当前位置测到的A和B的信号强度分别为-73和-75,设sqr O为开平方函数,则根据矢量距离计算公式得到其与A点的信号矢量距离为: S(测量点 I) = sqr ((-73+74)2+(-75+72)2) = 3.16 S (测量点 2) = sqr ((-73+69)2+ (-75+82)2) = 8.06 由此可知,用户当前所在的位置更接近于测量点I。由此可知,在定位时将实际测量得到的信号强度与整个指纹地图进行匹配,找到与之最为相似的测量点,即为当前所在的近似位置。 将当前位置的信号强度矢量和指纹地图的匹配,是室内定位的关键技术之一。其涉及的主要问题包括: 1.指纹地图的存储空间。在一个大型的室内空间内,AP的部署量可以达到几百甚至上千个,而测量点的数量可以达到数万个,一些高精度的指纹地图中,测量点的数量甚至可以达到数十万。在这种情况下,指纹地图在定位系统运行时所占用的存储空间较大,其空间复杂度为O (mXη),其中m为AP的个数,η为测量点数量。这使得手机等手持定位系统难以在内存中保存完整的指纹地图,而需要在实时定位时访问磁盘或者SD卡上的数据进行匹配,这将使定位的延迟变得非常大,无法达到实时定位的效果。 2.指纹地图的访问效率。简化的,定位时获取的信号矢量与指纹地图进行匹配时,需要计算该矢量与数万甚至数十万个测量点的信号矢量距离;在每一次计算信号矢量距离时,也需要遍历每一个ΑΡ。因此,指纹地图匹配的时间复杂度为O(mXn)。这同样会使定位的延迟加大。 目前室内定位系统处于实验室成果向商业应用过渡的阶段,因此其研究的主流是如何提高定位精度和减少人工参与的指纹地图构建工作,而对指纹地图的存储结构通常简单的采用数据库或者二维线性表,匹配方法也是以数据库或者二维线性表的遍历为基础进行改进。这在小面积演示或应用时不会对定位系统产生影响,但是一旦对大型和超大型室内空间进行部署时,测量点和AP数量大幅增加,这些方法就会导致系统无法正常运行。因此设计合理的信号指纹地图存储和匹配方法,是构造高精度的室内定位系统亟待解决的重要问题。
技术实现思路
本专利技术的目的就是为了解决测量点和无线接入点(AP,ACCeSS Point)数量大引起的定位延迟问题,提供一种。 本专利技术具体方法包括:(I)建立指纹地图的内存数据结构;(2)信号强度矢量在指纹地图的匹配。 (I)建立指纹地图的内存数据结构: 所述的指纹地图的内存数据结构主体为二维稀疏链表,两个维度均采用哈希表,分别为AP哈希表和测量点哈希表; 所述的AP哈希表中的每一行表示某个无线接入点(AP, Access Point)在不同测量点的测量记录,组织成链表的形式;AP哈希表结构根据AP的mac地址获得该AP的数据结构ap,在该AP的数据结构ap中获得该AP的编号及该AP的所有测量记录;每一列表示某一个测量点上不同AP的测量记录,同样组织成链表的形式,这一列上所有的测量记录可以组成该测量点的信号强度矢量records ;所述的测量记录用来记录一个测量点上测得的某一 AP信号强度,其数据结构表示为record。 所述的测量点哈希表根据测量点的全局编号获得该测量点的数据结构point,从point中能够获得该测量点的时间戳(timestamp)以及测量记录链表;所述的时间戳(timestamp)是point用来保存这一测量点最后一次参与的定位计算所发生的时间,采用时钟周期作为时间戳(timestamp)的单位。 所述的AP 数据类型为:ap {char ssid ; int ap_id ;record*records ;}; 所述测量点的数据结构point的数据类型为:point {int point_id ;longtimestamp ;record*records ;}; 所述测量记录的数据结构record的数据类型为:record {int ap_id ;int point_id ;int rss ;record*left ;record*down ;}。 (2)信号强度矢量在指纹地图的匹配方法具体是: 指纹地图内存数据结构建立之后,开始定位。定位过程首先测量到当前位置的信号强度矢量V,然后将V在指纹地图中进行匹配,其中k为当前定位设备测到信号的数量,V为一个数组,该数组中一个元素的结构为:Vap_mac ;int rss ;}; 设(AP1, AP2,...APJ为定位系统中所有AP的集合;m > i > 1,贝丨J APi为定位系统中第i个AP的编号本文档来自技高网
...

【技术保护点】
大型室内空间中的多热点信号指纹地图的存储和匹配方法,该方法包括建立指纹地图的内存数据结构和信号强度矢量在指纹地图的匹配两部分,其特征在于: (1)建立指纹地图的内存数据结构: 所述的指纹地图的内存数据结构主体为二维稀疏链表,两个维度均采用哈希表,分别为AP哈希表和测量点哈希表; 所述的AP哈希表中的每一行表示某个AP在不同测量点的测量记录,组织成链表的形式,所述的AP为无线接入点;AP哈希表结构根据AP的mac地址获得该AP的数据结构ap,在该AP的数据结构ap中获得该AP的编号及该AP的所有测量记录;每一列表示某一个测量点上不同AP的测量记录,同样组织成链表的形式,这一列上所有的测量记录可以组成该测量点的信号强度矢量records;所述的测量记录用来记录一个测量点上测得的某一AP信号强度,其数据结构表示为record; 所述的测量点哈希表根据测量点的全局编号获得该测量点的数据结构point,从point中能够获得该测量点的时间戳timestamp以及测量记录链表;所述的时间戳timestamp是point用来保存这一测量点最后一次参与的定位计算所发生的时间,采用时钟周期作为时间戳timestamp的单位; (2)信号强度矢量在指纹地图的匹配方法具体是: 指纹地图内存数据结构建立之后,开始定位;定位过程首先测量到当前位置的信号强度矢量V[k],然后将V[k]在指纹地图中进行匹配,其中k为当前定位设备测到信号的数量,V[k]为一个数组,该数组中一个元素的结构为:V[]{char[]ap_mac;int rss;}; 设{AP1,AP2,...APm}为定位系统中所有AP的集合;m≥i≥1,则APi为定位系统中第i个AP的编号; 采用如下方法计算V[k]与某一测量点的信号强度矢量records之间的矢量距离:                    .......(公式1) 其中 匹配方法具体包含如下步骤:1.设与当前位置具有最小矢量距离的测量点编号min_p=‑1,该最小矢量距离Smin=q,其中q为矢量距离的阈值; 2.设定time为从开机到当前的cpu运行的时钟周期数,用来记录本次定位发生的时间; 3.设定i=0,i为V[k]中元素的变量序号,对V[k]进行以下操作,: 3‑1.如果i≥k,则直接跳转到步骤4; 3‑2.根据V[i]中的ap_mac从AP哈希表中获得apj; 3‑3.设定record为apj的records中第一个测量记录,执行以下操作: 3‑3‑1.如果测量记录record不存在,则跳转到步骤3‑4; 3‑3‑2.根据测量记录record的测量点编号point_id,从测量点哈希表中获得该测量点point; 3‑3‑3.如果point的时间戳point.timestamp等于本次定位发生的时间time,表明这一测量点在本次定位中已经计算过矢量距离,直接跳转到步骤3‑2‑5; 3‑3‑4.使用公式1计算当前位置的信号强度矢量V[k]和测量点point的信号强度矢量point.records之间的矢量距离S(V[k],point.records);设置测量点point的时间戳point.timestamp等于本次定位发生的时间time,用来标记该测量点在本次匹配中已经计算过矢量距离; 3‑3‑5.如果S(V[k],point.records)<Smin,表示找到了一个矢量距离更小 的测量点,设置Smin为S(V[k],point.records),然后设置min_p为测量点point的编号point.point_id; 3‑3‑6.设置record为apj的records中下一个测量记录,并跳转至步骤3‑3‑1; 3‑4.设置i=i+1,并跳转至步骤3‑1; 4.输出min_p为定位结果;如果min_p>0,则表示当前所在的位置在编号为min_p的测量点附近;如果min_p<0,则表示没有有效的定位结果。...

【技术特征摘要】

【专利技术属性】
技术研发人员:葛航余小益曹兴兵朱旭东
申请(专利权)人:创业软件股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1