AGPS定位基本原理浅析

AGPS定位基本原理浅析位置服务已经成为越来越热的一门技术,也将成为以后所有移动设备(智能手机、掌上电脑等)的标配。随着人们对BLS(BasedLocationSerices,基于位置的服务)需求的飞速增长,无线定位技术

大家好,又见面了,我是你们的朋友全栈君。

位置服务已经成为越来越热的一门技术,也将成为以后所有移动设备(智能手机、掌上电脑等)的标配。随着人们对BLS(Based Location Serices,基于位置的服务)需求的飞速增长,无线定位技术也越来越得到重视。AGPS(Assisted GPS,A-GPS,网络辅助GPS)定位技术结合了GPS定位和蜂窝基站定位的优势,借助蜂窝网络的数据传输功能,可以达到很高的定位精度和很快的定位速度,在移动设备尤其是手机中被越来越广泛的使用。本文以GSM网络辅助GPS定位为例对AGPS的定位原理进行简单介绍。

AGPS定位基本机制

根据定位媒介来分,定位技术基本包含基于GPS的定位和基于蜂窝基站的定位两类(阅读本文前,建议先阅读《GPS定位基本原理浅析》和《GSM蜂窝基站定位基本原理浅析》两篇文章)。GPS定位以其高精度得到更多的关注,但是其弱点也很明显:一是硬件初始化(首次搜索卫星)时间较长,需要几分钟至十几分钟;二是GPS卫星信号穿透力若,容易受到建筑物、树木等的阻挡而影响定位精度。AGPS定位技术通过网络的辅助,成功的解决或缓解了这两个问题。对于辅助网络,有多种可能性,以GSM蜂窝网络为例,一般是通过GPRS网络进行辅助。

AGPS_thumb30

如上图所示,直接通过GPS信号从GPS获取定位所需的信息,这是传统GPS定位的基本机制。AGPS中,通过蜂窝基站的辅助来解决或缓解上文提到的两个问题:

对于第一个问题,首次搜星慢的问题,根据《GPS定位基本原理浅析》一文的介绍,我们知道是因为GPS卫星接收器需要进行全频段搜索以寻找GPS卫星而导致的。在AGPS中,通过从蜂窝网络下载当前地区的可用卫星信息(包含当地区可用的卫星频段、方位、仰角等信息),从而避免了全频段大范围搜索,使首次搜星速度大大提高,时间由原来的几分钟减小到几秒钟。

对于第二个问题,GPS卫星信号易受干扰的问题,这是由GPS卫星信号本身的性质决定的,我们无法改变。但是APGS中,通过蜂窝基站参考GPS的辅助,或是借助GSM定位中Cell-ID定位(COO定位)方法的辅助,缓解了在GPS信号不良的情况下定位的问题,有效提高了在此情况下的定位精度。

AGPS定位基本流程

 

1.搜索卫星

AGPS定位仍然是基于GPS的,因此定位的首要步骤还是先搜索到当前地区的可用GPS卫星。在传统GPS定位中需要全频段搜索以找到可用卫星因而耗时较长,而AGPS通过网络直接下载当前地区的可用卫星信息,从而提高了搜星速度。同时,也减小了设备的电量消耗。

AGPS1_thumb11

如上图所示,AGPS中从定位启动到GPS接收器找到可用卫星的基本流程如下:

(1)设备从蜂窝基站获取到当前所在的小区位置(即一次COO定位)

(2)设备通过蜂窝网络将当前蜂窝小区位置传送给网络中的AGPS位置服务器

(3)APGS位置服务器根据当前小区位置查询该区域当前可用的卫星信息(包括卫星的频段、方位、仰角等相关信息),并返回给设备

(4)GPS接收器根据得到的可用卫星信息,可以快速找到当前可用的GPS卫星

至此,GPS接收器已经可正常接收GPS信号,GPS初始化过程结束。AGPS对定位速度的提高就主要体现在此过程中。

2.计算位置

GPS接收器一旦找到四颗以上的可用卫星,就可以开始接收卫星信号实现定位。接下来的过程根据位置计算所在端的不同,通常有两种方案:在移动设备端进行计算的MS-Based方式和在网络端进行计算的MS-Assisted方式。

MS-Based方式中,接下来过程与传统GPS定位完全相同,GPS接收器接收原始GPS信号,解调并进行一定处理,根据处理后的信息进行位置计算,得到最终的位置坐标。

MS-Assisted方式中,解调并处理后,接下来的过程如下图所示:

(5)设备将处理后的GPS信息(伪距信息)通过蜂窝网络传输给AGPS位置服务器

(6)AGPS服务器根据伪距信息,并结合其他途径(蜂窝基站定位、参考GPS定位等)得到的辅助定位信息,计算出最终的位置坐标,返回给设备。

AGPSMSAssisted_thumb13

在此过程中可以看到,在使用MS-Assisted方式时,由于辅助定位信息的加入,可以取得更高的定位精度;同时,可以很大程度上克服弱GPS信号情况下的无法定位或精度降低的问题;将复杂计算转移到网络端,也可以很大程度上减小设备的电量消耗。

AGPS定位优劣分析

与传统GPS定位相比,APGS定位有如下的优势:

  • 首次搜星速度快
  • 有效减少设备的电量消耗

对于采用MS-Assisted方式的AGPS系统而言,除了以上优势外,还有:

  • 定位精度更高
  • 缓解弱GPS信号情况下无法定位或精度降低的问题
  • 对移动设备的计算能力要求更低

当然,AGPS也有一定的限制:

  • 必须有蜂窝网络(GRRS/EDGE/CDMA等)的支持用以数据传输,对一般用户而言可能需要为此支付一定的数据流量费用
  • 必须有AGPS位置服务器的支持
  • 与GPS一样,仍无法完美解决室内(室内无法接收GPS信号)定位的问题

AGPS定位技术的实际应用情况

因为AGPS需要网络支持,因此目前使用该技术的大部分设备为手机。

1.目前大部分支持AGPS的手机采用一种纯软件的AGPS方案。

该方案基于MS-Based位置计算方式。具体的方案为:

定期下载星历数据到手机中,手机中的AGPS软件会根据星历信息计算出当前位置的可用卫星信息,从而提供给设备用于快速搜星。用户可以选择通过WiFi、固网等免费网络定期更新星历数据,从而避免使用蜂窝网络产生的数据流量费用。当然,由于星历信息可能存在延迟,因此搜星时速度可能有所下降,但是仍然会比传统GPS定位快很多倍。

该方案的优点是纯软件,不需要专门的AGPS硬件,几乎所有GPS手机都可以使用;同时用户可以根据情况指定星历更新周期及更新方式,控制或减免蜂窝网络数据流量。

HTC的大部分AGPS手机都采用这种方案。如下图为HTC手机中用于更新卫星信息的“快速GPS”软件。
HTCGPS1_thumb1 HTCGPS2_thumb1

 

2.部分运营商的AGPS方案中,实施了在无GPS信号时自动切换到GSM蜂窝基站Cell-ID定位的措施,从而一定程度上解决了室内定位的问题。

如中国移动的OMA AGPS方案。

OMAAGPS_thumb2

 

3.世界范围内一些AGPS芯片或相关服务已经广泛使用。

SiRF公司的AGPS芯片提供了硬件层次上的AGPS方案。

SiRFAGPSChip_thumb

U-BloxAssistNow A-GPS服务提供了AssistNow Online(在线AssistNow)和AssistNow OffLine(离线AssistNow)两种易用的AGPS方案。实际上这两种方案分别就是MS-Assisted和MS-Based两种定位计算方式的实现。

u-blox在线AssistNow系统组成。

ubloxAssistNow_thumb9

u-blox离线AssistNow系统组成。

ubloxAssistNow_thumb1

4.国内电信运营商的AGPS方案

中国移动正在制订的A-GPS方案基于OMA的SUPL规范,是一种用户平面的解决方案。

中国联通提供的gpsOne是MS-Assisted方式的A-GPS定位方案,也基于用户平面方式,目前只用于CDMA网络。

要了解二者的详细信息,请自行Google。下面仅列出几个可能有用的链接。

 

GPS定位GSM蜂窝基站定位AGPS定位是目前最流行的三种定位方式。AGPS定位基于GPS,却又借助蜂窝网络避免了GPS定位的两大软肋,无疑是最具竞争力的一种定位方案。随着3G时代的到来,BLS业务已成为各大运营商的必争之地,这其中,AGPS方案绝对是竞争中很重要的一部分。希望本文能让你对AGPS技术有一个大致的了解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155687.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • web前端常见面试题总结

    web前端常见面试题总结人生的路上少不了尝试,人人都是打工人,但愿这份面试题可以帮助到你H5有哪些新特性?绘画canvas(随时随地绘制2D图形)、svg(描述XML中的2D图形)元素语义化标签header、ment、content、footer…新增的input类型和属性音频,视频H5地理定位H5拖放H5WebStorage存储H5应用程序缓存H5中的WebworkersH5服务器发送事件(server-sentevent)允许网页获得来自服务器的更新WebSocket在单个TCP连接上进

  • 毕业设计去做基于决策树的网页敏感词过滤系统设计「建议收藏」

    毕业设计去做基于决策树的网页敏感词过滤系统设计「建议收藏」找了两个分开的程序,但是老师说不可以这样,要求用户输入网页文件路径,系统自动识别处理出文本信息,文本信息再通过决策树分类,通过得到的类别再去匹配这个类别的敏感词库,把敏感词找出来。。。。现在感觉只能弄好每个功能,再去画GUI把他们当函数调用了,但是我应该分成哪些功能模块呀,没做过系统,真的难受,每个功能模块的语言是不是必须要统一,Java好还是Python好?有大佬指点一下吗?别喷为什么我现在在忙…

  • pycharm2021激活码10月_在线激活[通俗易懂]

    (pycharm2021激活码10月)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • Linux安装Tomcat

    Linux安装TomcatLinux安装Tomcat

  • leetcode 三数之和_leetcode数组交集

    leetcode 三数之和_leetcode数组交集原题链接给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[] 提示:0 <= nums.length <= 300

  • java补码运算_java中的补码运算

    java补码运算_java中的补码运算publicclassTest2_8{/*补码运算*在计算机中,数值一率采用补码来运算,如:5-3实例上是5+(-3);*正数与负数的关系:取反再加1**/publicstaticvoidmain(Stringargs[]){intfive=5;intthree=-3;//从输出结果来看负数是用补码来存储的//输出5和-3的二进制码,最高位(最左边那位)为0表示正数,为1…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号