黄永坚
【摘 要】设计一种空管二次雷达显示系统,该系统实现现有二次雷达配备的显示系统应有的功能,具备目标点迹航迹显示、雷达原始视频显示,并实现目标数据统计分析及系统性能监视。系统通过基于分层开放式模块设计实现了软件总体架构的设计,与此同时,设计了消息控制机制以及包括AsterixR类、Tag类和显示类等多种类。系统实现硬件资源简洁,性能较好。
【关键词】空管;二次雷达显示;C#;类设计
中图分类号: TP311.52 文献标识码: A 文章编号: 2095-2457(2018)24-0017-002
DOI:10.19694/j.cnki.issn2095-2457.2018.24.008
【Abstract】a secondary radar display system for air traffic control is designed, which can realize the functions and functions of the existing secondary radar display system Punctuation track and radar original video display, and achieve the statistical analysis of target data and system performance monitoring. The system is opened based on layers In the same time, message control mechanism is designed, including Asterix R class and Tag Classes and display classes, etc. The system has simple hardware resources and good performance.
【Key words】Air traffic control; Secondary radar display; C #; Class design
0 引言
空管二次雷達是空中交通管制工作监视的重要设备,可以为空管自动化系统提供有效的数据源。空管二次雷达的自身显示也非常重要,其对于雷达头数据质量的判断、空管自动化及雷达性能分析及故障排查有关键性作用。对于空管技术保障人员,空管二次雷达的显示是一种技术保障的工具也是学习雷达数据处理的重要平台。通常国内外雷达生产家都会配备一个以上的雷达本地终端显示,但是对于实际空管现场运行有不少不合实际的情况。本文从实际出发,研究设计一种雷达显示系统,该系统通过C#设计实现,在实际中应用性能较好,对设备维护人员理解相关数据处理和信号处理有一定的意义。
1 设计的出发点及功能
本文的设计依照《MH/T 4010-2006空中交通管制空管二次雷达设备技术规范》以及《MHT 4008-2000空管雷达及管制中心设施间协调移交数据规范》,研究相应的雷达数据格式包括ASTERIX CAT001、CAT002、CAT034、CAT048以及CAT240多种欧控雷达格式。结合实际情况系统采用良好的人机交互界面,通过局域网实现远程部署及远程显示能力,具备目标点迹航迹显示、雷达原始视频显示,实现目标数据统计分析及系统性能监视。
在数据接口上,为了实现系统与二次雷达主机的数据交互,采用UDP协议进行通信,完成系统数据的收发、存储及本地重演;PPI显示则参照现有运行系统,采用极坐标形式显示,以方位角正北为基准,顺时针方向计量,距离通过显示半径计量,并且以当前雷达站的经纬度为坐标原点。
系统主要实现的功能包括目标的尾迹、符号、高度等显示,地图显示以及视频显示(包括视频回放、显示的基本配置以及扫描方式选择等等);统计功能则通过列表形式显示二次雷达数据的帧数据及目标信息统计,主要记录统计的信息有:当前帧航迹数、SSR/PSR配对航迹数、SSR总数、航迹总数、自动航迹总数、人工航迹总数以及半自动航迹总数等;目标列表信息则体现当前的重点参数表、航迹详参表(航迹批号、方位、距离、高度、速度、航向等)、点迹详参表等;主机控制功能,则主要实现对雷达主机的控制包括对(发射状态、待机状态)和模式控制的切换(MA、MS以及MA/C);回放控制则提供了类似空管自动化系统的回放重演功能,包括对雷达数据的回放速度选择、回放数据选择等。
参照相关标准,系统设计满足显示范围具有500Km显示半径,可同时显示900批/帧的目标,软件的实时响应时间小于20ms。
在硬件部署上,此处采用HPZ400工作站作为主机处理,采用LP2400显示器提供24寸的显示大小及1600×1200的显示效果,系统实现较为节约。
2 软件的设计与实现
2.1 软件框架设计
软件框架设计基于分层开放式模块设计,将主体系统功能分为三个层:一是业务层,业务层类似网络七层结构中的应用层,具体面对数据处理,包括系统的目标显示、地图显示、统计分析、记录回放以及功能配置等;二是数据层,数据层部署了相应的数据库及数据文件,包括消息交互、数据库管理、数据访问控制以及数据的备份及日志记录等;三是平台层,主要处理基础计算以及配置相应的显示组件等,其提供了对网络、硬件以及操作系统的多种运算,包括并行计算、网络通信以及其他跨系统跨平台应用。
2.2 软件部件
软件主要由后台程序组成,包括雷达数据显示、列表统计计算以及系统操作等功能部件。其中,雷达数据显示包括软件界面处理(UI约束及配置管理),PPI显示,列表显示等。这些显示处理都是基于支持库中的视频库以及模式控制的处理。在C#软件设计中,系统的消息服务可以采用客户端-服务器端构架,通过程序部件间的交互实现。基于回环地址的SOCKET交互可以实现客户端与服务器端的数据交互,通过对UDP消息进行端口识别实现数据的按需分发。服务器端在收到消息信息号时将主动向客户端发布一个消息副本从而实现数据共享,此过程系统软件会对消息进行等级划分和优先级排队。
消息中心设计实现了系统整体数据的处理控制。首先,系统启动时会从硬盘中读取参数文件(软件配置文件),读取完毕初始化系统约束条件,根据流程进行注册消息的判断,如若无需注册消息则判断心跳消息,心跳存在再进行更新订阅客户数据。如若需要注册则直接更新订阅客户最终形成现客户消息订阅队列。
C#的良好封装性给予软件设计类提供了可能,通过类设计可以实现系统模块化设计,方便后续软件升级及维护。对于消息中心的类主要是IDReader类和UdpCom类,前者主要实现消息客户端和服务端的信息读取,用户名及IP地址端口的信息。后者则实现信息交互和初始化,UdpSer和UdpCom派生类实现相应的数据转发,并保存相应的配置文件msg.ini。
Udpsocket实现对雷达数据的接收,并将其推送到显示界面处理模块,主要涉及的是欧控数据CAT001和CAT002,支持MHT4008格式。其中,Inter类主要实现与外部的网络数据交互,点航迹的处理及控制;AsterixR类实现对欧控数据接收处理,MH类则实现对MH4008格式的点航迹的处理。数据存储则通过将服务器推送目标信息和扇区消息保存到本地文件实现。系统根据实际的硬件,此处可以设计文件大小为1M以上,保存90天数据以及单文件数据记录为1小时。数据的回放则通过程序主进程实现外部重演及状态实时回传,软件通过重演指令控制数据读取进程读取本地数据文件,控制数据发送进程将读取到的数据向显示进程推送,这个过程按照雷達的周期(4s或5s)进行显示周期的确认。
2.3 PPI显示
PPI显示主要由目标显示、GIS背景地图显示及视频显示组成。目标显示主要通过C#定义相应的Tag目标类,通过Tag系统定义了相应目标的组成元素,包括目标SSR、高度、速度、以及其他必须显示的目标信息,上述的Inter类接收到数据后会进入到AsterixR类进行数据的解析,将数据包中的必选项解析处理,并生成一个Tag类对象,填入到显示模块的数据链表中形成新目标。当然,此过程存在航迹点迹相关过程,具体实现可以通过判断距离、SSR、高度等多种约束条件实现航迹点迹的相关。航迹点迹的跟踪处理则直接通过Follow类实现,Follow类定义了相应的跟踪条件及外推约束,为系统航迹点迹处理实现模块化设计。
基于Qt的Gaphics view框架定义一个QGLwidget窗体以承载图形元素显示,此处也进行分层设计。一是用户作图层,提供类似空管自动化的在线地图绘制能力;二是目标信息显示层,主要处理上述目标的信息显示;三是雷达视频处理;四是GIS地图绘制及处理。图层具有私有属性和共有属性的定义,这些处理及显示统一规划在QGraphicsScene容器中。而在QGraphicsItem中主要有线型和颜色的变化、响应事件的控制以及样式的选择配置的设计。另外,GIS配置文件存放在本地的“APPRADAR/shapes”文件中,设计实现了对900批容量的目标显示容量。C#添加GIS应用需要代码如下:
mapGIS.Visible=false;
layoutMain.Visible=true;
toolGIS.SetBuddyControl(layoutMain);
CopyMapFromMaptoPageLayout();
视频回放显示功能则有:首先,通过初始化,系统等待相应的回波数据进入,通过数据解码,实现CPU前期处理;其次,将数据填入缓存中并等待缓存填满数据;再次,软件自动拷贝数据到GPU缓存,启动内核进行GPU处理和视频绘制。显示库在此过程中会将CUDA程序编译成软件本地静态连接库,实现与主控制程序的数据交互。
2.4 界面功能设计
参考当前在用二次雷达显示系统,本系统提供的界面功能有:(1)用户数据维护接口,主要提供对雷达主机处理的相关配置信息,包括IP地址、端口号,主机名称、目标显示标牌配置、GPS时钟接入配置、数据文件的初始化设计及维护等;(2)地图的相关功能,包括地址添加、航路点维护、导航台点设置、雷达站点维护以及其他包括管制扇区显示的添加等;(3)系统显示配置功能,包括标尺使用、地图放大缩小、经纬度同时显示等;(4)对目标信息进行定制操作,包括确定航迹的标识跟踪、确定航迹对的实时监视、确定航迹点的未来预测等;(5)数据统计与显示。在前台实现对后台数据库的交互,包括统计信息的显示、简单的数据分析及流量监测、重要可变参数的更新操作等。
3 结束语
本文通过实际工作经验,基于C#设计一种空管二次雷达显示系统,该系统实现了消息控制机制的制定以及数据流类设计,并对软件的总体架构采用分层设计。系统整体的可维护水平较高、硬件需求较为简洁、应用性能较好。参照相关行业标准的设计同时,系统可以为空管二次雷达的质量探测以及二次雷达的雷达数据学习提供手段,也为相关研究提供一种实践参考。
【参考文献】
[1]凌翔.面向数据流的雷达数据处理软件设计与建模[J].软件导刊.2016(04).
[2]张琳.多雷达数据处理系统在空中交通管制中的应用[J].通讯世界.2015(18).
[3]陈培英.一种新型的管制中心系统雷达数据处理架构[J].徐州工程学院学报(自然科学版).2008(04).