用于位置转换确定的方法、系统和移动设备转让专利

申请号 : CN201580026655.9

文献号 : CN106461753B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : B·S·史密斯D·B·米尔曼R·梅尔V·罗维奇

申请人 : 苹果公司

摘要 :

本发明描述了用于位置转换确定的方法、系统和计算机程序产品。移动设备可使用位置指纹数据和传感器读数通过使用粒子过滤器来确定移动设备进出地点的一部分的转换。当移动设备确定移动设备位于地点的第一部分处(例如在给定层上)时,该移动设备可引入地点的第二部分上的候选位置或粒子、以及地点外部的候选位置。如果地点的第一部分的估计位置并未聚合,则移动设备可增加地点的第一部分外部的候选位置的权重,以检测向地点的第二部分或向地点外部的可能转换。

权利要求 :

1.一种用于位置转换确定的方法,包括:

由移动设备来检测信号,所述信号与用于识别信号源的信号源标识符相关联;

根据位置指纹数据来确定与所述信号源标识符相关联的地点的第一部分,所述位置指纹数据包括所述地点的各个区域处的信号的预期测量和能够在所述地点的所述各个区域处检测到的信号源的预期标识符,所述地点的所述第一部分包括所述地点中的其中预期将能够检测到来自所述信号源的信号的区域;

将所述地点的所述第一部分中的一组随机选择的位置指定为估计初始位置;以及迭代地确定所述移动设备的估计位置,包括在每个迭代中:基于所述估计初始位置来确定所述移动设备的一组候选位置,包括:确定所述地点的所述第一部分中的所述一组候选位置的第一部分;

确定所述地点的第二部分中的所述一组候选位置的第二部分,所述地点的所述第二部分不同于所述地点的所述第一部分,并且其中预期将不能够检测到来自所述信号源的信号;

确定所述地点外的所述候选位置的第三部分;

将相应权重分配给所述候选位置的所述第一部分、所述第二部分和所述第三部分中的每一者;以及确定所述移动设备的估计位置包括通过将对所述信号的测量与所述位置指纹中的预期测量进行匹配来对加权候选位置进行过滤。

2.根据权利要求1所述的方法,其中:

所述信号源是射频(RF)信号源,

所述信号源标识符是所述RF信号源的媒体访问控制(MAC)地址;并且所述测量包括来自所述信号源的RF信号的接收信号强度指示(RSSI)或往返时间(RTT)中的至少一者。

3.根据权利要求1所述的方法,其中:

所述一组候选位置的所述第一部分使用与被应用于所述估计初始位置的高斯随机噪声对应的位置来确定;

所述一组候选位置的所述第二部分使用所述地点的所述第二部分中的位置的均匀分布来确定;并且所述一组候选位置的所述第三部分使用所述地点外的位置的均匀分布来确定。

4.根据权利要求1所述的方法,其中使用多个矩形单元格来在所述位置指纹数据中指定所述地点的每个部分,所述单元格形成覆盖所述地点的网格。

5.根据权利要求4所述的方法,其中在每个迭代中,迭代地确定所述移动设备的所述估计位置包括在下一迭代中将经过滤的候选位置指定为初始估计位置。

6.根据权利要求5所述的方法,包括:

确定在对所述信号的测量与所述候选位置的所述第一部分的所述预期测量之间进行匹配的可能性小于在对所述信号的所述测量与所述候选位置的所述第二部分和所述第三部分中的预期测量之间进行匹配的可能性;以及作为响应,在下一迭代中,增加与所述候选位置的所述第二部分和所述候选位置的所述第三部分对应的权重。

7.根据权利要求6所述的方法,包括:

随时间累积所述候选位置的所述每个部分的相应权重;以及将阈值应用于相应的累积权重,以用于打开或关闭所述移动设备的各个子系统。

8.根据权利要求7所述的方法,包括:

基于缺少对所述信号的测量与所述地点的所述第一部分的所述预期测量之间的匹配并缺少对所述信号的测量与所述地点的所述第一部分的所述预期测量之间的匹配来确定所述移动设备位于所述地点中的任何单元格中的概率低于第一阈值;以及作为响应,关闭所述移动设备的子系统,以用于基于无线接入点信号的位置确定。

9.根据权利要求8所述的方法,包括:

在确定所述概率低于第二阈值时,打开所述移动设备的子系统,以用于基于卫星信号的位置确定,其中所述第一阈值不同于所述第二阈值。

10.根据权利要求1所述的方法,其中确定所述移动设备的所述估计位置包括使用第一贝叶斯过滤器和第二贝叶斯过滤器基于对加权候选位置的联合过滤来确定所述移动设备的估计航向,所述第一贝叶斯过滤器是一种类型的粒子过滤器,所述第二贝叶斯过滤器是一种类型的卡尔曼过滤器,所述第二贝叶斯过滤器使用所述移动设备的陀螺仪的读数或所述移动设备的磁力仪的读数作为输入。

11.一种移动设备,包括:

一个或多个处理器;和

存储设备,所述存储设备存储用于使得所述一个或多个处理器执行操作的计算机指令,所述操作包括:由移动设备来检测信号,所述信号与用于识别信号源的信号源标识符相关联;

根据位置指纹数据来确定与所述信号源标识符相关联的地点的第一部分,所述位置指纹数据包括所述地点的各个区域处的信号的预期测量和能够在所述地点的所述各个区域处检测到的信号源的预期标识符,所述地点的所述第一部分包括所述地点中的其中预期将能够检测到来自所述信号源的信号的区域;

将所述地点的所述第一部分中的一组随机选择的位置指定为估计初始位置;以及迭代地确定所述移动设备的估计位置,包括在每个迭代中:基于所述估计初始位置来确定所述移动设备的一组候选位置,包括:确定所述地点的所述第一部分中的所述一组候选位置的第一部分;

确定所述地点的第二部分中的所述一组候选位置的第二部分,所述地点的所述第二部分不同于所述地点的所述第一部分,并且其中预期将不能够检测到来自所述信号源的信号;

确定所述地点外的所述候选位置的第三部分;

将相应权重分配给所述候选位置的所述第一部分、所述第二部分和所述第三部分中的每一者;以及确定所述移动设备的估计位置包括通过将对所述信号的测量与所述位置指纹中的预期测量进行匹配来对加权候选位置进行过滤。

12.根据权利要求11所述的移动设备,其中:

所述信号源是射频(RF)信号源,

所述信号源标识符是所述RF信号源的媒体访问控制(MAC)地址;并且所述测量包括来自所述信号源的RF信号的接收信号强度指示(RSSI)或往返时间(RTT)中的至少一者。

13.根据权利要求11所述的移动设备,其中:

所述一组候选位置的所述第一部分使用与被应用于所述估计初始位置的高斯随机噪声对应的位置来确定;

所述一组候选位置的所述第二部分使用所述地点的所述第二部分中的位置的均匀分布来确定;并且所述一组候选位置的所述第三部分使用所述地点外的位置的均匀分布来确定。

14.根据权利要求11所述的移动设备,其中使用多个矩形单元格来在所述位置指纹数据中指定所述地点的每个部分,所述单元格形成覆盖所述地点的网格。

15.根据权利要求14所述的移动设备,其中在每个迭代中,迭代地确定所述移动设备的所述估计位置包括在下一迭代中将经过滤的候选位置指定为初始估计位置。

16.根据权利要求15所述的移动设备,所述操作包括:确定在对所述信号的测量与所述候选位置的所述第一部分的所述预期测量之间进行匹配的可能性小于在对所述信号的所述测量与所述候选位置的所述第二部分和所述第三部分中的预期测量之间进行匹配的可能性;以及作为响应,在下一迭代中,增加与所述候选位置的所述第二部分和所述候选位置的所述第三部分对应的权重。

17.根据权利要求16所述的移动设备,所述操作包括:随时间累积所述候选位置的所述每个部分的相应权重;以及将阈值应用于相应的累积权重,以用于打开或关闭所述移动设备的各个子系统。

18.根据权利要求17所述的移动设备,所述操作包括:基于缺少对所述信号的测量与所述地点的所述第一部分的所述预期测量之间的匹配并缺少对所述信号的测量与所述地点的所述第一部分的所述预期测量之间的匹配来确定所述移动设备位于所述地点中的任何单元格中的概率低于第一阈值;以及作为响应,关闭所述移动设备的子系统,以用于基于无线接入点信号的位置确定。

19.根据权利要求11所述的移动设备,其中确定所述移动设备的所述估计位置包括使用第一贝叶斯过滤器和第二贝叶斯过滤器基于对加权候选位置的联合过滤来确定所述移动设备的估计航向,所述第一贝叶斯过滤器是一种类型的粒子过滤器,所述第二贝叶斯过滤器是一种类型的卡尔曼过滤器,所述第二贝叶斯过滤器使用所述移动设备的陀螺仪的读数或所述移动设备的磁力仪的读数作为输入。

20.一种用于位置转换确定的系统,包括:

用于检测信号的装置,所述信号与用于识别信号源的信号源标识符相关联;

用于根据位置指纹数据来确定与所述信号源标识符相关联的地点的第一部分的装置,所述位置指纹数据包括所述地点的各个区域处的信号的预期测量和能够在所述地点的所述各个区域处检测到的信号源的预期标识符,所述地点的所述第一部分包括所述地点中的其中预期将能够检测到来自所述信号源的信号的区域;

用于将所述地点的所述第一部分中的一组随机选择的位置指定为估计初始位置的装置;和用于迭代地确定移动设备的估计位置的装置,所述确定包括在每个迭代中:基于所述估计初始位置来确定所述移动设备的一组候选位置,包括:确定所述地点的所述第一部分中的所述一组候选位置的第一部分;

确定所述地点的第二部分中的所述一组候选位置的第二部分,所述地点的所述第二部分不同于所述地点的所述第一部分,并且其中预期将不能够检测到来自所述信号源的信号;

确定所述地点外的所述候选位置的第三部分;

将相应权重分配给所述候选位置的所述第一部分、所述第二部分和所述第三部分中的每一者;以及确定所述移动设备的估计位置包括通过将对所述信号的测量与所述位置指纹中的预期测量进行匹配来对加权候选位置进行过滤。

说明书 :

用于位置转换确定的方法、系统和移动设备

技术领域

[0001] 本公开整体涉及位置确定。

背景技术

[0002] 一些移动设备具有用于确定地理位置的特征部。例如,移动设备可包括用于从全球卫星系统(例如,全球定位系统或GPS)接收信号的接收器。移动设备可使用所接收的GPS信号来确定包括纬度和经度的地理位置。在其中移动设备不在GPS卫星的视线内的许多地方中,GPS位置确定可能容易出错。例如,常规的移动设备在位于建筑物或隧道内部时经常不能基于GPS信号来确定位置。另外,即使移动设备在多个GPS卫星的视线内,GPS位置的误差容限也可能大约为数十米。这种误差容限可能过大,例如无法确定移动设备位于建筑物的哪一层以及移动设备位于该层的哪个房间。

发明内容

[0003] 本公开描述了用于确定移动设备在地点处的位置的技术。定位服务器可从一个或多个取样设备接收地点的调查数据。该调查数据可包括对地点的各个位置处的环境变量的测量。这些测量与相应位置相关联。该定位服务器可整合从多个取样设备接收的调查数据。该定位服务器可确定对地点处的各个位置处的信号的预期测量。该定位服务器可对尚未调查的地点位置的预期测量进行内插和外推。该定位服务器可将预期测量作为地点的位置指纹数据存储在数据存储库中,并向移动设备提供位置指纹数据以用于位置确定。
[0004] 包括定位服务器或移动设备或这两者的系统可对位置指纹数据去重。对位置指纹数据去重可包括识别相关联的信号源,其中的信号相互依存,使得对一个信号源的测量可用于预测对另一个信号源的测量。系统可确定每对信号源的互信息熵值,并识别具有高互信息熵值的相关联的信号源。系统可在位置确定中调节相关联的信号源的权重。
[0005] 该定位服务器可确定调查数据(包括对地点中的各个位置处的环境变量的测量)的网格。网格可包括多个单元格。这些单元格可覆盖地点。该定位服务器可将每个单元格与对来自单元格中的环境变量的信号的测量分布关联起来。该定位服务器可向移动设备提供对网格的表示(包括单元格和对应分布),以用于确定移动设备在地点中的位置。
[0006] 移动设备可使用粒子过滤器和卡尔曼过滤器来确定移动设备的位置。粒子过滤器可使用对地点中的环境变量的测量来过滤移动设备的候选位置。卡尔曼过滤器可过滤来自移动设备的传感器的输入,以用于测量移动设备的角移动。粒子过滤器和卡尔曼过滤器可通过移动设备的航向而被联系起来。卡尔曼过滤器的输出可用于确定在粒子过滤器的下一迭代中将粒子或候选位置布置于何处。来自粒子过滤器的输出可用于确定卡尔曼过滤器的中心模式,并可用于确定传感器的偏差以用于测量角移动。
[0007] 移动设备可使用位置指纹数据和传感器读数通过使用粒子过滤器来确定移动设备进出地点的一部分的转换。当移动设备确定移动设备位于地点的第一部分(例如在给定层上)处时,该移动设备可引入地点的第二部分上的候选位置或粒子、以及地点外部的候选位置。如果地点的第一部分的估计位置并未聚合,则移动设备可增加地点的第一部分外部的候选位置的权重,以检测向地点的第二部分或向地点外部的可能转换。
[0008] 可实施本说明书中所描述的特征以实现以下优点。与用于生成位置指纹数据的常规技术相比,本说明书中所描述的调查技术可得到更高质量的位置指纹数据。位置指纹数据可包括通过内插和外推得出的地点的未调查区域的数据。位置指纹数据可包括可调节例如彼此相邻布置的两个信号源 (例如路由器的两个天线)的权重以免过度依赖此类信号源的去重信息。去重可使数据大小更小并且使计算更简单。使用联合过滤器可降低粒子过滤器在计算位置时的错误率和计算复杂度。使用联合过滤器可校正在测量移动设备的角运动时的传感器读数的错误。转换检测技术可检测移动设备从地点离开,并切换到使用GPS或使用另一地点的位置指纹数据进行位置确定,从而避免在移动设备不再位于该处时浪费计算资源来计算地点中的位置。
[0009] 在附图和以下说明书中阐述了主题的一个或多个具体实施的细节。根据说明、附图及权利要求,所述主题的其他特征、方面和优点将变得显而易见。

附图说明

[0010] 图1是示出用于室内位置确定的示例性用户界面的图示。
[0011] 图2示出了用于确定地点处的位置的示例性技术。
[0012] 图3A是示出用于室内位置确定的示例性贝叶斯过滤器的示意图的框图。
[0013] 图3B是示出使用粒子过滤器进行室内位置确定的示例性过程的流程图。
[0014] 图4A至图4F示出了用于配置粒子过滤器的示例性模型。
[0015] 图5A是示出示例性室内调查技术的图示。
[0016] 图5B是示出室内调查数据的示例性聚合的图示。
[0017] 图6是示出单元格的示例性位置指纹数据的图示。
[0018] 图7是示出室内位置确定的示例性架构的框图。
[0019] 图8是示出示例性室内位置确定中的不同天线增益的图示。
[0020] 图9A示出了被配置用于室内位置确定的设备的示例性计步数据。
[0021] 图9B是示出加速度计启发式方法的示例性过程的流程图。
[0022] 图10A和图10B示出了两种不同过滤器的示例性数据。
[0023] 图11示出了两种不同过滤器的示例性数据之间的相互关系。
[0024] 图12示出了角移动分布的示例性表示。
[0025] 图13示出了用于确定传感器在测量角速度和加速度时的偏差的示例性技术。
[0026] 图14A和图14B示出了用于确定位置转换的示例性技术。
[0027] 图15示出了在确定位置转换时的示例性权重偏移。
[0028] 图16示出了用于去重调查数据的示例性亲合矩阵。
[0029] 图17A和图17B示出了用于对不同信号源进行加权的示例性亲合矩阵。
[0030] 图18示出了用于对传入调查数据进行加权的示例性亲合矩阵。
[0031] 图19是示出取样设备的示例性部件的框图。
[0032] 图20是示出移动设备的示例性定位子系统的部件的框图。
[0033] 图21是示出定位服务器的定位服务子系统的示例性部件的框图。
[0034] 图22是确定位置指纹数据的示例性过程的流程图。
[0035] 图23是使用联合过滤器进行位置确定的示例性过程的流程图。
[0036] 图24A和图24B是确定位置转换的示例性过程2400的流程图。
[0037] 图25是调查数据去重的示例性过程的流程图。
[0038] 图26是用于实现图1至图25的特征和操作的示例性系统架构的框图。
[0039] 图27是示出实现参照图1至图25所述的特征和操作的移动设备的示例性设备架构的框图。
[0040] 图28是图1至图25的移动设备的示例性网络操作环境的框图。
[0041] 各附图中的类似参考符号表示类似的元件。

具体实施方式

[0042] 示例性位置确定
[0043] 图1是示出用于室内位置确定的示例性用户界面100的图示。用户界面100可被显示在被配置为确定室内位置的移动设备102上。室内位置可为这样的位置,其中来自卫星定位系统(例如全球定位系统(GPS))的信号不可用、不够准确或其他方面不适合确定位置。室内位置可为地点(例如,建筑物、洞穴或游轮)中的位置。室内位置可包括纬度和经度坐标或相对于地点的坐标(例如,参照点左边X米和参照点前面Y米)。
[0044] 用户界面100可包括至少一部分地点的地图,以及叠加在地图上的位置指示符104。位置指示符104是指示移动设备102在地点中的估计位置的标记,例如圆点、圆圈或针状物。位置指示符104可被精度指示符106包围。精度指示符106可为圆形、正方形或另一种几何形状。精度指示符106 的尺寸可指示移动设备102的位置的估计误差容限,其中尺寸较大表明估计误差容限较大。
[0045] 位置指示符104和相关联的精度指示符106可随着估计位置的变化 (例如,当用户携带着移动设备102在地点中行走时)而移动。当移动设备102移动时,位置指示符104可与航向指示符108相关联。航向指示符 108可为从位置指示符104指向移动设备102的估计航向的箭头。移动设备 102可使用对由移动设备102接收到的信号的测量或使用移动设备102预期接收到但实际上未接收到的信号来确定估计位置和估计航向。这些信号可为射频(RF)信号。估计航向可能不同于使用陀螺仪或磁力仪(例如,机械或电子罗盘)确定的航向,后者可受到各种干扰。移动设备102可将标记 110叠加在地图上。标记110可在地图上指示使用陀螺仪或磁力仪确定的航向。标记110可为从位置指示符104指向航向的箭头。该箭头可指向与航向指示符108的方向不同的方向。
[0046] 图2示出了用于确定地点的位置的示例性技术。(图1的)移动设备 102可通过使对移动设备102的传感器的信号测量与被存储在移动设备102 上的位置指纹数据匹配来确定移动设备102的位置。位置指纹数据可包括叠加在地点204上的虚拟网格202。虚拟网格202可包括多个单元格。每个单元格可为矩形区域(例如,正方形),其与对来自一个或多个信号源(例如,信号源206,208,210)的信号的预期测量相关联。信号源206,208,210 中的每个信号源可为RF信号源,例如无线接入点(AP)、RF信号信标或蜂窝点。信号源206,208,210中的每个信号源可位于或可不位于地点204 中。
[0047] 移动设备102可使用贝叶斯过滤器(例如,粒子过滤器)来确定移动设备102的估计位置。移动设备102可使用贝叶斯过滤器来确定移动设备 102位于每个单元格中的概率密度,并且可使用观测值来更新该概率密度,该观测值包括RF信号与对位置指纹数据中的信号的预期测量的匹配测量。每个“粒子”211可为与单元格对应的候选位置。粒子211可对应于移动设备位于该单元格中时的预期测量。移动设备102可基于包括实时传感器读数的观测值来确定移动设备102位于每个单元格中的概率。例如,移动设备102可确定移动设备102位于单元格212中的概率,该概率具有值X,该值X高于移动设备102位于单元格214中的概率,该概率具有值Y,该值Y高于移动设备102位于其他单元格中的概率。移动设备102可随后根据单元格212和214的位置来确定移动设备102的估计位置。
[0048] 图3A是示出用于室内位置确定的贝叶斯过滤器的示例性示意图的框图。贝叶斯过滤器可为粒子过滤器302。粒子过滤器302提供在离散时间 t0、t1、t2等时(图1的)对移动设备102在地点(例如,图2的地点 204)中的位置状态的估计。粒子过滤器302的状态空间可由相对于参照点以米计的x,y坐标来表示。可使用定时器304来调节离散时间。粒子过滤器302的观测值可被提供在传感器扫描306中。传感器扫描306可包括测量,例如由移动设备102的RF信号接收器接收到的RF信号的接收信号强度指示(RSSI)或往返时间(RTT)。
[0049] 图3B是示出使用粒子过滤器(例如,图3A的过滤器302)进行室内位置确定的示例性过程320的流程图。过程320可由移动设备(例如,图1 的移动设备102)执行。
[0050] 移动设备可初始化(322)粒子过滤器的状态空间。初始化状态空间可包括设定零粒子和百分之百的地图外权重。设定百分之百的地图外权重可包括将所有权重分配给地图外粒子。地图外粒子可包括可与地点不相关的粒子。
[0051] 移动设备可根据信号测量来施加(324)权重。根据信号测量施加权重可包括基于信号传播特性来确定信号衰减。移动设备可确定在开放空间中信号强度遵守对数正态分布。移动设备可确定在多路径和视线环境中信号强度可遵守莱斯分布。移动设备可确定在没有在视线内时多路径衰减朝向两个独立高斯分布(包括同相和正交)收敛,从而产生按伏(V)或毫伏(mV)测得的信号强度的瑞利分布。
[0052] 移动设备可根据已下载到移动设备的位置指纹数据来获得RSSI预期在地点的每个位置处的热图。每个热图可对应于不同信号源。对于每个粒子而言,移动设备可根据热图通过预期信号强度来确定瑞利分布的中心。移动设备可确定观测到的测量对于网格的一个或多个单元格中的粒子是可能的,并且对于一个或多个其他单元格中的粒子是不可能的。移动设备可针对每个信号源重复上述操作。在预期信号强度不可用的区域中,移动设备可确定测量似然分布是以dBm测得的均匀分布。
[0053] 移动设备随后重新取样(328)并执行运动和预测(330),然后重复阶段 324,326,328,330的操作。下文参照图4A至图4F描述了运动和预测操作的细节。
[0054] 图4A至图4F示出了用于位置预测的各种示例性模型。图4A示出了最简单版本的运动和预测。移动设备可将高斯随机噪声以每单位时间的固定方差添加到每个粒子。粒子402(被表示为图4A中的实心圆点)为时间 t0的粒子。粒子404(每个粒子被表示为圆圈)为时间t1的粒子,时间t1 为时间t0之后的单位时间。移动设备可随后使用观测值来过滤粒子404。
[0055] 图4B示出了在移动设备具有指示移动设备的用户在行走的计步信息的情况下的运动和预测。移动设备可添加小高斯随机噪声,其中拉普拉斯算子被设定为步幅长度。粒子406为时间t0的粒子。粒子408为时间t1的粒子。
[0056] 图4C示出了在移动设备具有指示移动设备的用户未行走的计步信息的情况下的运动和预测。移动设备可将小高斯随机噪声以每单位时间的固定方差添加到每个粒子。粒子410为时间t0的粒子。粒子412为时间t1的粒子。
[0057] 图4D示出了在移动设备具有计步信息并且另外还具有航向信息的情况下的运动和预测。航向信息可指示移动设备在时间t0的航向。移动设备可能不具有关于移动设备的用户是在行走还是静止不动的具体信息。移动设备可将高斯随机噪声以每单位时间的固定方差以及分布的航向变化添加到每个粒子。粒子414为时间t0的粒子。粒子414与在图4D中被表示为箭头的航向相关联。粒子416(每个粒子由指示相应航向的箭头表示)为时间t1的粒子。
[0058] 图4E示出了在移动设备具有计步信息和航向信息的情况下的运动和预测。计步信息可指示在时间t0用户携带移动设备在行走。移动设备可将截断高斯随机噪声以每单位时间的固定方差以及分布的航向变化添加到每个粒子。移动设备可在移动设备的航向中截断高斯随机噪声。粒子416为时间t0的粒子。粒子418与在图4D中被表示为箭头的航向相关联。粒子420 为时间t1的粒子。
[0059] 图4F示出了在移动设备具有计步信息和航向信息的情况下的运动和预测。计步信息可指示移动设备在时间t0静止不动。移动设备可将小高斯随机噪声以每单位时间的固定方差以及固定航向(对应于移动设备在时间t0 的航向)添加到每个粒子。粒子422为时间t0的粒子。粒子424为时间t1 的粒子。
[0060] 示例性位置调查
[0061] 图5A是示出示例性室内位置调查技术的图示。位置调查所生成的调查数据可经处理而产生地点(例如地点204)的位置指纹。取样设备502可为实现位置调查特征的移动设备。取样设备502可被调查员携带到地点 204。调查员可为人或被编程为在地点204四周移动的车辆。
[0062] 地点204可为具有结构的空间,该结构具有比GPS或WiFiTM三角测量的可用粒度更精细的结构粒度。地点204的结构可包括限制人在空间中移动的一个或多个约束。这些约束可包括例如地图约束(例如,墙、栏杆或隔间隔板)、通道约束(例如,在由道路标志限定的通道上行走的步行者将沿着该通道步行)或步行者运动约束(例如,步行者无法超过X英里/小时的移动速度或当不在楼梯或升降机中时无法竖直地移动)。
[0063] 调查地点204可包括在取样设备502在地点204中移动时记录地点204 处的环境读数。环境读数可为对来自地点204各个位置(例如,位置512 和516)处的信号源(例如,信号源206,208,210)的信号的测量。测量来自信号源206,208,210的信号可包括在位置512和516处执行信道扫描。信道扫描可为对信号源206,208,210的所有标准RF信道进行扫描。如果在信道扫描中检测到信号,则取样设备502可测量该信号的一个或多个方面。例如,取样设备502可测量RSSI或RTT或这两者。取样设备502可记录与信号源206,208,210中的每个信号源的标识符相关联的测量。标识符可为相应信号源的媒体访问控制(MAC)地址或服务集识别(SSID)。
[0064] 取样设备502可在任意位置(例如,位置512)处开始进行测量。携带取样设备502的调查员可沿着任何路径在任何方向上行走。运动传感器 (例如,加速度计)可测量调查员迈步所引起的加速度。取样设备502可使用与取样设备502的陀螺仪或磁力仪相关联的测量来确定行进速度、行进距离和方位。取样设备502可随后确定运动路径例如运动路径513A。运动路径513A可为连接两个锚点的路径。每个锚点可为用户利用标记在取样设备上指定的地点204中的位置,或取样设备确定已发生方向改变的地点 204中的位置。
[0065] 例如,第一锚点可与位置512相关联,该位置是用户指定为调查起点的位置。第二锚点可与位置514相关联,该位置是如由运动传感器和罗盘读数确定的取样设备502的估计位置。运动路径513A将起点和估计位置链接起来。
[0066] 与估计位置514相关联的锚点可响应于用户输入而移动。调查员的步幅可比普通人更大或更小。取样设备502的罗盘可受到各种干扰的影响。因此,估计位置514可为取样设备502的不准确位置。调查员可通过指示取样设备502位于位置516处来校正该不准确度。取样设备502可随后将运动路径513A调节成运动路径513B。取样设备502可在调查期间(例如,在取样设备502在地点204中移动时)或在调查之后作出该调节。
[0067] 取样设备502可移动到下一位置518,520,522。下一位置518,520,522 中的每个位置可为估计位置。取样设备502可接收用户输入,以将估计位置522调节成位置524。
[0068] 取样设备502可沿着运动路径利用路点来对环境读数进行标记。例如,取样设备502可确定沿着经调节的运动路径526(长28米)从位置 520行进到位置524需要20秒。在40秒期间,取样设备502分别在第5 秒、第10秒和第15秒时记录三组环境读数。取样设备502可确定分别与位置520相距7、14和21米处的路点528,530,532。取样设备502可使路点528,
530,532的位置与这三组环境读数相关联。取样设备502或与取样设备无线耦接的定位服务器可确定用户设备位于路点528,530,532处时由用户设备所预期的环境读数。预期读数可被指定为地点204的位置指纹的一部分。用户设备可使用地点204的位置指纹来估计用户设备位于地点204 中的何处。
[0069] 图5B是示出室内调查数据的示例性聚合的图示。定位服务器可从第一取样设备和第二取样设备(两者均调查地点204)接收调查数据。第一取样设备在第一次调查期间可沿着路径540。第二取样设备在第二次调查期间可沿着路径542。路径540和路径542可具有重叠部分,并且可具有彼此不同的部分。
[0070] 定位服务器可确定发生每次信号扫描的地点204中的相应位置。服务器可随后执行空间量化,并确定离散信号扫描的最佳拟合的瑞利分布。在空间量化中,定位服务器可确定网格,包括网格中的每个单元格的单元格大小。定位服务器可动态地确定单元格大小。在确定单元格大小时,定位服务器可使用大量的调查数据。通过提供更高的精度,更多的调查数据对应于更小的单元格大小。可存在重复附加数据而不给调查增加精度的临界点。在确定添加调查数据会缩小单元格大小时,定位服务器可确定更多调查将使移动设备更准确地进行位置确定。定位服务器可从取样设备请求附加调查数据。在确定添加调查不会缩小单元格大小时,定位服务器可确定调查已被聚合,并且更多调查不会使移动设备更准确地进行位置确定。定位服务器可随后通知取样设备已执行充分的调查。该通知可用于提醒调查员停止对地点进行调查。定位服务器可使用单元格的大小作为地点204的质地的预测器,该单元格的大小是使用扫描信号的位置确定精度的下限。最佳拟合的瑞利分布可为由离散扫描得出的连续概率分布。瑞利分布的单位可为实测功率与单位参考功率(例如,dBm)之间的比率。相应最佳拟合的瑞利分布可与每个单元格相关联。
[0071] 该系统可内插和外推地点204的未观测区域。例如,定位服务器可确定没有取样设备对位于两个或更多个调查区域之间的区域544进行调查。定位服务器可随后通过对这两个或更多个调查区域的调查数据进行内插来对预期信号测量进行内插。定位服务器可确定没有取样设备对不位于两个或更多个调查区域之间的区域546进行调查。定位服务器可随后通过使用信号传播特性(例如,对数距离路径损耗、对数正态分布或莱斯分布)和地点204的结构外推调查区域的调查数据来对预期信号测量进行内插。内插和外推可包括将对数距离路径损耗简化成纯粹的线性方程,从而将内插或外推缩小成离散泊松方程(DPE)的示例。定位服务器可使用DPE算子来计算结果。
[0072] 定位服务器可确定地点204的楼面平面图的尺寸。确定该尺寸包括确定基准,即哪个方向为北。这种确定允许位置确定使用罗盘作为航向基准。定位服务器可通过获取调查数据中的罗盘读数的中值来确定局部磁北。局部磁北可能与实际磁北相同或可能因环境影响而与实际磁北不同。
[0073] 确定该尺寸可包括确定楼面平面图上的测量(例如,以米为单位)。如果纬度和经度锚点可用于楼面平面图,则定位服务器可计算转换。确定测量可基于由调查员所提供的基准点。如果纬度和经度锚点不可用于楼面平面图,则定位服务器可使用行走距离来计算楼面平面图的大小。
[0074] 定位服务器可对每个信号源执行该操作,使之变成相应热图。定位服务器可向移动设备(例如,移动设备102)提供作为位置指纹数据的热图,以便进行位置确定。
[0075] 图6是示出单元格的示例性位置指纹数据的图示。位置指纹数据包括(图2的)地点204的热图602。热图602可包括叠加在地点204的地图上的虚拟单元格。每个单元格与在该单元格中进行测量时的信号预期测量相关联。
[0076] 为了举例说明,提供代表性单元格604。单元格604可与概率密度函数606相关联。概率密度函数可为对RSSI内的取样数据的瑞利分布拟合。取样数据可包括对于多个RSSI范围(例如,-100dBm至-90dBm、-90dBm 至-80dBm等等)中的每个RSSI范围而言在与单元格604对应的地点204 中的位置处进行的对测量的计数。预期值可为瑞利分布拟合的统计期望。
[0077] 图7是示出室内位置确定的示例性架构的框图。该架构可在移动设备 (例如,图1的移动设备102)上实现。
[0078] 移动设备102可将定时器304和传感器扫描306的输出馈送到联合过滤器702。传感器扫描306可包括RF信号测量。联合过滤器702可包括结合工作的两个贝叶斯过滤器,即第一过滤器704和第二过滤器708。第一过滤器704可为被配置为使用观测值(例如,传感器扫描306)来过滤粒子例如移动设备102在地点中的候选位置的一种类型的粒子过滤器。候选位置为在粒子过滤器的迭代中的移动设备102的可能位置。第二过滤器706可为被配置为处理惯性传感器读数和磁力仪读数的一种类型的卡尔曼过滤器。定时器304的输出可限定第一过滤器704和第二过滤器706的时间间隔。第一过滤器704和第二过滤器706的时间间隔可彼此相同或不同。粒子过滤器704可分析指示置信度的粒子过滤器704的“自适应”统计值。如果最近的室内位置与近期测量符合度低,则粒子过滤器704可确定置信度低。
[0079] 移动设备102可包括被配置为测量围绕x、y和z轴的角速度和加速度的陀螺仪710。移动设备102的陀螺静态检测模块712可基于陀螺仪710的输出来确定移动设备是否为陀螺静态模式。联合过滤器702可使用陀螺静态检测模块712的输出来过滤陀螺仪710的读数,从而推断移动设备102 的航向、移动设备102沿着该航向的速度、以及陀螺仪710的偏差。
[0080] 移动设备102可包括被配置为测量移动设备在x、y和z轴的方向上的线性加速度的加速度计714。加速度计714可生成计步数据。行走检测模块 716可使用计步数据来确定移动设备是处于行走模式(其中设备被行走用户携带)、处于未指定模式(其中移动设备可移动,例如被取出口袋,但不处于行走模式)、还是处于静态模式。
[0081] 移动设备102可包括被配置为确定磁北的磁力仪718。磁可靠性模块 720可使用来自陀螺仪710的输出和来自行走检测模块716的输出来确定任何给定时间的磁可靠性。磁可靠性模块720可滤除可能不准确的磁力仪718 的读数,例如由位置靠近移动设备的磁性物体、由磁力仪延迟或由磁力仪噪声所造成的读数的不准确。
[0082] 联合过滤器702可使用陀螺静态检测模块712、陀螺仪710、行走检测模块716和磁可靠性模块720的输出来确定移动设备的状态的概率分布。概率分布可包括有关x,y位置(例如,以米计)和天线增益(例如,以 dBm计)的概率分布,并且将该概率分布馈送到聚类与模式估计模块 722。聚类与模式估计模块722可根据以米计的概率分布、以平方米计的估计位置的方差以及以概率值表示的与估计位置相关联的置信度来确定移动设备的估计位置。
[0083] 移动设备102可包括粗略位置切换器730。粗略位置切换器730为被配置为检测移动设备102的转换的移动设备102的部件。转换可包括移动设备102离开地点或移动设备102从地点的第一部分(例如,建筑物的第一层)移动到地点的第二部分(例如,建筑物的第二层)。在检测到该转换时,粗略位置切换器730可切换到位置指纹数据的不同部分、从室内位置确定切换到室外位置确定(例如,通过使用GPS信号)或这两种情况一起发生。
[0084] 粗略位置切换器730可使用各种信号(例如,Wi-Fi信号或GPS信号)来确定移动设备102位于地点中的概率。例如,粗略位置切换器730 可分析近期的扫描集合(例如,在上个90秒中的任何时间的每个信道上的最近扫描),并列出所观测到的所有MAC地址。如果移动设备102不位于地点V中,则粗略位置切换器730可能无法观测到移动设备102位于地点 V内时粗略位置切换器730预期会观测到的那样多的MAC地址。相似地,如果移动设备102实际上位于地点V内,则粗略位置切换器730可能会在每一次扫描中均观测到该地点的个多MAC地址。
[0085] 对粗略位置切换器730的其他输入可包括获取近期位置(例如,GPS 位置),并将这些近期位置的纬度和经度与地点V的已知纬度和经度进行比较。它们相隔越远,移动设备102便越不可能位于地点V处。同样,当移动设备102在室内时,更难以获得移动设备102的较强卫星定位。在观测到卫星定位较弱或不存在时,粗略位置切换器730可确定移动设备102 可能在室内。在观测到远离地点的卫星定位较强时,粗略位置切换器730 可确定移动设备
102可能不位于地点V处。
[0086] 近期扫描集合、近期位置和置信度可共同形成贝叶斯过滤器。这三个来源中的每个来源对是否相信移动设备102位于每个特定地点中进行投票。统计每个地点的票数。在一些具体实施中,这些票数被视为概率,并且利用适当的贝叶斯过滤器来替代票数结果。但更简单且资源更便宜的算法可仅仅统计票数,而对于更简单的算法而言,要确定多少票数是有价值的、多少票数可能比较困难。
[0087] 图8是示出示例性室内位置确定中的不同天线增益的图示。取样设备的不同品牌和型号以及其他移动设备的不同品牌和型号可具有不同的天线增益。当用户在不同位置和不同角度持握同一移动设备时,该移动设备可具有不同的天线增益。定位子系统可将天线增益添加到(图7的)第一过滤器704的状态中,以进行补偿。
[0088] 例如,移动设备可在某一位置处具有第一增益图案802。移动设备可由于环境影响(例如由房间拥挤或由持握移动设备的方式所造成的环境影响)而具有第二增益图案804。第二移动设备可具有可能由天线和芯片组的不同设计造成的第三增益图案806。定位子系统可推断以dBm测得的单独天线增益。水平轴X可指示移动设备处于不同位置或角度时移动设备预期将观测到的信号强度。垂直轴Y可指示移动设备实际观测到的信号强度。对应于第一增益图802,定位子系统可引入dBm参数y=x+g0,其中 g0=0。对应于第二增益图804,定位子系统可引入dBm参数y=x+g1。对应于第二增益图804,定位子系统可引入dBm参数y=x+g2。在上述计算中, g0、g1和g2为以dBm测得的不同天线增益。
[0089] 图9A示出了被配置用于室内位置确定的设备的示例性计步数据900。计步数据900可包括来自(图7的)加速度计714的读数。这些读数以二维图形表示。该图形的X轴表示以秒测得的时间。该图形的Y轴可表示以米/秒/秒(m/s^2)测得的垂直加速度。计步数据900中的每个波峰和波谷可表示携带移动设备的人所迈的一步。计步数据900的部分可为平坦的,从而指示人在该部分的时间内没有行走。
[0090] 图9B是示出加速度计启发式方法的示例性过程920的流程图。过程 920可由图7的行走检测模块716执行。
[0091] 行走检测模块716可从加速度计714接收(922)计步数据900。行走检测模块716可确定(924)指定时间内的加速度的方差。时间可被指定为人迈一步的平均时间,例如750毫秒(ms)。行走检测模块716可确定方差是否降至低于阈值。如果是(例如,当方差足够低时),则行走检测模块716可确定移动设备处于静态模式928。如果否(例如,当方差足够高时),则行走检测模块716可确定移动设备处于非静态模式930。
[0092] 在确定移动设备处于非静态模式930时,行走检测模块716可使用重力加速度的大小和迈步持续时间检查来确定移动设备是处于未指定模式还是处于行走模式。例如,如果方差指示加速度的方向变化高于或低于正常迈步时间例如高于K ms或低于L ms,则行走检测模块716可确定移动设备处于未指定模式。否则,行走检测模块716可确定移动设备处于行走模式。行走检测模块716可向联合过滤器702和磁可靠性模块720(均示于图 7中)提交(932)静态模式928、未指定模式或行走模式作为输出。
[0093] 同样,陀螺仪静态检测模块712可在指定时间期间基于陀螺仪读数的方差来确定移动设备是处于陀螺仪静态模式还是处于陀螺仪非静态模式。该指定时间可对应于改变行走方向的时间,例如1.5秒。在确定方差超过阈值时,陀螺仪静态检测模块712可确定移动设备处于陀螺仪非静态模式。否则,陀螺仪静态检测模块712可确定移动设备处于陀螺仪非静态模式。
[0094] 示例性联合过滤器
[0095] 图10A和图10B示出了两种不同过滤器的示例性数据。这两种过滤器可为图7的第一过滤器704和第二过滤器708。第一过滤器704(例如,粒子过滤器)和第二过滤器708可组合而不层叠。粒子1002可对应于移动设备在时间t0在(x0,y0)位置处的可能位置。同时,在t0和t1之间的时间,陀螺仪可检测移动设备的方向的变化,该方向的变化具有概率分布1004。移动设备的定位子系统可将粒子1002与改变方向的概率分布1004组合起来,以在时间t1确定移动设备位于与粒子1006对应的位置(x1,y1)处或与粒子1008对应的位置(x2,y2)处的概率分布。
[0096] 图11示出了两种不同过滤器(例如,粒子过滤器和卡尔曼过滤器)的示例性数据之间的相互关系。卡尔曼过滤器可通过隐含分布来影响粒子过滤器。粒子过滤器可通过对中心矩引入权重来影响卡尔曼过滤器。移动设备的定位子系统可执行联合推断,例如使用RF信号扫描来推断陀螺仪偏差。另外,定位子系统可使用RF信号扫描来推断移动设备的航向、角速度和位置。如果定位子系统解析陀螺仪偏差、航向、角速度或定位中的一者,则定位子系统可使用该解答来解析这些变量中的另一变量。定位子系统可推断支配贝叶斯过滤器的模型的隐藏参数。例如,用户的“步幅长度”或每步的距离可为未知先验的。随时间,定位子系统可确定与用户总体轨迹一致的主要步幅长度。定位子系统还可获悉移动设备周围的磁场的特性以及其他传感器偏差。
[0097] 在给定时间t0,粒子过滤器1112中的每个粒子1102A,1104A,1106A, 1108A可具有以米计的相应x位置、以米计的相应y位置、以及以基准方向(例如,北)弧度计的相应航向θ。粒子1102A,1104A,1106A,1108A的航向在航向地图1114中表示为航向1102B,1104B,1106B,
1108B,其未按比例绘制。
[0098] 卡尔曼过滤器可具有系统状态1116,该系统状态包括航向变化速率ω (以航向θ内的弧度/秒(rad/s)测得)的概率分布。定位子系统可通过航向地图1114来将卡尔曼过滤器的系统状态1116与粒子过滤器1112中的粒子联系起来。通过这种联系,定位子系统可为每个粒子(例如,粒子1102A 和粒子1104A)给予ω的隐含分布,例如分别为分布1102C和分布 1104C。
[0099] 图12示出了角运动分布的示例性表示。定位子系统可将图11的分布 1102C和分布1104C分别表示为高斯1202和1204。因此,定位子系统可使粒子1102A和1104A与高斯1202和
1204相关联。同样,定位子系统可使粒子1106A和1108A分别与高斯1206和1208相关联。
[0100] 图13示出了两个贝叶斯过滤器之间的交互。图11至图12示出了在t0 时航向θ的变化速率ω的隐含分布。图13示出了在时间t1(例如,t0后的一个时间单位)时的分布的变化。
[0101] 在时间t1时,粒子1102A,1104A,1106A,1108A被替换为粒子1302, 1304,1306,1308。定位子系统可能在时间t0与t1之间已接收到传感器扫描。基于传感器扫描和位置指纹数据,定位子系统可确定移动设备位于单元格1310,1312,1314中的相应概率。例如,定位子系统可确定移动设备极有可能位于单元格1210中,可能位于单元格1312中,并且不可能位于单元格1314中。定位子系统可随后基于相应概率来对粒子进行重新加权。例如,定位子系统可为位于单元格1310中的粒子1302和1304给予最高权重,为位于单元格1312中的粒子
1306给予中等权重,并且为位于单元格 1314中的粒子1308给予最低权重。
[0102] 重新加权可改变速率ω的隐含分布的中心矩。例如,最初在时间t0时靠近高斯1204和1206的隐含分布的中心矩,可能由于与对应于高斯1208 的粒子1308具有最低权重而靠近高斯1202和1204。定位子系统可随后确定卡尔曼后验1320。定位子系统可使用卡尔曼后验1320和相关联的概率分布对粒子进行重新加权。
[0103] 位置转换检测
[0104] 图14A和图14B示出了用于确定位置转换的示例性技术。图14A示出了粒子过滤器中的粒子的示例性组成。图1的移动设备102的定位子系统在确定地点(例如,图2的地点204)处的位置时可使用粒子过滤器。定位子系统可将第一部分地点204中的候选位置指定为用于粒子过滤器的粒子的一部分。定位子系统可将地点204的第二部分(例如,地点204的不同层)处的其他位置指定为粒子的另一部分。另外,定位子系统可将为随机位置的“假想粒子”指定为粒子的第三部分。
[0105] 例如,定位子系统可通过使用粗略位置确定操作来确定移动设备102 位于地点204的第一部分中。移动设备102可在位置数据库中存储一系列无线接入点标识符,例如无线接入点的MAC地址。每个MAC地址可与地点204的一部分(例如,第一层、第二层等)相关联,其中该MAC地址的无线接入点是可检测的。粗略位置确定操作可包括确定由移动设备102所检测到的信号源的标识符并将该标识符与位置数据库中的标识符进行匹配,并且将地点的相关联部分指定为移动设备102的粗略位置。
[0106] 定位子系统可指定N个(例如,500个)粒子在时间t0时用于粒子过滤器。这些粒子表示为粒子1400。在粒子1400之中,百分之X(例如, 85%)可被指定为真实粒子,这些真实粒子为在地点204的该部分处或地点 204的另一部分处的位置,例如地点204上方的一层。在粒子1400之中, 1-X%(例如,15%)的粒子可为假想粒子。在真实粒子之中,第一数目的粒子可来自地点204被指定为L1的其他部分。第二数目的粒子可来自地点 204被指定为L2的部分,根据先验估计来将移动设备102定位于该部分中。定位子系统可使用假想粒子以及不同位置处的粒子来检测转换。例如,定位子系统可使用假想粒子的权重来推断移动设备
102在地点204的第一部分至地点204的第二部分之间转换或离开地点204。当粒子过滤器指示移动设备更可能位于与假想粒子或不同粒子对应的位置处时,定位子系统可确定移动设备102转换到地点204之外。
[0107] 图14B示出了粒子过滤器中的粒子的示例性加权。定位子系统可将权重1404从假想粒子移动到真实粒子。定位子系统在时间t0时对粒子进行取样,并在时间t1时对粒子进行重新取样。重新取样可包括基于权重来选择一些粒子,并放弃其他粒子。每次重新取样对应于在移动设备102所位于的最可能区域中的更新的搜索。要移动的权重可为百分之Y(例如,2%或 0.02)。定位子系统可对百分之(X+Y)(例如,87%)权重进行重新取样,使其回到总数。新的权重分布在两个位置中。
[0108] 图15示出了在确定位置转换时的示例性权重偏移。在测量期间,粒子的每部分可针对不同先验进行测量。例如,移动设备102确定移动设备102 的最可能位置处于地点204的第一部分。移动设备102的定位子系统可针对第一测量模型1514来测量与位置L1(地点204的第二部分)对应的粒子 1512的一部分。移动设备102的定位子系统可针对第二测量模型1518来测量与位置L2(地点204的第一部分)对应的粒子1516的一部分。移动设备 102的定位子系统可针对第三测量模型1522来测量与未调查空间的假想粒子对应的粒子1520的一部分。第三测量模型1522可具有均匀分布。
[0109] 在粒子过滤器的下一迭代中,位置的不同可能性可使粒子权重偏移。例如,移动设备102位于地点204处的可能性越高,可使粒子权重向有利于地点204的方向偏移,从而增加粒子1512和1516的权重。如果定位子系统确定移动设备102位于地点204各个部分(包括位置L2)处的概率低于移动设备102位于位置L1处的概率,则定位子系统可通过增加与位置 L1对应的粒子1512的权重来搜索L1。该偏移允许定位子系统动态地确定移动设备102是在建筑物的各层之间转换、从室内转换到室外还是从室外转换到室内。移动设备102可允许假想粒子的权重和总分数在整个粒子过滤器运行时间内自由变动。该分数可低至0%,并且有时达到100%。当粒子过滤器首先启动时,其被初始化为100%假想粒子,直到经过一定时间后一些权重偏移到L1和L2。
[0110] 去重
[0111] 图16示出了用于去重调查数据的示例性亲合矩阵。在地点处,对两个信号源的信号测量可相关,其中对来自第一信号源的信号的测量取决于对来自第二信号源的信号的测量。例如,两个无线接入点可彼此相邻布置。对这两个无线接入点的RSSI测量和RTT测量可具有线性关系。系统(例如,取样设备、定位服务器或图1的移动设备102)可对关联性强的信号源进行去重,以减小位置指纹数据的大小和计算复杂度。定位子系统可使用亲合矩阵(例如,示例性亲合矩阵1600)来执行去重。
[0112] 对于调查中检测到的每对信号源而言,系统可计算互信息,该互信息测量一组测量取决于另一组测量的程度。计算互信息可包括将测量转换为相同单位,例如dBm。该系统随后对经转换的测量进行量化,并计算离散或连续互信息熵。两个信号源之间的互信息熵越高,所对应的这两个信号源之间的依赖性更高并且相关性更高。该系统可将互信息熵存储在亲合矩阵1600中。
[0113] 亲合矩阵1600可包括与信号源(例如,无线接入点A,B,C)对应的第一尺寸。亲合矩阵1600可包括与相同信号源对应的第二尺寸。亲合矩阵 1600中的每个元素可为两个信号源之间的互信息熵值。可针对分别作为元素(A,A)、(B,B)和(C,C)的每个无线接入点A,B,C来存储控制值(也被指定为自信息)。控制值可用作系统稳定性检查,其中在每行中所有互信息熵值不高于控制值。互信息熵值比元素高的元素可指示无线接入点B和A 的相关性比无线接入点C和A之间的相关性更强。
[0114] 图17A和图17B示出了用于对不同信号源进行加权的示例性亲合矩阵。图17A示出了信号源A,B,D的示例性矩阵1702。在矩阵1702中,元素1704(A,A)、元素1706(A,B)和元素(B,B)具有相同的非零互信息熵,从而指示信号源A和B的信号具有相同的分布。系统可随后为信号源A和B 分配相同权重,使得组合对来自信号源A的信号的测量和对来自信号源B 的信号的测量进行加权,从而作为单个独立的信号源。该系统可确定具有互信息熵零的信号源D(如在元素1708(D,A)和元素1710(D,B)中所见) 有资格作为独立信号源。因此,该系统可使用下式(1)对调查到或预期到的信号的测量进行加权。
[0115] M=0.5MA+0.5MB+1.0MD,                 (1)
[0116] 其中M表示对信号的测量或预期测量的矢量,MA表示对信号源A的测量或预期测量,MB表示对信号源B的测量或预期测量,并且MD表示对信号源D的测量或预期测量。
[0117] 图17B示出了示例性矩阵1712。在矩阵1712中,元素1714(B,A),元素1716(D,A)和元素1718(D,B)具有相同互信息熵零,从而信号源A,B, D的信号彼此独立。系统可随后为信号源A,B,D分配全部权重。因此,该系统可使用下式(2)对调查到或预期到的信号的测量进行加权。
[0118] M=1.0MA+1.0MB+1.0MD,                 (2)
[0119] 其中M表示对信号的测量或预期测量的矢量,MA表示对信号源A的测量或预期测量,MB表示对信号源B的测量或预期测量,并且MD表示对信号源D的测量或预期测量。
[0120] 图18示出了用于对传入调查数据进行加权的示例性亲合矩阵。当系统确定亲合矩阵时,该系统可使用亲合矩阵来对传入传感器扫描进行加权。该系统可为取样设备、定位服务器或移动设备。
[0121] 例如,该系统可确定所调查到的整组信号源的示例性亲合矩阵1802。信号源可包括无线接入点A,B,C,D。该系统可确定无线接入点B和D的子亲合矩阵1804。该子亲合矩阵1804可包括与无线接入点B和D之间的互信息熵值对应的亲合矩阵1802的子部分。该子部分可包括元素(B,B)、 (B,D)、(D,B)和(D,D)。可使用下式(3)来计算来自信号源I的信号的权重。
[0122]
[0123] 其中WI为信号源I的权重,MIE(I,I)为信号源I的指定自信息,MIE(I,j)为信号源I和信号源j之间的互信息熵值,并且n为号源的总数(从1计)。该系统可使用子亲合矩阵1804代替全亲合矩阵来进行位置确定。全亲合矩阵可包括整个地点中所有Wi-Fi接入点MAC地址,其数量可达到数百。当移动设备执行Wi-Fi扫描时,移动设备一次仅可能发现少数Wi-Fi MAC地址,其数量可为十二个左右。通过使用子亲合矩阵1804,移动设备可减小数据大小,例如从200×200矩阵减小到10×10矩阵。
[0124] 例如,使用式(3)和子亲合矩阵1804时,系统可确定信号源B的权重可被计算为WB=0.6/(0.6+0.4),并且信号源D的权重可被计算为WD= 0.8/(0.4+0.8)。同样,该系统可使用式(3)和如下无线接入点A,B,D的子亲合矩阵1806。
[0125] WA=0.85/(0.85+0.2+0.1),
[0126] WB=0.6/(0.2+0.6+0.4),以及
[0127] WD=0.8/(0.1+0.4+0.8)。
[0128] 示例性系统
[0129] 图19为示出取样设备502的示例性调查子系统1900的部件的框图。调查子系统1900可包括用于进行位置调查以填充位置指纹数据库的硬件部件或软件部件。
[0130] 调查子系统1900可包括调查管理器1902。调查管理器1902是调查子系统1900的被配置为管理位置调查功能的部件。调查管理器1902可提供用于扫描信道、记录测量、确定记录测量所在的位置、以及管理调查数据的规则。调查管理器1902可从信号源接口1904接收测量数据。
[0131] 信号源接口1904是调查子系统1900的被配置为与取样设备502的一个或多个传感器或接收器进行交互的部件,并且将对信号的测量和信号源的标识符提供到调查管理器1902。测量可包括例如当信号源206,208,210 为无线接入点时的RSSI或往返时间,当信号源206,208,210为热源时的温度,当信号源206,208,210为声音源时的声压级,当信号源
206,208,210 为光源时的光强度或光谱。另外,信号源接口1904可将微机电系统(MEMS) 数据提供到调查管理器1902。调查管理器1902可基于从调查路径估计器 1906接收的调查路径数据来使测量与地点处的位置相关联。
[0132] 调查管理器1902可从调查路径估计器1906接收位置路径数据。调查路径估计器1906为调查子系统1900的被配置为确定(图5A的)取样设备 502的运动路径的部件。调查路径估计器1906可基于起点和来自取样设备 502的一个或多个运动传感器的运动传感器数据以及由定位服务器接口 1908提供的地点地图来确定运动路径。调查路径估计器1906可将运动路径提供到调查管理器1902,该调查管理器可使用运动路径和MEMS数据来确定与测量相关联的位置。
[0133] 调查路径估计器1906可包括传感器数据规整器1907。传感器数据规整器1907为调查路径估计器1906的被配置为使用运动传感器数据来改善位置估计的准确度的部件。例如,取样设备502可使用测量调查员迈了多少步的平均步幅长度和加速度计读数来确定估计位置。调查员的步幅可更大或更小。因此,最初的估计位置可能不正确。调查员可将锚点移动到可更靠近或更远离起始位置的正确位置。基于正确位置与最初估计位置之间的差值,传感器数据规整器1907可将平均步幅长度替换为与特定调查员对应的步幅长度。因此,在估计下一个位置时,取样设备502可适用于该特定调查员。
[0134] 定位服务器接口1908为调查子系统1900的被配置为从定位服务器 1909接收地点地图并且在一些具体实施中接收运动路径的部件。在接收到地点地图和调查路径时,定位服务器接口1908可将地点地图和运动路径 (如果有的话)提交到调查路径估计器1906。如果运动路径被提交到调查路径估计器1906,则调查路径估计器1906可将运动路径提供到调查管理器 1902。
[0135] 调查管理器1902可使从信号源接口1904接收的测量与基于调查路径数据确定的位置相关联。调查管理器1902可将结果指定为调查数据,并且将调查数据提供到定位服务器接口1908,以供提交到定位服务器。在一些具体实施中,调查管理器1902可将调查数据存储在调查数据存储库1910 中,以供稍后提交到定位服务器。
[0136] 调查子系统1900可包括调查用户界面1912。调查用户界面1912可提供地点地图(从定位服务器接口1908接收),以供在取样设备502上显示。调查用户界面1912可提供叠加在地点地图上的调查路径以供显示。调查用户界面1912可提供各种用户界面项目以用于接收用户输入,以便指定起点、测量的位置、以及对锚点和运动路径的调节。
[0137] 图20是示出移动设备(例如,图1的移动设备102)的示例性定位子系统2000的部件的框图。定位子系统2000可包括用于确定移动设备在地点内的位置的硬件部件或软件部件。
[0138] 定位子系统2000可包括定位服务器接口2002。定位服务器2002为定位子系统2000的被配置为与定位服务器通信并下载一个或多个地点的位置指纹数据的部件。定位子系统2000可将所下载的位置指纹数据存储在设备侧位置指纹数据存储库2004中。
[0139] 在一些具体实施中,定位子系统2000可包括去重引擎2006。去重引擎2006为定位子系统2000的被配置为执行参照图16至图18所述的位置去重操作的部件。
[0140] 定位子系统2000可包括一个或多个信号传感器2008,以用于检测来自一个或多个信号源(例如,无线接入点)的信号(例如,RF信号)。该一个或多个信号传感器2008可确定每个信号的一个或多个测量,并将该测量提供到联合过滤器702。
[0141] 定位子系统2000可包括一个或多个惯性传感器2012,以用于测量移动设备的线性运动和角移动、加速度或这两者。惯性传感器2012可包括加速度计、陀螺仪或这两者。该一个或多个惯性传感器2012可将测量提供到联合过滤器702。
[0142] 联合过滤器702为定位子系统2000的被配置为执行参照图10A至图 13所述的操作以便确定移动设备的估计位置和移动设备的估计航向的部件。联合过滤器702可将估计位置和估计航向提供到定位用户界面2014。定位用户界面2014为定位子系统2000的被配置为将估计位置和估计航向叠加在地点的地图上并且提供所叠加的地图以便在显示屏上显示的部件。
[0143] 定位子系统2000可包括转换引擎2016。转换引擎2016为定位子系统 2000的被配置为将数据(例如,假想粒子)提供到联合过滤器702以便确定移动设备在各位置之间的转换的部件。该转换可包括移动设备在地点的不同部分(例如,各建筑物或各层)之间的移动。地点的每部分可对应于该部分的唯一地图。该转换可包括移动设备从地点向地点之外的移动。
[0144] 图21是示出定位服务器的定位服务子系统2100的示例性部件的框图。定位服务子系统2100可包括用于确定各个地点的位置指纹数据库的硬件部件或软件部件。
[0145] 定位服务子系统2100可包括调查接口2102。调查接口2102为定位服务子系统2100的被配置为提供待调查的地点列表、待调查的地点地图并且接收来自一个或多个设备的调查数据的部件。调查接口2102可将所接收的调查数据提供到调查数据处理程序2104。
[0146] 调查数据处理程序2104为定位服务子系统2100的被配置为执行参照图5B所述的操作(包括通过不同取样设备将相同地点的调查整合在一起) 并且对每个地点的未调查区域的预期测量进行内插和外推的部件。调查数据处理程序2104可生成位置指纹数据,以用于存储在服务器侧位置指纹数据库2106中。服务侧位置指纹数据库2106可存储多个地点的位置指纹数据,并将具体地点的位置指纹数据提供到请求下载的移动设备。
[0147] 在一些具体实施中,定位服务子系统2100可包括去重器2108。去重器2108为定位服务子系统2100的被配置为在定位服务器上执行参照图16 至图18所述的位置去重操作的部件。
[0148] 定位服务子系统2100可包括设备接口2109,以用于与请求位置指纹数据的移动设备进行通信。响应于这些请求,设备接口2109可从服务器侧位置指纹数据库2106检索一个或多个地点的位置指纹数据,并且向请求的移动设备提供所检索的位置指纹数据。在一些具体实施中,设备接口2109 可提供与位置指纹数据相关联的地点的虚拟地图。
[0149] 定位服务子系统2100可包括设备数据库2110。设备数据库2110可存储有关移动设备的不同品牌和型号以及设备的天线增益的不同特性(如根据来自调查接口2102的调查数据所确定的)的信息。天线增益计算器2112 可确定被存储在设备数据库2110中的不同天线增益,并且将设备类型作为单独维度添加在服务器侧位置指纹数据库2106中所存储的位置指纹数据中。
[0150] 示例性程序
[0151] 图22是确定位置指纹数据的示例性过程2200的流程图。过程2200可由定位服务器(例如,包括图21的定位服务子系统2100的定位服务器) 执行。
[0152] 定位服务器可接收(2202)调查数据。调查数据可包括对来自信号源的信号的测量。可在地点的调查中记录测量。信号源可为RF信号源。测量包括来自信号源的RF信号的RSSI或RTT中的至少一者。
[0153] 定位服务器可确定(2204)信号源的网格。网格可包括多个单元格,并且覆盖地点的至少一部分。每个单元格可对应于地点的一部分,并且与对来自信号源的信号的测量(如在单元格中所记录的)的分布相关联。每个单元格可具有与地点处记录的测量数量对应的单元格大小,其中越多的测量对应于越小的单元格。每个单元格可为矩形区域,例如正方形。每个单元格可与单元格中所记录的测量数量相关联。测量数量可指示用于确定用户设备在地点中的位置的统计置信度。越高的数量可指示越高的置信度。
[0154] 在一些具体实施中,对信号的测量的分布包括一组信号强度测量范围以及与每一范围对应的测量数量的离散分布。在一些具体实施中,对信号的测量的分布包括在信号强度值内的多次测量的连续分布,该连续分布通过执行在信号强度值内的多次测量的统计拟合来确定。
[0155] 定位服务器可向用户设备提供(2206)对对网格的表示(包括单元格和对应的测量分布)作为位置指纹数据,以便通过使用户设备的传感器读数与网格中测量的分布匹配来确定用户设备在地点处的位置。确定用户设备在地点处的位置可包括消除地点中的不可能的位置,在这些不可能的位置中,预期用户设备具有与单元格对应的测量,但并未接收那些测量。
[0156] 图23是使用联合过滤器进行位置确定的示例性过程2300的流程图。过程2300可由移动设备(例如,图1的移动设备102)执行。
[0157] 根据在第一迭代中初始时间时移动设备在地点处的初始估计位置,移动设备可在初始时间之后的第一时间获得(2302)移动设备的一组第一候选位置。移动设备可使用粗略位置处的高斯随机噪声来确定初始估计位置。该粗略位置可为使用MAC地址匹配所确定的位置。移动设备可使用第一贝叶斯过滤器的统计模型来获得该组第一候选位置。每个第一候选位置可使用位置坐标表示,并且可与相应航向相关联。获得移动设备的该组第一候选位置可包括通过将统计随机噪声应用于初始估计位置来确定第一候选位置,该统计随机噪声具有每单位时间的指定方差。每单位时间的指定方差可包括每单位时间的均匀方差、每单位时间的恒定增长的方差、或每单位时间的线性增长的方差。移动设备可根据从初始估计位置到相应候选位置的方向来推断航向。第一贝叶斯过滤器为一种类型的粒子过滤器,其中每个粒子为候选位置。
[0158] 根据测量角度值(例如,角度、角速度或角加速度)的移动设备的第一传感器的读数,移动设备可使用第二贝叶斯过滤器的统计模型来确定 (2304)角移动的统计分布作为移动设备的航向的函数。第一传感器可包括陀螺仪或磁力仪。第二贝叶斯过滤器为使用第一传感器的读数作为输入的一种类型的卡尔曼过滤器。第一传感器可包括陀螺仪、磁力仪或衍生传感器,该衍生传感器包括将统计处理应用于运动传感器诸如加速度计的统计信号处理单元。
[0159] 移动设备可在第一时间之后的第二时间确定(2306)移动设备的一组第二候选位置。每个第二候选位使用第一候选位置以及已根据角度值的统计分布调节的相应航向来确定。
[0160] 移动设备可通过相对于指定第二传感器在地点的各个位置处的预期读数的位置指纹数据匹配移动设备的第二传感器的读数来对每个第二候选位置进行加权(2308),包括向具有较高匹配程度的第二候选位置给予较高权重。第二传感器可包括无线接收器。第二传感器的预期读数可包括RF信号的预期RSSI或RF信号的预期RTT中的至少一者。第二传感器的预期读数可与多个网格相关联,每个网格对应于不同信号源,例如不同无线接入点。每个网格可具有多个单元格,并且覆盖地点的至少一部分。
[0161] 在一些具体实施中,移动设备可调节定义第一贝叶斯过滤器的模型的参数。例如,移动设备可使用对每个第二候选位置进行加权的结果来调节参数(包括步幅长度)。在一些具体实施中,移动设备可使用对每个第二候选位置进行加权的结果来调节移动设备的第一传感器的偏差。调节偏差包括调节移动设备的航向内的角度值的统计分布的参数,以用于位置估计的下一迭代。调节航向内的角度值的统计分布的参数可包括根据加权的第二候选位置来对第一传感器的测量的中心矩引入权重。
[0162] 移动设备可使用加权的第二候选位置来确定(2310)移动设备在地点处的最可能的位置。移动设备可将该最可能的位置指定为移动设备在第二时间的估计位置。移动设备可将移动设备最可能的位置指定为移动设备在下一迭代中的初始估计位置。在下一迭代中,可根据具有调节偏差的角度值的统计分布来调节每个相应航向。
[0163] 图24A和图24B是确定位置转换的示例性过程2400的流程图。过程 2400可由移动设备(例如,图1的移动设备102)执行。
[0164] 移动设备可以检测(2402)信号,该信号与用于识别信号源的信号源标识符相关联。信号源可为RF信号源。信号源标识符可为RF信号源的媒体访问控制(MAC)地址。
[0165] 移动设备可根据位置指纹数据来确定(2404)与信号源标识符相关联的地点的第一部分。该位置指纹数据包括对在地点的各个区域处的信号的期望测量和能够在地点的各个区域处检测到的期望信号源标识符,该地点的第一部分包括该地点中的其中期望将能够检测到来自信号源的信号的区域。期望测量可为来自信号源的RF信号的RSSI或RTT。
[0166] 移动设备可将该地点的第一部分中的一组随机选择位置指定(2406)为估计初始位置。
[0167] 移动设备可迭代地确定(2408)移动设备的估计位置。在每个迭代中,移动设备可基于估计初始位置来确定(2412)移动设备的一组候选位置。确定该组候选位置可包括确定该组候选位置在该地点的第一部分中的第一部分。该组候选位置的第一部分可使用与应用于估计初始位置的高斯随机噪声对应的位置来确定。移动设备可确定该组候选位置在该地点的第二部分中的第二部分,该地点的第二部分不同于该地点的第一部分,并且其中期望使不能检测到来自信号源的信号。该组候选位置的第二部分可使用该地点的第二部分中的位置的均匀分布来确定。该组候选位置的第三部分可使用该地点之外的位置的均匀分布来确定。移动设备确定该地点之外的候选位置的第三部分。移动设备随后将相应权重分配给候选位置的第一部分、第二部分和第三部分中的每一者。
[0168] 使用多个矩形单元格在位置指纹数据中指定该地点的每个部分。单元格可形成覆盖地点的网格。
[0169] 在每个迭代中,移动设备可确定使对信号的测量与候选位置的第一部分的期望测量之间进行匹配的可能性小于使对信号的测量与候选位置的第二部分和第三部分的期望测量之间进行匹配的可能性。作为响应,移动设备可在下一迭代中增加与候选位置的第二部分和候选位置的第三部分对应的权重。移动设备可随时间累积候选位置的每个部分的相应权重。移动设备可将阈值应用于相应的累积权重,以便打开或关闭该移动设备的各个子系统。
[0170] 在每个迭代中,基于缺少对信号的测量与地点的第一部分的预期测量之间的匹配并缺少对信号的测量与地点的第一部分的预期测量之间的匹配,移动设备可确定移动设备位于该地点的任何单元格中的概率低于第一阈值。作为响应,移动设备可关闭移动设备的子系统(例如,图20的位置子系统2000),以实现基于无线接入点信号的位置确定。
[0171] 移动设备可确定该概率低于第二阈值。作为响应,移动设备可打开移动设备的子系统,以实现基于卫星信号的位置确定。第二阈值可不同于该阈值。因此,移动设备可使用这两个子系统来在各个时间同时确定位置。
[0172] 移动设备可确定(2414)用于迭代的移动设备的估计位置,包括通过匹配对信号的测量与岁位置指纹中的预期测量来对加权候选位置进行过滤。确定移动设备的估计位置可包括使用第一贝叶斯过滤器和第二贝叶斯过滤器基于对加权候选位置的联合过滤来确定移动设备的估计航向,该第一贝叶斯过滤器是一种类型的粒子过滤器,该第二贝叶斯过滤器是一种类型的卡尔曼过滤器该,第二贝叶斯过滤器使用移动设备的陀螺仪的读数或移动设备的磁力仪的读数作为输入。移动设备可在下一迭代中将过滤后的候选位置指定(2416)为初始估计位置。
[0173] 图25是调查数据去重的示例性过程2500的流程图。过程2500可由系统执行,该系统包括移动设备(例如图1的移动设备102)或位置服务器 (例如,包括图21的位置服务子系统2100的位置服务器)或这两者。
[0174] 系统可从一个或多个取样设备(2502)接收调查数据。调查数据可包括对来自第一信号源(例如,图18的接入点B)的信号的第一测量和对来自第二信号源(例如,图18的接入点D)的信号的第二测量。
[0175] 系统可确定(2504)第一测量与第二测量之间的互信息熵值。互信息熵值可测量第一测量与第二测量之间的相互依赖度。
[0176] 系统可在亲和矩阵中存储(2506)互信息熵值,该亲和矩阵具有与第一信号源和第二信号源对应的第一维度和与第一信号源和第二信号源对应的第二维度。确定互信息熵值可确定第一测量与第二测量之间的线性对应度。更高的线性的对应度对应于更高的互信息熵值。
[0177] 系统可在亲和矩阵中存储(2508)第一信号源和第二信号源的每一者的相应控制值,每个控制值测量在相应信号源的第一调查中获得的测量以及在相应信号源的第二调查中获得的测量之间的依赖度。第一调查和第二调查在同一地点处进行。第一调查和第二调查可在不同时间或由不同取样设备进行。
[0178] 系统可确定(2510)对来自第一信号源的信号测量和对来自第二信号源的信号测量的相应权重。权重可用于分别使用来自第一信号源和第二信号源的信号在地点处进行位置确定。确定与信号源相应的每个权重包括确定信号源的控制值与信号源的控制值和互信息熵值的和之间的比率,例如 Jaccard指数。每个权重可应用于对相应信号源的信号测量,如由被配置为确定移动设备在地点处的位置的移动设备所确定的。
[0179] 系统可基于相应信号源和第三信号源的相应互信息熵值并基于第三信号源的控制值来确定第一信号源(例如,图18的接入点B)和第二信号源 (例如,图18的接入点D)相对于第三信号源(例如,图18的接入点 A)的相应权重。
[0180] 示例性系统架构
[0181] 图26是用于实现图1至图25的特征和操作的示例性系统架构的框图。也可有其他架构,其其包括具有更多或更少部件的架构。在一些具体实施中,架构2600包括一个或多个处理器2602(例如,双核 处理器)、一个或多个输出设备2604(例如LCD)、一个或多个网络接口 2606、一个或多个输入设备2608(例如,鼠标、键盘、触敏显示器)、以及一个或多个计算机可读介质2612(例如RAM、ROM、SDRAM、硬盘、光盘、闪存存储器等)。这些部件可经由一个或多个通信通道2610(例如总线)来交换通信和数据,该一个或多个通信通道可利用各种硬件和软件来促进部件之间的数据和控制信号的传输。
[0182] 术语“计算机可读介质”是指参与将指令提供给处理器2602以用于执行的介质,包括但不限于:非易失性介质(例如,光盘或磁盘)、易失性介质(例如,存储器)和传输介质。传输介质包括但不限于同轴电缆、铜线和光纤。
[0183] 计算机可读介质2612还可包括操作系统2614(例如, 操作系统)、网络通信模块2616、调查管理器2620、指纹管理器2630、和指纹分配器2640。操作系统2614可为多用户的、多处理的、多任务的、多线程的、实时的等等。操作系统2614执行基本任务,包括但不限于:识别来自设备的2606,2608的输入并向其提供输出;跟踪和管理计算机可读介质 2612(例如,存储器或存储设备)上的文件和目录;控制外围设备;以及管理在一个或多个通信信道2610上的通信量。网络通信模块2616包括用于建立和维持网络连接的各种部件(例如用于实现诸如TCP/IP、HTTP等之类的通信协议的软件)。
[0184] 调查管理器2620可包括计算机指令,其在执行时使得处理器2602向取样设备(例如,图5A的取样设备502)提供调查指令和地图并从取样设备接收调查数据。指纹管理器2630可包括计算机指令,其在执行时使得处理器2602执行如上文参考图21所述的去重器
2108、调查数据处理程序 2104和天线增益计算器2112的操作。指纹分配器2640可包括计算机指令,其在执行时使得处理器2602对来自移动设备(例如,图1的移动设备 102)的指纹请求作出响应,包括将位置指纹数据发送到请求移动设备。
[0185] 架构2600可在并行处理或对等基础结构中实现,或者在具有一个或多个处理器的单个设备上实现。软件可包括多个软件部件,或者可为单个代码主体。
[0186] 所描述的特征可有利地在能够在可编程系统上执行的一个或多个计算机程序中实现,该可编程系统包括至少一个输入设备、至少一个输出设备以及被耦接以从数据存储系统接收数据和指令并将数据和指令发送到数据存储系统的至少一个可编程处理器。计算机程序是在计算机中可直接或间接使用以执行某种活动或产生某种结果的指令集。计算机程序能够以包括编译和解释语言的任何形式的编程语言(例如Objective-C、Java)来编写,并且其能够以任何形式部署,包括作为独立程序或者作为模块、部件、子例程、基于浏览器的web应用、或适于在计算环境中使用的其他单元。
[0187] 例如,用于执行指令的程序的合适处理器包括通用微处理器和专用微处理器两者,以及任何类型的计算机的多个处理器或内核中的一者或者唯一的处理器。一般来讲,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。一般来讲,计算机还将包括一个或多个大容量存储设备以存储数据文件,或者操作性地耦接以与一个或多个大容量存储设备进行通信;此类设备包括磁盘,诸如内部硬盘和移动磁盘、磁光盘和光盘。适用于有形体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,以举例的方式包括半导体存储器设备、诸如 EPROM、EEPROM和闪存存储器设备;磁盘诸如内部硬盘和可移动硬盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由ASIC(专用集成电路)补充,或者被并入ASIC中。
[0188] 为了提供与用户的交互,这些特征可在具有用于向用户显示信息的显示设备诸如CRT(阴极射线管)或LCD(液晶显示器)监视器或者视网膜显示设备的计算机上实现。计算机可具有触摸表面输入设备(例如,触摸屏)或键盘和指向设备诸如鼠标或轨迹球,用户可通过这些设备来向计算机提供输入。计算机可具有用于接收来自用户的语音命令的语音输入设备。
[0189] 这些特征可在计算机系统中实现,该计算机系统包括后端部件诸如数据服务器,或者该计算机系统包括中间件部件诸如应用服务器或互联网服务器,或者该计算机系统包括前端部件诸如具有图形用户界面或互联网浏览器的客户端计算机或者它们的任意组合。系统的部件可通过任何形式的数字数据通信诸如通信网络或该数字数据通信的介质而被连接。通信网络的示例包括例如LAN、WAN、以及形成互联网的计算机和网络。
[0190] 计算系统可包括客户端和服务器。客户端和服务器一般是相互远离的,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在某些具体实施中,服务器将数据(例如HTML页面)传输到客户端设备 (例如为了向与该客户端设备进行交互的用户显示数据以及从与该客户端设备交互的用户接收用户输入)。在服务器处可从客户端设备接收在客户端设备处生成的数据(例如用户交互的结果)。
[0191] 一个或多个计算机的系统可被配置为凭借具有安装在系统上的在操作中使得系统执行特定动作的软件、固件、硬件或它们的组合来执行所述动作。一个或多个计算机程序可被配置为凭借包括当由数据处理装置执行时使得该装置执行特定动作的指令来执行所述动作。
[0192] 虽然本说明书包含许多特定的实施细节,但是这些特定的实施细节不应被理解为是对任何发明或可能要求保护的内容的范围的限制,而应被理解为对特定于特定发明的特定实施方案的特征的描述。在独立实施方案的上下文中的本说明书中描述的某些特征也可在单个实施方案中的组合中被实现。相反地,在单个实施方案的上下文中描述的各种特征也可单独地或者以任何合适的子组合的形式在多个实施方案中实现。此外,虽然某些特征可能在上面被描述为以某些组合来起作用并且甚至最初也这样地来要求保护,但是要求保护的组合的一个或多个特征在某些情况下可从该组合中去除,并且要求保护的组合可涉及子组合或子组合的变型。
[0193] 类似地,虽然操作在附图中以特定次序示出,但不应将这种情况理解为需要以相继次序或所示的特定次来执行此类操作,或者需要执行所有所示的操作以实现期望的结果。在某些情况中,多任务和并行处理可能是有利的。此外,上述实施方案中各个系统部件的划分不应被理解为在所有实施方案中都要求此类划分,并且应当理解,所述程序部件和系统可一般性地一起整合在单个软件产品中或者封装到多个软件产品中。
[0194] 因此,已描述了主题的特定实施方案。其他实施方案也在以下权利要求书的范围内。在某些情况下,权利要求书中所述的动作能够以不同的次序执行,并且仍能实现期望的结果。此外,附图中所示的过程未必要求所示的特定次序或者先后次序来实现期望的结果。在某些具体实施中,多任务和并行处理可能是有利的。
[0195] 示例性移动设备架构
[0196] 图27为图1至图25的移动设备的示例性架构2700的框图。移动设备 (例如,移动设备102或取样设备502)可包括存储器接口2702、一个或多个数据处理器、图像处理器和/或处理器2704、以及外围设备接口2706。存储器接口2702、一个或多个处理器2704、和/或外围设备接口2706可为独立部件,或者可被集成到一个或多个集成电路中。处理器2704可包括应用处理器、基带处理器和无线处理器。移动设备中的各部件例如可由一条或多条通信总线或信号线耦接。
[0197] 可将传感器、设备和子系统耦接到外围设备接口2706以方便多个功能。例如,可将运动传感器2710、光传感器2712以及接近传感器2714耦接到外围设备接口2706,以方便移动设备的取向、照明和接近功能。可将位置处理器2715(例如,GPS接收器)连接到外围设备接口2706,以提供地理定位。也可将电子磁力仪2716(例如,集成电路芯片)连接到外围设备接口2706,以提供可用于确定磁北方向的数据。因而,电子磁力仪2716 可用作电子罗盘。运动传感器2710可包括被配置为确定移动设备的移动的速度和方向的变化的一个或多个加速计。气压计2717可包括连接到外围设备接口2706并被配置为测量围绕移动设备的大气压力的一个或多个设备。
[0198] 可利用照相机子系统2720和光学传感器2722(例如,电荷耦接设备 (CCD)或互补金属氧化物半导体(CMOS)光学传感器)来方便照相机功能,诸如拍摄照片和视频剪辑。
[0199] 可通过一个或多个无线通信子系统2724来方便通信功能,该无线通信子系统可包括射频接收器与发射器和/或光学(例如,红外)接收器与发射器。通信子系统2724的具体设计与实现可取决于移动设备打算通过其进行操作的通信网络。例如,移动设备可包括设计用于通过GSM网络、GPRS 网络、EDGE网络、Wi-FiTM或WiMaxTM网络以及BluetoothTM网络操作的通信子系统2724。具体地讲,无线通信子系统2724可包括主机协议,使得移动设备可被配置作为其他无线设备的基站。
[0200] 可将音频子系统2726耦接到扬声器2728和麦克风2730以方便启用语音的功能,诸如语音识别、语音复制、数字记录和电话功能。音频子系统 2726可被配置为从用户接收语音命令。
[0201] I/O子系统2740可包括触摸表面控制器2742、和/或其他输入控制器 2744。可将触摸表面控制器2742耦接到触摸表面2746或垫片。触摸表面 2746和触摸表面控制器2742例如可使用多种触敏技术中的任一种触敏技术来检测接触和移动或其中断,该触敏技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与接触表面2746接触的一个或多个点的其他接近传感器阵列或其他元件。触摸表面2746可包括例如触摸屏。
[0202] 可将其他输入控制器2744耦接到其他输入/控制设备2748,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、USB端口、和/或指针设备 (例如,触笔)。该一个或多个按钮(未示出)可包括用于扬声器2728和/ 或麦克风2730的音量控制的增大/减小按钮。
[0203] 在一个具体实施中,持续第一时长的该按钮的按压可解开触摸表面 2746的锁;并且持续长于第一时长的第二时长的该按钮的按压可打开或关闭取样设备502的电源。用户能够对一个或多个按钮的功能进行自定义。例如,也可使用触摸表面2746来实现虚拟或软按钮和/或键盘。
[0204] 在一些具体实施中,取样设备502可显示记录的音频文件和/或视频文件,诸如MP3文件、AAC文件和MPEG文件。在一些具体实施中,移动设备可包括MP3播放器的功能。移动设备因此可包括与iPod兼容的针脚连接器。也可使用其他输入/输出设备以及控制设备。
[0205] 存储器接口2702可耦接到存储器2750。存储器2750可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备、和/或闪存存储器(例如,NAND、NOR)。存储器 2750可存储操作系统2752,诸如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作系统(例如VxWorks)。该操作系统2752 可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统2752可包括内核(例如,UNIX内核)。
[0206] 存储器2750还可存储通信指令2754,以方便与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器进行通信。存储器2750可包括图形用户界面指令2756,以方便图形用户界面处理;传感器处理指令 2758,以方便与传感器相关的处理和功能;电话指令2760,以方便与电话相关的处理和功能;电子消息传送指令2762,以方便与电子消息传送相关的处理和功能;网络浏览指令2764,以方便与网络浏览相关的处理和功能;媒体处理指令2766,以方便与媒体处理相关的处理和功能;GPS/导航指令2768,以方便与GPS和导航相关的过程和指令;相机指令2770,以方便与相机相关的处理和功能;磁力仪数据2772和校准指令2774,以方便磁力仪校准。存储器2750还可存储其他软件指令(未示出),诸如安全指令、用于方便与网络视频相关的处理和功能的网络视频指令、和/或用于方便与网上购物相关的处理和功能的网上购物指令。在一些具体实施中,媒体处理指令2766分为分别用于方便与音频处理相关的处理和功能以及与视频处理相关的处理和功能的音频处理指令和视频处理指令。还可将启动记录和国际移动设备识别码(IMEI)或类似硬件标识符存储在存储器2750 中。存储器2750可存储位置指令2776。位置指令2776可包括当执行时使得处理器2704执行在某个地点处的室内调查操作的调查指令。位置指令 2776可包括在执行时使得处理器2704执行参考图20所述的位置子系统 2000的操作的位置确定指令。
[0207] 上面标识的指令和应用程序中的每一者均可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立的软件程序、进程或模块来实施。存储器2750可包括附加的指令或更少的指令。此外,可在被包括在一个或多个信号处理电路和/或专用集成电路中的硬件和/或软件中执行移动设备的各种功能。
[0208] 示例性操作环境
[0209] 图28为图1至图25的移动设备的示例性网络操作环境2800的框图。移动设备2802a和2802b可例如在数据通信中通过一个或多个有线和/或无线网络2810进行通信。例如,无线网络2812(例如,蜂窝网络)可通过使用网关2816来与广域网(WAN)2814诸如互联网进行通信。同样,接入设备2818(例如,802.11g无线接入点)可提供对广域网2814的通信接入。移动设备2802a和2802b中的每个移动设备可以是移动设备102或取样设备 502。
[0210] 在一些具体实施中,可通过无线网络2812和接入设备2818来建立语音通信和数据通信。例如,移动设备2802a可拨打和接收电话呼叫(例如,使用互联网语音协议(VoIP)),发送和接收电子邮件消息(例如,使用邮局协议3(POP3)),以及通过无线网络2812、网关2816和广域网2814 来检索电子文档和/或流,诸如网页、照片和视频(例如,使用传输控制协议/互联网协议(TCP/IP)或用户数据报协议(UDP))。同样,在一些具体实施中,移动设备2802b可通过接入设备2818和广域网2814来拨打和接收电话呼叫、发送和接收电子邮件消息、以及检索电子文档。在一些具体实施中,移动设备2802a或2802b可使用一条或多条电缆物理地连接到接入设备2818,并且接入设备2818可以是个人计算机。在此配置中,移动设备 2802a或2802b可被称为“受限”设备。
[0211] 移动设备2802a和2802b也可通过其他方式来建立通信。例如,无线设备2802a可通过无线网络2812来与其他无线设备(例如其他移动设备、蜂窝电话等)进行通信。同样,移动设备2802a和2802b可通过使用一个或多个通信子系统诸如BluetoothTM通信设备来建立对等通信2820,例如个人局域网。也可实现其他通信协议和拓扑结构。
[0212] 移动设备2802a或2802b可(例如)通过一个或多个有线网络和/或无线网络来与一个或多个服务2830,2840和2850进行通信。例如,一个或多个地点服务2830可向移动设备2802a和2802b提供地点信息。地点信息可包括与地点地图相关联的地点标识符。调查服务
2840可从移动设备2802a 和2802b接收调查数据,并且基于该调查数据来生成地点的位置指纹数据。位置服务2850可向移动设备2802a和2802b提供位置指纹数据,以用于确定每个地点处的位置。
[0213] 移动设备2802a或2802b还可通过一个或多个有线网络和/或无线网络来访问其他数据和内容。例如,移动设备2802a或2802b可访问内容发布者,诸如新闻站点、真正简单的联合发布系统(RSS)供稿、网站、博客、社交网站、开发者网络等等。可通过响应于用户触摸(例如,网络对象)而对网络浏览功能或应用程序(例如,浏览器)的调用来提供这种访问。
[0214] 已描述了本发明的多个具体实施。然而,应当理解,在不脱离本发明的实质和范围的情况下可作出各种修改。