导航电文实时监控软件设计与实现

/ 2

导航电文实时监控软件设计与实现

申江涛 张喆

(中国卫星海上测控部  江苏江阴  214431)

【摘  要】为满足卫导显控台导航电文发送状态、正确性的本地监控需求,克服常规测试时无法监控的缺陷,设计一种基于测控网的可实时接收导航电文并进行正确性、完整性判断的监控软件。当卫导显控台开始发送导航电文,本地监控软件通过解算,以电文数据中所包含的类型、帧长、卫星号、GPS周信息为依据,对每一帧电文数据进行显示、分类和判断,提高导航电文异常识别效率。

【关键词】导航电文;监视;判断

0  引言

导航电文是由导航卫星以二进制码流形式向用户播发的、用于定位和导航的重要数据,导航电文中提供了系统时间、卫星星历、卫星时钟改正、卫星历书等数据,不同内容具有不同的时效性,比如卫星星历和卫星钟差数据是尽快帮助用户接收机定位的即时数据,而卫星历书则属于辅助用户接收机捕获卫星信号的非即时数据。在海上测控任务中,测量船船载接收机发送的导航电文是测量船中心计算机在计算火箭GNSS弹道时进行电文补偿的重要依据。

1  导航电文补偿原理

火箭从发射到入轨的过程中,其箭载接收机接收导航卫星信号,获取导航电文信息,完成实时定位测速,然后箭载接收机通过遥测信号将数据发往地面。由于传输容量和时间的限制,箭载接收机下传的导航电文可能不完整,因此仅仅依靠接收箭载接收机下传的导航电文来计算火箭弹道有很大的局限性,体现在三个方面:

(1)定位精度低。部分火箭只下传数颗导航卫星的导航电文,仅刚好能完成代数法的定位计算要求,定位结果的误差无法估算。

(2)首次定位时间长。定位所需星历参数需要GPS导航电文前三个子帧收全才能解算,因此首次GPS定位结果至少要等到进站后将箭上下传的GPS导航电文前三个子帧下传完毕后才能计算得出。

(3)修正参数获取不稳定。以电离层修正参数为例,仅在第4帧的特定页存放,因此12.5分钟才会出现一次。若完全依赖火箭下传导航电文,在比较短的弧段一旦错过很可能到目标出站都无法解算出修正参数。

通过导航电文补偿方案可有效解决上述问题。中心计算机通过接收船载接收机的导航电文,能够提前积累所需的导航电文数据,在火箭进入测量船跟踪范围时,GNSS处理软件对箭载接收机数据和船载卫导数据进行比较,选择星历健康有效且龄期较新的数据参与定位处理。船载接收机一般收星数都在20颗以上,因此接收到的导航电文完全足够补偿。

导航电文补偿算法为及时精确地实现弹道计算提供了必要条件。经过多次海上测控任务的检验,首次定位时间0.1秒,GNSS地面定位弹道与箭载自定位弹道位置相差不超过20米。

2 监控软件的设计与实现

2.1  导航电文传输流程

导航卫星连续向地面播发导航电文,接收天线收到信号经线路放大器传输到接收机,接收机将导航数据向显控台发送,然后显控台将数据生成数据包后经测控网实时向中心计算机系统发送。海上测控任务中,卫导持续向中心计算机发送导航电文,用于跟踪弧段中心计算机计算火箭GNSS弹道时的电文补偿。

2.2  监控需求

海上测控任务中,中心计算机系统通过导航电文解算软件监视导航电文的发送状态并检查其正确性。但是,在任务准备阶段,岗位人员对卫导设备进行常规测试时,由于没有了中心机解算软件的参与,只能从卫导显控软件勾选是否发送导航电文,而无法判断发送的导航电文状态是否正常,基于此,岗位人员考虑在本地增加监控功能,以实现任何时间都可以对卫导显控台导航电文发送状态及正确性进行监控。

2.3  导航电文数据包

卫导显控台将导航电文数据生成数据包后向测控网发送,其每一包都包括包头和导航电文数据两部分,包头中含有数据来源、数据标志、发送日期时间等信息,共32字节;导航电文数据中按顺序依次为接收机编号、电文类型、卫星号、GPS周、GPS周秒和电文数据,其中前五项为固定长度14字节,最后一项,不同类型的电文数据其电文长度互不相同。

V:\系统文件\Desktop\1.jpg

图1 导航电文数据包

2.4  设计思路

按照功能划分,将软件分为三个模块,接收模块、分类模块和判断模块。

V:\系统文件\Desktop\2.jpg

图2 软件设计示意图

(1)接收模块。首先绑定包含导航电文数据包的组播地址和端口号,接收到数据包后,读取包头中第12到14字节的数据标志(BID码),只收取对应BID码的导航电文数据。

(2)分类模块。首先读取每一帧导航电文帧头的第一字节,若读取值为1则是星站差分接收机,若读取值为3则是BDS接收机;然后再读取第二字节,确定导航电文类型。通过以上过程,就实现了不同类型导航电文的分类。

V:\系统文件\Desktop\3.jpg

图3 分类模块

(3)判断模块。以GPS星历为例,分别对帧长、卫星号、时间信息等进行判断。通过以上过程,就实现了不同类型导航电文的完整性、正确性判断。

V:\系统文件\Desktop\4.jpg

图4 判断模块

(4)界面设计。本着直观,易操作的原则,将用户界面分为了三部分。第一部分显示数据来源信息、接收开关和清空按钮;第二部分将接收到的每一帧导航电文的二进制码进行标注显示;第三部分,按照接收机和数据类型的不同,分为两个显示窗口,分别为星站差分接收机窗口和北斗二代接收机窗口,每一窗口都分为导航模式、帧长、正确帧、错误帧四栏。

V:\系统文件\Desktop\Screenshot-组播数据接收判断.png

图5 用户界面

(5)测试验证。软件完成后,对其进行了测试验证。首先进行功能测试,当卫导显控台开始发送导航电文后,在用户界面输入组播地址、端口和BID码,点击运行,显示窗口开始按时间先后顺序逐帧显示接收到的导航电文数据,判断窗口开始对其判断结果进行累加,通过对所有类型导航数据的正确帧、错误帧进行逐一比对,确认软件功能正常;然后进行性能测试,在一直接收数据的前提下,通过多时段、长时间的拷机测试,确认软件性能可靠。经以上测试验证,判定监控软件符合设计要求,功能正常可用。

3 结束语

本文基于现实的本地监控需求开发了导航电文实时监控软件,可第一时间对发送状态、准确性、完整性做出判断,有效提高了异常识别效率。后续将进一步拓展导航电文监视软件在数据解算方面的功能,如利用接收到的导航数据计算定位结果,与卫导接收机定位结果进行比对等,以进一步实现实时检验接收机工作状态的功能。

参考文献

[1] Jasmin Blanchette, 等C++ GUI QT4编程. 电子工业出版社, 2015.1.

[2] 陆文周.Qt开发及实例[M]. 电子工业出版社, 2017.06.