一种快速获得伪距的方法
技术领域
本发明涉及GPS定位的技术领域,尤其涉及快速定位的技术领域。
技术背景
GPS终端定位最少需要如下要素:星历、GPS时间、伪距。为了缩短首次定位的时间,一般的做法是缩短获取星历的时间和缩短获取GPS时间的时间。在辅助定位技术中,辅助服务器向终端提供的信息可以包括星历、GPS时间、卫星的仰角方位角、参考位置,卫星的多普勒频率等。目前技术中快速获取星历的办法大概有两种:其一,使用保存的历史星历;其二,使用辅助系统快速传输星历。而快速获取GPS时间的方法大概也有两种:其一,使用RTC计时,GPS启动时直接读取RTC时间;其二,通过辅助系统获取GPS时间。通过使用这些方法,使GPS首次定位时间从几十秒缩短至几秒,而这几秒中内,GPS主要在获取各卫星的伪距。其中,伪距的真实含义为各卫星到达接收机的时间差,忽略伪距数值的大小,只关心各个值之间的差。比如四颗卫星的伪距分别为:1ms、2ms、5ms、3ms,各个数字加减一个常数后不影响定位结果。故上面的伪距也可写作:0ms、1ms、4ms、2ms,我们称这两种写法对应的伪距相同。
目前,获取伪距的主要步骤包括:
1.终端捕获卫星的频率和相位;
2.终端跟踪卫星的频率和相位,并输出导航比特;
3.终端对导航比特使用校验或者寻找子帧帧头的办法进行同步;
4.同步后即可计算卫星的相对伪距;
这种传统的方法让用户必须等待几秒时间才能获得首次定位结果。如果想更快速的获得定位结果,这种方法就无能为力了。
发明内容
为了便于发明内容的叙述,先做如下说明:
1.按照光速为30万公里计算,同一时刻,距离150公里的两个终端对于同一颗卫星的伪距相差不会大于0.5ms。
2.由于卫星靠近或远离终端的分速度不会超过1KM/S,在根据说明1的介绍,同一个终端对于同一卫星的伪距在150秒内变化量不会超过0.5ms。
3.基于上面两项说明,多数情况下,我们很容易达到条件:由1和2所共同引起的伪距变化不会大于0.5ms。下面叙述中默认满足该条件。
本发明针对背景所述的一些不足,同时根据上述的说明,提出了一种快速获得卫星伪距的方法,以缩短首次定位时间。其方案如下:
1.终端获得误差小于0.5ms的粗略伪距。
2.终端分析卫星信号,获得相位值,使用相位值计算精确伪距中的小数部分。
3.终端使用精确伪距的小数部分调整如上的粗略伪距,以获得精确的实际伪距。
其中,步骤1获得粗略伪距的方法可以是:辅助定位系统中的服务器端实时跟踪卫星并实时更新、记录卫星的伪距,当终端请求辅助定位时,服务器端向用户定位终端发送伪距信息作为终端自身的粗略伪距。由于服务器端的接收机距离用户终端的距离一般不会超过100KM,且发送时间延迟不会超过10S,所以该粗略伪距的精度可以比0.5ms精度更精确。
其中,步骤1获得粗略伪距的方法也可以是:根据卫星的星历和GPS时间计算出卫星的位置,并根据用户终端的参考位置计算用户终端和卫星之间的距离,转换为以毫秒表示的伪距。这里的用户终端的参考位置可以是终端自身保存的一些历史位置,也可以是辅助服务器向用户终端发送的参考位置。这里的GPS时间可以是用户终端计时的RTC时间,也可以是辅助服务器向用户终端发送的当前GPS时间。由于辅助服务器提供的参考位置一般为位置服务器的位置,其距离用户的距离一般不会超过100KM,且发送时间延迟不会超过10S,而用户终端自身保存的历史位置多数情况下也可以认为在100KM之内,且GPS时间的传输延迟和RTC时间的精度也不会超过10S,所以该粗略伪距的精度可以比0.5ms精度更精确。
其中,步骤2分析卫星的信号的具体方法为捕获卫星信号,得到对应的卫星的相位值,并进行跟踪,当跟踪模块有大于等于四颗卫星在跟踪,各个卫星同一时刻的相位值可以作为计算精确伪距所用的相位值;如果支持多颗卫星并行捕获,且所有需要捕获的卫星几乎在同一时刻完成捕获,则捕获到的相位值可作为计算精确伪距所用的相位值。
其中,步骤3的调整粗略伪距的方法可以如下:
A.从各个粗略伪距中选出一个作为参考伪距,记录各个粗略伪距和参考伪距的小数部分之差;
B.用各个卫星捕获的相位计算精确伪距对应的小数部分,并代替粗略伪距的小数部分,选择和步骤A相同的参考伪距,同样记录各个伪距和参考伪距的小数部分之差;
C.将步骤A记录的伪距小数部分之差和步骤B记录的伪距小数部分之差进行比较,如果步骤A的伪距差与步骤B的伪距差相差大于0.5ms,则整数部分加1ms;如果步骤A的伪距差与步骤B的伪距差相差小于-0.5ms,则整数部分减1ms。
其中,步骤B调整了小数部分,而步骤C调整了整数部分。
通过使用本发明的技术方法,定位终端的用户不再需要等待几秒钟的过程,开机后立即可以定位,大大节省了首次启动的时间。而且,本发明还可以使用在降低功耗的方面。有如此快的启动速度就不怕省电模式对定位的影响了,可以有更长的时间让模块处于关闭阶段。根据本发明,还可以设计一种只有捕获模块的借助辅助信息的导航定位终端。
具体实现方案
方案1
在没有辅助的情况下,假设GPS终端设有RTC时钟,且保存有历史可用星历、历书和历史定位位置,假设有4颗卫星,RTC时间准确,且上次位置和当前位置相差在50公里之内,伪距表示范围在0-20ms之内,方法为从全部伪距中找出一个最小伪距,然后各个伪距全部减去该最小伪距,得到0-20ms范围内的伪距。则快速启动时,获得伪距的具体方法为:
1.根据历书计算当前时刻各个卫星的仰角,判断卫星是否可见,下面的步骤只针对可见卫星;
2.终端根据RTC时间和卫星星历计算卫星的位置;
3.计算上次的用户位置和各个卫星位置的距离,并转换为以毫秒表示的伪距值。假设转换后结果为[0ms,5.13ms,8.33ms,4.62ms];
4.假设并选择第一个伪距为参考伪距,则计算得到小数部分的差为[0ms,0.13ms,0.33ms,0.62ms];
5.对可见的卫星进行捕获,得到卫星的多普勒频率和相位值,并注册跟踪;
6.当有4颗以上的卫星在跟踪时,在同一时刻记录各跟踪卫星的相位值,假设该相位值以1023chip为周期,一个周期为1ms,且相位值的单位为chip;
7.根据“相位值/1023”计算精确伪距的小数部分,假设结果分别为[0.53ms,0.62ms,0.84ms,0.16ms],选择和步骤3同一个卫星的伪距作为参考伪距,其小数部分的差为[0ms,0.09ms,0.31ms,-0.37ms];
8.使用步骤7计算的小数部分代替步骤3的小数部分,结果为[0.53ms,5.62ms,8.84ms,4.16ms];
9.步骤4的小数部分差和步骤7的小数部分差进行比较,其中最后一个伪距差0.62ms与-0.37ms相差0.99ms,大于0.5ms,则将整数部分加1。其最终调整后的伪距为:[0.53ms,5.62ms,8.84ms,5.16ms];
方案2
假设启动过程使用AGPS系统,其方法如下:
1.辅助信息服务器根据提供参考位置、GPS时间、星历,以及卫星的仰角方位角、多普勒频率;
2.终端根据GPS时间和卫星星历计算卫星的位置;
3.终端计算参考位置和各个卫星之间的距离,并转换为单位为ms对应的伪距值;
4.后面的步骤和方案1的步骤4到步骤9一致;
方案3
假设GPS终端的捕获模块可以同时捕获多颗卫星,则方法可以如下:
1.同方案1的步骤1到步骤4;
2.GPS终端的捕获模块对4颗可见卫星进行并行捕获,几乎同时分别得到各个卫星的相位值,此相位值作为计算精确伪距的小数部分使用的相位值;
3.后面的步骤和方案1的步骤7到步骤9一致;