文献标识码:A
DOI:10.16157/j.issn.0258-7998.180959
中文引用格式:索国伟,王金锁,郭荣华,等. ADS-B数据报文采集与解析系统的设计与实现[J].电子技术应用,2018,44(9):104-107,111.
英文引用格式:Suo Guowei,Wang Jinsuo,Guo Ronghua,et al. Design and implementation of ADS-B data packet collection and analysis system[J]. Application of Electronic Technique,2018,44(9):104-107,111.
0 引言
ADS-B[1]是空管领域的一种基于全球定位系统和利用空地、空空数据链通信完成交通监视和信息传递的监视技术。该技术把飞行目标作为监视对象,获取飞行目标当前的位置、高度等信息,将信息重组形成符合规范要求的ADS-B协议数据报文后,通过机载的上下天线将其发送出去。ADS-B地面站设备或安装了ADS-B数据报文接收设备的其他飞行目标接收此ADS-B数据报文,通过对报文的解析,获取此飞行目标的位置和飞行状态数据信息,从而实现对飞行目标的监视。
ADS-B数据报文采集与解析系统能够解析Cat 021类型报文,采用以太网RJ45接口引接外联的方式,实时采集ADS-B地面接收设备的数据报文,检验数据完整性和准确性,并转发至实时解析系统,展示飞行目标关键数据信息,在数据层面与显控主机(UI图像层面的宏观监控)配合完成对空中飞行目标的精准化监视与管制,同时采用多种方式对原始接收数据进行存储,实现事后分析和历史数据回放。这对1090 ES地面站设备态势显示具有十分重要的应用价值。
本文首先介绍了ADS-B系统地面站工作原理,引出其改进设计的新思路,然后对ADS-B数据报文采集与解析系统的设计与实现进行描述,给出系统测试与结果分析,最后进行了总结和展望。
1 ADS-B地面站系统工作原理
1.1 ADS-B地面站系统
ADS-B地面站系统是ADS-B系统[2]中的核心部分,下面介绍ADS-B地面站系统的工作原理。
1.1.1 系统主要用途
ADS-B地面站系统[3]主要用途是为空管提供ADS-B信息服务、ADS-B飞机监视和管制,具有数据变换处理能力,以及抗干扰机制和较高稳定性的软硬件设计,能够满足民航、通航机场和航路的使用要求。
1.1.2 系统组成模块
ADS-B地面站系统主要由地面站处理主机、全向天线、馈线、显控主机和站点监视器组成。鉴于国际民航组织亚太区的建议和在全球范围内的互操作性,我国在西部实施利用ADS-B技术提供类雷达监视服务时,首先考虑使用1090ES作为ADS-B数据链。
ADS-B地面站显控主机通过SNMP V3网络管理协议对1090ES数据链地面站处理主机进行监视、控制(复位、重启、软件升级、输出使能/禁止等)和维护,获得完善的系统状态信息。如果ADS-B地面站系统无故障,地面站会周期性地产生测试用的ASTERIX目标报文[4],通过在地面站显控主机界面上观察即可以实时获得整个系统的工作状态。
ADS-B地面接收设备系统结构如图1所示。
1.2 ADS-B地面站系统运行时流程
在ADS-B地面站处理主机,1090ES消息接收单元收到来自空中的消息(符合标准规范的Cat 021报文信息的无线射频信号),通过消息报告汇总并生成标准的ADS-B报文[5](包括状态报告、模式报告和OC报告等),把这些信息存储进入消息队列并通过缓存输出,在控制信息的引导下,以Cat 021的数据格式发送到ADS-B应用系统,满足各种不同应用需要。
ADS-B地面站系统运行时基本流程(以ADS-B Cat 021报文格式为例)如图2所示。实时地用数据驱动UI界面的显示,将飞行目标的关键数据信息进行展示,辅助地面站管制人员实现对飞行目标的有效监控[6],完成决策制定和空域内飞行目标管理调度。
1.3 ADS-B地面站系统设计的新思路
当前所用的ADS-B地面站系统在某些特殊场景下,其包含的信息量较少,不能完全满足更细粒度的实际应用需求,例如不能支持数据采集、历史回放和分析评估,不能实时显示数据层面信息,只包含飞行目标的相关状态信息,这也为ADS-B地面站系统的发展提出了更高的要求。
1.3.1 网络数据报文采集
为了有效监测和分析空中飞行目标的状态变化信息、目标处理错误信息,掌握当前ADS-B地面站所属空域中的飞行目标管理调度策略等内容,需要从全局上对Cat 021报文进行准确全面的解析,统计有效目标数量和各目标的飞行参数设置[7]。另外,考虑到某些特殊的ADS-B系统实验测试需求,需要对报文数据采集和留档存储,离线进行数据分析,而且在数据采集时限制多种存储形式(二进制原始码流、十六进制串、格式化的Cat 021信息解译结果数据等),需要在地面站系统后端定制化数据采集方案。
1.3.2 Cat 021数据报文解析
通过设计研发一种新的Cat 021报文解析软件,在数据层面上检验数据完整性和准确性,剔除野值数据包,实时显示解析Cat 021报文数据记录项信息[8],周期性统计飞行目标个数,并将解析结果中的关键航迹数据以特定传输方式(UDP单播方式)转发至第三方态势显示系统,增加人机交互的友好性,辅助地面站显控主机对飞行目标的状态变化监视和管理调度,这将为ADS-B地面站系统提供十分重要的应用价值。
2 ADS-B数据报文采集与解析系统设计与实现
2.1 改进的ADS-B地面站系统结构设计
2.1.1 ADS-B数据报文采集与解析系统定位
ADS-B Cat 021报文采集与解析系统定位于在ADS-B地面站系统中实时通过RJ45接口从ADS-B地面接收设备采集并解析Cat 021数据报文,在数据层面进行实时信息展示和分析,实现报文数据按需分类存储,丰富并扩展ADS-B地面站系统的主要功能,方便ADS-B地面站人员开展各项业务工作。
2.1.2 改进的ADS-B地面站系统网络拓扑结构
按照真实的ADS-B地面站系统业务应用场景需要,采用构件化的设计思想,改进的ADS-B地面站系统全局网络布局如图3所示。系统仍然是星型的网络拓扑,ADS-B数据报文采集与解析系统运行部署后,作为ADS-B地面站系统的一个相对独立的构件而存在,包含ADS-B Cat 021报文数据实时采集子系统和ADS-B Cat 021报文实时信息解析子系统两个部分,通过以太网方式接入ADS-B地面站系统,仅仅采用RJ45接口对外进行数据交互,减少了对原有地面站系统中其他模块的干扰和影响。
2.2 ADS-B数据报文采集与解析系统总体框架设计
系统总体框架设计如图4所示。
ADS-B Cat 021报文采集与解析系统采用C/S架构的开发模式和分层的设计方法,遵循软件工程设计中高内聚低耦合、高扇入低扇出的原则,系统划分为3层:第一层(底层)数据支撑层,作为系统的数据输入,通过网络数据采集技术获取原始Cat 021报文数据,并将其以UDP单播/组播方式转发至报文解析软件,为业务逻辑层提供数据支撑服务;第二层(中间层)业务逻辑层,主要完成数据报文处理、解析、存储等各种业务处理功能,供应用层进行调用;第三层(上层)应用层,提供报文解析结果的各种应用程序。采用层次设计的优势在于系统各层次业务分明,层与层之间相对独立,系统的研发工作能够按层次并行实施,各层专注于更高效的软件实现,更利于算法替换和后期系统维护。
2.3 系统组成模块设计
系统总体上划分为ADS-B Cat 021数据报文采集设计、ADS-B Cat 021报文解析算法设计和ADS-B Cat 021报文解析软件UI设计3个组成部分。系统组成如图5所示。
2.3.1 ADS-B Cat 021数据报文采集设计
主要实现以UDP单播(或UDP组播)引接外联方式实时对ADS-B地面接收站处理主机发送的原始数据进行数据采集和多种不同形式存储。
2.3.2 ADS-B Cat 021报文解析算法设计
系统算法设计以标准的ADS-B Cat 021数据报文结构为出发点,创造性地的定义解析数据结构,对比分析各算法实现的时间/空间复杂度,选用高效的算法。
2.3.3 ADS-B Cat 021报文解析软件UI设计
系统所设计的UI能够实时地将数据报文解析结果中的数据项进行完整显示,并将关键数据信息进行突出高亮展示,同时增加了飞行目标数周期性统计、解析结果转发至态势显示系统的功能,创造性地扩展了ADS-B地面站系统的多项业务功能。
2.4 系统数据采集与解析处理流程
Cat 021数据报文处理流程如图6所示。
考虑到Eurocontrol组织制定的标准ADS-B Cat 021数据报文结构中的数据帧长度的变长性和数据项间的强相关性,系统创新性地在数据报文解析算法中自定义一个“索引目录”的数据结构。在实际运行时,首先对实时原始航迹数据报文记录项进行完整性和准确性检查,并提取“索引目录”对象;然后按照预定的报文解析算法将其所对应的bits数组进行分组并发解析、组内串行解析处理,分解出所有关键字段内容,极大地提高了数据报文的解析效率。报文解析的核心数据字段主要有WGS-84坐标位置(维度、经度)、24位飞行目标地址、大气压高度、地向量(地速、航向角)。
2.5 ADS-B数据报文采集与解析系统测试与结果分析
2.5.1 系统运行时UI展示
系统运行时实时解析主界面视图如图7所示。
2.5.2 测试结果分析
系统已应用于真实的场景中,通过执行第三方测评机构制定的标准测试用例,能够实现各项功能和性能指标,可以对ADS-B Cat 021格式的数据报文进行数据采集和信息解译。系统部分测试数据项对比如表1所示,在目标个数统计、可靠性测试上,与显控主机的运行结果一致;在单目标平均响应时间、飞行目标坐标变换上表现更强,已完全满足业务应用需求。
3 结论
本文主要设计实现对象是ADS-B 数据报文采集与解析系统。在全面了解ADS-B地面站系统和ADS-B Cat 021报文协议格式的基础上,设计并实现了ADS-B数据报文采集与解析系统,一定程度上提高对ADS-B地面站系统的认识,对后续的研究具有一定的指导借鉴意义。后续需深入思考的内容有:
(1)系统考虑引入更优的野值剔除算法来保证航迹数据的正确性;
(2)ADS-B与雷达传感器协同工作实现覆盖范围的无缝集成和统一。
由于所学知识有限和时间的限制,上述内容在本文中没有得到很好的解决。但是笔者坚信,随着科学技术的发展,系统终将会朝着功能更加完善、UI更加人性化的方向发展。
参考文献
[1] 肖玉.适合机场引导的ADS-B系统设计与实现[D].成都:电子科技大学,2017.
[2] 申金星.基于ADS-B多地面站的实时监视系统[D].天津:中国民航大学,2017.
[3] 刘新桥.ADS-B的运用与安全性分析[J].中国民航飞行学院学报,2016,27(2):70-73.
[4] 曹娜.基于海量实测的ADS-B数据质量分析[D].天津:中国民航大学,2017.
[5] 龚少麟.基于ADS-B的沿海低空监视系统的设计[J].计算机与数字工程,2016,44(6):1185-1189.
[6] MANESH M R,KAABOUCH N.Analysis of vulnerabilities, attacks, countermeasures and overall risk of the Automatic Dependent Surveillance-Broadcast(ADS-B) system[J].International Journal of Critical Infrastructure Protection,2017,19(1):16-31.
[7] 邱志豪.基于ADS-B报文的数据解析架构与软件[J].中国西部科技,2012,280(11):22-23.
[8] 赵泽荣.基于Aslerix Catlegory 023协议的集中监控系统[J].控制工程,2015,22(增刊):72-77.
作者信息:
索国伟,王金锁,郭荣华,赵 盼
(中国洛阳电子装备试验中心,河南 洛阳471003)