UTC Time and GPS Time Conversion

Catalogue
  1. 1. 时钟系统的前世今生
    1. 1.1. 格林威治标准时间(Greenwich Mean Time,GMT)
    2. 1.2. 世界时(Universal Time, UT)
    3. 1.3. 原子时(International Atomic Time, TAI)
    4. 1.4. 协调世界时(Coordinated Universal Time, UTC)
    5. 1.5. GPS时

时钟系统的前世今生

最近在完善惯导ros驱动,发现GPGGA语句和GPFPD语句输出的时间不一致,一个是utc时间,另一个是gps时间。为了实现时钟同步,就要完成二者之间的转换。

格林威治标准时间(Greenwich Mean Time,GMT)

格林尼治平均时间(Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的平太阳时,格林尼治标准时间的正午是指当平太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此格林尼治平时基于天文观测本身的缺陷,已经被原子钟报时的协调世界时(UTC)所取代。

自1924年2月5日开始,格林尼治天文台负责每隔一小时向全世界发放调时信息。

世界时(Universal Time, UT)

后来,由于1925年以前人们在天文观测中,常常把每天的起始(0时)定为正午,而不是通常民用的午夜,给格林尼治平时的意义造成含糊,人们使用世界时(Universal Time, UT)一词来明确表示每天从午夜开始的格林尼治平时。

世界时是以地球自转为基准得到的时间尺度,其精度受到地球自转不均匀变化和极移的影响,为了解决这种影响,1955年国际天文联合会定义了UT0、UT1和UT2三个系统:

  • UT0系统是由一个天文台的天文观测直接测定的世界时,没有考虑极移造成的天文台地理坐标变化。
  • UT1系统是在UT0的基础上加入了极移改正 Δλ,修正地轴摆动的影响。UT1是目前使用的世界时标准。被作为目前世界民用时间标准UTC在增减闰秒时的参照标准。
  • UT2系统是UT1的平滑处理版本,在UT1基础上加入了地球自转速率的季节性改正 ΔT。

目前使用的世界时测算标准又称UT1。在UT1之前人们曾使用过UT0,但由于UT0没有考虑极移导致的天文台地理坐标变动的问题,因此测出的世界时不准确,现在已经不再被使用。

在UT1之后,由于人们发现,因为地球自转本身不均匀的问题,UT1定义的时间的流逝仍然不均匀,于是人们又发展了一些对UT1进行平滑处理后的时间标准,包括UT1R和UT2,但它们都未能彻底解决定义的时间的流逝不均匀的问题,这些时间标准现在都不再被使用

原子时(International Atomic Time, TAI)

为了彻底解决定义的时间的流逝不均匀的问题,开始使用原子钟定义时间。人们首先用全世界的原子钟共同为地球确立了一个均匀流动的时间,称为国际原子时(International Atomic Time, TAI)

1967年第13届国际计量大会上通过一项决议,定义一秒为铯-133原子基态两个超精细能级间跃迁辐射振荡9,192,631,770周所持续的时间。[2][3]其起点为世界时1958年的开始。

原子时起点定在1958年1月1日0时0分0秒(UT),即规定在这一瞬间原子时时刻与世界时刻重合。但事后发现,在该瞬间原子时与世界时的时刻之差为0.0039秒。这一差值就作为历史事实而保留下来。在确定原子时起点之后,由于地球自转速度的问题,使得原子时钟不能与世界时间保持协调。

协调世界时(Coordinated Universal Time, UTC)

为了使定义的时间与地球自转相配合,人们通过在TAI的基础上不定期增减闰秒的方式,使定义的时间与世界时(UT1)保持差异在0.9秒以内,这样定义的时间就是协调世界时(Coordinated Universal Time, UTC)

协调世界时是最接近格林威治标准时间(GMT)的几个替代时间系统之一。对于大多数用途来说,UTC时间被认为能与GMT时间互换,但GMT时间已不再被科学界所确定

UTC基于国际原子时,并通过不规则的加入闰秒来抵消地球自转变慢的影响。闰秒在必要的时候会被插入到UTC中,以保证协调世界时(UTC)与世界时(UT1)相差不超过0.9秒。

这就是所谓的跳秒,由于需要适应地球自转变化,需要在不定时进行跳秒,截止2019年2月,已经18次跳秒。正因为跳秒的存在,才会导致后面介绍的GPS时与UTC时不一致。

GPS时

GPS时是用于卫星定位系统时间,由于卫星系统是连续运行的,其要求时间系统也是连续的,因此采用原子钟的方法。GPS时间系统就是采用基于美国海军观测实验室维持的原子时。

GPS时在1980年1月6日0点0分与世界协调时(UTC)一致,此后就只按原子时来累计,不受外界影响,也不会产生跳秒。因此与UTC时间的差为秒的整数倍,即:

\[ Time_{GPS} = Time_{UTC}+n \]

特别的,GPS时间的计时方法采用星期数和秒周数来表示,其中周数作为C/A和P码中的十位字段发送,所以\(2^{10}=1024\)周(19.6年)后会再次归零。

为了解决这个问题,现代化的GPS导航消息采用了13位的字段,每隔8192周(157年)才归零。