卫星导航定位中的时间之一:北斗时(BDT)、GPS时(GPST),联合定位中的时间处理
我们在使用卫星导航定位产品时,经常会看到设备输出的数据包括时间和经度、纬度、高度,其中的时间通常是协调世界时(UTC)。
但在技术手册或文献中,尤其是涉及北斗或GPS定位原理时,我们会看到“北斗时间(BDT)”、“GPS时间(GPST)”等术语。这些时间系统与UTC有何关系?
我们也常听到“UTC闰秒”、“北斗周翻转”、“GPS周翻转”等术语。一些设计不严谨的GNSS接收机在面对UTC闰秒或周翻转时可能会出现严重错误,影响系统可靠性。
此外,在北斗与GPS联合定位时,如何处理不同系统的时间基准?
接下来我们将从三个方面展开介绍:
本专题分为三部分:
第一部分:GPS时间(GPST)、北斗时间(BDT)及联合定位中的时间处理;
第二部分:世界时、协调世界时(UTC)、UTC与卫星时间的关系;
第三部分:UTC闰秒、卫星时的周翻转及其工程应用。
北斗时间(BDT)与GPS时间(GPST)
什么是北斗时间(BDT)?我们先来看看《北斗卫星导航系统空间信号接口控制文件》中的定义:
北斗时间系统
北斗时间(BDT)是北斗卫星导航系统的时间基准。
关于UTC时间将在下一章节详细说明。
BDT属于原子时系统,采用国际单位制(SI)秒为基本单位连续累计,不引入闰秒。
在国际单位制中,时间的基本单位是“秒”。传统上人们习惯用地球自转一圈来定义一天,但这种方法并不精确。受月球潮汐摩擦影响,地球自转速度每年减缓约1–2毫秒。此外,大气环流也会造成季节性变化,一年内的波动可达20毫秒左右。
因此,现代精密计时依赖于原子钟。科学家发现“铯”和“铷”原子具有极其稳定的振荡特性。国际上定义,“秒”的精确定义为:铯-133原子基态两个超精细能级间跃迁辐射振荡9,192,631,770次所持续的时间。
例如,北斗三号卫星上每个卫星配备两个互为备份的铷原子钟,其秒级频率稳定度达到 9×10⁻¹⁴,百秒级频率稳定度为 9×10⁻¹⁵,日漂移率优于 5×10⁻¹⁵,相当于 每300万年误差不超过1秒。
时间误差1纳秒对应距离误差0.3米,因此高精度原子钟是保障北斗系统定位与授时精度的基础。
每颗北斗卫星和GPS卫星都搭载了高精度原子钟,并广播包含时间信息和轨道位置(星历)的电文。这些信息的准确性直接取决于卫星上原子钟的精度。
卫星导航系统还配有全球监测网络,包括地面监测站、主控站和地面天线。地面监测站持续接收卫星信号,测量信号到达时间并监控星上原子钟状态。
地面主控站将监测到的卫星时钟数据与地面高精度原子钟(与国际原子时TAI同步)进行比对。若发现偏差,主控站会计算钟差参数(a0, a1, a2),并通过地面天线上传至卫星。卫星收到后将其包含在广播电文中。这就是在GNSS接收机定位误差分析章节中提到的卫星钟差修正参数。
地面网络通过不断的监测和校正,确保所有卫星上的时钟都与一个统一的 北斗时间(BDT)或者GPS 系统时间 (GPST) 保持高度同步。
因此,BDT和GPST是由整个系统共同维护的连续原子时标。
由于北斗时间的起始历元为UTC时间的2006年1月1日00:00:00,而GPS时间为1980年1月6日00:00:00,两者的起始点不同,目前GPST比BDT快14秒。
虽然BDT和GPST均为各自系统维护,并与国际原子时TAI同步,理论上应保持固定整秒差,但实际上仍存在纳秒级浮动偏差。这种微小差异在联合观测中会影响结果。
因此,在北斗与GPS联合定位时,不能简单认为BDT和GPST仅相差一个整数秒。
北斗与GPS联合定位中的时间系统
在step by step介绍GNSS卫星导航定位基本原理,为什么定位需要至少4个卫星?中,我们介绍了GNSS定位的基本原理;
在GNSS接收机定位误差分析中,我们分析了各种误差来源;
在GNSS(北斗、GPS)接收机的定位精度计算中,我们讨论了精度评估方法。
上述内容均基于单系统定位。当进行单系统定位时(如仅使用北斗),GNSS接收机钟差 δtr 是相对于 BDT 的未知数,需至少四颗卫星才能解算 (x, y, z) 和 δtr。
然而,当前主流GNSS接收机均支持多系统兼容,不仅能接收北斗信号,还能同时接收GPS、GLONASS和伽利略信号。接收机可通过指令设置定位模式,下面是几个主流厂家的配置指令如下:
定位模式 | u-blox | Quectel | SIMCom |
仅北斗 | $PUBX,41,1,0004,3*xx | PQEPRD,,0,0,0,1,0 | PSRTGCONFIG,0,0,0,1 |
仅GPS | $PUBX,41,1,0001,3*xx | PQEPRD,,1,0,0,0,0 | PSRTGCONFIG,1,0,0,0 |
北斗+GPS | $PUBX,41,1,0003,3*xx | PQEPRD,,1,0,0,1,0 | PSRTGCONFIG,1,0,0,1 |
在GNSS接收机输出的NMEA0183语句中,通过帧头标识区分不同定位模式:
NMEA0183语句帧头的标识符
如$BDGGA
表示北斗定位,$GPGGA
表示GPS定位,$GNGGA
表示北斗+GPS+GLONASS组合定位。
GPS卫星伪距基于GPST,北斗卫星伪距基于BDT。多系统联合定位时,必须统一时间基准,否则无法联合解算。
时间统一包含两个层面:
-
BDT与GPST之间的差值;
-
接收机在处理不同系统信号时的硬件与软件延迟差异。
GNSS接收机对GPS信号、北斗信号经过的硬件电路不同,北斗信号和GPS信号的硬件延时不同。
即使是同一个频段的信号,比如北斗B1C、GPS L1和Galileo E1频段相同(1575.42 MHz),硬件电路可以采用同样的器件和同样的方案,理论上硬件延时相同。由于调制方式和伪码不同,接收机软件处理流程存在差异,软件延时也不一致。
因此,我们可以采用双钟差模型处理北斗与GPS联合定位。
为每个系统定义一个接收机钟差:
-
• Δtr_GPS:GNSS接收机相对于GPS系统时间(GPST)的钟差;
-
• Δtr_BDS:GNSS接收机相对于北斗系统时间(BDT)的钟差。
观测方程如下:
-
• GPS伪距观测方程:
-
ρ_GPS = D_GPS + c·(Δtr_GPS − Δt_GPS) + I_GPS + T_GPS + ϵ_GPS
-
• 北斗伪距观测方程:
-
ρ_BD = D_BD + c·(Δtr_BD − Δt_BD) + I_BD + T_BD + ϵ_BD
其中:
-
• ρ_GPS、ρ_BD:分别为GPS与北斗的伪距;
-
• D_GPS、D_BD:卫星与接收机的距离;
-
• Δt_GPS、Δt_BD:分别为GPS与北斗的卫星钟差;
-
• I_GPS、I_BD:分别为GPS与北斗的电离层延迟;
-
• T_GPS、T_BD:分别为GPS与北斗的对流层延迟;
-
• ϵ_GPS、ϵ_BD:分别为GPS与北斗的热噪声。
该模型中共有5个未知数:
-
• 接收机坐标 X₀、Y₀、Z₀;
-
• GPS钟差 Δtr_GPS;
-
• 北斗钟差 Δtr_BDS。
因此,至少需要5颗卫星参与解算。可以是2颗北斗+3颗GPS,也可以是1颗北斗+4颗GPS等组合。
若加入GLONASS,则需增加一个未知数 Δtr_GLONASS,总计6个未知数,至少需要6颗卫星。
同理,若北斗、GPS、GLONASS与伽利略联合定位,则至少需要7颗卫星。
工程实践中,常常采用下面的方法。在联合定位中,我们先定义一个主系统的接收机钟差(例如,相对于BDT的钟差),然后为GPS系统、GLONASS系统、伽利略系统引入一个系统间偏差(ISB)。
Δtr,GPST=Δtr,BDT+ISB,(BDT→GPST)
对于北斗+GPS联合定位,未知数为:
-
• 3个位置参数;
-
• 1个北斗钟差 Δtr_BDS;
-
• 1个北斗与GPS之间的ISB。
总计5个未知数,仍需5颗卫星即可解算。
采用北斗与GPS联合定位,卫星数量增加,空间分布更均匀,正如我们在GNSS(北斗、GPS)接收机的定位精度计算介绍的的那样,联合定位的DOP将大幅降低。而DOP降低将提高定位精度。根据IGS实测数据,联合定位相比单一系统,定位精度可提高约一倍。
精度对比(实测数据):
定位模式 | 水平误差(米) | 高程误差(米) |
单GPS | 2.5 | 4.0 |
单北斗 | 3.0 | 5.0 |
北斗+GPS联合 | 1.2 | 2.0 |
数据来源:IGS测站实测统计。 |
码字不易,大家觉得文章不错,就安排一下一键三连吧:点赞、分享、推荐。