空管飞行数据仿真系统设计
2019-04-26李云鹏
文/李云鹏
民航空管的核心数据主要包括监视数据和飞行计划数据,其中监视数据有一/二次雷达数据、ADS-B(广播式自动相关监视)数据、MLAT(多点定位)数据等,其数据格式主要由欧控组织(Eurocontrol)的Asterix 标准所定义,其数据发送周期依数据源不同,分别为0.5 秒至4 秒不等。飞行计划数据主要由《MH4007 民用航空飞行动态固定电报格式》所定义,是民航空管运行的核心数据流。
伴随着每天民航航班的忙碌运行,各类系统都会生产出海量的数据日志,而这些都是空管行业宝贵的无形资产,进行有效的数据挖掘利用,能够生成一套历史飞行数据经验库,对关键事件进行重演,并为高层做决策提供科学、合理的数据基础。
系统采用了二层组件架构体系,包括数据挖掘组件、数据仿真可视化组件。
1 数据挖掘组件
历史飞行数据中详细记录了航班的飞行过程,存在潜在的利用价值。数据挖掘组件通过导入大批量历史飞行数据进行数据挖掘,提取起落机场、航班号、航路点信息、过点高度、过点速度、起飞时间、落地时间等航班信息,生成班机剧情库,用于以后续仿真及可视化。
数据挖掘组件流程如图1所示,需要对大量历史数据进行数据解析和数据分析,获取真实的飞行数据,如表1所示,包括经过航路点的经纬度、速度、高度等精确信息,将航班关键信息导入航班信息数据库,并生成用于可视化组件的飞行剧情。如表2所示。
根据航班信息数据库制作飞行剧情,飞行剧情要满足飞行计划所需要的关键信息,例如图2中的航班号、二次代码、起降日期、起降机场、航路信息等。
2 数据仿真可视化组件
数据仿真可视化组件通过导入数据挖掘组件生成的班机剧情,能够对历史飞行数据进行重演和三维可视化,并记录重演数据导出智能解脱经验库。仿真组件根据班机剧情生成相应的飞行计划,然后根据飞行计划创建用于可视化的仿真飞机,依据BADA 库等飞机性能库来提高重演数据的精确度。
仿真可视化组件流程如图3所示,通过仿真飞行剧情,创建飞行计划,对每一个飞行计划创建一架飞机,并根据BADA 库等添加飞机性能信息,然后进行时序重演数据,并将重演数据可视化。
3 系统通信设计
系统外部接口包括一/二次雷达数据、ADS-B数据及空管自动化系统综合航迹数据。其中一/二次雷达数据通过HDLC 链路引接,需经过多业务路由器进行协议转换;ADS-B数据及空管自动化系统综合航迹数据以IP 网络方式引接。
图1:数据挖掘组件流程图
系统内部通信采用OpenDDS 数据总线,以统一格式的航迹数据进行数据交互。典型的数据消息结构包括消息 头(BaseMessageHeader)、 监视信息(SurveillanceInfo)、监视计划信息(SurveillancePlanInfo)、 监视扩展信息(SurveillanceExtendInfo)。
BaseMessageHeader 标识了数据信号源及消息长度等信息;SurveillanceInfo 包含航迹类型、航迹号、二次代码、航班标识、高度、速度、经纬度及信号质量状态等信息;SurveillancePlanInfo 包括该航班的相应计划数据,如航班号、起飞机场、落地机场、机型等数据;监视扩展信息包括其他用户需要了解的数据,包括当前扇区、管制状态、机场桥位等信息。
4 应用效果
表1:机场信息表
表2:基础信息表
图2:飞行数据挖掘
图3:数据仿真可视化组件流程图
图4:数据可视化效果
系统开发采用C++语言,图形库使用QT5.6.2,图4是最终系统仿真可视化的图形界面,其中绿色航迹点是通过数据挖掘所生成的真实飞行剧本产生的历史航迹。数字地球背景采用ArcGis,通过放大地图可以看到相关航班的航班号和起飞落地机场等飞行动态数据。