陳洋+盧萍+王平良+李喆+曲丹陽
摘 要:針對S模式二次雷達(dá)的數(shù)據(jù)解析,文章研究了使用較為廣泛的Asterix Category 062協(xié)議,并根據(jù)CAT062協(xié)議的解析標(biāo)準(zhǔn),開發(fā)了一種空管雷達(dá)數(shù)據(jù)自動解析系統(tǒng),將符合CAT062協(xié)議標(biāo)準(zhǔn)的S模式原始報文翻譯為明碼報文。通過仿真實驗表明,該系統(tǒng)提高了S模式原始報文的解析效率與精確度,在空管大數(shù)據(jù)聯(lián)合分析領(lǐng)域應(yīng)用前景廣闊。
關(guān)鍵詞:空管;雷達(dá);數(shù)據(jù)自動解析系統(tǒng);設(shè)計
中圖分類號:TN965 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)19-0097-02
引言
近年來,伴隨著國民經(jīng)濟的持續(xù)平穩(wěn)增長,我國民用航空也迎來了前所未有的發(fā)展機遇,無論是航空器數(shù)量還是密度都呈現(xiàn)出穩(wěn)步增長的態(tài)勢,空域流量迅猛增長一定程度上增加了空中交通管制的工作負(fù)荷,最終往往造成流量控制的局面。雷達(dá)數(shù)據(jù)作為保障空中交通流量的前端基礎(chǔ),在空中交通管制的實際運行中的意義尤為重要[1]。
本文分析Asterix的CAT062標(biāo)準(zhǔn),并運用此標(biāo)準(zhǔn)將S模式二次雷達(dá)的十六進(jìn)制碼解析為可讀的明碼,為用戶提供實時的空管運行數(shù)據(jù),為飛行數(shù)據(jù)處理系統(tǒng)、科研及空管教學(xué)提供可靠支撐。
1 CAT062標(biāo)準(zhǔn)
在Asterix Category 062協(xié)議中,一個完整的S模式雷達(dá)報文包括不同的“數(shù)據(jù)類型(Data Category)”。每個數(shù)據(jù)類型下通常包含多個“數(shù)據(jù)塊(Data Block)”,每個數(shù)據(jù)塊含有一條或多條“記錄(Record)”,記錄是附加字段說明的相同類型的“數(shù)據(jù)項(Data Item)”的集合,數(shù)據(jù)項是每種數(shù)據(jù)類型中信息的最小基本單元,每個數(shù)據(jù)項有其特定含義并被規(guī)定了次序位置。“數(shù)據(jù)字段(Data Field)”是傳輸信息的最小單元,它組成了數(shù)據(jù)項[2]。
數(shù)據(jù)塊的基本布局如表1所示,數(shù)據(jù)類型CAT=062時表示該數(shù)據(jù)塊含有ADS-B報文,長度標(biāo)識(LEN-Length Indicator)表示整個數(shù)據(jù)塊的總長度字節(jié)數(shù),其中也包括LEN占據(jù)的2個字節(jié)和CAT占據(jù)的1個字節(jié)。在每條記錄的數(shù)據(jù)項之前都有一個用于表示數(shù)據(jù)字段是否存在的字段說明(FSPEC-Field Specification)。
Asterix Category 062協(xié)議中針對S模式雷達(dá)報文傳輸?shù)臉?biāo)準(zhǔn)數(shù)據(jù)項設(shè)置有用戶應(yīng)用規(guī)范(UAP-User Application Profile),如表2所示。此規(guī)范限定了標(biāo)準(zhǔn)數(shù)據(jù)項的排列順序,并為每個數(shù)據(jù)項設(shè)置了字段參考編號(FRN-Field Reference Number)。規(guī)范中最后一欄表示該數(shù)據(jù)項的格式長度(Length),以字節(jié)為單位,例如:單獨數(shù)字“2”表示該數(shù)據(jù)項為固定長度數(shù)據(jù)項,占2個字節(jié);數(shù)字符號組合“1+”表示該數(shù)據(jù)項為可變長度數(shù)據(jù)項,在1個字節(jié)長度后可以擴展n個字節(jié)長度[3]。
2 整體設(shè)計
系統(tǒng)設(shè)計基于windows環(huán)境,采用面向?qū)ο蟮木幊陶Z言C#,基于Microsoft 公司強大的IDE平臺Visual Studio 2013搭建,可實現(xiàn)提取S模式原始報文并解析為明碼報文輸出至相關(guān)平臺關(guān)聯(lián)使用的功能。
系統(tǒng)整體設(shè)計如圖1所示,系統(tǒng)首先識別S模式原始報文中符合Asterix Category 062協(xié)議的部分,再進(jìn)行逐條分析。針對每條報文,先解析報文的FRN碼,提取 FRN碼中有效的字段,再根據(jù)Asterix Category 062協(xié)議相關(guān)的解析標(biāo)準(zhǔn)對有效的字段轉(zhuǎn)化為明碼報文輸出。
3 主要功能函數(shù)
在將S模式原始報文向明碼報文轉(zhuǎn)移的過程中,本系統(tǒng)主要依據(jù)CAT062標(biāo)準(zhǔn)將相關(guān)字段的十六進(jìn)制碼轉(zhuǎn)化為十進(jìn)制或二進(jìn)制,再根據(jù)具體字段的解析規(guī)則進(jìn)一步解析為最終的明碼報文。為此,我們依據(jù)CAT062標(biāo)準(zhǔn)設(shè)計了一系列主要功能函數(shù),下文將選取幾個與空管運行密切相關(guān)的功能函數(shù)詳細(xì)介紹。
(1)I062/070,Time of Track Information
在此數(shù)據(jù)項關(guān)于Asterix報告?zhèn)鬏敃r間的解析中,初步得到的十進(jìn)制數(shù)據(jù)以“秒”為單位,為表示時間則需要將數(shù)據(jù)通過3次取余計算整理為“時分秒”格式的數(shù)據(jù),具體函數(shù)如下:
T=line[i].Substring(m, 6);
int TD = Convert.ToInt32(T, 16);//轉(zhuǎn)化為十進(jìn)制
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
在此數(shù)據(jù)項關(guān)于WGS-84坐標(biāo)位置的解析中,數(shù)據(jù)最低有效值(Least Significant Bit)LSB=180/225度,所以在將數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制后需要通過計算將準(zhǔn)確的經(jīng)緯度計算出來,并標(biāo)注經(jīng)緯度符號,具體函數(shù)如下:
P=line[i].Substring(m, 16);
String P1 = P.Substring(0, 8);
int LA= Convert.ToInt32(P1, 16); //轉(zhuǎn)化為十進(jìn)制
Lat =LA * 180 /( 2 ^ 25);//轉(zhuǎn)為緯度有效值
String P2 = P.Substring(8, 8);
int LO = Convert.ToInt32(P2, 16);//轉(zhuǎn)化為十進(jìn)制
Lon = LO * 180 /( 2 ^ 25);//轉(zhuǎn)為經(jīng)度有效值
Pos = Lat + "N" + Lon + "E";//位置有效值帶標(biāo)識
(3)I062/136,Measured Flight Level
在此數(shù)據(jù)項關(guān)于飛行高度的解析中,數(shù)據(jù)最低有效值(Least Significant Bit)LSB=0.25ft,所以在將數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制后需要通過計算求出準(zhǔn)確的飛行高度層,并將數(shù)據(jù)單位標(biāo)準(zhǔn)化為英尺,具體函數(shù)如下:
c6 = line[i].Substring(m, 4);
int c61 = Convert.ToInt32(c6, 16);//轉(zhuǎn)化為十進(jìn)制
Height= (c61 * 0.25) + "ft";//轉(zhuǎn)為高度有效值,帶單位
4 仿真實驗
根據(jù)第3章提供的解析思路與相關(guān)代碼,向本系統(tǒng)的實體應(yīng)用軟件導(dǎo)入某天海口上空的S模式二次雷達(dá)原始報文,進(jìn)行數(shù)據(jù)解碼分析,測試軟件的運行效果。
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
由實體應(yīng)用軟件解析出的明碼報文:
8388;18.4831130504608;107.789037823677;215.970037930
94;464.150115769046;3116;CSN3053;7850f7;1281;30000;
通過對上述報文的解析,我們可以得出,此報文發(fā)出的時間為2時19分48秒,航空器呼號CSN3053,ICAO地址7850f7,位于北緯18.4831130504608°,東經(jīng)107.78903782367
7°,當(dāng)前磁航向215.97003793094°,地速464.150115769046節(jié),應(yīng)答機編碼3116,航跡號1281,當(dāng)前高度30000英尺。
通過接收??谏峡盏腟模式二次雷達(dá)數(shù)據(jù),實現(xiàn)了對??谏峡誗模式二次雷達(dá)數(shù)據(jù)的解析和關(guān)聯(lián)。由實驗結(jié)果可知,該系統(tǒng)運行穩(wěn)定,兼容性強,且完全達(dá)到了預(yù)期的功能要求。
5 結(jié)束語
本文論述了加強空管二次雷達(dá)建設(shè)對民航發(fā)展的重大意義,具體研究了CAT062數(shù)據(jù)解析標(biāo)準(zhǔn)。在對S模式原始報文標(biāo)準(zhǔn)化處理的前提下,設(shè)計并開發(fā)了一種空管雷達(dá)數(shù)據(jù)自動解析系統(tǒng)[4]。系統(tǒng)引接S模式空管二次雷達(dá)原始數(shù)據(jù),根據(jù)CA
T062標(biāo)準(zhǔn)實現(xiàn)了對S模式二次雷達(dá)原始報文的翻譯,為空管運行部門的大數(shù)據(jù)挖掘與分析提供了技術(shù)支撐,提高空管部門的運行保障能力,使相關(guān)部門可以獲得準(zhǔn)確及時的雷達(dá)綜合航跡數(shù)據(jù),同時為空管科研人員提供數(shù)據(jù)支撐。
參考文獻(xiàn):
[1]劉偉,胡明華.空管多雷達(dá)數(shù)據(jù)處理系統(tǒng)研究[J].江蘇航空,2005,03:17-19.
[2]Eurocontrol Asterix Category 062.Surveillance Data Exchange. Part 12.
[3]韓振年.S模式雷達(dá)數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)[D].電子科技大學(xué),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.