关注GPS授时的朋友可能都知道,GPS周计数即将于2019年4月7日发生翻转,算下来距离小编发稿的时间也就差不多1个月左右了。周计数翻转是怎么回事,咱们后边说,先一起看看会对接收机有什么影响吧。
周计数翻转有什么影响?
为了给大家展示接收机在周计数翻转时会发生什么情况,小编的同事在我们NSS8000的模拟器设置了周计数翻转点测试场景,具体来说就是在GPS系统下,至少打开4颗卫星,设置仿真时间从UTC时2019年4月6日23时55分0秒(小编提示:如果完全没有星历信息,开始时间可以从23时40分开始),到2019年4月7日0时55分0秒结束。
实测中,某厂家的接收机在测试过程中,在7日零点零秒的翻转点前后的时间输出分别为 2019年4月6日和 2025年8月17日,即在翻转点后时间直接跳到了2025年。
▲被测接收机翻转点前输出时间(正确)
▲被测接收机翻转点后输出时间(错误)
经过与厂家的反馈,在更新固件后,重新测试中,翻转点后输出时间就恢复成正常的4月7号了。
▲被测接收机更新固件再次测试的输出时间(正确)
看了上述的测试结果,大家千万不要以为小编在玩恶作剧,所有数据均为实测。不是小编在搞事情,目前使用年限在10年以上的GPS接收机,特别是使用GPS时间来转换UTC时间,并且做主要时频源的系统尤其会面临类似的风险。
熟悉导航圈的各位朋友可能会了解,近期国内相关接收机厂家,如华测、司南等,都先后针对GPS周计数翻转发了预警告示或者产品声明等。其实,国外厂家和机构针对此情况也在密集告示和表态,比如下边这个公告。
NovAtel这款机器在17年的时间就发现了问题,而且影响更严重,测试中在翻转点后会无法工作,必须更新软件。另外, NovAtel还发了公告,其OEM6接收机的固件版本低于6.510时,在翻转点测试时在上报的参考周可能出现错误。这会导致什么结果,厂家没有细说,但以小编的理解,很有可能会导致UTC的时间跳回到这一轮周计数的GPS起始时间,即1999年8月21日。【1】
小编又在网上仔细找了下,发现类似情况也在Motorola,Trimble等厂家中存在,比如Oncore UT+接收机在16年时候已经确认老的固件会存在问题,Trimble也在声明中指出其BD9XX和BX9XX机型的2.32版以后的固件是没有问题,往前就不一定保证了。【2】面对周计数翻转可能带来的问题,美国政府部门也同步在告警,像国土安全部就针对基础设施中可能存在的风险进行了提示。【3】根据小编与做接收机的同事了解,其实在GPS的接口控制文件,即IS-GPS-200中【4】中,对如何由GPS时转换到UTC时有详细的算法,但由于各个理解不同,采用的方法不同,特别是个别老机型在设计时如果考虑不周全,是会出现各种问题。总之,预计在2019年4月7日GPS周计数翻转时,接收机只会输出两种结果,一个是对的时间,一个是错的时间,至于可能出现的错误情况估计就五花八门了。列夫·托尔斯泰说过:“幸福的家庭家家相似,不幸的家庭各各不同。”看到这,小编则想说:“做对了的接收机台台相似,做错了的接收却各有各自错误的原因!”
GPS周计数翻转是怎么回事?
小编已经说了周计数翻转可能带来的结果,但周计数翻转是什么回事呢?各位看官如果了解的就可以跳过了,如果不清楚的,让小编为您娓娓道来。
GPS运行之初,为了精密导航和测量的需要就建立了专用的时间系统。GPS时由整周计数(WN)和秒计数(TOW)构成。以1980年1月6日世界协调时(UTC)零点开始起算,GPS时最大时间单位是周(一周:604800秒),每1024周为一循环周期。初期在编排导航电文时,可能由于资源紧张或者考虑不够长远,只给整周计数安排了10bit(二进制数),因此周计数会在0-1023区间循环,当GPS周计数达到1024时,导航电文中的周计数数将重置为0并重新开始计数,即GPS周计数翻转。
众所周知的,GPS系统的信号调制方式采用的是码分多址(CDMA)的形式。经典的GPS L1C/A信号中,可以大致分成三个层次,即RF载波,调制伪码和数据波形。此次周计数翻转事件涉及到的电文即是数据波形中数据的汇总,具体来说此次涉及到的WN计数位就于电文中第一子帧(参考下图)。由于卫星广播的电文中将周计数定义(即WN)为10bit(0-1023),核算下来对应的大约是19.7年,而一旦这个周期数字达到1024,GPS电文中将指示周从1024更改为0周,开启下一个循环周期。历史上,上一次周期翻转发生在1999年8月21日,就曾出现过部分GPS接收机误将时间解算时间为1980年1月6日的情况;而预计再下一次的翻转会发生在2038年11月20号。
▲GPS L1C/A第一子帧定义
说了GPS系统的情况,其他系统的情况如何,也让我们一起来看看。通过研究各个卫星导航系统ICD文件,将全球各大卫星系统周计数翻转情况汇总如下:
GNSS系统 | GPS | BDS | GLONASS | Galileo |
编码bit数 | 10 | 13 | 基于前苏联莫斯科的协调世界时UTC(SU),并含有跳秒改正 | 12 |
WN范围 | 0-1023 | 0-8191 | 0-4095 | |
翻转周数(年) | 19.7 | 约160 | 约80 | |
下次翻转时间 | 2019-04-07 | 约2176年 | 约2079 |
从上表可以看出,GPS作为最早具备完全操作能力(FOC)的系统,在各方面都进行了探索,也为后人积累不少经验。后续的北斗和Galileo都借鉴了相关情况,对WN的bit数进行了扩展,延长了翻转间隔时间。
小编在之前的文章中提到过GPS现代化计划。GPS在后续的信号中,包括L1C,L2C和L5等,为了改善周计数翻转的情况,在新的电文格式(CNAV)中,也将使用13比特字段来表示GPS周数。未来使用13比特字段电文的新GPS接收器在1,024周时期内将不会出现问题。
如何应对GPS周计数翻转?
小编上边啰嗦了挺多,那么GPS周计数翻转如何应对呢?其实应对之策,在各个政府部门和厂家的提示中都已经讲了不少,小编这里再狗尾续貂的汇总一下吧。
1、首先,还是要了解自己的授时系统和GPS周计数翻转的影响。由于GPS系统最早投入使用,基于其绝佳的定位和授时功能,在全球范围内广泛应用。目前,在很多基础设施中,像电力,通信和银行等使用的BITS系统的主钟一般都首选GNSS信号授时,这里边估计又有些仅单独参考了GPS信号。如果这类系统在通过GPS时转换UTC时间时,没有完全参考IS-GPS-200规定的内容,那么在翻转点就有可能存在UTC时间错误的情况。
2、在了解自己系统的基础上,还是有必要查看下各个厂家的公示信息,或者直接咨询厂家设备情况。根据小编目前的了解,大部分的产品应该是不存在翻转点风险的,而且相关厂家应该都已经有了应对计划,并且针对可能出现问题的机型出了可升级的软件版本。
3、当然,还有一个更简便的方法,就是用导航模拟器直接就翻转点场景进行测试,从而验证接收机设备能否能应对GPS周翻转,就像本文一开始提到的测试场景和方法。用模拟器来设置各种过去、现在和未来可能出现的场景及边界条件,在接收机的研发和使用中进行可重复、可控制的测试,不仅是接收机用户,更是接收机研发、生产厂家中经常采用的方法。关于测试的重要性,小编不禁想提醒大家:
结果千万条,正确第一条,
测试不全面,售后两行泪!
各位看官对周计数翻转还有什么疑惑或者接收机在测试中有问题的,欢迎留言与小编联系,我们的NSS8000信号源不仅包含周计数翻转场景,还可以对UTC跳秒等进行仿真。小编的领导说了,解决大家测试中相关问题是我们的本职,如果要试用模拟器来排查相关问题的,都是免费哦!欢迎大家来电骚扰了!
注释
参考【1】https://www.novatel.com/assets/Documents/Bulletins/Era-Rollover-2019-Bulletin.pdf
参考【2】http://trl.trimble.com/docushare/dsweb/Get/Document-904932
参考【3】https://ics-cert.us-cert.gov/Memorandum-US-Owners-and-Operators-Using-GPS-Obtain-UTC-Time
参考【4】https://www.gps.gov/technical/icwg/