黃永堅
【摘 要】設計一種空管二次雷達顯示系統,該系統實現現有二次雷達配備的顯示系統應有的功能,具備目標點跡航跡顯示、雷達原始視頻顯示,并實現目標數據統計分析及系統性能監視。系統通過基于分層開放式模塊設計實現了軟件總體架構的設計,與此同時,設計了消息控制機制以及包括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#軟件設計中,系統的消息服務可以采用客戶端-服務器端構架,通過程序部件間的交互實現?;诨丨h地址的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).