裴方瑞
摘 要:本文以內蒙古空管分局科技立項項目《雷達信號質量智能分析系統》為基礎,論述了雷達輸出信號質量監測的方法,通過采用C++面向對象編程方法,采集雷達輸出的原始監視數據,對報文的數據項自動提取與分析,統計關鍵技術指標的正常率與完好率,實現對雷達報文質量監視的目的。對雷達系統故障排除具有重要的實際應用價值。
關鍵詞:模塊;數據幀結構;數據記錄
中圖分類號:TN965 文獻標志碼:A
0 引言
隨著國內民航業的高速成長,全國各地新建大量監視設備。大量監視設備的數據通過送入自動化系統進行融合而實現飛行器信息精確度提升的同時,也帶來了對這些監視數據源信號質量監測的困難。任意一個監視源的輸出數據錯誤都可能會直接導致自動化系統出現目標丟失、分裂、位置和高度跳變和假目標等嚴重影響管制指揮的事件發生,如何迅速判斷每一個監視數據源信號的質量成為亟待解決的問題。
1 系統總體方案設計
雷達信號質量智能分析監視系統可通過網絡設備接入多個遠端雷達監視數據以及雷達服務報文,報文采用ASTERIX標準傳輸,數據連接方式為UDP。系統采用模塊化設計思想,對功能進行模塊化分割,包括有數據接入模塊、數據處理模塊、航跡管理模塊、數據記錄與回放模塊、地圖管理模塊、圖形繪制模塊及人機交互模塊。各個模塊之間通過共享數據緩沖區來進行數據交換,通過消息響應來進行指令的交換。系統總體架構如圖1所示。
1.1 據接入模塊
數據接入模塊通過對Windows Socket類進行封裝調用來實現UDP鏈接,數據接入模塊采用獨立線程來實現,線程始終處于等待狀態,當外部輸入數據到達時,接收線程將被觸發,接收數據,將數據存入數據接收緩沖區后,向數據處理模塊發送一條“數據到達”消息。數據接入模塊會對接收到數據做簡單的有效性判斷,若數據沒有通過有效性判斷,則不會進入一下處理階段。
1.2 數據處理模塊
數據處理模塊采用獨立線程來實現,線程處于消息等待狀態,當接收到來自數據接入模塊發送的“數據到達消息”后,線程被觸發,從數據接收緩沖區中取出數據,并對雷達監視數據及雷達服務報文進行解析,解析后的信息經過坐標轉換、數據格式轉換后歸一化為軟件內部標準數據結構,并存入航跡數據緩沖區內,同時存入數據庫中。此模塊將會調用到數據解析模塊、數據轉換模塊、坐標轉換模塊及數據記錄與回放模塊。
1.3 航跡管理模塊
航跡管理模塊主要負責航跡數據緩沖區中的航跡數據的維護,包括新增航跡點的插入、過期航跡點的刪除、航跡狀態的更新等操作。航跡區采用list鏈表來進行實現。鏈表中每個節點包括一個航班的全部信息(目標地址、航班號、速度、高度、位置等)。
1.4 數據記錄與回放模塊
數據記錄與回放模塊接收來自數據處理模塊的航跡數據,并存入至數據庫系統中。數據記錄與回放模塊以數據庫系統為基礎,其主要功能為數據庫系統的管理維護、航跡數據的查詢、增加、刪除、導出及回放。數據回放功能采用兩線程設計思路,一條線程負責從數據庫中取出需要回放的數據,別一條線程則負責回放進度的控制,在合適的時間將回放數據存入數據接收緩沖區中,并向數據處理模塊發送“數據到達消息”。
2 數據解析功能模塊設計
雷達信號質量智能分析監視系統可接入符合ASTERIX CAT001、ASTERIX CAT002、ASTERIX CAT048、ASTERIX CAT034標準規范的PSR、SSR雷達監視數據及雷達服務報文數據,并對報文進行解析獲得航班的航班號、二次代碼、位置、高度、速度及其他狀態信息。
2.1 ASTERIX
ASTERIX(All Purpose Structured Eurocontrol Rodar Information Exchange ),是歐控(Eurocontrol)組織為雷達數據的傳輸和交換而制定的一套多用途結構化雷達信息交換標準。ASTERIX支持雷達、ADS-B、綜合航跡、氣象、告警信息等數據的傳輸和交換。ASTERIX共定義了256種數據類型,其中CAT001~CAT127數據格式用于軍航和民航標準的雷達數據傳輸。
2.2 數據幀結構
ASTERIX的數據幀的結構如圖2所示。
CAT用來表示ASTERIX數據的類型,占用1個字節。例如CAT=21時,表示此ASTERIX數據為ADS-B航跡數據。LEN表示ASTERIX數據幀的總長度,占用兩個字節。LEN的計算方法為:數據長度 = 數據種類字段(1字節)+ 數據塊長度標識字段(兩個字節)+ 所有數據字段長度之和。FSPEC英文全稱為Field Specification是對UAP(User Application Profile)的描述,當FSPEC的第n位(不計算FSPEC每個字節的第8位)為1時,則表明在UAP中對應索引號(FRN)的數據項是存在的。同樣當FSPEC的第n位為0時,則說明在UAP中對應索引號的數據項是不存在的。FSPEC長度可變,為整數個字節,每個字節的第8個比特位有特殊作用,它是一個稱為FX的標志位,FX是域拓展標志位。如果FX為1,則說明FSPEC還沒有結束,后面至少還有一個字節的擴展。如果FX為0,則FSPEC結束。Data Record是航跡信息,包括如目標的位置、速度、高度、航向、二次代碼等信息。
2.3 處理流程
數據解析模塊由類CDeodeAtx實現,此類中的getCAT()函數用于提取ASTERIX數據幀的類型字段;getLEN()函數實現對ASTERIX數據幀中的長度字段的提取;decodeAtx()函數實現ASTERIX數據的解析。
數據解析模流程:首先調用getCAT()函數提取ASTERIX數據幀的類型字段;然后調用getLEN()函數實現對ASTERIX數據幀中的長度字段;最后,根據getCAT()獲得的數據類型是CAT001、CAT002、CAT034或CAT048,分別調用decode001、decode002_1a0、decode034_1_26、decode048_1_20或decode048_1_14解碼模塊,以FSPEC為依據,對ASTERIX數據幀中存在的數據項進行逐一解析,得到航跡信息,并對解析出的航跡數據進行坐標轉換,將英制單位換算為公制單位。
3 二維圖形繪制功能模塊設計
繪圖功能模塊實現系統中所有二維圖形對象的繪制,包括地理信息的顯示、航跡的繪制顯示、飛行器標牌的繪制及顯示、目標列表的繪制及顯示等。繪圖功能采用消息驅動機制來實現,由消息IOM_DRAW_MSG觸發繪制事件,并在其對應的消息響應函數OnDrawProc()中實現圖形的繪制工作。消息IOM_DRAW_MSG下有多個子消息,每一種子消息對應不同的繪圖事件及繪圖對象。
繪圖功能模采用消息觸發機制,當接收到來自其他模塊或定時器的繪圖消息后,首先區分域類型,如果是一般繪圖對象更新消息,則直接重繪所有繪圖對象,包括背景地圖、目標航跡、目標尾跡、目標列表等。若是定時飛行動態刷新消息SDD_DRAW_TAR則先對航跡緩沖區進行維護,包括對刪除過期目標、更新目標尾跡點、更新目標高度過濾狀態等。然后再執行屏幕內繪圖對象重繪操作。
航班顯示模塊在進制航班的繪制時,首先會對目標位置信息做經坐標投影轉換,將目標位置信息由WGS-84大地坐標轉換為屏幕坐標;然后判斷此航班是否在屏幕可見區域內,若航班位于屏幕范圍之外,則不對此航班進行繪制,直接進制下一個航班的繪制操作;若航班位于屏幕范圍內,則依次繪制航班的標識、標牌及方向矢量的元素,這些顯示元素均由CDraw類中的繪圖函數來實現。
結語
隨著空管系統各類監視設備的大量應用,研發新技術同時完成對大量設備性能的自動監測已迫在眉睫。雷達數據質量智能監測系統能以圖形界面的方式直觀顯示雷達輸出數據的狀態,同時能夠對航跡數據報文信息進行分析,并完成記錄回放。對于協助雷達工程師迅速定位雷達數據源故障提供了有力的技術手段,對保障航班安全發揮出重要作用。
參考文獻
[1]向明艷.雷達數據分析系統的設計與實現[D].內蒙古:內蒙古大學,2011.
[2]潘宗英.一種空管二次雷達數據質量分析系統的設計[J].科技致富向導,2015(6):204.
[3]王屹峰,牛磊.雷神雷達數據格式淺析[J].空中交通管理,2008(3):14-17.