謝連軍
(民航新疆空管局,新疆 烏魯木齊 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位地址碼監控、數據傳輸測試評估、特定地區飛行器數據鏈以及應答機能力評估等功能,從而進一步擴展工具用途,為監視源的數據分析和性能評估提供幫助。