摘 要:针对GPS接收机上电开机后热启动问题,阐述一种新型的快速热启动方法。首先研究了卫星导航测距定位原理,在此基础上深入分析接收机基带信号处理链路。当处于卫星信号跟踪状态下,利用接收机实时时钟单元RTC直接预测卫星发射时间,省去了通常耗时的子帧同步过程。此快速热启动策略,相比传统方法,既满足了定位速度要求,又具有较高时间准确度,热启动首次定位时间大为缩短。
关键词:GPS接收机;热启动;伪距;首次定位时间
0 引 言
全球定位系统(Global Positioning System,GPS)经过数十年的应用开发,已具备了全天候、高精度、自动化、高效益等显著特点,赢得了广大用户的信赖,已从最初的军事应用,逐渐过渡到国民经济基础性产业的应用。在性能上,卫星导航用户产品朝着快速定位、高灵敏度、高精度、小型化、低功耗、组合导航等方向发展。导航接收机的快速定位能力,主要由首次定位时间(Time To First Fix,TTFF)这项指标决定。提高首次定位时间这项性能,无论对于车载导航市场,还是导弹导航等军事领域,都尤为重要。但是,由于这项技术在商用以及军事应用的保密性和敏感性,国内一直无法获得国外的相关成熟技术。因此,深入研究这项技术就显得非常重要。
根据导航接收机开机上电时的不同实际情况,首次定位过程有冷启动、温启动和热启动三种模式。冷启动模式基本没有可用信息,启动过程在40 s左右;温启动和热启动模式,是分别利用卫星历书和卫星星历,明确当前用户位置可见卫星号,进行定位。国外导航接收机知名公司如Sirf、U—Blox的导航产品,热启动在2~4 s;国内接收机目前热启动时间在9 s,快速定位技术和国外差距较大,还不成熟。现以接收机的热启动为例,在分析导航接收机的首次定位过程基础上,提出新型快速热启动策略,提升50%~60%的热启动性能。
l 定位测距原理
GPS系统中,采用本地时间减去卫星信号发射时间,可以获得单颗卫星的伪距。但是,卫星和接收机的时钟偏差以及各种误差源都会使卫星到用户的几何距离测量不准。误差源包括大气延迟、接收机噪声、多径等。由这些误差引起的时间偏差为:
式中,δtatm为大气层引起的延迟;δtnoise为接收机噪声和分辨率偏差;δtmp为多径偏差;δthw为接收机硬件偏差;δtSA为GPS选择可用性(SA)偏差。
这样,如图1所示,包含了各种误差的伪距计算式:
式中,△t为几何距离时间等效值;Ts为信号离开卫星系统时;Tu为无δtD的条件下,信号到达接收机的系统时(理论上的精确值);Tu+tu=无δtD的条件下,信号到达接收机时的接收机RTC(Real Time Clock)时钟读数;T’u=Ti+δtD+tu为有δtD的条件下,信号到达接收机时的接收机RTC时钟读数;δs为卫星时钟与系统时的偏差;tu为接收机时钟与系统时的偏差;T’s=Ts+δs为信号离开卫星时的卫星时钟读数;c为光速;r=c*(Tu一Ts)。
经过卫星时钟偏差校正、大气延迟校正后,得到了修正过后的伪距ρ’:
如果此时能够获得至少4颗卫星的修正伪距,同时根据卫星发射时间Ts计算出相应卫星坐标,则可以通过最小二乘法计算出接收机的准确位置。
2 快速热启动算法的设计
2.1 热启动首次定位过程分析
由上一节的分析可以看出,本地时间可以由接收机RTC单元提供,属于已知量。那么,计算伪距的关键在于获得准确的卫星发射时间,也就是式(2)所讨论的。本小节结合图2,分析GPS接收机信号处理流程中如何获得卫星发射时间。
每颗GPS卫星广播两种类型的PRN测距码:一种是C/A码,另一种是P码。本文以C/A码为例进行分析和研究。C/A码有1 ms的周期,1 023个值为+1或一1的码恒定地重复,码的编号为1~1 023。GPS导航电文按子帧播发,每子帧共300 b的数据,每比特数据周期20 ms,C/A码在此20 ms内重复20次。
跟踪状态下,本地复现码对接收到的C/A码进行“跟踪”。从图2可以看出,跟踪卫星信号之前,先完成了比特同步,即20 ms数据边界的判定。那么进入信号跟踪以后,接收机本地复现码与卫星发射码精确对准。此时,可以认为卫星发射时刻T’s,由20 ms以内部分tfraction_20和20 ms以上整数部分tinteger_20。而tfraction_20通过跟踪已经获得,只是tinteger_20还属于未知量。此时:
2.2 快速热启动策略
如何获得tinteger_20,决定了传统热启动方法和快速热启动方法的不同。热启动条件下,传统方法是在完成子帧校验后,得到finteger_20;而快速热启动方法是在跟踪状态,使用本地RTC,基于接收机和卫星距离,判定tinteger_20。第一种方法,由于需要等待子帧校验,最长耗费一个子帧的周期6 s时间才能完成;第二种方法,由于使用本地RTC,不需要等待子帧同步,那么在热启动时间上就可以节省6 s的时间,进行快速定位。
假设进入跟踪以后的RTC读出的本地时刻T'u=Tu+tu+δtD,式中参量含义见式(1),tu为接收机RTC时钟单元与系统时的偏差,<10 ms。由于tu非常小,可以根据T'u估计出卫星i坐标(xi0,yi0,zi0)。这样可以估算出卫星i到接收机的几何距离:
所以,卫星的发射时刻T'si△T'u—ρi/c,i代表了卫星号。结合T'si的近似值和已知的tfraction_20,求解T'si和tu:
式(7)中,ceil表示对浮点数朝+∞方向取整的函数。获得了卫星发射时间T'si,可以按照式(2)计算出卫星i到接收机的伪距。这时基于星历,重新计算卫星发射时刻Tsi的卫星坐标(xi,yi,zi)。基于上述过程,当获得了4颗以上卫星坐标和各卫星到接收机的伪距后,可以开始结算出接收机坐标。
3 快速热启动的失效检测机制
由上一节可以看出,使用本文设计的方案前提条件就是本地时间与系统时的偏差tu<10 ms。如果接收机热启动时,不能满足快速热启动的前提,那么该方案的有效性就无从谈起。所以采用快速热启动方案,必须配以相应的失效检测机制,如图3所示。
4 结语
本文对GPS接收机热启动首次定位过程进行了研究,着重分析了本文设计的新型快速热启动算法。基于快速热启动原理,热启动首次定位时间将能提高5~6 s,相比传统的热启动性能(9 s左右),提高了50%~60%。随着新一代GNSS(Global NavigationSatellite System)的不断建设壮大,融合GPS,GLONASS,GALILEO和北斗导航定位系统的接收机将成为市场和研究的热点,快速热启动算法在卫星导航系统融合时代的应用,还需要进一步的研究。