谢连军
(民航新疆空管局,新疆 乌鲁木齐 830016)
空中交通管理的基本目的是管制员通过实时监控飞机在受控空域内的飞行动态来确保飞行器在管制空域内安全、高效、系统的飞行。近年来,随着新疆维吾尔自治区经济水平的快速提高,新疆民航事业得到了快速发展,这对民航空中交通管理工作提出了更高的安全要求。监视信号是空管自动化系统中最重要的信号,其质量直接影响自动化系统的稳定运行。
随着科学技术水平的不断提高,运用于空管系统的监视设备种类越来越多。常规的一次雷达、二次雷达依旧是航路监视的主力;新锐广播式自动相关监视(Automatic Dependent Surveillance-Broadcast,ADS-B)已实现了全国6 600 m高空双层覆盖,新疆地区更是实现了6 600 m以上的ADS-B运行;场监雷达(Airport Surveillance Radar,ASR)仍是大型机场监视的主力;多点定位(Multilateration,MLAT)为ASR的补充,是部分中小型机场监视的主力。监视源百花齐放,使得其信号数据格式纷繁复杂[1]。因此,开发1套依据监视源本身特性的数据分析工具显得尤为必要。
高级数据链路控制(High-Level Data Link Control,HDLC)是节点之间面向比特的传输协议,位于开放式系统互联(Open System Interconnection,OSI)参考模型的第2层,帧结构如图1所示。它由标志字段F、地址字段A、控制字段C、信息字段I以及帧校验字段FCS这5大部分组成。
图1 HDLC帧结构
(1)标志字段F:协议指定二级制数01111110(即0x7E)作为帧开始、结束的标志位,同时在HDLC中采用插零法完成对传输数据的装配。
(2)地址字段A:表示数据传输链路上每1个节点的地址信息,链路中每1个节点都分配了唯一地址。
(3)控制字段C:表示该帧的属性、命令和控制等。
(4)信息字段I:上层用户的传输数据,以2级制比特串的形式表示。该字段在大多数民航监视源数据传输中采用Asterix协议。
(5)校验字段FCS:HDLC协议中使用16位循环码(CRC-16)进行校验。标准CRC-16采用的多项式为1021。协议利用校验字段对帧结构中2个标志字段之间的地址、控制、信息字段等内容进行校验。
目前,雷达数据多采用HDLC方式传输[2]。传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)是当今世界通用的网络传输协议,也是以太网通信的基础。TCP/IP模型共分为网络接口层、网络层(网络互联层)、传输层和应用层4个层次。监视系统中较多采用了IP组播、用户数据报协议(User Datagram Protocol,UDP)等网络传输技术,如ADS-B、多点定位等。标准的监视数据网络数据包结构如图2所示。
图2 监视数据网络包结构
Asterix是为了使监视设备与自动化处理设备之间进行数据通信,由欧洲民航合作组织提出的标准化传输规程[3]。起初欧洲民航合作组织提倡在监视数据传输的数据链路层上采用HDLC协议,但随着互联网技术的发展,Asterix协议在网络层也得到较大规模的应用。通过推广Asterix协议,不同的雷达厂家可提供统一的数据输出标准。Asterix数据包结构如图3所示。
图3 Asterix数据包结构
为了区分不同的应用场景,欧洲民航合作组织为Asterix数据定义了255种数据类别。目前广泛应用在新疆民航中的类别如表1所示。
表1 新疆空管局使用Asterix格式类型
监视源数据分析工具由软件和硬件组成,利用Python语言进行软件程序编写,利用MySQL数据库实现海量数据的存储,并通过使用多线程、进程池等技术实现多任务处理功能。该系统主要分为数据通信模块、数据解码模块、目标显示模块、数据分析模块和质量统计模块5部分,整体软件架构如图4所示。数据通信模块以网络、HDLC、文件方式接收监视源的数据。数据解码模块完成监视数据的自动解码及分类。数据库模块完成数据的接收与处理。目标显示模块采用图形化界面显示监视目标的信息。数据分析模块可以根据配置信息筛选监视信息,并可详细展示特定信息。质量统计模块可以对监视源的数据质量进行统计。
图4 软件系统架构
监视数据通信模块主要实现对使用HDLC、网络及文件方式进行数据传输的各类监视源数据接收。HDLC-UDP协议转换器的主要作用是把利用HDLC进行通信的数据重新封装成UDP数据包,并使用网络协议进行传输。利用协议转换器,本系统的数据通信模块可以利用UDP传输协议实现对HDLC及网络传输数据的接收。数据通信模块通过配置文件中的组播地址和端口与监视源进行匹配,最终将对应的外部数据接入数据分析软件。文件传输是指将监视源的历史数据记录文件作为数据分析的处理对象。用户需根据软件界面提示,选择监视源及相应需要分析的历史记录文件。
数据解码模块主要实现对各类监视源数据的解码[4]。目前,该模块可以对新疆地区绝大多数监视源数据进行处理,其软件处理流程如图5所示。首先,该模块需要载入监视源的配置参数,如雷达的经纬度、ADS-B台站的组播地址与广播地址等。根据上述参数,软件可以自动识别监视源的类型,并为之后目标数据的坐标变换等功能提供基础信息。其次,依据Asterix格式判定数据的数据类型,并截取对应的Asterix数据块内容。再次,程序依照相应的Asterix的UAP信息,对数据块中的每1个数据项进行解码。最后,将解码后的数据、原始数据以及内容错误的数据存储至对应的数据库。针对ADS-B这类数据量较大的处理对象,该模块采用了多线程、进程池等技术,大大加快了数据处理速度。
图5 数据处理流程
该软件采用开源数据库MySQL对原始数据和解码数据进行存储。正确处理的数据内容、原始数据、丢弃数据分别存储在数据库的不同数据表中。该数据库中可以依照日期及数据性质分别存放数据,设置页面如图6所示。
图6 数据库设置页面
该模块可以将解码后的目标信息回放显示在图形界面上。显示回放系统采用PyQt制作图形界面,以Matplotlib为绘图工具,采用多图层方式进行绘制。显示图层由低至高分别为地图层、距离环层、航路层、扇区层、目标实时显示图层和目标信息图层[5,6]。该模块支持目标静态显示方式、综合显示方式、PPI显示方式和3D显示方式,如图7所示。此外,系统也支持输出至第三方地图软件上显示。该模块可以对地图、显示目标以及标牌信息等参数进行设置。
图7 目标显示界面
该模块可以完成原始数据帧解析、数据筛选以及输出数据格式转换等。原始数据解析功能用于逐帧查看监视数据信息。解析后的数据将根据条目进行分类,用户通过鼠标操作就可以同时查看原始数据与解析后的数据,如图8所示。数据筛选是根据用户需求,对解析的数据进行特定条件的数据过滤,如图9所示。在数据筛选中,用户可以根据24位地址、二次代码、航班号、时间及任意数据项内容进行过滤。输出数据格式转换的主要作用是依照用户需求将解析后的数据以json、csv、文本、kml、xlsx等格式进行输出。若将数据筛选功能与其配合,还可满足RABT等监视分析软件对数据格式的要求,便于后者对监视源进行分析处理[7]。
图8 原始数据帧解析
图9 数据筛选功能窗口
该模块主要是对监视源的数据质量进行分析统计[8,9]。监视数据质量的好坏直接影响后续自动化系统的处理和应用。为了确保数据的准确可靠性,必须先对获取的数据进行质量评估。目前,各类监视源的工作原理、传输方式千差万别,很难以1个指标对所有类型设备进行分析评估。因此,该模块根据监视源类型,使用不同的指标对监视源数据进行评估分析。对于雷达等监视设备,该软件以完好性为指标对其进行性能评估。完好性依据软件正确解码的报文条数与接收的总监视信息报文数之比进行评判。ADS-B设备传输的数据不仅包含监视数据,还包括设备状态等其他信息,因此需要对数据进行过滤处理。此外,由于ADS-B设备导航系统精度和ADS-B数据传播过程极易受到外部因素的干扰,软件设定ADS-B设备需要从数据的完好性、漏点率以及跳点率3个方面评估分析ADS-B的监视数据。
监视源数据分析工具采用协议转换仪等硬件设备完成数据通信,并使用Python开发平台的Sockets、PyQt、进程池以及多线程等技术,实现了对各类监视源数据统一分析处理的功能,解决了近些年空管监视部门缺乏监视源数据处理分析能力的问题。系统通过对监视源输出的原始数据进行接收、解析识别,使用多图层方式绘制实现了目标显示功能,同时实现了数据库存储、数据分析和质量统计功能。目前,该工具已初步实现对新疆空管局所辖各类监视数据源的原始数据解析功能。为了进一步增强工具的数据解析功能,该工具还在进一步开发中,希望之后可以开发雷达S模式能力分析、飞行器24位地址码监控、数据传输测试评估、特定地区飞行器数据链以及应答机能力评估等功能,从而进一步扩展工具用途,为监视源的数据分析和性能评估提供帮助。