分享

[转]也谈AGPS,星历下载和GPS定位速度的影响

 techres 2012-06-05
现在很多手机都支持AGPS了,吹的很神乎,
但真正是怎么一个原理,怎么实现,对GPS定位的关系以及制约因素
却很少人知道。所以在使用过程中有误区,也有困惑。
于是,我简单说说AGPS实现的原理和结合X500的应用吧:
seray原创(http://blog./)请勿转帖。

     从GPS冷起说起。
     GPS接收机冷起后,GPS接收机内是什么数据都没有的。必须从零开始接受GPS卫星的信号,逐步分析当前头顶上每颗发送信号的卫星的频率,是什么编号,运行轨迹,才能最终锁定卫星;锁定好卫星,GPS终端才能定位自己的位置。所以冷起后的定位非常慢,一般要在开阔地十几二十分钟,而室内或者信号不好的地方,几个小时都不一定定位得上。
      一旦GPS终端定位成功,在GPS接收芯片的内存中,一般会一直保留/更新以下几个数据
      1.最后一次定位的经纬度(一个区域值)
      2.最后一次定位位置上空卫星的数量和轨迹以及预测的四小时之内这些卫星的位置。(这就是短效星历)

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

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

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

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

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

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

     通过以上的分析,我们应该可以很好的理解X500的GPS工作情况。很多朋友抱怨X500刷机后,GPS坏了。虽然我不能排除脆弱的GPS天线在刷机过程中刷断的可能性或者确实是ROM有问题,但GPS失效的最大可能原因还是星历的完全丢失。我们习惯于X500快速的GPS定位,而手机内置的GPS芯片也少有冷起的机会,所以正常需要在按空旷地等待20分钟的冷起定位就容易让人等心急了。刷完机,放到窗口10分钟还不见定位成功,有的同学可能就会跳起来了,呵呵。
     这种情况下,那AGPS长效星历肯定是没有的。用COM7的AGPS端口连接GPS芯片,必然影响其GPS芯片正常的冷起定位。所以建议先耐心得用COM4硬件端口做一次成功定位,更新AGPS驱动中的“最后定位经纬度”,再联网下载正确星历,最后打开COM7连接GPS测试,就能恢复正常了。

另外说说X500的GPS端口选择:
X500有三个GPS端口,不同的用途需要区分对待!


     最常用的应该一般是COM7,属于AGPS驱动端口,也就是可以利用长效星历快速定位的。但如果你的星历有问题,比如刚刷完机或者星历过期,此端口定位非常慢。
     COM4是默认的GPS硬件通信端口,在星历有问题的时候,需要用这个端口来先定位,再更新星历。此端口也是部分底层GPS调试工具调整GPS模块参数的连接端口,除了文本的NMEA模式外,还支持sirf3的二进制通讯模式。一般导航软件不要用这个端口。
      还有一个端口,COM2,也就是WM自带的GPS端口管理软件分配的端口。此端口应该不支持长效星历(但支持GPS内部的短效星历),感觉定位速度比COM7慢。但这个端口有个优点,是虚拟端口,支持多程序共享。多个导航软件可以同时连接COM2,不需要GPSGATE。

实际使用中,应该根据情况选择不同的端口。
在长效星历有效的情况下:
单一导航软件,可以选择COM7
同时启动两个导航软件或电子狗,一个COM7,一个COM2
三个以上的导航软件,主要的那个选择COM7,其他的都设到COM2。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多