当前位置: 首页 > 工具软件 > APG > 使用案例 >

APGS讨论

谭研
2023-12-01

在其他地方看到一篇关于AGPS的讨论,觉得不错转过来给大家看看

感谢原作者及参加讨论的各位机油
+++++++++++++++++++++++++++
也谈AGPS,星历下载和GPS定位速度的影响

作者:seray

现在很多手机都支持AGPS了,吹的很神乎,但真正是怎么一个原理,怎么实现,对GPS定位的关系以及制约因素却很少人知道。所以在使用过程中有误区,也有困惑。
于是,我简单说说AGPS实现的原理和结合X500的应用吧:
GPS冷起说起。
GPS接收机冷起后,GPS接收机内是什么数据都没有的。必须从零开始接受GPS卫星的信号,逐步分析当前头顶上每颗发送信号的卫星的频率,是什么编号, 运行轨迹,才能最终锁定卫星;锁定好卫星,GPS终端才能定位自己的位置。所以冷起后的定位非常慢,一般要在开阔地十几二十分钟,而室内或者信号不好的地 方,几个小时都不一定定位得上。
一旦GPS终端定位成功,在GPS接收芯片的内存中,一般会一直保留/更新以下几个数据
1.最后一次定位的经纬度(一个区域值)
2.最后一次定位位置上空卫星的数量和轨迹以及预测的四小时之内这些卫星的位置。(这就是短效星历)

这两个数据非常关键。依赖这这组数据,当GPS关机或者丢失信号之后,再次启动接受到卫星信号的时候,就可以不用去计算卫星轨道了,只要简单的调整配对,就可以锁定卫星,快速定位。这也就是为什么GPS短暂的关机开机,进隧道出隧道,再次定位的速度都很快的缘故。

但应该注意这些数据都不是长期有效的,不能随时随地帮GPS实现快速定位。
一种情况是时间过期。这GPS内存储的星历时效一般不超过4小时。也就是说,如果你关了GPS超过四小时,即使没有大距离移动,仍然在原来的城市里,而GPS内的保留星历依然会因超时而失效。此时头顶的卫星已经不是星历里记录的那几颗了,必须再次一颗一颗的去计算卫星轨道。当然,此时最后一次定位的经纬度是有效的,有一个参考值,锁定卫星的速度还是比冷起稍微快一点点的。

另外种情况是地域错误。比如,你出差了。四个小时内,关着GPS坐飞机从北京到了上海。这时候,GPS芯片里存放的数据就不论是否超过4个小时都完全失效。因为,你所处的位置已经不是GPS内存中记录的那个经纬度了,内存中的星历,是北京上空的星历,跟上海头顶上的卫星无关。此时若要锁定GPS卫星,缓慢就跟冷起无异。
seray原创(http://blog.photoexp.net/)请勿转帖。

以上都是标准GPS定位时间的关键因素,而AGPS呢?
通过上述分析,我们可以知道:是否存在有效的当前位置范围以及其相关的星历数据是卫星能否快速定位的关键。
由于从卫星计算出来的星历,时效短,于是AGPS技术出现。 AGPS不依赖GPS接收机的计算或存储,通过其他的渠道给GPS芯片提供GPS终端机所处位置正确星历,实现随时随地的快速定位。

AGPS实现方式也有两种。
一种是实时更新的星历-通过手机基站。基站是跟AGPS服务器连接的,AGPS服务保存了卫星完整的轨迹资料,基站跟AGPS服务器连接,就可以得到基站所处位置(基站的经纬度都是有记录的)的星历,于是再把这两样数据通过GSM,CDMA等协议发到你的手机(你的手机应该离基站不远)上,实时的更新GPS芯片上的星历,这样GPS定位速度和精度都有很大的提升,哪怕冷起都很快的定位。到北京,北京的手机基站告诉你北京的星历,到上海,上海的基站告诉 你上海的星历,不再担心星历的失效问题。不过实现这一功能需要基站的支持,需要实时的流量,还需要专门的AGPS软件。我们普通的导航软件都不支持这种实 时的AGPS

而我们常用的AGPS应用是另外一种方式-下载长效星历。
前面说到,GPS芯片计算并储存的星历,最多只能推演到4个小时内的。超过四个小时了,GPS就不认识头顶上的卫星了。于是,就存在一种AGPS星历软件,通过INTERNETAGPS服务器上下载了当前位置(是到GPS芯片中获取最后一次定位的经纬度")上空若干天内的卫星数据(长效星历)存放在PDA或手机上。当导航软件通过AGPS驱动端口去调用GPS芯片通信的时候,AGPS驱动就先把当前时间的卫星星历上传到GPS芯片上,帮助GPS芯片锁定卫星。这样就不用担心GPS芯片内星历数据四个小时后失效的问题了,即使冷起GPS,也无需漫长的卫星锁定时间。
但这个长效星历也有一个最大的缺陷。没错,必须有正确的当前位置。如果你在北京下了长效星历,然后出差到上海,这星历依然失效。必须先要做一次漫长的冷起定位,取得正确的最后一次定位的经纬度"后,重新下载长效星历,GPS才能恢复快速的定位速度。

A-GPS的理解稍有些偏差。下载长效星历,并不是A-GPS的功能。

A-GPS有很多种方案,大体的思路都是在GPS信息外,通过附加信息来提高GPS定位的速度和精度。 

在设备初始定位时,A-GPS模块将设备(手机等)的基站相关信息(Cell ID, 信号强度等等)通过移动数据网发送给移动运营商的位置服务器; 

位置服务器根据这些信息模糊估计设备的当前位置(精度可能只有几百米);将与此位置相关联的卫星信息(星历)发送给设备; 

设备根据位置服务器返回信息锁定GPS的信号,解调制,计算伪距,并传送给位置服务器 

位置服务器根据设备发送给的伪距,并结合其他信息(如差分GPS基准站)等信息,计算出设备的精确位置,并返送设备。 

至于手机上的快速GPS”一类通过下载长效星历提高定位速度的方式, 虽然与A-GPS初始定位中的第一步有共同之处,但并不是一回事。简单的说,快速GPS下载的星历与设备当前位置无关,而A-GPS发送给设备的星历是与设备当前位置相关的。 

此外,A-GPS还可以有效提高定位的精度。在某些A-GPS方案中,大量定位所需计算也是由网络中的位置服务器完成,大大减轻了设备的计算量和计算时间。 这些都不是下载星历所能提供的。

从设备端看,A-GPS功能需要特别的软、硬件支持, 而下载星历无需GPS之外的额外硬件(需要驱动层软件支持)。

从移动网络看,A-GPS服务需要对现有网络进行改造(比如增加位置服务器); 下载星历只需要网络支持数据传送(GPRS/EDGE/HSDPA)

A-GPS是个好东西,虽然有网络流量的代价。 但很不幸的是,似乎目前国内的几家移动运营商,好像都没有正式大范围地提供此项服务(中移动曾经和mio进行过测试)。 所以,A-GPS手机在国内,基本也就是被当成普通GPS在用。

 类似资料: