用于确定多层建筑物中位置的位置信息的方法和装置
技术领域
本发明涉及一种用于确定多层建筑物中位置的位置信息的方法。
背景技术
近年来,随着全球定位系统(GPS)功能在移动设备,尤其是智能手机中的广泛利用,基于位置的应用和服务已日渐普及。然而,因为在室内时GPS卫星信号不可检测,所以一旦移动设备进入建筑物的室内,GPS功能的具有准确定位性和便利性的低成本解决方案即丧失。
在当今的城市里,人们花费大量时间在室内,如在商场、机场、写字楼、医院和工业厂房中,需要用于室内的定位能力的延伸。具有准确的室内定位能力可以允许公司改善室内工作流程、工艺、安全管理、资产和人员跟踪、客户满意度,以及实施目前没有想到的许多其它创新的想法。
虽然市场上存在许多可用的室内无线定位解决方案,但是它们大部分需要部署专用的装备,使得其对于大众市场实施而言过于昂贵。
发明内容
根据本发明的一个方案,提供了一种用于确定多层建筑物中位置的位置信息的方法,所述方法包括:从存储器检索观测数据,所述观测数据包括在所述位置处检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度;为所述建筑物的每一楼层从数据库检索射电图,所述射电图包括所述建筑物的相应楼层中的多个位置点,每个位置点包括在该位置点检测到的无线接入点的地址和对应的平均接收信号强度以及该位置点的坐标;从所述射电图中选择包括所述观测到的地址的一个或多个位置点;通过如下步骤确定所述位置的楼层估计:计算所述建筑物的每一楼层的总和概率,所述总和概率通过将包含在在所述相应楼层上检测到的相应楼层的射电图中的每个所选择的位置点中的每个观测到的地址的所有单个概率相加来计算;以及将所述楼层估计设定为具有所计算的总和概率的最大值的所述建筑物的楼层,其中每个所述单个概率基于所述每个所选择的位置点中所述每个观测到的地址的对应的所观测的接收信号强度和包含所述每个观测到的地址的所述每个所选择的位置点中的对应的平均接收信号强度来计算。
所述方法还可以包括:基于所估计的楼层的射电图中包含所述每个观测到的地址的每一个所选择的位置点的坐标的加权平均值来确定所述位置的位置估计值。
在从所述射电图中选择包括所述观测到的地址的一个或多个位置点的步骤中,所述选择的一个或多个位置点选自所述射电图中经过滤的关注区域。
所述方法还可以包括:提取具有高于预定值的对应的接收信号强度的数个观测到的地址。
可以从所选择的一个或更多个位置点中去除没有被提取的观测到的地址。
可以基于多层建筑物中的先前位置的邻近性来过滤所述射电图中的关注区域。
确定所述位置的层估计的步骤可以包括:基于第一选择位置点中第一观测到的地址的对应的观测到的接收信号强度和包含所述第一观测到的地址的第一选择位置点中对应的平均接收信号强度,使用概率密度函数来计算第一值,所述第一值指示所选择的位置点的第一选择位置是移动设备的位置的概率;为所选择的位置点中的每一个计算所述第一值;对为一楼层的射电图中的所选择的位置点计算的多个第一值求总和以得到第二值,其中所述选择的位置点均包含共同的观测到的地址;为每一个共同的观测到的地址计算所述第二值;对为所述建筑物的每个楼层计算的多个第二值求总和,以得到第三值;以及选择最大的所述第三值作为所述楼层估计。
所述方法还可以包括:从所述建筑物中每个楼层的所述射电图中选择具有超出预定方差的检测到的接收信号强度的方差的观测到的地址;并且在从所述射电图中选择包括所述观测到的地址的一个或多个位置点的步骤中,选择包括具有超出所述预定方差的检测到的接收信号强度的方差的所选择的观测到的地址的一个或多个位置点。
所述方法还可以包括:从位于所述建筑物的所述位置处的移动设备无线接收观测数据,所述观测数据包括在所述位置处由所述移动设备检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度。
所述方法还可以包括:在所述位置处检测观测数据,所述观测数据包括检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度。
所述方法还可以包括:基于多于一个观测数据,以预定次数重复确定所述楼层估计的步骤,以收集多于一个初步楼层估计;以及在所述预定次数中选择具有最大的第三值的同一楼层作为所述楼层估计。
根据本发明的另一个方案,提供了一种装置,包括:存储器,用于存储观测数据,所述观测数据包括在所述位置处检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度;数据库,用于为所述建筑物的每个楼层存储射电图,所述射电图包括在所述建筑物的相应楼层中的多个位置点,每个位置点包括在该位置点检测到的无线接入点的地址和对应的平均接收信号强度以及该位置点的坐标;以及处理单元,用于从所述射电图中选择包括所述观测到的地址的一个或多个位置点;所述处理单元被配置为用于通过计算所述建筑物的每一楼层的总和概率来确定所述位置的楼层估计,所述总和概率通过将包含在在所述相应楼层上检测到的相应楼层的射电图中的每个所选择的位置点中的每个观测到的地址的所有单个概率相加来计算;以及将所述楼层估计设定为具有所计算的总和概率的最大值的所述建筑物的楼层,其中每个所述单个概率基于所述每个所选择的位置点中所述每个观测到的地址的对应的所观测的接收信号强度和包含所述每个观测到的地址的所述每个所选择的位置点中的对应的平均接收信号强度来计算。
所述处理单元还可以被配置为用于基于在所估计的楼层的射电图中包含所述每个观测到的地址的每一个所选择的位置点的坐标的加权平均值来确定所述位置的位置估计值。
在从所述射电图中选择包括所述观测到的地址的一个或多个位置点的步骤中,所述选择的一个或多个位置点选自所述射电图中经过滤的关注区域。
所述处理单元还可以被配置为用于提取具有高于预定值的对应的接收信号强度的数个观测到的地址。
可以从所选择的一个或更多个位置点中去除没有被提取的观测到的地址。
可以基于多层建筑物中的先前位置的邻近性来过滤所述射电图中的关注区域。
确定所述位置的楼层估计的步骤可以包括:基于第一选择位置点中第一观测到的地址的对应的观测到的接收信号强度和包含所述第一观测到的地址的第一选择位置点中对应的平均接收信号强度,使用概率密度函数来计算第一值,所述第一值指示所选择的位置点的第一选择位置是移动设备的位置的概率;为所选择的位置点中的每一个计算所述第一值;对为一楼层的射电图中的所选择的位置点计算的多个第一值求总和以得到第二值,其中所述选择的位置点均包含共同的观测到的地址;为每一个共同的观测到的地址计算所述第二值;对为所述建筑物的每个楼层计算的多个第二值求总和,以得到第三值;以及选择最大的第三值作为所述楼层估计。
所述处理单元还可以被配置为用于从所述建筑物中每个楼层的所述射电图中选择具有超出预定方差的检测到的接收信号强度的方差的观测到的地址;并且在从所述射电图中选择包括所述观测到的地址的一个或多个位置点的步骤中,选择包括具有超出所述预定方差的检测到的接收信号强度的方差的所选择的观测到的地址的一个或多个位置点。
所述装置可以包括:接收器,用于从位于所述建筑物的所述位置处的移动设备无线接收所述观测数据。
所述装置可以包括:检测器,用于从所述位置检测观测数据。
所述处理单元还可以被配置为用于基于多于一个观测数据,以预定次数重复确定所述楼层估计的步骤,以收集多于一个初步楼层估计;以及在所述预定次数中选择具有最大的第三值的同一楼层作为所述楼层估计。
附图说明
从下面通过举例方式并结合附图的书面描述,本发明的实施例对本领域技术人员将更好理解并非常显而易见,附图中:
图1示出室内定位系统的应用的示意图。
图2示出表示多层建筑物的楼层的射电图(Radio Map)的楼层平面图。
图3示出包含系统的校准点的数据的多个表。
图4示出用于生成多层建筑物的射电图的流程图。
图5示出包含系统的观测矩阵(OM)的数据的表。
图6示出包含系统的楼层辨别度量表(FDMT)的数据的表。
图7示出室内定位系统的操作的流程图。
图8示出系统的楼层选择子例程的流程图。
图9示出系统的楼层选择算法的流程图。
图10示出计算在多层建筑物的楼层上观测到接入点的概率的流程图。
图11示出系统的关注区域(ROI)子例程的第一部分的流程图。
图12示出系统的关注区域(ROI)子例程的第二部分的流程图。
图13示出包含与无线接入点的所选择的列表相关的数据的表。
图14示出包含系统的校准点的数据的表。
图15示出系统的位置估计子例程的流程图。
图16示出系统的数据库服务器的示意图。
图17示出系统的组件的示意图。
图18示出室内定位系统的操作的流程图。
具体实施方式
在图1中,提供了一个系统100,其包括移动设备102、定位引擎104、数据库服务器106、商家门户网站108和购物者门户网站110。
系统100的操作如下。
首先由用户经由诸如第三代(3G)电信网络、通用分组无线业务(GPRS)数据链路等(“电信链路”)电信链路在移动设备102上下载并安装以移动应用程序形式实现的基于客户端的软件。移动设备102可以是无线保真(WiFi)功能智能电话、触摸屏平板、笔记本电脑、上网本电脑等。移动应用程序被配置为与数据库服务器106和定位引擎104交换数据。移动应用程序用于检测移动设备102在建筑物内部的位置。
当在建筑物的任何位置被激活时,移动应用程序利用移动设备102中的WiFi接口来提取所有可见的周围WiFi接入点的接收信号强度(RSS)指示值。如果一接入点(也称为无线接入点)的WiFi信号可以被移动设备102检测到,则该接入点对移动设备102是可见的。每个接入点由介质访问控制(MAC)地址指示,并且具有表示由移动设备102检出(pick up)的接入点的信号强度的RSS值。
每个检测到的接入点的RSS值和MAC地址被制成表。然后,接入点的RSS值和对应的介质访问控制(MAC)地址的表被传送到定位引擎104。该传送经由电信链路完成。当从移动设备102接收到MAC和RSS值时,定位引擎104将计算移动设备102的估计室内位置,并将位置信息发送到数据库服务器106。移动设备102的室内位置包括其所在的建筑物的楼层和移动设备102在该楼层的位置估计值。
在数据库服务器106接收移动设备102的估计室内位置之后,数据库服务器106可以根据估计室内位置、时间、用户的预设偏好和由商家确定的业务逻辑将广告/销售信息经由电信链路推送到移动设备102。可以理解,除了将广告/销售信息推送到移动设备102之外,还可以从移动设备102推送/提取其它类型的信息,或者可以在数据库服务器106接收移动设备102的估计室内位置之后发生动作。
在系统100中,商家门户网站108允许每个商家创建他/她自己的个人账户。通过个人账户,每个商家将能够实时上传和发布他们的广告/销售材料。此外,商家将可以设定用于推送他们的交易的业务逻辑并且下载对服务展示次数、点击次数、客流量等的分析。
购物者门户网站110在网页上提供移动应用程序中可用的信息和服务。通过网页,用户将能够创建个人帐户,并选择将影响待发送给他/她的广告/销售材料类型的他/她的购物偏好。在购物者门户网站110中,用户还能够维护微博。
有利的是,系统100提供室内定位和导航技术,其接入(tap on)在大多数现代建筑物中已经安装的现有WiFi网络。在这种情况下,部署最少的资源,即,数据库服务器106和定位引擎104对于预测移动设备(图1中的102)的位置估计值是必需的。成本被保持在低水平,并且该技术对于大众市场和行业更有可扩展性及可接入性(accessible)。
可以理解,虽然已经描述了商家门户网站108和购物者门户网站,但是系统100的室内定位方案是通用的,并且可以用在诸如人员/资产跟踪或意识型交互式多媒体应用和服务等其它领域。用于系统100的室内定位方案的应用领域的示例如下。
–用于为诸如医院、机场、商场和写字楼等企事业跟踪人员和资产。
–仅作为主干室内定位和导航引擎,用于移动设备开发商创建基于位置的应用程序。
–作为为大型购物商场实现移动销售平台的基础技术,具有全面的导航能力和基于时间、位置和购物者偏好的智能广告推送。
系统100的室内定位方案的细节描述如下。
在图2中,提供对象(subject)多层建筑物的任意楼层或层k的矩形俯视平面图200。为使诸如图1中所描述的系统100的系统对该建筑物起作用,建筑物的每个楼层或每层将需要射电图(RM)。应指出的是,在本说明书中,词语“楼层”和“层”具有相同的含义并且可以互换使用。
图2概念性地示出任意第k层楼层的射电图RMk。在实践中,每个射电图包含建筑物的特定楼层的校准点的列表的数据。每个射电图的数据被存储在数据库服务器(图1中的106)中,并用于在建筑物中定位移动设备(图1中的102)。
通过用测量设备现场测量来确定第k层楼层上的校准点的列表来创建RMk。测量设备可以是WiFi功能智能手机、触摸屏平板电脑、笔记本电脑、上网本电脑等。
每个校准点(CP)的特征在于以下信息:
1)指示所选择的CP的物理位置的、相对于平面图200的水平(X)和垂直(Y)轴的(x,y)形式的XY坐标。
2)在于该CP的位置处现场测量期间检测到的WiFi接入点的MAC地址列表,以及平均接收信号强度(mRSS)值的列表,该mRSS与该MAC地址相关联。应注意的是,每个MAC地址将仅具有一个对应的mRSS值。通过对由该测量设备检测到的接收信号强度值中的几个测量值求平均来计算每个mRSS值。
例如,校准点的位置的选择基于如下进行确定:
i)移动设备102所需的位置信息的准确性,
ii)环境的复杂性,以及
iii)物理布局。
就i)而言,通常,为了在任意第k层楼的射电图中定位移动设备102的位置的目的,校准点越靠近在一起,射电图的准确性越好。然而,应注意的是,如果校准点过于靠近,则校准时间和成本会增加而并不提高定位准确性。
对于ii),虽然以彼此相等的距离在射电图中均匀地分布校准点以利于计算移动设备102的位置可能更好,但是由于环境因素(例如,接近WiFi信号的干扰源),有时均匀的分布不会在计算中提供所期望的准确性。在这种情况下,均匀分布校准点是不可行的。
关于iii),诸如建筑物墙壁的位置和楼层设计等物理布局也影响校准点的放置。
校准点之间的距离的示例性范围为2至5米。
在图2中,沿平面图200的矩形侧边布置7个房间。在平面图中,3个房间202为水平布置并且4个房间204为垂直布置。由于房间的墙壁的阻挡,校准点被选择为使得它们均匀地分布在室内外。
图3概念性地示出RMk 300中的数据的多维格式。对于任意第k层楼层,RMk 300包含校准点的列表,即具有坐标(xk,1,yk,1)的CPk,1 302、具有坐标(xk,2,yk,2)的CPk,2 304、…具有坐标(xk,j,yk,j)的CPk,j 306。CPk,1进而包含检测到的WiFi接入点MACk,1、MACk,2、…MACk,j的列表和在坐标(xk,1,yk,1)处测量到的对应的mRSSk,1、mRSSk,2、…mRSSk,j。应注意的是,k指示建筑物楼层并且j表示射电图中的校准点。
图4示出获得多层建筑物412的射电图的测量过程400。多层建筑物412的射电图包括每个楼层410的射电图。
在步骤402,执行测量过程的人持着测量移动设备并且站在预定的校准点CPk,j(xk,j,yk,j)处。
在步骤404,从该移动测量设备为检测到的每个MAC地址收集预定N个RSS读数样本NSAMPLE。应注意的是,每个MAC地址链接到一接入点。NSAMPLE是基于在特定环境中WiFi信号的方差(variance)选择的值。取决于WiFi信号的方差有多大以及由测量移动设备的硬件所能达到的采样速率,该值例如可以在10至100的范围中。通常,方差越大,所需的RSS读数的样本越多(即更高的NSAMPLE)。例如可以通过在特定环境中收集WiFi信号的样本、从收集到的样本的数据计算平均WiFi信号、并且应用概率论的标准方差公式,来计算WiFi信号的方差。
在步骤406,对于在步骤404由测量移动设备检测到的特定的MAC地址MACi,从收集到的NSAMPLE中选择预定的n个RSS读数的集合。预定的n个RSS读数的这一集合由表达式RSSi(n)表示,并且i表示哪个特定的MAC地址。
仅当被认为是有效的RSS值时,为集合RSSi(n)选择RSS读数。仅当一RSS值大于预定的RSS下限值RSS_lb并且小于预定的RSS上限值RSS_ub时认为其是有效的。低于RSS_lb的MAC地址的RSS读数被认为太弱而不能用于在建筑物中定位移动设备(图1中的102)的位置。相反,高于RSS_ub的MAC地址的RSS读数被认为太强而不能用于在建筑物中定位移动设备(图1中的102)的位置。
因此,RSSi(n)是所有(即)实例的RSS值的一集合,其中n是Ni的元素(即∈Ni),其中当RSSi(n)满足RSS_lb<RSSi(n)<RSS_ub的条件时,Ni是所有n个值的集合。在数学上,这种关系可以表示如下。
其中Ni={n|RSS_lb<RSSi(n)<RSS_ub}
在步骤408,在步骤406中为在楼层k的射电图RMk中的校准点CPj处检测到的特定的MAC地址MACi计算出的RSSi(n)和Ni值,被用于根据下面的公式计算RSS指纹或者换言之平均接收信号强度值mRSS。
在数学术语中,上述公式将所有收集到的RSS值,即RSSi(N)在收集时从对数域转换到线性域。还计算线性域中收集到的RSS值的算术平均值,并且将计算出的算术平均值转换回对数域。由于对数域中的平均值不具有物理意义,所以平均值计算的求平均必须在线性域中完成。
重复步骤406和408以获取由测量移动设备为特定楼层的射电图中的特定校准点检测到的所有MAC地址的mRSS值。
为所有楼层和每个楼层的射电图中的所有校准点重复步骤402、404、406和408,以收集所有的数据从而形成多层建筑物412的射电图。
参照图5,每当参照图1描述的移动应用程序被用户激活来定位移动设备(图1中的102)的位置时,将由该移动应用程序指示该移动设备(图1中的102)去扫描周围以获取数据用于构建观测矩阵(OM)502。OM 502包含在扫描过程中检测到的WiFi接入点的所有MAC地址和接收信号强度(RSS)的列表。以这种方式构建的OM 502将表示移动设备(图1中的102)的位置,并且可以用于预测移动设备(图1中的102)的位置。应注意的是,与校准点(CP)不同,OM 502中的RSS值不是平均值。
在构建OM 502之后,将它发送到数据库服务器(图1中的106),以便进一步处理。OM502可以在数据库服务器(图1中的106)的请求时由移动设备(图1中的102)构建。
图6示出楼层辨别度量表(FDMT)602。FDMT 602被使用在楼层选择算法(图9中的900)中,用于在前述移动应用程序被执行以定位移动设备(图1中的102)的位置时检测移动设备(图1中的102)所位于的楼层。FDMT 602包含存在于为主题多层建筑物的每一楼层构建的所有射电图中的所有MAC地址。楼层辨别度量值(FDM)对应于每个MAC地址。FDM的计算如下。
即
其中k指示建筑物中的特定楼层,
n是多层建筑物中的楼层的数量,并且
(楼层k中特定MACi的RSS的方差)是多层建筑物中每个楼层中特定MACi的单独的方差的总和。
qk是楼层k中校准点的数量。
MRSSk,i是楼层k中特定MACi的RSS的平均值,
即
MRSSi是所有楼层之中特定MACi的RSS的平均值,
即
因此,楼层k中特定MACi的RSS的方差表示为
并且所有楼层之中特定MACi的RSS的方差FDMi由上面的公式表示。
FDMi的分子,即所有楼层之中MACi的RSS的方差指示从不同楼层的MACi接收的RSS有多大差异。差异越大,则MACi的楼层辨别能力越好。FDMi的分母用于归一化目的。
因此,基于该公式,特定MAC地址的FDM值基本上是在前述移动应用程序被执行以定位移动设备(图1中的102)的位置时,该特定MAC地址的设备能够在多大程度上分辨移动设备(图1中的102)所位于的楼层这样的指示。在本实例中,特定MAC地址的FDM值越大,则其为越好的指示。
图7详细示出运行在数据库服务器(图1中的106)上用以定位移动设备(图1中的102)的位置的主要应用程序的主流程图700。
在步骤702,由数据库服务器(图1中的106)从移动设备(图1中的102)接收OM(例如图5中的502),经由电信链路请求其位置信息。
在步骤704,楼层选择子例程运行在数据库服务器(图1中的106)上。当楼层选择子例程运行时,执行如下检查:是否需要在步骤706再一次运行楼层选择算法以推导楼层选择决定。如果满足检查的准确性要求,则推导出最终的楼层选择决定。如果不满足检查的准确性要求,则需要基于从移动设备(图1中的102)请求的另一个OM(例如图5中的502)来再次运行步骤706的楼层选择算法。楼层选择决定的数据可以正好是所决定的楼层数。下文将参照图8、图9和图10描述楼层选择子例程的细节。
在步骤702接收的每个OM(例如图5中的502)用在楼层选择子例程中以推导移动设备(图1中的102)所位于的楼层的楼层选择决定。在不满足是否需要在步骤706再一次运行楼层选择算法的检查的准确性要求的情况下,楼层选择子例程可以请求在移动设备(图1中的102)的位置处获得的更多的OM(例如图5中的502),用于处理以提供对移动设备(图1中的102)所位于的楼层的更准确的预测。因此,取决于来自楼层选择子例程的请求的数量,步骤702和704可以被重复多次。
在步骤708,从数据库服务器(图1中的106)的数据库获得在步骤706中记录的楼层k的RM。如果可能的话,楼层k的参照图3描述的RMk300被用于关注区域(ROI)选择子例程以确定RMk 300中移动设备(图1中的102)最可能位于的缩小的ROI。在步骤702接收到的OM(图5中的502)也用在ROI选择子例程中。下文将参照图11和图12描述ROI选择子例程的细节。
在步骤710完成ROI选择之后,记录所选择的所述移动设备(图1中的102)最有可能位于的ROI的数据。
在步骤712,选择最适合定位移动设备(图1中的102)的位置的OM(例如图5中的502)中的接入点。在此步骤中,如果可能的话,所选择的ROI也被细化为移动设备(图1中的102)最有可能位于的缩小的ROI。
在选择最适合定位移动设备(图1中的102)的位置的接入点,并且如果可能在步骤712中细化ROI之后,在步骤714运行位置估计子例程以进行核密度估计(KDE),用于推导移动设备(图1中的102)的位置估计值(x’,y’)和可靠性值r’,其是指示该位置估计值的可靠性的值。下文将参照图15描述位置估计子例程的细节。
在步骤716,可靠性值r’与预定的阈值Th2相比较。如果它大于Th2,则移动设备(图1中的102)的位置估计值(x’,y’)被认为是准确的,并且会在步骤718中被记录并用作移动设备(图1中的102)的位置估计值。如果r’等于或小于Th2,则主应用程序将请求从移动设备(图1中的102)检索(retrieve)新的OM(例如图5中的502),并且将使用新的OM(例如图5中的502)数据再次运行步骤702至716。Th2描述移动设备(图1中的102)的位置估计值的最大可接受方差。取决于在步骤706中所选择的楼层k的射电图的校准点之间的距离以及估计移动设备的位置所期望的预测准确性,其可以在10至50的范围内。TH2值越小,则结果越准确。
图8示出参照图7中步骤704和706描述的楼层选择子例程800的流程图。楼层选择子例程800负责在检查基于为移动设备(图1中的102)的特定位置获取的不同的OM(例如图5中的502)推导出的楼层选择决定的预定数量之后决定最终的楼层选择。每个楼层选择决定是对移动设备(图1中的102)最有可能所在的楼层的决定。楼层选择决定的预定数量由决定窗口802的长度W指示。
基于从移动设备(图1中的102)请求的OM(例如图5中的502)确定或推导出每个楼层选择决定。由于在获得OM(例如图5中的502)时影响由移动设备(图1中的102)进行的测量的一些因素,所请求的OM(例如图5中的502)的数据可能彼此不同。例如,一种这样的因素可能是影响移动设备(图1中的102)的WiFi接收或在移动设备(图1中的102)的位置处可检测的接入点的WiFi服务提供的环境条件。因此,使得楼层选择子例程800基于移动设备(图1中的102)的一个位置的多于一个的楼层选择决定来进行最终的楼层选择决定,可以有助于获取在该位置处对移动设备(图1中的102)所在楼层的更准确的预测。
在楼层选择子例程800中,W为4。可以理解,取决于期望实现的准确性的程度,W的数量可以是1或更大。图8中的图形表示804示出决定窗口802的概念。由于在此例中W为4,所以图形表示804示出水平并排串联的4个时隙(slot)。每个时隙表示基于从移动设备(图1中的102)请求的OM推导出的楼层选择决定。4个时隙从最新的决定到最旧的决定排序。图形表示804中最左的时隙806表示最新的楼层选择决定,并且最右的时隙808表示最旧的楼层选择决定。最近的楼层选择决定排队进入最左的时隙806,并且在最近的楼层选择决定排队进入时最旧的楼层选择决定排队移出最右的时隙808。在图形表示804中,从左至右,最新的楼层决定806示出“楼层3”作为其决定,紧接下一个时隙为“楼层2”,之后是“楼层1”,并且最后“楼层1”在最右的时隙808中。
楼层选择子例程800以在数据库服务器(图1中的106)中存在表示决定窗口802的数据开始。
在步骤810,运行参照图7的步骤706描述的楼层选择算法以推导出楼层选择决定。在移动设备(图1中的102)的位置处获得的OM(例如图5中的502)的数据和随后由数据库服务器(图1中的106)获取的OM(例如图5中502)的数据被用在楼层选择算法中以推导楼层选择决定。下文参照图9描述楼层选择算法的细节。
在于步骤810从楼层选择算法推导出一个楼层选择决定之后,将在步骤812中以如下的方式操纵推导出的楼层选择决定的数据,即,使得在数据操纵的图形表示804中,推导出的楼层选择决定排队进入最左的时隙806作为最近的楼层选择决定。同时,最右的时隙808中的最旧的楼层选择决定的数据将被排队移出。在对图8描述的例子中,任何排队移出的楼层选择决定将不会被再次考虑用于确定最终的楼层选择决定。
步骤814是指检查是否需要再一次运行楼层选择算法以基于从移动设备(图1中的102)请求的另一个OM(例如图5中的502)来推导楼层选择决定。
更具体地,实施检查以查看决定窗口802中的所有楼层选择决定(在该例子中为4个楼层选择决定)是否相等。换句话说,是否所有4个楼层选择决定均指示主题多层建筑物的同一楼层数。参照图8中决定窗口802的第二图形表示818,如果决定窗口802中的所有4个决定均指示同一楼层数,例如楼层2,则满足选择楼层数作为最终的预测楼层的要求,并且将在步骤816中输出和存储最终的预测楼层的数据。
在这一情况下,如果决定窗口802中的4个决定中的任何一个不指示同一楼层数,则将从移动设备(图1中的102)请求另一个OM(图5中的502)用于推导新的楼层选择决定。当发生这种情况时,将再次重复步骤810、812和814。基于为此情况设定的要求,只要所有的4个决定不相等,则楼层选择子例程800将再次重复步骤810、812和814。可以例如在生成指示无法确定楼层的消息之前,为楼层选择子例程800设定重复步骤810、812和814的预定次数。可以理解,可以实现低严格度的要求。例如,如果4个楼层决定中的3个是相同的,则用于选择楼层数作为最终的预测楼层的要求可以被满足。
下面将参照图9描述由楼层选择算法(图9中的900)推导每个楼层选择决定。
在步骤902,由数据库服务器(图1中的106)从移动设备(图1中的102)接收OM(例如图5中的502)。
在步骤904,从在步骤902中接收到的OM(例如图5中的502)中选择具有参照图6描述的FDMT 602中的最大FDM值的N个MAC地址。何为最大的FDM值是预定的。N是基于用于确定移动设备(图1中的102)的位置的楼层所期望的预测准确性而选择的值。例如,N可以在2到10的范围中。就选择最大的FDM值而言,如果例如,第一个MAC1的FDM值等于5,第二个MAC2的FDM值等于3,并且第三个MAC3的FDM值等于10,则第三个MAC3将被视为具有最大的FDM值。
在步骤906,基于下面的公式计算在主题多层建筑物的一个楼层上观测到的N个MAC地址之一的概率。
Pr(MACi在楼层k上)=KDE_FSA(MACi,RSSi,RMk)
其中Pr(MACi在楼层k上)为在楼层k上观测到特定的MAC地址MACi的概率,
MACi是具有FDMT 602中最大FDM值的N个MAC地址中的MAC地址,
RSSi是具有FDMT 602中最大FDM值的N个MAC地址中的MAC地址MACi的对应的接收信号强度,
i指示具有FDMT 602中最大FDM值的N个MAC地址中的哪个MACi和对应的RSSi,并且
RMk是主题多层建筑物中楼层k的射电图。
KDE_FSA(MACi,RSSi,RMk)是Pr(MACi在楼层k上)的函数,并且将参照图10更详细地描述之。应注意的是,KDE_FSA仅是数学函数表达式,并且可以被扩展读为“核密度估计(KDE)_楼层选择算法(FSA)”。应理解的是,也可以使用任何其它数学函数表达式,例如f(MACi,RSSi,RMk)。
为多层建筑物的每一楼层重复步骤906,以在步骤908中形成向量(或者也称为矩阵)VECi,VECi包含在主题多层建筑物的每一个楼层上观测到特定的MAC地址MACi的所有概率的列表。在步骤906中相应使用包含每个楼层的单独RM的建筑物914的射电图(RM)。VECi与特定的MACi相关联。VECi在数学上被表示如下。
为所选择的N个MAC地址中的每个重复步骤906和908。
在重复步骤906和908之后,形成N个MAC地址中的每个的VECi。
在步骤910,将所形成的VECi中的为每个楼层观测到的所有N个MAC地址的概率的数据相加,并将其存储在由总和向量SUM_VEC表示的矩阵中。在数学上,SUM_VEC由公式表示如下。
其中
是在主题多层建筑物的楼层k上观测到的所有相应的MAC地址的总和概率。
在步骤912,选择SUM_VEC中具有最大的总和概率的楼层数。然后将所选择的楼层数输出作为楼层选择算法900的楼层选择决定。为了便于描述,在本文中此所选择或所预测的楼层数被给予表达式k_sel。
对于所述楼层选择例程,工作原理是利用在每个楼层上观测或检测到接入点的所有MAC地址的概率作为用于楼层选择的指标(indicator)。可以理解,具有在该楼层上观测或检测到接入点的MAC地址的最高概率的楼层是移动设备(图1中的102)最有可能所在的楼层。如果两个楼层的最大的总和概率的最大值相同,则将随机选择这两个楼层之一。
下面将参照图10中的子例程流程图1000描述KDE_FSA(MACi,RSSi,RMk)的计算。
在步骤1002,获取用于图9中楼层选择算法900的MACi,RSSi和RMk。如参照图9所描述的,MACi是具有参照图6描述的FDMT 602中最大FDM值的所选择的N个MAC地址中的MAC地址,RSSi是该MAC地址MACi的对应的接收信号强度,并且RMk是主题多层建筑物中楼层k的射电图。
在步骤1004,选择RMk中包含MACi的校准点(CP)。以这种方式选择的CP的数量被指示为NKDE。NKDE是包含特定MACi的RMk中CP的数量。NKDE是例如取决于CP之间的距离和移动设备(图1中的102)所位于的环境的变量。
在步骤1006,计算每个所选择的CP的位置概率Pr(CPj)。位置概率是指RMk中包含特定MACi的所选择的CP的位置是移动设备(图1中的102)的位置的概率,并且基于在RMk中所选择的CP的位置测量到的OM(例如图5中的502)中某个观测到的RSS值的概率推导出。在此情况中,假设RSS值遵循正态(或高斯)概率分布函数,由下列公式计算从CP的特定位置所取得的某个观测到的RSS值的概率。
其中,mRSSj k,i是所选择的CPj的平均接收信号强度,并且基于先前参照图4的步骤408描述的公式计算mRSSj k,i,
RSSi是包含在所选择的CPj中的MACi的对应的接收信号强度,
取决于j是表达式CP或mRSS的下标还是上标,j指示RMk中哪一个CP包含MACi,或者该CP对应的mRSS,
取决于i是表达式RSS或mRSS的下标还是上标,i指示RMk中哪一个RSS或mRSS与MACi相关联,并且
C和B是预定的参数。
在此情况下,C=√(2π),即大约2.507,并且B=σ2,其中σ是基于环境和RMk中校准点之间的距离而预定的高斯核带宽值。σ可以在2至20的范围内。
虽然用于Pr(CPj)的公式基于正态(或高斯)概率分布函数(PDF),但是可以理解,也可以使用诸如拉普拉斯PDF、均匀PDF或任何其它合适的用户定义PDF等其它的PDF。
为所有的NKDE个CP重复步骤1006,以计算每个CP的位置概率。
在步骤1008,对NKDE个CP中的每个的所有计算出的位置概率求和。此总和KDE_FSA(MACi,RSSi,RMk)可以在数学上表示如下。
可以看到,NKDE个CP中每个的所有位置概率的总和概率,即KDE_FSA(MACi,RSSi,RMk)将指示在楼层k上观测到具有最大FDM值的所选择的N个MAC地址中特定MACi的概率,即Pr(MACi在楼层k上)。此总和概率考虑到包含特定MACi的楼层k中所有的校准点。因此,在步骤1010,Pr(MACi在楼层k上)被设置成KDE_FSA(MACi,RSSi,RMk)的值。这在数学上表示如下。
图11示出参照图7的步骤708描述的关注区域(ROI)选择子例程的第一部分的流程图1100。如果可能的话,ROI选择子例程的第一部分用于确定参照图8描述的步骤816中预测楼层的射电图1112中缩小的ROI。
如果存在从图7的步骤712推导出的先前位置估计值(x’,y’)prev,则先前位置估计值(x’,y’)prev将被用于确定预测楼层k_sel的射电图1112中缩小的ROI。然而,如果不存在先前位置估计值(x’,y’)prev,或者如果(x’,y’)prev被标记为“离群值”,则ROI将不被缩小,并且预测楼层k_sel的整个射电图1112被选择作为ROI。“离群值”是指被认为对于预测移动设备(图1中的102)的位置而言不可靠的位置估计值。更详细地说,“离群值”是指在经过图7的步骤714中(更具体地说,在下文讨论的图15的步骤1510中)的可靠性检查之后,具有等于或小于预定阈值Th1的总和位置概率的位置估计值。总和位置概率由下面的数学表达式表示并且将参照图15在下文中详述。
此外,如果在与先前位置估计值的预测楼层比较时,移动设备(图1中的102)所位于的最近的预测楼层中存在变化(从图9的步骤912输出),则最近的预测楼层的射电图将被选择作为ROI。
应理解,对于待选择的ROI,其意味着选择该ROI中所有校准点的数据。
关注区域(ROI)选择子例程1100开始于步骤1102。在步骤1102,如果存在,则检索先前已从图7的步骤718输出的移动设备(图1中的102)的先前的位置估计值(x’,y’)prev。
在步骤1104,检索到的(x’,y’)prev(假设存在)被选择作为预测楼层k_sel的射电图RMk_sel 1112中的ROI的中心。在该步骤中需要处理预测楼层k_sel的射电图RMk_sel 1112。
在概念上,在步骤1106,在预测楼层k_sel的射电图RMk_sel 1112上绘制具有预定长度ROI_WIDTH且以(x’,y’)prev为中心的正方形。此正方形实质上划出缩小的ROI。ROI_WIDTH是基于环境因素和对于移动设备(图1中的102)的位置所期望的预测准确性而选择的值。表示所覆盖的校准点数量的长度ROI_WIDTH可以例如是2至10个校准点长。可以理解,也可以使用圆形、长方形或除正方形外的其它形状。
在步骤1108,选择预测楼层k_sel的射电图RMk_sel 1112中的和正方形中的所有校准点(CP)。
在步骤1110,输出在步骤1108中选择的CP的数据作为选择的ROI。
图12示出参照图7的步骤708描述的关注区域(ROI)选择子例程的第二部分的流程图1200。流程图1200是图11中流程图1100的接续。
在步骤1202,将从图11的流程图1100表示的ROI选择子例程的第一部分选择的ROI和在图7的步骤702中接收到的OM(例如图5中的502)收集起来用于处理。
在步骤1204,获得所选择的ROI的所有校准点中的所有MAC地址的并集(依据概率论)。该并集基本上是可以在所选择的ROI的每个校准点中找到的所有MAC地址的列表。在两个或更多个校准点中找到的相同的MAC地址在列表中不重复(duplicate)。
在步骤1206,从OM(例如图5中的502)中去除在该并集中未找到的OM(例如图5中的502)中的所有MAC地址。此步骤实质上去除不可能有助于预测移动设备(图1中的102)的位置的OM中接入点的所有MAC地址。在所选择的ROI的CP中找到的MAC地址更可信,因为它们是在创建参照图4描述的主题建筑物的射电图中检测到的。创建主题建筑物的射电图可以由服务提供者管理质量并且定期更新以确保数据可信。另一方面,OM的数据由属于随机用户的移动设备(图1中的102)收集,因此,数据源较不可信。
在步骤1208,去除所选择的ROI中出现少于校准点的XAPS%的OM的MAC地址。这进一步将由OM检测到的接入点过滤为仅留最可能非常有助于预测移动设备(图1中的102)的位置的OM。XAPS%是基于为移动设备(图1中的102)的位置所期望的预测准确性而选择的值。其可以在例如25-75%的范围内。
在步骤1210,从OM中选择具有最大RSS值的dAPS个接入点,更具体地说是其MAC地址。此步骤将由OM检测到的接入点数量过滤为仅留与具有较弱RSS的接入点相比具有较强RSS以非常有助于预测移动设备(图1中的102)的那些接入点。存储dAPS个接入点的MAC地址的数据和其对应的RSS值,并且在本文中由变量AP_LIST表示。dAPS是基于为移动设备(图1中的102)的位置所期望的预测准确性而选择的值。其选择取决于所选择的ROI中校准点的数量和分配给涉及dAPS个接入点的处理的可接受的计算时间。如果dAPS数量太多,则需要大量计算并且位置估计时间可能变得不可接受。dAPS数量可以例如是2到10。
步骤1212和1214用于ROI细化。其目的是进一步细化或缩小所选择的ROI,用于更好地预测移动设备(图1中的102)的位置。
在步骤1212,仅选择所选择的ROI(其包含AP_LIST中dAPS个接入点)内的所有CP。存储所选择的CP的数据,并且在本文中由变量CP_LIST_1表示。
在步骤1214,从CP_LIST_1中CP的数据去除不在AP_LIST中的接入点的MAC地址,以得到新的CP的列表,在本文中由变量CP_LIST_2表示。因此,CP_LIST_2包含所选择的ROI中的CP,其仅具有带有在待预测位置处由移动设备(图1中的102)检测到的较强RSS的接入点的MAC地址。
在步骤1216,输出AP_LIST和CP_LIST_2用于进一步处理。
图13示出包含在以参照图12描述的方式生成的AP_LIST 1300中的数据。在图13中,由包含MAC地址MAC2,MAC6,MAC13和MAC8以及对应的接收信号强度RSS2,RSS6,RSS13和RSS8的表1302表示这些数据。应理解,表1302的内容示出AP_LIST中的MAC地址及其对应的RSS值的随机样本。MAC地址和对应的RSS值将取决于在图12的步骤1216中输出何值作为AP_LIST而改变。AP_LIST中MAC地址的RSS值由向量X 1304表示,其可以在数学上表示如下。
图14示出包含在于图12的步骤1216输出的CP_LIST_2 1400的校准点中的数据。在图14中特别示出两个示例性校准点CPk_sel,3(xk_sel,3,yk_sel,3)和CPk_sel,5(xk_sel,5,yk_sel,5)的数据。CPk_sel,3(xk_sel,3,yk_sel,3)由第一表1402表示,并且CPk_sel,5(xk_sel,5,yk_sel,5)由第二表1404表示。
参照图13的AP_LIST 1300中的随机样本,第一表1402包含MAC地址MAC2,MAC6,MAC13和MAC8,以及相应的平均接收信号强度mRSS3 k_sel,2,mRSS3 k_sel,6,mRSS3 k_sel,13和mRSS3 k_sel,8。第二表1404包含MAC地址MAC2,MAC6,MAC13和MAC8,以及相应的平均接收信号强度mRSS5 k_sel,2,mRSS5 k_sel,6,mRSS5 k_sel,13和mRSS5 k_sel,8。应注意的是,对应于相应的MAC地址的这些mRSS值源自预测楼层k_sel的射电图(图11中的1112)。CPk_sel,3(xk_sel,3,yk_sel,3)和CPk_sel,5(xk_sel,5,yk_sel,5)中的mRSS值分别由向量Y3 1408和Y5 1406表示,它们可以在数学上表示如下。
在为两个校准点和对应的mRSS值给出的表达式中,k_sel指示移动设备(图1中的102)所位于的主题建筑物的预测楼层(从图9的步骤912输出),数字3和5表示列在CP_LIST_2 1400中的相应的校准点,并且数字2,6,13和8分别表示分别对应于MAC地址MAC2,MAC6,MAC13和MAC8的mRSS值。
图15示出参照图7的步骤714描述的位置估计子例程的流程图1500。位置估计子例程大致上进行核密度估计(KDE),用于推导出移动设备(图1中的102)的位置估计值和可靠性值 指示该位置估计值的可靠性。
位置估计子例程开始于步骤1502,其检索以参照图12描述的方式生成的AP_LIST(例如图13中的1300)、从图12的步骤1216输出的CP_LIST_2(例如图14中的1400)以及预测楼层k_sel的射电图(从图9的步骤912输出)RMk_sel,用于处理。
在步骤1504,由如下公式计算CP_LIST_2(例如,图14中的1400)中每个CP的位置概率。
其中CPj指示CP_LIST_2(例如,图14中的1400)中的哪个CP,
Yj是包含CP_LIST_2(例如,图14中的1400)的CPj中平均接收信号强度的列表的向量,例如,图14中的Y3 1408和Y5 1406,
X是包含AP_LIST(例如图13中的1300)中所有MAC地址的对应的接收信号强度的列表的向量,例如,图13中的X 1304,
取决于j是表达式CP还是Y的下标或上标,j指示CP_LIST_2(例如,图14中的1400)中的CP或者CP_LIST_2中该CP的Y向量。
C和B是基于高斯概率密度函数的预定参数。这里,C和B的数学公式如下。
以及B=cov
其中,“COV”是2×2的对角矩阵,其对角线元素是接收信号强度的高斯核带宽并且“det”表示正方形矩阵的行列式。
用于Pr(CPj)的公式基于正态(或高斯)概率分布函数(PDF)。应理解,也可以使用诸如拉普拉斯PDF、均匀PDF或任何其它合适的用户定义的PDF等其它的PDF。
重复步骤1504的计算直到推导出CP_LIST_2中所有CP的位置概率。
在步骤1506,选择具有最大概率的LKDE个CP。此选择是挑选出CP_LIST_2中可以最好地表示移动设备(图1中的102)的位置的CP。LKDE是基于校准点之间的距离和用于确定移动设备(图1中的102)的位置估计值所期望的预测准确性而选择的预定数量。例如,其可以在2到10的范围内。
在步骤1508,在步骤1506中所选择的LKDE个CP中的每个的所有最大位置概率结果的总和SUM_LKDE与阈值Th1进行比较。
Th1描述在关注区域(ROI)中移动设备(图1中的102)的位置估计值的最小可接受概率总和。基于以下因素确定Th1:
i)环境;
ii)CP之间的距离;
iii)用于位置估计的AP数量,即dAPS;
iv)用于位置估计的CP数量,即LKDE;
v)位置估计所期望的预测准确性。
Th1可以在10-4~10-8的范围内。
SUM_LKDE在数学上表示如下。
其中,Q表示在步骤1506中所选择的LKDE个CP的索引。例如,所选择的CP1的索引是1。
SUM_LKDE表示移动设备(图1中的102)的位置可以由所选择的LKDE个CP多大程度地表示。
如果SUM_LKDE大于Th1,则将在步骤1510中计算移动设备(图1中的102)的位置估计值。
如果SUM_LKDE等于或小于Th1,则在步骤1514中选择从位置估计子例程先前推导出的位置向量和先前推导出的位置可靠性值在此情况下,在步骤1510中计算出的位置估计值将被指示为前面参照图11描述的“离群值”。
在步骤1510,由以下公式计算移动设备(图1中的102)的位置的位置估计值
因此,
其中(xk_sel,j,yk_sel,j)指示LKDE个CP中的每个的坐标,并且
Pr(CPj)是CPj中所产生的位置概率。
该公式大致上计算LKDE个CP中的每个的x和y坐标的加权平均值,以得到位置估计值为帮助理解,例如,如果Pr(CP1)=0.2,xk_sel,1=10,yk_sel,1=20并且Pr(CP2)=0.5,xk_sel,2=30,yk_sel,2=40,则基于CP1和CP2的位置估计值由以及给出。
在步骤1512,可靠性值推导如下。
其中,是表示位置估计值的所有协方差矩阵的加权总和的2×2的矩阵,
D是2×2的对角矩阵,其对角线元素是笛卡尔“x-y”坐标的高斯核带宽,并且
是指包含矩阵的最大值。
矩阵描述位置估计值与用于计算该位置估计值的CP位置的相似性。换句话说,描述位置估计值作为对移动设备(图1中的102)的位置的估计值有多大置信度。的最大特征值的平方根是此置信度的数学表示。
在步骤1516,若是在步骤1510中计算出的位置估计值不指示为“离群值”,则将分别输出计算出的位置估计值和在步骤1512中计算出的作为移动设备(图1中的102)的预测位置和对应的可靠性值。否则,将输出所选择的先前推导出的位置向量和先前推导出的位置可靠性值
为了更准确的楼层选择,可以采取额外的步骤。例如,参照图7,当主应用程序第一次启动时,可以使在步骤706中执行的楼层选择子例程(图8中的800)执行预定次数,以确定移动设备(图1中的102)所在的楼层。一旦确定移动设备(图1中的102)所在的楼层,则将使得图7中做出决定的步骤704启动楼层选择子例程(图8中的800),当且仅当:
i)检测到离群值;并且
ii)当位置估算值落入楼层切换区域。
楼层切换区域是预定义的,并且接近可以改变楼层的电梯、自动扶梯和楼梯等。这些区域可以表示为正方形、圆形和任何其它形状。这些区域的大小由特定建筑物中的环境和人的通常运动速度确定。其可以在10m2~100m2的范围内。
可以由用户手动激活或由移动设备(图1中的102)以基于所涉及技术的应用程序设定的时间间隔自动地定期更新位置估计值的更新,即图7中步骤708至718的调用。例如,对于多层商场中的购物者,该时间间隔可以是15秒。
对于前面描述的由数据库服务器(图1中的106)从移动设备(图1中的102)检索的观测矩阵(OM)的数据,应理解,可替代地,数据库服务器(图1中的106)可以接收包含在OM中来自移动设备(图1中的102)直接可观测或可检测的每一个接入点的数据。在从移动设备(图1中的102)接收到探测信号之后,来自移动设备(图1中的102)直接可观测或可检测的一个或多个接入点的数据可以被发送到数据库服务器(图1中的106)。更详细地,每个接入点将其MAC地址的数据和对应的RSS值直接发送到数据库服务器(图1中的106),而在先前的示例中发送到移动设备(图1中的102)。数据库服务器(图1中的106)使用从每个接入点收集的所有数据来创建OM。然后,由数据库服务器(图1中的106)创建的OM将用在参照图7描述的各种子例程中作进一步处理,以预测移动设备(图1中的102)的楼层和位置估计值。有利的是,在这种情况下,移动设备(图1中的102)不负责创建任何OM,并且其结果是,不太可能遇到例如防止移动设备与数据库服务器(图1中的106)直接通信的安全性或技术特征的问题。
图1中的数据库服务器106可以是在图16中示意性地示出的计算机1600。可以设置软件,如在计算机1600内执行的一个或多个计算机程序,并且指示计算机1600存储数据、与图1中的移动设备102通信并从其检索数据,包括例如至少在图7中描述的用于生成主题建筑物的射电图的代码指令、楼层选择子例程、ROI选择子例程、位置估计子例程。
计算机1600包括用于处理一个或多个计算机程序的处理单元1602,并且包括输入模块,如键盘/小键盘1604,和/或多个输出设备,如显示器1608,以便于与计算机系统1600的交互。
处理单元1602可以连接到数据存储装置(包括数据库或存储器)1630,用于存储例如主题建筑物的射电图的数据、来自图1中移动设备102的观测矩阵以及所有的输入、用于比较的阈值和至少在图7中描述的各种子例程的输出。
处理单元1602可以经由合适的收发设备1614(即网络接口)连接到计算机网络1612,以允许访问,例如互联网或其它网络系统,如有线局域网(LAN)或广域网(WAN)。处理单元1602还可以经由包括WiFi收发机、适合于全球移动通信系统(GSM)、3G、3.5G、4G通信系统的移动通信收发机等合适的无线收发设备1632连接到一个或多个外部的无线通信功能设备1634(例如,图1中的移动设备102)。
在本示例中,处理单元1602包括处理器1618和存储器,如随机存取存储器(RAM)1620和只读存储器(ROM)1622。处理单元1602还包括多个输入/输出(I/O)接口,例如至显示器1608的I/O接口1624,和至键盘1604的I/O接口1626。
处理单元1602的组件通常经由互连总线1628并且以本领域技术人员已知的现有技术领域中的方式进行通信。
计算机程序还可以包括一个或多个软件应用程序,例如用于互联网访问、操作计算机系统1600(即操作系统)、网络安全、文件访问、数据库管理等通常装配在台式或便携式计算机上的应用程序。可以将计算机程序编码在诸如CD、DVD、闪存存储器载体或硬盘驱动器等数据存储介质上提供给计算机系统1600的用户。这样的应用程序还可以从计算机网络1612下载。可以由处理器1618读取和在其执行中控制应用程序。可以使用RAM 1620来实现程序数据的中间存储。
此外,计算机程序的一个或多个步骤可以并行地而不是顺序地执行。一个或多个计算机程序可以存储在任何计算机可读介质上。计算机可读介质可以包括存储设备,如磁盘或光盘、存储器片、或者适于与通用计算机接口的其它存储设备。计算机可读介质还可以包括诸如在互联网系统中示例的硬连线介质,或者在无线局域网(WLAN)系统中示例的无线介质。当在通用计算机上加载和执行这样的计算机程序时,有效地得到实现本文所描述的示例中的计算处理和方法的步骤的装置。
参照图17,图1中系统100(在图17中表示为1700)的通用组件可以被划分为5个模块,即室内导航模块1702、管理接口模块1704、数据库模块1706、帐户管理模块1708和移动应用程序模块1710。
该5个模块是通用性的,并且可以通过软件编程适用于不同的应用程序。
室内导航模块1702驻留在移动应用程序模块1710中,该移动应用程序模块1710以移动应用程序的形式被下载到用户的移动设备中。移动应用程序模块1710提供移动设备上的图形接口,用户通过其利用室内导航服务或报告他/她当前的位置用于跟踪。用户的移动设备的更具体的示例是具有下列操作系统的智能手机:iOS、安卓(Android)和塞班(Symbian)操作系统。这些商用的现成的智能手机不仅广泛可用且用户友好,它们的多媒体功能还意味着有用的特征可以合并到室内定位平台中,如将相关的信息推送到在指定地点的移动设备或者将特定位置识别促销广告推送到用户的移动设备。
通过实施可被自由下载到许多人都拥有的常用移动设备的移动应用中的室内定位技术,该技术将有利地被融入人们的日常生活。这类似于全球定位系统(GPS)如何成为现代移动电话的主要功能。替代用于跟踪人和物体的大多数当前的解决方案中的定制专用标签,通过系统1700,可以利用许多现代建筑物室内可找到的现有WiFi网络来跟踪人和物体。
每个用户将能够创建由帐户管理模块1708处理的个人网上账户。通过网上帐户,系统管理员和用户能够配置个人档案和偏好。一旦登录,用户的位置可以被实时更新到数据库模块1706。取决于管理接口模块1704的配置,存储在数据库模块1706中的实时位置可以被推送到其他用户或由其他用户拉取。
管理接口模块1704是所有信息的中央控制器。这将能够从数据库模块1706检索实时位置更新并且视觉地映射所有用户的瞬时位置。通过此模块,系统管理员能够决定在特定的时间和位置从特定的用户推送或拉取的其它数据或信息。
室内导航模块1702包括主题多层建筑物的射电图1712、定位引擎1714和导航引擎。在提供导航功能中,最重要也是最有挑战性的任务是确定用户的当前位置。存在使用诸如到达时间(TOA)、到达时间差(TDOA)和路径损耗确定等射频(RF)波形来室外定位的许多技术。TOA和TDOA经常用在具有诸如GPS等专用硬件的专有无线定位系统中,以提供高度准确的定位。然而,由于用户的不便(例如不方便携带射频识别(RFID)标签)、系统复杂性(例如复杂的无线系统装备要求)、成本和不准确性(例如GPS可能经常相对不准确),它们不适于室内环境。
在系统1700中,现有的WiFi网络被接入用于定位,而无需专有无线定位系统的额外的专用硬件,并且使用路径损耗确定方法。
路径损耗确定方法基于这样的基本物理现象:根据一定路径损耗模型,RF功率的衰减随距离增加。换句话说,如果传输功率是已知的,并且在接收器处测量RF功率,则将接收功率和传输功率之间的差异提供给端到端的信道衰减。假设该路径损耗模型是已知的,则用测量到的信道衰减,可以计算出发射器和接收器之间的距离。现在,如果用户能够从多个WiFi接入点接收RF信号,并测量每个信道衰减,则用户将能够通过三角测量来确定他/她的当前位置。
然而在现实中,不能准确地估计路径损耗模型,因为它在很大程度上取决于诸如建筑物的结构、家具的放置和人流量条件等变量。为了克服这个问题,在系统1700中,进行整个环境(即主题建筑物的每一楼层)的“RF指纹识别”(这是指前面描述的主题建筑物的射电图的构建)。首先,将环境划分为包含大量定位点(或校准点)的网格,其中每个相邻的定位点之间的距离例如为2m。然后,依次在每个定位点处放置校准接收器,其将从周围的WiFi接入点测量接收信号强度(RSS),标记包括到特定定位点的RSS的数据和接入点的MAC地址的向量,以及在数据库中保存该信息。在遍历所有的定位点之后,此数据库将形成环境的射电图。因此,射电图给出了来自特定接入点(由它们的MAC地址识别)的移动设备的接收信号强度和在环境内的位置之间的一对一映射。
然后,由定位引擎1714利用该射电图通过无线链接的用户设备确定任意用户的建筑物楼层和该楼层上的位置。假设环境中存在用户试图使用他/她的移动设备来确定他/她的位置,该移动设备将首先从范围内的所有周围的WiFi接入点测量RSS并且搜索最接近测量到的RSS向量的RSS向量的射电图。然后,定位引擎1714将在射电图中选择最接近的RSS向量的位置作为用户的位置估计值。该RSS向量可以是包含CP_LIST_2的CP中的平均RSS的向量。例如,图14中的Y3 1408和Y5 1406。
虽然射电图提供位置和测量结果之间一对一的确定性映射,但是由于人流量和环境变化(如家具移动),此映射变得“有噪声”并且位置和测量结果之间的关系将变得具有概率性。因此,在这里使用信道变化模型来确定测量到的RSS向量与真实位置之间的概率性关系。该模型将根据时间和日期捕捉测量到的RSS向量和射电图中的偏差。信道变化模型指的是高斯概率密度函数(例如,在图10中步骤1006和图15中步骤1504应用的公式)。应理解,也可以使用其它类型的PDF,如拉普拉斯PDF、均匀PDF等。
可以通过在不同的位置和一天中的不同时间进行测量并且将它们与对应的现场人流量条件相关联,来创建准确和健壮的信道变化模型。一旦准确地确定用户的位置,则可以通过搜索用户和目的地之间的最近路线来提供导航服务。这将通过导航引擎来处理。合适的路径查找算法被用于导航引擎。
有利的是,系统1700通过接入现有的WiFi接入点(其已经部署在建筑物中用于无线数据服务)来实现室内定位。因此,无需专用WiFi接入点部署计划、WiFi网络的直接控制和用于这些目的的任何专用基础设施。
此外,系统1700可以有利地被配置为在正确的时间以及在正确的地方将相关信息和数据推送给正确的用户。这种智能选择性将允许组织机构能够更好地管理他们的员工和信息共享。
这在移动定位识别销售中也是重要的,因为其防止过度推销,从长远来看,过度推销会导致用户完全离开平台。这种销售中的准确性是对诸如来自苹果(Apple)的iAdTM等当前移动销售平台的改进,其通过移动应用程序无过滤地推送广告。诸如Go!ShoppingTM,SgMallsTM和Point InsideTM等另一组移动应用程序,仅提供地图和目录服务,而没有确定建筑物楼层和建筑物楼层上的位置的室内定位能力。
在医院中,在任何时间点保持跟踪所有的关键医务人员和重要的医疗设备是至关重要的。浪费在搜索正确的人或设备上的任何时间将严重地削弱病人的生存概率。如果系统1700被部署在医院里,则其将能够保持跟踪所有的设备、人员、医务人员甚至患者。通过管理接口模块1704,系统管理员将能够看见被跟踪的所有人和物体的位置。在紧急情况下,管理者将能够派遣最近的医疗人员和设备去照顾病人。
系统1700还可以用来作为一种生产工具,以改善工作流程和工艺,因为该系统能够测量关键的性能度量值,如平均响应时间、车床利用率等。例如,如果在繁忙的周六下午的午餐时间,餐厅老板仍有几个空桌,并且他/她想要餐厅满员以最大化一天的收益。使用系统1700,他/她能瞬间将促销广告推出到商场的餐厅区附近的购物者,并且还推出到将“食品和饮料”作为自己选择的购物偏好的那些用户。这个目标群体的购物者最有可能寻找吃午饭的地方。在收到促销广告时,有兴趣的消费者会点击“导航”按钮,并且系统1700将向他们示出从他们的当前位置到该餐厅的最短路径。因此,系统1700作为以及时的方式直接而准确地连接零售商和相关购物者的虚拟桥梁。
有利的是,使用系统1700,消费者可不再需要长途跋涉整个大型商场来寻找最合理的价格。所有的信息均在他们的指尖下立即可用(即被推送到其激活的移动设备)。此外,系统1700接入购物商场中现有的WiFi网络以提供这些室内导航和移动销售服务。这将降低基础设施成本。
系统100的一个应用程序场景如下。
为了享有对建筑物中智能手机可用的广告的访问,消费者可以从应用程序商店(对于iPhoneTM用户)、AndroidTM市场(对于AndroidTM手机用户)等将移动应用程序下载到他们的智能手机中。一旦消费者已经下载应用程序,则他或她必须在专有服务器上创建帐户。消费者将由他或她的用户名和密码唯一识别。他或她将被要求填写包括他或她的个人资料、购物偏好、兴趣爱好等的表格。唯一的强制性项目可能是在用的电子邮件地址。表格中的剩余项目/细节可做成可选的。当消费者在他或她的智能手机上激活移动应用程序时,该应用程序能够估计消费者的建筑物楼层位置和该建筑物楼层上的位置,并且将信息通过3G/GPRS数据链路发送回专有服务器。然后,用这些位置信息,专有服务器能够再次通过3G/GPRS数据链路根据时间、位置和偏好将相关的广告推送给消费者。
如何在智能手机上实现参照图1描述的移动应用程序的图形用户界面(GUI)的示例描述如下。应理解,在不同的智能手机中的GUI可以不同,但是几个基本特征将保持大致相似。
GUI中可能有以下基本特征。
用于搜索的功能按钮或自动激活特征:此按钮或特征链接到中心目录,在此消费者可以根据名称或类别搜索特定零售店,搜寻来自特定零售点的特定广告,搜索例如洗手间、自动取款机等设施。
用于指示身边有什么的功能按钮或自动激活特征:此按钮或特征激活对来自智能手机的预定半径范围(可以由用户定义)内零食店的广告的显示。因此,此按钮会根据位置而显示广告。应理解,广告不一定是对产品或服务的推销,它们还可以包含用于共享的任何信息。
用于指示当前时刻发生什么的功能按钮或自动激活特征:此按钮或特征激活对在当前时间段(例如在过去一个小时)发布的广告的显示。因此,此按钮会根据时间来显示广告。
用于指示当消费者进店时在展览什么的功能按钮或自动激活特征:此按钮或特征例如可以示出向实际进入其商店的消费者提供产品促销活动的零售商提供的广告。
用于在消费者进店时生成虚拟分数(virtual point)的功能按钮或自动激活特征:此按钮或特征可以向实际进入其商店的消费者回报分数,该分数可以用于兑换礼品或优惠券。
用于指示消费者偏好什么的功能按钮或自动激活特征:此按钮或自动激活特征示出来自由消费者定义的偏好列表上的零售商的广告。当消费者实际进入参与的销售点时,系统服务器将针对该销售点的信息自动推送到消费者的智能手机。
应理解,除了推送针对消费者进入的当前商店的信息,还有以下替代方案。
i)将来自所进入的当前商店的竞争者的广告推送给消费者。
ii)将售卖作为当前商店补充(complimentary)的产品的商店的广告推送给消费者。例如,如果消费者走进售卖商务衬衫的商店,则将售卖领带的另一家商店的广告推送给他或她。
iii)如果消费者已经花了若干时间X在商店的特定商场部Y(例如儿童部),则将特定促销推送给他或她,其中X和Y可以由零售商预先定义。
iv)将能从当前商店购买到的消费者个性化购物清单(这在之前已经上传到数据库服务器)中的项目推送给他或她。
v)将当前商店适用的消费者信用卡促销推送给消费者。
对参照图1描述的系统100所提出的解决方案可以包括两个方案。第一方案是用于室内检测的基础设施,这在前面已经参照图1至图17描述。第二方案是被开发以利用(leverage on)系统100的检测能力的定位服务。
第二方案可以包括以下四个特征。
找路服务:
导航和路由-提供简单且便捷的服务,以帮助购物者三角测定他们相对于商场的位置,并且帮助购物者导航自己在商场中的路线。
汽车寻找-购物者不再需要担心他们的汽车被停放在何处。汽车寻找服务自动记录离汽车停放处最近的入口/出口门,允许移动应用程序将购物者引导回汽车。
客流量分析:
商家能够客观地评估他们的销售活动的有效性、新的店面设计/布局及与销售收入的定量性关联。通过实时监控商场内购物者的移动,商场所有者能够通过客流量分析来确定购物者的行为、移动模式和热点线路。分析平台将允许商场所有者云访问实时分析信息和报告,从而能够快速概览现场情况以进行高层次的战略决策。管理层还可以分析人流量和客流量分析报告,以优化租金回报率。
基于位置的广告:
实时的商店级推送广告-凭借对购物者和其个人资料的室内检测,移动应用程序可以根据购物者的确切位置(5~10m)智能地推送基于文本的广告材料。商家可以对目标购物者创建和运行基于位置的广告活动,从而能够实时干预以增加销售。
社交网络:
寻找家人和朋友-依靠社交媒体的普及,移动应用程序将使购物者能够与所选择的朋友和家庭成员分享他们的实时位置。这样的特征将有助于便利朋友相见,也有利于家人跟踪他们的孩子和祖父母。
通过图1至图17描述所覆盖的方法可以以另一种方式描述如下。
参照图18,为示出用于确定多层建筑物中位置的位置信息的方法的流程图1800,其包括以下步骤。
在步骤1802,从存储器检索观测数据,观测数据包括在该位置处检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度(例如,这涉及到图7中的步骤702,图9中的902和图12中的1202)。
在步骤1804,为建筑物的每一楼层从数据库检索射电图(例如,图4中412),射电图包括在建筑物的相应楼层中的多个位置点,每个位置点包括在该位置点检测到的无线接入点的地址和对应的平均接收信号强度以及该位置点的坐标(例如,这涉及到图7中的步骤708,图10中的1002,图11中的1112和图15中的1502)。
在步骤1806,从射电图选择包括所观测到的地址的一个或多个位置点(例如,这涉及到图10中的步骤1004)。
在步骤1808,通过计算建筑物的每个楼层的总和概率来确定该位置的层估计,该总和概率通过将包含在在相应的楼层上检测到的相应楼层的射电图中的每个所选择的位置点的每个观测到的地址的所有单个概率相加来计算,并且将楼层估计设定为具有所计算的总和概率的最大值的建筑物的层,其中基于所述每个所选择的位置点中所述每个观测到的地址的对应的所观测的接收信号强度和包含所述每个观测到的地址的所述每个所选择的位置点中的对应的平均接收信号强度来计算每个所述单个概率(例如,这涉及到图9和图10中的步骤)。
所述方法还可以包括:在步骤1810,基于所估计楼层的射电图中包含所述每个观测到的地址的每一个所选择的位置点的坐标的加权平均值来确定所述位置的位置估计值(例如,这涉及到图15中的步骤)。
在从射电图中选择包括所观测到的地址的一个或多个位置点的步骤中,所选择的一个或多个位置点可以选自射电图中经过滤的关注区域(例如,这涉及参照图12中的1212描述的CP_LIST_1的创建)。
所述方法还可以包括:提取具有高于预定值的对应的接收信号强度的数个观测到的地址(例如,这涉及参照图12中的1210描述的AP_LIST的创建)
可以从所选择的一个或更多个位置点中去除没有被提取的观测到的地址(例如,这涉及参照图12中的1214描述的CP_LIST_2的创建)。
可以基于多层建筑物中的先前位置的邻近性来过滤射电图中的关注区域(例如,这涉及图11中的步骤1102和1104)。
确定该位置的楼层估计的步骤可以包括以下步骤。
首先,基于第一选择位置点中第一观测到的地址的对应的观测到的接收信号强度和包含第一观测到的地址的第一选择位置点中对应的平均接收信号强度,使用概率密度函数来计算第一值,该第一值指示所选择的位置点的第一选择位置是移动设备的位置的概率,其次,为所选择的位置点中的每一个计算所述第一值(例如,这涉及图10中的步骤1006)。
第三,对为一楼层的射电图中的所选择的位置点计算的多个第一值求总和以得到第二值,其中所述所选择的位置点均包含共同的观测到的地址,并且第四,为每一个共同的观测到的地址计算所述第二值(例如,这涉及图10中的步骤1008)。
第五,对为建筑物的每个楼层计算的多个第二值求总和,以得到第三值(例如,图9中的步骤910),并且第六,选择最大的第三值作为楼层估计(例如,这涉及图9中的步骤912)。
所述方法还可以包括:从所述建筑物中每个楼层的射电图中选择具有超出预定方差的检测到的接收信号强度的方差的观测到的地址;并且在从射电图中选择包括观测到的地址的一个或多个位置点的步骤中,选择包括具有超出所述预定方差的检测到的接收信号强度的方差的所选择的观测到的地址的一个或多个位置点(例如,这涉及图9中的步骤904)。
所述方法还可以包括:从位于建筑物中的位置处的移动设备无线接收观测数据,所述观测数据包括在该位置处由移动设备检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度(例如,步骤902并且覆盖由诸如图1中的数据库服务器106等服务器执行所述方法的情况)。
所述方法还可以包括:在所述位置处检测观测数据,所述观测数据包括检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度(例如,步骤902并且覆盖由移动设备(例如图1中的102)执行所述方法的情况和移动设备(例如图1中的102)用作例如如图1中的数据库服务器106的服务器的情况)。
所述方法还可以包括基于多于一个观测数据,以预定次数重复确定所述楼层估计的步骤,以收集多于一个初步楼层估计,以及在预定次数中选择具有最大的第三值的同一楼层作为所述楼层估计(例如,这涉及图8中的步骤)。
由图1至图17的描述覆盖的装置可以以另一种方式描述如下。
一种用于确定多层建筑物中位置的位置信息的装置包括以下组件。
首先,存储器(例如,驻留在图1中的移动设备102中的存储器(闪存、硬盘驱动器等)、图18中的RAM 1620和图16中的数据存储器1630),用于存储观测数据,所述观测数据包括在所述位置处检测到的无线接入点的观测到的地址和对应的观测到的接收信号强度(例如,图9中的步骤902)。
其次,数据库(例如,图16中的1630),用于为建筑物的每一楼层存储建筑物的相应楼层中的多个位置点的射电图(例如,图4中的412),每个位置点包括在该位置点检测到的无线接入点的地址和对应的平均接收信号强度以及该位置点的坐标(例如,这涉及图7中的步骤708,图10中的1002,图11中的1112和图15中的1502)。
第三,处理单元(例如,图16中的1602),用于从射电图中选择包括所观测到的地址的一个或多个位置点(例如,这涉及图10中的步骤1004)。
该处理单元(例如,图16中的1602)可以被配置为用于:通过计算建筑物的每个楼层的总和概率来确定位置的楼层估计,该总和概率通过将包含在在相应的楼层上检测到的相应楼层的射电图中的每个所选择的位置点中的每个观测到的地址的所有单个概率相加来计算;以及将楼层估计设定为具有所计算的总和概率的最大值的建筑物的楼层,其中每个所述单个概率基于所述每个所选择的位置点中所述每个观测到的地址的对应的所观测的接收信号强度和包含所述每个观测到的地址的所述每个所选择的位置点中的对应的平均接收信号强度来计算(例如,这涉及图9和图10中的步骤)。
该处理单元(例如,图16中的1602)还可以被配置为用于基于包含所估计的楼层的射电图中的所述每个观测到的地址的每一个所选择的位置点的坐标的加权平均值来确定所述位置的位置估计值(例如,这涉及图15中的步骤)。
在从该射电图中选择包括观测到的地址的一个或多个位置点的步骤中,所述选择的一个或多个位置点可以选自该射电图中经过滤的关注区域(例如,这涉及CP_LIST_1的创建)。
该处理单元(例如,图16中的1602)还可以被配置为用于提取具有高于预定值的对应的接收信号强度的数个观测到的地址(例如,这涉及AP_LIST的创建)。
可以从所选择的一个或更多个位置点去除没有被提取的观测到的地址(例如,这涉及CP_LIST_2的创建)。
可以基于多层建筑物中的先前位置的邻近性来过滤射电图(例如,图4中的412)中的关注区域(例如,这涉及步骤1102和1104)。
确定所述位置的楼层估计的步骤可以包括步骤如下。
确定所述位置的楼层估计的步骤可以包括以下步骤。
首先,基于第一选择位置点中第一观测到的地址的对应的观测到的接收信号强度和包含第一观测到的地址的第一选择位置点中对应的平均接收信号强度,使用概率密度函数来计算第一值,所述第一值指示所选择的位置点的第一选择位置是移动设备的位置的概率,其次,为所选择的位置点中的每一个计算所述第一值(例如,这涉及图10中的步骤1006)。
第三,对为一楼层的射电图中的所选择的位置点计算的多个第一值求总和以得到第二值,其中所述所选择的位置点均包含共同的观测到的地址,并且第四,为每一个共同的观测到的地址计算所述第二值(例如,这涉及图10中的步骤1008)。
第五,对为建筑物的每个楼层计算的多个第二值求总和,以得到第三值(例如,这涉及图9中的步骤910),并且第六,选择最大的第三值作为楼层估计(例如,这涉及图9中的步骤912)。
所述处理单元(例如,图16中的1602)还可以被配置为用于从所述建筑物中每个楼层的所述射电图中选择具有超出预定方差的检测到的接收信号强度的方差的观测到的地址;并且在从所述射电图中选择包括观测到的地址的一个或多个位置点的步骤中,选择包括具有超出所述预定方差的检测到的接收信号强度的方差的所选择的观测到的地址的一个或多个位置点(例如,这涉及图9中的步骤904)。
所述装置可以包括:接收器(例如,图16中的1632),用于从位于所述建筑物的所述位置处的移动设备无线检索观测数据,即所述装置可以是服务器(例如,图1中的数据库服务器106)。
所述装置可以包括:检测器(例如,图16中的1632),用于从所述位置检测观测数据,即,所述装置可以是移动设备(例如图1中的102)并且还包括所述移动设备(例如图1中的102)用作例如如图1中的数据库服务器106的服务器的情况。
所述处理单元(例如,图16中的1602)还可以被配置为用于基于多于一个观测数据,以预定次数重复确定所述楼层估计的步骤,以收集多于一个初步楼层估计;以及在所述预定次数中选择具有最大的第三值的同一楼层作为所述楼层估计(例如,这涉及图8中的步骤)。
本领域技术人员理解上述公开内容以及附图后,可以对用于确定多层建筑物中的位置的位置信息的方法和装置做出许多修改和其它实施例。因此,应理解的是,用于确定多层建筑物中的位置的位置信息的方法和装置不限于仅包含在本文中的上述描述,并且可能的修改应包括在本公开的权利要求书中。