一种基于智能手机的室内楼层定位方法转让专利

申请号 : CN201711376852.0

文献号 : CN108156580B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余敏阮超郭杭

申请人 : 江西师范大学

摘要 :

本发明提供了一种基于智能手机的室内楼层定位方法,属于室内定位技术领域。首先通过“进入”检测算法,判断用户当前是否发生进入待定位建筑物的行为,若发生,则赋予其楼层定位初始位置:一楼;然后根据上下楼行为检测算法,判断用户是否发生上楼或下楼行为,然后计算出用户在上楼或下楼期间楼层的改变量,再结合楼层定位初始位置得到用户当前所在的楼层数。此外对空间用户进行分组,已定位用户上传位置信息,进行位置共享,使全体用户获得新的楼层定位初始位置,结合上下楼检测与垂直移动估算,则用户任一时刻的楼层信息将是可知的。本发明实现了一种高精度高可用的室内楼层定位技术,实现室内高精度的定位,推动室内位置服务和应用。

权利要求 :

1.一种基于智能手机的室内楼层定位方法,应用于智能手机对楼层进行定位,其特征在于,所述方法包括如下步骤:第一步,在入口区域划定检测区域,建立该区域的位置指纹数据库,根据用户智能手机接收到的WiFi信号强度指示向量在所述位置指纹数据库中的匹配结果,结合“进入”检测算法,判断用户当前是否发生进入待定位建筑物的行为,若发生,则赋予其楼层定位初始位置:一楼;

第二步,根据上下楼行为检测算法,判断用户是否发生上楼或下楼行为,若发生,进一步根据上楼或下楼开始和结束时的气压估算用户在垂直方向移动的距离,进而计算出用户在上楼或下楼期间楼层的改变量;

第三步,根据所述楼层定位初始位置和所述上楼或下楼期间楼层的改变量计算得到用户当前所在的楼层数;

第四步,根据用户智能手机接收到的WiFi信号强度指示向量,运用K-means聚类算法对楼层空间用户进行聚类分组,已定位楼层的用户将其当前楼层信息上传至楼层定位服务器,进行位置信息共享,楼层定位服务器将该楼层信息赋予与该用户同组的全体用户,即该组全体用户获得新的楼层定位初始位置,只要有了初始位置信息,就可以结合上述第二步、第三步计算出任意时刻用户所在的楼层数。

2.根据权利要求1所述的基于智能手机的室内楼层定位方法,其特征在于,所述划定检测区域,建立该区域的位置指纹数据库的步骤包括:将靠近入口的室外和室内部分区域划定为检测区域,建立平面坐标系,对此检测区域进行网格划分,将各网格顶点设定为参考点,顺序编号,采集各参考点处各AP的RSS,连同参考点的位置坐标,作为一条指纹,存入位置指纹数据库;对于任一编号为i的参考点,其指纹的样式如下:其中RSSIik为参考点

处接收到编号为k的AP的RSSI, 为参考点i处的信号强度指示向量。

3.根据权利要求1所述的基于智能手机的室内楼层定位方法,其特征在于,所述用户智能手机接收到的WiFi信号强度指示向量在所述位置指纹数据库中匹配的步骤包括:按一定周期T获取实时信号强度指示向量 (其中N为计数变量,N=0,1,2,

3,...),计算其与位置指纹数据库中每一个信号强度指示向量 的欧式距离:其中1≤i≤m,m为参考点总数目,选取与 欧氏距离最小的信号强度指示向量所对应的位置坐标,作为实时定位结果,记为(xt*,yt*)。

4.根据权利要求1所述的基于智能手机的室内楼层定位方法,其特征在于,所述“进入”检测算法的步骤包括:(1)检测用户是否接收到检测区域所有AP信号,若是,执行步骤(2),若否,算法执行结束;

(2)设定计数变量N初始值为0,时间变量t初始值为NT,用户智能手机获取实时信号强度指示向量 在位置指纹数据库中匹配得到实时定位结果(xt*,yt*),接着执行步骤(3);

(3)判断步骤中(xt*,yt*)是否位于检测区域的室外边界上或者位于检测区域的内部,若是,执行步骤(4),若否,算法执行结束;

(4)计数变量N执行N=N+1,时间变量t=NT作相应更新,用户智能手机获取实时信号强度指示向量 在位置指纹数据库中匹配得到实时定位结果(xt*,yt*),接着执行步骤(5);

(5)判断步骤中(xt*,yt*)是否位于检测区域的室内边界上,若是,则判定用户当前发生进入待定位建筑物的行为,并赋予其楼层定位初始位置:一楼,算法执行结束,若否,返回执行步骤(3)~(5)。

5.根据权利要求1所述的基于智能手机的室内楼层定位方法,其特征在于,所述上下楼行为检测算法包括如下步骤:(1)设定计数变量num0、num1初始值均为0,时间变量t初始值为2,接着执行步骤(2);

(2)判断t时间的平均气压与(t-2)时间的平均气压的差值的绝对值是否大于预设的阈值θ,若是,执行步骤(3),若否,计数变量num0执行num0=0,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(2);

(3)计数变量num0执行num0=num0+1,接着执行步骤(4);

(4)判断计数变量num0是否大于预设阈值N0,若是,则判定用户正在上楼或下楼,并执行赋值上楼或下楼开始时的气压 即上楼或下楼开始时的气压为(t-N0)时间的平均气压,接着代入更新后的时间变量执行步骤(5),若否,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(2)~(4);

(5)判断t时间的平均气压与(t-2)时间的平均气压的差值的绝对值是否小于预设的阈值θ,若是,执行步骤(6),若否,计数变量num1执行num1=0,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(5);

(6)计数变量num1执行num1=num1+1,接着执行步骤(7);

(7)判断计数变量num1是否大于预设阈值N1,若是,则判定用户正在上楼或下楼行为结束,并执行赋值上楼或下楼结束时的气压 即上楼或下楼开始时的气压为(t-N1)时间的平均气压,算法执行结束,若否,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(5)~(7)。

6.根据权利要求1所述的基于智能手机的室内楼层定位方法,其特征在于,所述根据上楼或下楼开始和结束时的气压估算用户在垂直方向移动的距离,进而计算出用户在上楼或下楼期间楼层的改变量包括如下步骤:根据公式h=|Pstart-Pend|/0.12hpa计算得到所述楼层改变期间,用户在垂直方向移动的距离;其中h为用户在垂直方向移动的距离,Pstart为上楼或下楼开始时的气压,Pend为上楼或下楼结束时的气压;

根据公式ΔH=h/h0计算得到所述楼层改变期间,用户楼层的改变量;其中ΔH为用户楼层的改变量,h0为建筑物每层的层高;

根据Pstart-Pend>0判定,用户在楼层改变期间发生上楼行为,根据Pstart-Pend<0判定,用户在楼层改变期间发生下楼行为。

7.根据权利要求1所述的基于智能手机的室内楼层定位方法,其特征在于,所述根据所述楼层定位初始位置和所述上楼或下楼期间楼层的改变量计算得到用户当前所在的楼层数包括如下步骤:若上楼:当前所在的楼层数x=楼层定位初始位置x0+楼层的改变量ΔH;

若下楼:当前所在的楼层数x=楼层定位初始位置x0-楼层的改变量ΔH。

8.根据权利要求1所述的基于智能手机的室内楼层定位方法,其特征在于,所述根据用户智能手机接收到的WiFi信号强度指示向量,运用K-means算法对楼层空间用户进行聚类分组包括如下步骤:将任意用户智能手机接收到的n维WiFi信号强度指示向量视为单个数据点,全体m个用户构成数据集X={x1,x2,...,xm},其中xi∈Rn,将全体用户分成K个组,即生成K个数据子集,C={Ci,i=1,2,...,K},任一数据子集Ci都有一个聚类中心μi,该数据子集中各数据点到聚类中心的总和为:全部数据点到对应聚类中心的距离总和为:

采用K-means聚类算法使得上述f(C)取得最小值即完成分组。

说明书 :

一种基于智能手机的室内楼层定位方法

技术领域

[0001] 本发明涉及定位技术领域,特别是涉及一种基于智能手机的室内楼层的定位方法。

背景技术

[0002] 导航定位技术的飞速发展,给人们的生活带来了巨大的便利,在户外,诸如车载导航仪、百度地图、滴滴打车等基于位置的服务相关产品已成为人们生活中不可或缺的部分,而在室内,人们对于精准位置服务的需求同样强烈,比如在一栋陌生的大楼寻找某个房间或设施的位置,消防救援时确定被困人员与消防员的精确位置,大型商场中基于位置的广告推送,外卖配送中房间的定位等等。对于室内定位而言,楼层的信息是其中极为重要的一部分。
[0003] 北京邮电大学邓中亮等提出一种基于K-means算法的WLAN室内定位楼层判别方法,离线阶段建立各AP信号强度值在楼层间的分布范围表,实时定位阶段根据接收到信号所属的信号强度区间判断楼层,若判断结果出现多个楼层,则在这些层聚类集合中进行比较,返回距离最近的类对应的楼层号作为定位结果,此方法对AP的部署要求高,且WiFi信号受室内障碍物阻挡以及多径因素,确定各AP信号强度值在各楼层间最大值和最小值的过程实施比较困难。南京大学叶海波等采样地磁进行楼层判别,离线阶段采集各楼层间各楼道的地磁指纹,构建地磁指纹数据库,在线阶段根据实时采集的地磁系列在数据库中匹配来获取楼层信息,但地磁存在较强的时变性,数据库极易失效,更新维护难度大。在室外普遍采用GPS进行高程的测量以及激光测高,但是在室内环境下,存在以下局限:(1)建筑物对卫星信号的遮蔽,使得室内GPS的信号微弱,因而难以用于进行高程测量;(2)激光测高需要特定的设备,造价过高,不方便随身携带。因此将室外的测高技术应用到室内楼层定位上,也存在较多困难。

发明内容

[0004] 本发明目的是克服现有技术的不足,提供一种高可用高精度楼层的定位方法,应用于智能手机对楼层进行定位。
[0005] 本发明采用的技术方案为:一种基于智能手机的室内楼层定位方法,在入口区域划定检测区域,建立该区域的位置指纹数据库,根据用户智能手机接收到的WiFi信号强度指示向量在所述位置指纹数据库中的匹配结果,结合“进入”检测算法,判断用户当前是否发生进入待定位建筑物的行为,若发生,则赋予其楼层定位初始位置:一楼;
[0006] 根据上下楼行为检测算法,判断用户是否发生上楼或下楼行为,若发生,进一步根据上楼或下楼开始和结束时的气压估算用户在垂直方向移动的距离,进而计算出用户在上楼或下楼期间楼层的改变量;
[0007] 根据所述楼层定位初始位置和所述上楼或下楼期间楼层的改变量计算得到用户当前所在的楼层数。
[0008] 此外,根据用户智能手机接收到的WiFi信号强度指示向量,运用K-means聚类算法,对楼层空间用户进行聚类分组,已定位楼层的用户将其当前楼层信息上传至楼层定位服务器,进行位置信息共享,楼层定位服务器将该楼层信息赋予与该用户同组的全体用户,即该组全体用户获得新的楼层定位初始位置。
[0009] 用户只要具备了楼层定位初始位置信息,就可以结合上下楼行为检测算法得到的上楼或下楼期间楼层的改变量,进而可以得到任意时刻的楼层信息。
[0010] 进一步地,所述划定检测区域,建立该区域的位置指纹数据库的步骤包括:
[0011] 将靠近入口的室外和室内部分区域划定为检测区域,建立平面坐标系,对此检测区域进行网格划分,将各网格顶点设定为参考点,顺序编号,采集各参考点处各AP的RSS,连同参考点的位置坐标,作为一条指纹,存入位置指纹数据库。对于任一编号为i的参考点,其指纹的样式如下:
[0012] 其中RSSIik为参考点处接收到编号为k的AP的RSSI, 为参考点i处的信号强度指示向量。
[0013] 进一步地,所述用户智能手机接收到的WiFi信号强度指示向量在所述位置指纹数据库中匹配的步骤包括:
[0014] 按一定周期T获取实时信号强度指示向量 (t=NT)(其中N为计数变量,N=0,1,2,3,...),计算其与位置指纹数据库中每一个信号强度指示向量 的欧式距离:
[0015]
[0016] 其中1≤i≤m,m为参考点总数目。选取与 欧氏距离最小的信号强度指示向量所对应的位置坐标,作为实时定位结果,记为(xt*,yt*)。
[0017] 进一步地,所述“进入”检测算法的步骤包括:
[0018] (1)检测用户是否接收到检测区域所有AP信号,若是,执行步骤(2),若否,算法执行结束;
[0019] (2)设定计数变量N初始值为0,时间变量t初始值为NT,用户智能手机获取实时信号强度指示向量 (t=NT),在位置指纹数据库中匹配得到实时定位结果(xt*,yt*),接着执行步骤(3);
[0020] (3)判断步骤中(xt*,yt*)是否位于检测区域的室外边界上或者位于检测区域的内部,若是,执行步骤(4),若否,算法执行结束;
[0021] (4)计数变量N执行N=N+1,时间变量t=NT作相应更新,用户智能手机获取实时信* *号强度指示向量 (t=NT),在位置指纹数据库中匹配得到实时定位结果(xt,yt),接着执行步骤(5);
[0022] (5)判断步骤中(xt*,yt*)是否位于检测区域的室内边界上,若是,则判定用户当前发生进入待定位建筑物的行为,并赋予其楼层定位初始位置:一楼,算法执行结束,若否,返回执行步骤(3)~(5)。
[0023] 进一步地,所述上下楼行为检测算法包括如下步骤:
[0024] (1)设定计数变量num0、num1初始值均为0,时间变量t初始值为2,接着执行步骤(2);
[0025] (2)判断t时间的平均气压与(t-2)时间的平均气压的差值的绝对值是否大于预设的阈值θ,若是,执行步骤(3),若否,计数变量num0执行num0=0,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(2);
[0026] (3)计数变量num0执行num0=num0+1,接着执行步骤(4);
[0027] (4)判断计数变量num0是否大于预设阈值N0,若是,则判定用户正在上楼或下楼,并执行赋值上楼或下楼开始时的气压 (即上楼或下楼开始时的气压为(t-N0)时间的平均气压),接着代入更新后的时间变量执行步骤(5),若否,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(2)~(4);
[0028] (5)判断t时间的平均气压与(t-2)时间的平均气压的差值的绝对值是否小于预设的阈值θ,若是,执行步骤(6),若否,计数变量num1执行num1=0,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(5);
[0029] (6)计数变量num1执行num1=num1+1,接着执行步骤(7);
[0030] (7)判断计数变量num1是否大于预设阈值N1,若是,则判定用户正在上楼或下楼行为结束,并执行赋值上楼或下楼结束时的气压 (即上楼或下楼开始时的气压为t-N1时间的平均气压),算法执行结束,若否,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(5)~(7)。
[0031] 进一步地,所述根据上楼或下楼开始和结束时的气压估算用户在垂直方向移动的距离,进而计算出用户在上楼或下楼期间楼层的改变量包括如下步骤:
[0032] 根据公式h=|Pstart-Pend|/0.12hpa计算得到所述楼层改变期间,用户在垂直方向移动的距离;其中h为用户在垂直方向移动的距离,Pstart为上楼或下楼开始时的气压,Pend为上楼或下楼结束时的气压;
[0033] 根据公式ΔH=h/h0计算得到所述楼层改变期间,用户楼层的改变量;其中ΔH为用户楼层的改变量,h0为建筑物每层的层高;
[0034] 根据Pstart-Pend>0判定,用户在楼层改变期间发生上楼行为,根据Pstart-Pend<0判定,用户在楼层改变期间发生下楼行为;
[0035] 进一步地,所述根据所述楼层定位初始位置和所述上楼或下楼期间楼层的改变量计算得到用户当前所在的楼层数包括如下步骤:
[0036] 若上楼:当前所在的楼层数x=楼层定位初始位置x0+楼层的改变量ΔH;
[0037] 若下楼:当前所在的楼层数x=楼层定位初始位置x0-楼层的改变量ΔH;
[0038] 进一步地,所述根据用户智能手机接收到的WiFi信号强度指示向量对楼层空间用户进行聚类分组包括如下步骤:
[0039] 将任意用户智能手机接收到的n维WiFi信号强度指示向量视为单个数据点,全体m个用户构成数据集X={x1,x2,...,xm},其中xi∈Rn,将全体用户分成K个组,即生成K个数据子集,C={Ci,i=1,2,...,K},任一数据子集Ci都有一个聚类中心μi,该数据子集中各数据点到聚类中心的总和为:
[0040]
[0041] 全部数据点到对应聚类中心的距离总和为:
[0042]
[0043] 采用K-means聚类算法使得上述f(C)取得最小值即完成分组。
[0044] 本发明的定位方法使用方便,便于携带,定位精准,可实现室内高精度的楼层定位,推动室内位置服务和应用。

附图说明

[0045] 图1为本发明实施例以“进入”检测获得初始位置的楼层定位总体流程图;
[0046] 图2为本发明实施例以位置信息共享获得初始位置的楼层定位总体流程图;
[0047] 图3为本发明实施例提出的划定检测区域建立平面坐标系的示意图;
[0048] 图4为本发明实施例提出的在位置指纹数据库中进行位置匹配的流程图;
[0049] 图5为本发明实施例提出的目标不同运动路线的示意图;
[0050] 图6为本发明实施例提出的“进入”检测算法的流程图;
[0051] 图7为本发明实施例提出的上下楼行为检测算法的流程图;
[0052] 图8为本发明实施例对用户分组所采用的K-means聚类算法的流程图;

具体实施方式

[0053] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0054] 参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0055] 本发明中,提出了一种基于智能手机的室内楼层的定位方法,请参阅图1至图8。
[0056] 首先通过“进入”检测算法,判断用户当前是否发生进入待定位建筑物的行为,若发生,则赋予其楼层定位初始位置:一楼;然后根据上下楼行为检测算法,判断用户是否发生上楼或下楼行为,然后计算出用户在上楼或下楼期间楼层的改变量,再结合楼层定位初始位置得到用户当前所在的楼层数(参见附图1)。此外对空间用户进行分组,已定位用户上传位置信息,进行位置共享,使全体用户获得新的楼层定位初始位置,结合上下楼检测与垂直移动估算,则用户任一时刻的楼层信息将是可知的(参见附图2)。
[0057] 具体来讲,所述方法包括如下步骤:
[0058] S101,“进入”检测与楼层定位初始位置获取。
[0059] 将靠近入口的室外和室内部分区域划定为检测区域,建立平面坐标系,对此检测区域进行网格划分,将各网格顶点设定为参考点,顺序编号,采集各参考点处各AP的RSS,连同参考点的位置坐标,作为一条指纹,存入位置指纹数据库。对于任一编号为i的参考点,其指纹的样式如下:
[0060] 其中RSSIik为参考点处接收到编号为k的AP的RSSI, 为参考点i处的信号强度指示向量(参见附图3)。
[0061] 目标运动时,按一定周期T获取实时信号强度指示向量 (t=NT)(其中N为计数变量,N=0,1,2,3,...),计算其与位置指纹数据库中每一个信号强度指示向量 的欧式距离:
[0062]
[0063] 其中1≤i≤m,m为参考点总数目。选取与 欧氏距离最小的信号强度指示向量所对应的位置坐标,作为实时定位结果,记为(xt*,yt*)(参见附图4)。
[0064] 目标运动路线的不同(参见附图5),尽管会得到不同的时间-位置轨迹,但其中仍具备一些特征:
[0065] ①目标由室外远处向检测区域靠近,路过(但未进入)检测区域,走向远处;位置匹配结果始终出现在检测区域的外边界上;
[0066] ②目标由室外远处向检测区域靠近,穿过检测区域,走向远处(但未进入室内);位置匹配结果首先连续出现在检测区域的外边界上,然后出现在检测区域内部,最后又连续出现在检测区域的外边界上;
[0067] ③目标由室外远处向检测区域靠近,穿过检测区域,进入室内;位置匹配结果首先连续出现在检测区域的外边界上,然后连续出现在检测区域内部,最后连续出现在检测区域的内边界上;
[0068] 结合“进入”检测算法,判断用户当前是否发生进入待定位建筑物的行为,若发生,则赋予其楼层定位初始位置:一楼;
[0069] 所述“进入”检测算法的步骤包括(参见附图6):
[0070] (1)检测用户是否接收到检测区域所有AP信号,若是,执行步骤(2),若否,算法执行结束;
[0071] (2)设定计数变量N初始值为0,时间变量t初始值为NT,用户智能手机获取实时信* *号强度指示向量 (t=NT),在位置指纹数据库中匹配得到实时定位结果(xt,yt),接着执行步骤(3);
[0072] (3)判断步骤中(xt*,yt*)是否位于检测区域的室外边界上或者位于检测区域的内部,若是,执行步骤(4),若否,算法执行结束;
[0073] (4)计数变量N执行N=N+1,时间变量t=NT作相应更新,用户智能手机获取实时信号强度指示向量 (t=NT),在位置指纹数据库中匹配得到实时定位结果(xt*,yt*),接着执行步骤(5);
[0074] (5)判断步骤中(xt*,yt*)是否位于检测区域的室内边界上,若是,则判定用户当前发生进入待定位建筑物的行为,并赋予其楼层定位初始位置:一楼,算法执行结束,若否,返回执行步骤(3)~(5)。
[0075] S102,上下楼行为检测与垂直移动距离估算。
[0076] 根据上下楼行为检测算法,判断用户是否发生上楼或下楼行为,若发生,进一步根据上楼或下楼开始和结束时的气压估算用户在垂直方向移动的距离,进而计算出用户在上楼或下楼期间楼层的改变量;
[0077] 根据所述楼层定位初始位置和所述上楼或下楼期间楼层的改变量计算得到用户当前所在的楼层数。
[0078] 所述上下楼行为检测算法包括如下步骤(参见附图7):
[0079] (1)设定计数变量num0、num1初始值均为0,时间变量t初始值为2,接着执行步骤(2);
[0080] (2)判断t时间的平均气压与(t-2)时间的平均气压的差值的绝对值是否大于预设的阈值θ,若是,执行步骤(3),若否,计数变量num0执行num0=0,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(2);
[0081] (3)计数变量num0执行num0=num0+1,接着执行步骤(4);
[0082] (4)判断计数变量num0是否大于预设阈值N0,若是,则判定用户正在上楼或下楼,并执行赋值上楼或下楼开始时的气压 (即上楼或下楼开始时的气压为t-N0时间的平均气压),接着代入更新后的时间变量执行步骤(5),若否,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(2)~(4);
[0083] (5)判断t时间的平均气压与(t-2)时间的平均气压的差值的绝对值是否小于预设的阈值θ,若是,执行步骤(6),若否,计数变量num1执行num1=0,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(5);
[0084] (6)计数变量num1执行num1=num1+1,接着执行步骤(7);
[0085] (7)判断计数变量num1是否大于预设阈值N1,若是,则判定用户正在上楼或下楼行为结束,并执行赋值上楼或下楼结束时的气压 (即上楼或下楼开始时的气压为t-N1时间的平均气压),算法执行结束,若否,时间变量t执行t=t+1,代入更新后的时间变量,返回执行步骤(5)~(7);
[0086] 所述根据上楼或下楼开始和结束时的气压估算用户在垂直方向移动的距离,进而计算出用户在上楼或下楼期间楼层的改变量包括如下步骤:
[0087] 根据公式h=|Pstart-Pend|/0.12hpa计算得到所述楼层改变期间,用户在垂直方向移动的距离;其中h为用户在垂直方向移动的距离,Pstart为上楼或下楼开始时的气压,Pend为上楼或下楼结束时的气压;
[0088] S103,楼层改变量计算。
[0089] 根据公式ΔH=h/h0计算得到所述楼层改变期间,用户楼层的改变量;其中ΔH为用户楼层的改变量,h0为建筑物每层的层高;
[0090] 根据Pstart-Pend>0判定,用户在楼层改变期间发生上楼行为,根据Pstart-Pend<0判定,用户在楼层改变期间发生下楼行为;
[0091] 所述根据所述楼层定位初始位置和所述上楼或下楼期间楼层的改变量计算得到用户当前所在的楼层数包括如下步骤:
[0092] 若上楼:当前所在的楼层数x=楼层定位初始位置x0+楼层的改变量ΔH;
[0093] 若下楼:当前所在的楼层数x=楼层定位初始位置x0-楼层的改变量ΔH;
[0094] S104,用户分组与位置信息共享。
[0095] 根据用户智能手机接收到的WiFi信号强度指示向量,通过K-means聚类算法将楼层中所有用户分成若干组,对于任一组,只要其中某一用户的楼层信息是已知的,则全组成员的楼层信息是可知的。已定位楼层的用户将其当前楼层信息上传至楼层定位服务器,进行位置信息共享,楼层定位服务器将该楼层信息赋予与该用户同组的全体用户,即该组全体用户获得新的楼层定位初始位置。
[0096] 用户只要具备了楼层定位初始位置信息,就可以结合上下楼行为检测算法得到的上楼或下楼期间楼层的改变量,进而可以得到任意时刻的楼层信息。
[0097] 所述根据用户智能手机接收到的WiFi信号强度指示向量对楼层空间用户进行聚类分组包括如下步骤:
[0098] 将任意用户智能手机接收到的n维WiFi信号强度指示向量视为单个数据点,全体m个用户构成数据集X={x1,x2,...,xm},其中xi∈Rn,将全体用户分成K个组,即生成K个数据子集,C={Ci,i=1,2,...,K},任一数据子集Ci都有一个聚类中心μi,该数据子集中各数据点到聚类中心的总和为:
[0099]
[0100] 全部数据点到对应聚类中心的距离总和为:
[0101]
[0102] 采用K-means聚类算法使得上述f(C)取得最小值即完成分组,K-means聚类算法流程见附图8。
[0103] 以上所述实施例仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。