民航內(nèi)蒙古空管分局 白志剛
?
基于S模式ADS-B數(shù)據(jù)解碼算法研究
民航內(nèi)蒙古空管分局 白志剛
【摘要】廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)(ADS-B)作為空管系統(tǒng)對(duì)空監(jiān)視的一種重要手段,相比傳統(tǒng)二次監(jiān)視雷達(dá)系統(tǒng)具有成本低、精度高和數(shù)據(jù)更新速度快等優(yōu)點(diǎn)。1090兆赫擴(kuò)展電文廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)作為國(guó)際民航組織推薦的唯一標(biāo)準(zhǔn),是未來(lái)ADS-B系統(tǒng)的發(fā)展趨勢(shì)。以實(shí)際監(jiān)視數(shù)據(jù)為研究對(duì)象,對(duì)ADS-B數(shù)據(jù)的解碼算法進(jìn)行研究,從底層加深對(duì)ADS-B系統(tǒng)的理解與認(rèn)識(shí)。
【關(guān)鍵詞】S模式;ADS-B;數(shù)據(jù)解碼;CPR算法
近年來(lái)中國(guó)民航業(yè)呈井噴式發(fā)展,對(duì)空中交通管制系統(tǒng)的保障能力提出了極高的要求。作為管制員的“千里眼”,對(duì)空監(jiān)視系統(tǒng)早已成為空管運(yùn)行中不可缺少的工具。廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)(ADS-B)和二次雷達(dá)系統(tǒng)均是實(shí)現(xiàn)對(duì)空監(jiān)視的重要手段,且ADS-B系統(tǒng)以其成本低、精度高以及監(jiān)視數(shù)據(jù)更新速度快等優(yōu)點(diǎn),逐步成為監(jiān)視新技術(shù)運(yùn)用的核心。ADS-B對(duì)提升空域容量、優(yōu)化航路設(shè)置和縮小航空器間隔有重要作用,且在傳統(tǒng)雷達(dá)無(wú)法覆蓋區(qū)域,比如沙漠、海洋等區(qū)域,可提供可靠的飛行器監(jiān)視服務(wù),有效增加監(jiān)視空域的覆蓋范圍。
1090兆赫擴(kuò)展電文(1090MHz ES)ADS-B系統(tǒng)是基于Mode S數(shù)據(jù)鏈的一種ADS-B 技術(shù)。作為國(guó)際民航組織唯一推薦的一種模式,該系統(tǒng)通過(guò)GNSS機(jī)載設(shè)備的支持,按固定速率自動(dòng)廣播飛行器當(dāng)前狀態(tài)信息、模式信息、目標(biāo)信息等,從而實(shí)現(xiàn)監(jiān)視、導(dǎo)航、敵我識(shí)別等功能。
本文研究了Mode S數(shù)據(jù)鏈ADS-B系統(tǒng)接收數(shù)據(jù)譯碼的關(guān)鍵算法,對(duì)飛行器空中位置信息、空中速度等重要狀態(tài)信息的譯碼算法進(jìn)行詳細(xì)論述。
1.1 模式S數(shù)據(jù)鏈ADS-B系統(tǒng)
ADS-B系統(tǒng)有三種架構(gòu),分別是基于VDL-4數(shù)據(jù)鏈、UAT數(shù)據(jù)鏈和Mode S數(shù)據(jù)鏈的ADS-B系統(tǒng)。Mode S數(shù)據(jù)鏈ADS-B系統(tǒng)的數(shù)據(jù)傳輸帶寬高達(dá)1M Bits/s,是國(guó)際民航組織(ICAO)唯一推薦的標(biāo)準(zhǔn),是ADS-B系統(tǒng)未來(lái)發(fā)展的趨勢(shì)。
1090 ES (1090 MHz Extended Squitter)是基于S模式應(yīng)答機(jī)的一種技術(shù)。它的下行頻率是1090MHz,數(shù)據(jù)傳輸采用脈沖位置編碼。1090 ES用發(fā)射機(jī)和發(fā)射天線來(lái)傳送不同的消息,包括24比特碼、高度、呼號(hào)等。由于消息長(zhǎng)度的限制,每次傳送的消息只能包含有限的信息,所以需要通過(guò)多次傳輸消息才能獲得完整的飛行器信息。然而消息的更新率卻比傳統(tǒng)二次雷達(dá)系統(tǒng)高很多,比如重要的位置消息和速度消息每0.4~0.6秒就會(huì)更新一次,而次重要的標(biāo)識(shí)消息和類型消息每4.8~5.2秒更新一次,意向改變消息每1.6~1.8秒更新一次。接收機(jī)將飛行器送來(lái)的位置、速度、標(biāo)識(shí)等信息,按照一定格式編碼匯總,形成標(biāo)準(zhǔn)的ADS-B報(bào)告(包括狀態(tài)報(bào)告、模式報(bào)告和速度報(bào)告),并以脈沖位置編碼的數(shù)據(jù)格式發(fā)送至ADS-B數(shù)據(jù)用戶。
表1 ADS-B消息結(jié)構(gòu)
表2 空中位置信息ME字段結(jié)構(gòu)
1.2 ADS-B消息結(jié)構(gòu)
一條ADS-B消息長(zhǎng)度為112個(gè)比特序列。表1為 ADS-B 消息的基本結(jié)構(gòu)。Bit 1~5為下行鏈路格式域(DF),DF=17格式表示S模式應(yīng)答機(jī)發(fā)射的ADS-B消息;Bit 6~8為CA域,表示S模式應(yīng)答機(jī)能力;Bit9~32總共24個(gè)比特為AA域,表示應(yīng)答機(jī)24比特ICAO地址;Bit 33~88總共56個(gè)比特為ADS-B消息域ME,承載飛行器報(bào)告的重要狀態(tài)信息。ME字段中,前 5個(gè)比特為消息類型字段,緊接著的3個(gè)比特為消息子類型,剩余48個(gè)比特為消息具體內(nèi)容。最后24比特為校驗(yàn)域 PI。
2.1 空中位置信息解碼
空中位置信息包括編碼后的經(jīng)緯度和高度信息,其類型字段值為9到18。表2列出ME字段結(jié)構(gòu)。
由于飛行器運(yùn)動(dòng)軌跡是連續(xù)的,不可能出現(xiàn)大跨度的跳躍,加之ADS-B位置信息廣播速率高等因素,可得知位置信息中表示經(jīng)緯度數(shù)據(jù)的高位比特必定變化緩慢。若每次都將完整位置信息廣播的話,幾乎不變化的高位比特會(huì)降低信息的傳輸效率,浪費(fèi)有限的帶寬資源。若將變化緩慢的高位比特在編碼時(shí)進(jìn)行忽略,可以提升傳輸效率,但也會(huì)造成相同的一組數(shù)據(jù)卻可以對(duì)應(yīng)全球多個(gè)位置,導(dǎo)致解碼時(shí)不能正確確定飛行器的位置。為了解決這一問(wèn)題,可以采用緊湊位置報(bào)告(CPR)算法來(lái)編碼飛行器經(jīng)度和緯度數(shù)據(jù),CPR算法將經(jīng)緯度信息編碼為奇格式編碼信息和偶格式編碼信息,接收機(jī)如果在短時(shí)間內(nèi)可以接收到上述兩種編碼信息,通過(guò)CPR算法解碼,就可以計(jì)算出飛行器的精確位置。
當(dāng)DF=17,TC=9到18時(shí),數(shù)據(jù)幀所包含的信息為位置信息。以下為接收到的真實(shí)的ADS-B數(shù)據(jù),數(shù)據(jù)1:8D40621D58 C382D690C8AC2863A7,數(shù)據(jù)2:8D40621D58C386435CC4126 92AD6。將其ME字段數(shù)據(jù)轉(zhuǎn)為二進(jìn)制后按結(jié)構(gòu)劃分,如下表:
表3 空中位置信息ME字段域?qū)?yīng)數(shù)據(jù)
其中53bit(T位置)代表時(shí)間標(biāo)記,第54bit(F位置)為0時(shí)代表偶格式編碼,為1時(shí)代表奇格式編碼。55到57bit代表CPR緯度,72到88bit表CPR經(jīng)度。
解碼算法如下:
(1)將奇格式編碼和偶格式編碼的CPR緯度和CPR經(jīng)度數(shù)據(jù)歸一化處理。
奇格式編碼緯度:LATCPR_E= 92095 / 131072 = 0.7026
奇格式編碼經(jīng)度:LONCPR_E= 88385 / 131072 = 0.6743
偶格式編碼緯度:LATCPR_O= 39846 / 131072 = 0.3040
偶格式編碼經(jīng)度:LONCPR_O= 125818 / 131072 = 0.9599
(2)計(jì)算緯度區(qū)域索引值j。
函數(shù)floor()代表取整,帶入(1)中數(shù)據(jù),得出j = 1。
(3)計(jì)算緯度Lat。
函數(shù)mod()代表取模。其中DLatE = 360 / 60,DLatO = 360/59,帶入(1)和(2)中數(shù)據(jù),得出RLatE = 10.2157745361328,RLatO = 10.21621445478026。接下來(lái)判斷LatE和LatO是否在同一緯度區(qū)。若不在同一緯度區(qū),表明飛行器正在跨越緯度區(qū)域飛行,數(shù)據(jù)不可解碼,需要等待下一組接收到的數(shù)據(jù)。查表可知RLatE和RLatO在同一緯度區(qū),根據(jù)公式:
可求得緯度Lat = LatE = 10.2157745361328。
(4)計(jì)算經(jīng)度索引值。
函數(shù)NL()可通過(guò)查表得出,NL(LatE) = 59,NL(LatO) = 59,帶入公式得出m = -39。
(5)計(jì)算經(jīng)度。
其中ni = 58,帶入數(shù)據(jù),獲得經(jīng)緯度坐標(biāo)為:
表4 空中速度消息子類1的ME字段結(jié)構(gòu)
Lon = 123.889128586342
(6)計(jì)算高度。
高度編碼格式如下:高度字段總長(zhǎng)12比特,在“ME”字段域中為bit9~bit20,bit16為單位指示比特Q,當(dāng)Q=0時(shí),編碼單位為100英尺,Q=1,編碼單位為 25 英尺,編碼范圍為:-1000英尺至+50175英尺。不論奇偶數(shù)據(jù)幀,均包含高度碼數(shù)據(jù)。
取出高度編碼數(shù)據(jù):110000111000,其中第8位比特為Q比特,移除Q比特后,編碼數(shù)據(jù)變?yōu)?1000011000,轉(zhuǎn)換為十進(jìn)制為N=1560。高度值計(jì)算公式為:
代入數(shù)據(jù)可得Alt = 1560 * 25 - 1000 = 38000 ft。
通過(guò)上述計(jì)算,我們最終獲得飛行器位置的三個(gè)參數(shù):經(jīng)度、緯度、高度。
LAT:10.2157745361328
LAT:123.889128586342
ALT:38000 ft
2.2 空中速度消息解碼
ADS-B空中速度信息格式有兩種,一種是飛行器能夠獲知自身水平運(yùn)動(dòng)速度,在此情況下用子類型來(lái)區(qū)別是否是超音速速度報(bào)告,子類1表示亞音速,子類2則表示超音速;另一種是不能獲得自身水平速度時(shí)廣播的速度報(bào)告,子類3表示亞音速,子類4表示超音速。由于現(xiàn)有飛行器主要在亞音速飛行,所以在接收到的ADS-B速度消息中有95%以上為子類1,其結(jié)構(gòu)如下表。
ME字段中,東西向標(biāo)志表明速度矢量是向東還是向西,為0時(shí)向東飛;南北向標(biāo)志表明速度矢量是向南還是向北,為0時(shí)向北飛。接收到的ADS-B數(shù)據(jù):8D485020994409940838175B284F,按照表4將ME字段解碼后各域數(shù)據(jù)對(duì)應(yīng)如下表:
表5 空中速度消息ME字段域?qū)?yīng)數(shù)據(jù)
(1)水平速度計(jì)算。
計(jì)算水平速度和方向需要四個(gè)參數(shù),東西速度V(ew),東西速度標(biāo)志S(ew),南北速度V(ns),南北速度標(biāo)志S(ns)。速度V和方向H計(jì)算公式如下:
將各域?qū)?yīng)數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制后可得V-EW=9,S-EW=1,V-NS=160,S-NS=1。帶入公式計(jì)算得出:
V(we)=-(9-1)=-8
V(sn)=-(160-1)=-159
v=159.20 (kn)
h=182.88 (deg)
即飛行器水平速度159.20節(jié),航向?yàn)?82.88度。
(2)垂直速度計(jì)算。
信息69比特S(Vr)字段為0時(shí),表示飛行器向上飛,為1時(shí)表示飛行器向下飛,Vr字段是二進(jìn)制表示的垂直飛行速率,單位為ft/min,將對(duì)應(yīng)域中數(shù)據(jù)轉(zhuǎn)為10進(jìn)制后,可得Vr=14, S-Vr=0,所以可知飛行器以14ft/min的速度上升飛行。
在空管系統(tǒng)大力提倡創(chuàng)新的環(huán)境下,本文通過(guò)對(duì)S模式ADS-B數(shù)據(jù)空中位置信息和速度信息解碼算法進(jìn)行深入研究并通過(guò)實(shí)例解讀計(jì)算程序,從底層來(lái)分析ADS-B系統(tǒng)的運(yùn)行原理。希望能夠?yàn)閺V大同行在系統(tǒng)維護(hù)與創(chuàng)新的過(guò)程中提供一些思路。由于能力有限,不正確之處還請(qǐng)大家批評(píng)指正,謝謝。
參考文獻(xiàn)
[1]朱蕓.模式S應(yīng)答接收機(jī)數(shù)字處理系統(tǒng)設(shè)計(jì)[D].電子科技大學(xué)碩士論文,2006.
[2]王菲.基于1090MHzES數(shù)據(jù)鏈ADS-B關(guān)鍵技術(shù)研究[D].電子科技大學(xué)碩士論文,2009.