陳洋+盧萍+王平良+李喆+曲丹陽



摘 要:針對S模式二次雷達的數據解析,文章研究了使用較為廣泛的Asterix Category 062協議,并根據CAT062協議的解析標準,開發了一種空管雷達數據自動解析系統,將符合CAT062協議標準的S模式原始報文翻譯為明碼報文。通過仿真實驗表明,該系統提高了S模式原始報文的解析效率與精確度,在空管大數據聯合分析領域應用前景廣闊。
關鍵詞:空管;雷達;數據自動解析系統;設計
中圖分類號:TN965 文獻標志碼:A 文章編號:2095-2945(2017)19-0097-02
引言
近年來,伴隨著國民經濟的持續平穩增長,我國民用航空也迎來了前所未有的發展機遇,無論是航空器數量還是密度都呈現出穩步增長的態勢,空域流量迅猛增長一定程度上增加了空中交通管制的工作負荷,最終往往造成流量控制的局面。雷達數據作為保障空中交通流量的前端基礎,在空中交通管制的實際運行中的意義尤為重要[1]。
本文分析Asterix的CAT062標準,并運用此標準將S模式二次雷達的十六進制碼解析為可讀的明碼,為用戶提供實時的空管運行數據,為飛行數據處理系統、科研及空管教學提供可靠支撐。
1 CAT062標準
在Asterix Category 062協議中,一個完整的S模式雷達報文包括不同的“數據類型(Data Category)”。每個數據類型下通常包含多個“數據塊(Data Block)”,每個數據塊含有一條或多條“記錄(Record)”,記錄是附加字段說明的相同類型的“數據項(Data Item)”的集合,數據項是每種數據類型中信息的最小基本單元,每個數據項有其特定含義并被規定了次序位置。“數據字段(Data Field)”是傳輸信息的最小單元,它組成了數據項[2]。
數據塊的基本布局如表1所示,數據類型CAT=062時表示該數據塊含有ADS-B報文,長度標識(LEN-Length Indicator)表示整個數據塊的總長度字節數,其中也包括LEN占據的2個字節和CAT占據的1個字節。在每條記錄的數據項之前都有一個用于表示數據字段是否存在的字段說明(FSPEC-Field Specification)。
Asterix Category 062協議中針對S模式雷達報文傳輸的標準數據項設置有用戶應用規范(UAP-User Application Profile),如表2所示。此規范限定了標準數據項的排列順序,并為每個數據項設置了字段參考編號(FRN-Field Reference Number)。規范中最后一欄表示該數據項的格式長度(Length),以字節為單位,例如:單獨數字“2”表示該數據項為固定長度數據項,占2個字節;數字符號組合“1+”表示該數據項為可變長度數據項,在1個字節長度后可以擴展n個字節長度[3]。
2 整體設計
系統設計基于windows環境,采用面向對象的編程語言C#,基于Microsoft 公司強大的IDE平臺Visual Studio 2013搭建,可實現提取S模式原始報文并解析為明碼報文輸出至相關平臺關聯使用的功能。
系統整體設計如圖1所示,系統首先識別S模式原始報文中符合Asterix Category 062協議的部分,再進行逐條分析。針對每條報文,先解析報文的FRN碼,提取 FRN碼中有效的字段,再根據Asterix Category 062協議相關的解析標準對有效的字段轉化為明碼報文輸出。
3 主要功能函數
在將S模式原始報文向明碼報文轉移的過程中,本系統主要依據CAT062標準將相關字段的十六進制碼轉化為十進制或二進制,再根據具體字段的解析規則進一步解析為最終的明碼報文。為此,我們依據CAT062標準設計了一系列主要功能函數,下文將選取幾個與空管運行密切相關的功能函數詳細介紹。
(1)I062/070,Time of Track Information
在此數據項關于Asterix報告傳輸時間的解析中,初步得到的十進制數據以“秒”為單位,為表示時間則需要將數據通過3次取余計算整理為“時分秒”格式的數據,具體函數如下:
T=line[i].Substring(m, 6);
int TD = Convert.ToInt32(T, 16);//轉化為十進制
int H;
H=TD/3600;//計算小時
int Min = (TD % 3600) / 60;//除去小時后計算min
int Sec = (H % 3600) % 60;//除去時分后計算s
Time = H + "h" + Min + "min" + Sec + "s";//有效值帶單位
(2)I062/105,Calculated Position in WGS-84 Co-ordinates
在此數據項關于WGS-84坐標位置的解析中,數據最低有效值(Least Significant Bit)LSB=180/225度,所以在將數據轉化為十進制后需要通過計算將準確的經緯度計算出來,并標注經緯度符號,具體函數如下:
P=line[i].Substring(m, 16);
String P1 = P.Substring(0, 8);
int LA= Convert.ToInt32(P1, 16); //轉化為十進制
Lat =LA * 180 /( 2 ^ 25);//轉為緯度有效值
String P2 = P.Substring(8, 8);
int LO = Convert.ToInt32(P2, 16);//轉化為十進制
Lon = LO * 180 /( 2 ^ 25);//轉為經度有效值
Pos = Lat + "N" + Lon + "E";//位置有效值帶標識
(3)I062/136,Measured Flight Level
在此數據項關于飛行高度的解析中,數據最低有效值(Least Significant Bit)LSB=0.25ft,所以在將數據轉化為十進制后需要通過計算求出準確的飛行高度層,并將數據單位標準化為英尺,具體函數如下:
c6 = line[i].Substring(m, 4);
int c61 = Convert.ToInt32(c6, 16);//轉化為十進制
Height= (c61 * 0.25) + "ft";//轉為高度有效值,帶單位
4 仿真實驗
根據第3章提供的解析思路與相關代碼,向本系統的實體應用軟件導入某天海口上空的S模式二次雷達原始報文,進行數據解碼分析,測試軟件的運行效果。
S模式原始報文:
3E 00 34 BB 7D 25 04 02 03 00 0E 58 4F 00 38 06 E5 01 46 06 41 FD 26 01 B7 0D 4A 00 0D 33 B3 C3 7E 20 80 78 0C CB 00 06 01 00 05 50 00 00 28 00 2A 00 3E 04
由實體應用軟件解析出的明碼報文:
8388;18.4831130504608;107.789037823677;215.970037930
94;464.150115769046;3116;CSN3053;7850f7;1281;30000;
通過對上述報文的解析,我們可以得出,此報文發出的時間為2時19分48秒,航空器呼號CSN3053,ICAO地址7850f7,位于北緯18.4831130504608°,東經107.78903782367
7°,當前磁航向215.97003793094°,地速464.150115769046節,應答機編碼3116,航跡號1281,當前高度30000英尺。
通過接收海口上空的S模式二次雷達數據,實現了對海口上空S模式二次雷達數據的解析和關聯。由實驗結果可知,該系統運行穩定,兼容性強,且完全達到了預期的功能要求。
5 結束語
本文論述了加強空管二次雷達建設對民航發展的重大意義,具體研究了CAT062數據解析標準。在對S模式原始報文標準化處理的前提下,設計并開發了一種空管雷達數據自動解析系統[4]。系統引接S模式空管二次雷達原始數據,根據CA
T062標準實現了對S模式二次雷達原始報文的翻譯,為空管運行部門的大數據挖掘與分析提供了技術支撐,提高空管部門的運行保障能力,使相關部門可以獲得準確及時的雷達綜合航跡數據,同時為空管科研人員提供數據支撐。
參考文獻:
[1]劉偉,胡明華.空管多雷達數據處理系統研究[J].江蘇航空,2005,03:17-19.
[2]Eurocontrol Asterix Category 062.Surveillance Data Exchange. Part 12.
[3]韓振年.S模式雷達數據處理系統設計與實現[D].電子科技大學,2010.
[4]T. Larsen, “Cross-platform aviation analytics using big-data methods”2013 Integrated Communications, Navigation and Surveillance Conference(ICNS), Herndon, VA,2013,pp.1-9.doi:10.1109/ICNSurv.2013.6548579.