【摘 要】ADS-B全稱是Automatic Dependent Surveillance -Broadcast,即廣播式自動相關(guān)監(jiān)視。ADS-B與傳統(tǒng)雷達監(jiān)視技術(shù)相比,具有數(shù)據(jù)精度高、數(shù)據(jù)更新速度快、使用成本低、監(jiān)視能力強等明顯優(yōu)點,在民航系統(tǒng)中得到了廣泛的應(yīng)用。例如民航浙江空管分局,目前已安裝使用了一套ADS-B三級數(shù)據(jù)站,及4套ADS-B地面站設(shè)備,分別在義烏機場、衢州機場、千島湖通用機場及杭州蕭山機場。目前使用的ADS-B系統(tǒng)下行數(shù)據(jù)均采用1090ES地空數(shù)據(jù)鏈,其中應(yīng)用層使用的DF-17數(shù)據(jù)編碼,本文重點研究了DF-17報文中對飛機經(jīng)緯度的壓縮位置編碼及解碼算法的原理,為后端的ADS-B數(shù)據(jù)采集、融合、處理及顯示奠定了基礎(chǔ)。
【關(guān)鍵詞】廣播自動相關(guān)監(jiān)視;數(shù)據(jù)解析;DF-17數(shù)據(jù)幀;數(shù)據(jù)壓縮位置編碼
一、DF-17數(shù)據(jù)幀結(jié)構(gòu)
ADS-B 報文通過空空、空地數(shù)據(jù)鏈廣播式傳播,系統(tǒng)廣播出的數(shù)據(jù)包括 8?s 前導(dǎo)脈沖和 112?s的數(shù)據(jù)脈沖,前導(dǎo)脈沖(應(yīng)答報頭)形狀固定,表示ADS-B報文的開始,后面為112?s為數(shù)據(jù)脈沖,數(shù)據(jù)通過脈沖位置調(diào)制進行編碼[1]。數(shù)據(jù)塊部分為雙層結(jié)構(gòu),第一層由5個字段組成:DF,CA,AA,ME,PI。其中DF(Downlink Format)字段表示下行鏈路格式,用于區(qū)分不同應(yīng)答機發(fā)送的數(shù)據(jù)鏈格式,占5bit。DF不同此后的3bit子類型意義不同。例如DF=17,表示數(shù)據(jù)類型是基于二次雷達S模式的ADS-B數(shù)據(jù)鏈。
其中33-88bit的ME字段被再次劃分,為第二層結(jié)構(gòu)。ME 字段是狀態(tài)數(shù)據(jù)字段,包含ADS-B 系統(tǒng)各種實用數(shù)據(jù),共占56bit。該字段中可以包含不同類型的狀態(tài)數(shù)據(jù),例如的空中位置信息、地面位置信息和飛行器ID以及類型信息等。最后的PI 字段是奇偶校驗字段,采用CRC校驗段,用于糾檢錯處理,共占24bit[2]。
其中類型(TYPE)字段占ME字段的1-5bit,可以編碼為32個不同的值,因此ME消息字段總共有32種不同的編碼方式。其中有幾種已分配的類型分別表示了ADS-B消息中的空中位置信息、地面位置信息、飛機身份與類別信息、空中速度信息、飛行位置、飛機的狀態(tài)等。不同類型的ME字段擁有相同的幀格式,通過判斷ME字段內(nèi)容,可以分析屬于哪種信息,并且得到不同的數(shù)據(jù)。本文主要對含有經(jīng)緯度位置信息的空中位置報及地面位置報進行詳細描述。
二、空中位置報
空中位置信息中的“ME”字段格式如下所示,每一個分區(qū)的內(nèi)容如下,包含了高度位置信息以及簡潔位置編碼(CPR)后的經(jīng)度、緯度數(shù)據(jù)[3]。
CPR格式字段:占1比特,位于“ME”字段的22比特,用來表示簡潔位置編碼(CPR)是奇編碼還是偶編碼。當(dāng)該位為0時,表示為偶編碼,為1時,表示奇編碼。奇編碼和偶編碼的不同采用的是相同的編碼方法,只是位置數(shù)據(jù)獲取的時刻不同。當(dāng)時間位為0時,奇編碼和偶編碼交替出現(xiàn),交替頻率為0.2秒UTC。
CPR編碼緯度:占17比特,“ME”字段的23-39比特,表示進行簡潔位置編碼后的飛機緯度。CPR編碼經(jīng)度:占17比特,“ME”字段的40-56比特,表示進行簡潔位置編碼后的飛機經(jīng)度。
三、地面位置報
地面位置報與空中位置報的格式十分相同,不同的地面位置報描述了目標在地面時的狀態(tài)與速度大小方向,沒有高度位。
其中類型位只能編碼為5、6、7、8這四個固定值。53bit-88bit中的時間碼、CPR格式碼、CPR編碼緯度、CPR編碼經(jīng)度與 “空中位置報”中對應(yīng)的各位編碼方式相同,不再做過多的介紹。
四、壓縮位置解碼算法原理
CPR編碼是為提高了ADS-B消息傳輸效率而設(shè)計的位置編碼方式,由于飛機在正常飛行情況下,表示經(jīng)緯度的編碼在較長的時間內(nèi)不會發(fā)生很大的變化,這樣消息傳輸?shù)男示秃艿?。而采用了CPR編碼方法,通過對地球進行區(qū)域的劃分,然后只對劃分后的區(qū)域進行兩種不同方式(奇和偶)的編碼,避免了高階位的重復(fù)發(fā)送,在接收端通過比較不同類型的編碼消息,得出位置信息,如此一來就提高了傳輸效率。
CPR的編碼方式是根據(jù)經(jīng)緯度進行兩極劃分,首先把全球的緯度劃分為奇、偶兩種區(qū)段(Zone),其次把全球經(jīng)度也劃分為奇、偶兩種區(qū)段(Zone),最后把劃分完成的緯度奇、偶區(qū)段和經(jīng)度奇、偶區(qū)段進行二次劃分,劃分為更小的箱塊(Bin),無論是經(jīng)度區(qū)還是緯度區(qū),一個區(qū)段內(nèi),箱塊的個數(shù)固定。CPR采用劃分后目標所在的箱塊中心值來表示實際經(jīng)緯度位置,箱塊的編號就是CPR的編碼[4]。
高度就決定了編碼的精度。CPR最終的編碼結(jié)果是用經(jīng)度與緯度的奇偶編碼箱塊編號表示,就是和。
下圖為CPR編碼的詳細過程,首先要進行緯度的編碼,再根據(jù)緯度位置求得經(jīng)度區(qū)個數(shù)NL,從而計算得到經(jīng)度編碼。實際情況下獲得的奇編碼與偶編碼位置有一定的相差,若根據(jù)奇偶編碼緯度計算出的NL不相同,則誤差較大舍棄數(shù)據(jù)。
五、CPR解碼算法實現(xiàn)
CPR解碼算法分為本地解碼(local decoding)和全球解碼(global decoding)。本地解碼只能限制在區(qū)段的范圍進行解碼,而且還需要一個已經(jīng)確定的位置作為參考。但是本地解碼可以使用任何一個格式的CPR位置編碼,而且也沒有接收時間的限制。而全球解碼則需接收一對奇偶位置編碼信息。對于在空中位置的飛機來說,這一對奇偶編碼數(shù)據(jù)接收時間不能超過10s,若在地面位置則間隔為50s。這種方法不需要設(shè)置參考點,解碼出來的位置信息也是確定的。
通常在目標第一次出現(xiàn)時,使用全球解碼計算出一個確定的位置。然后,才切換到本地解碼計算后續(xù)的更新位置[6]。
(1)全球解碼
全球解碼原理是:偶區(qū)段和奇區(qū)段的邊界之差與區(qū)段序號存在一種線性關(guān)系,而偶區(qū)段和奇區(qū)段邊界之差可以通過偶編碼和奇編碼計算出來。并且,這種線性關(guān)系,無論在緯度區(qū)段,還是在經(jīng)度區(qū)段,都存在。
如圖所示,目標分別位于偶區(qū)段P0位置,奇區(qū)段P1位置。從區(qū)段0開始,奇區(qū)段跟偶區(qū)段相差一個,以此類推區(qū)段2相差。
得到確切的緯度值以后開始進行經(jīng)度的解碼,首先計算出NL。
如果計算出的奇偶區(qū)塊數(shù)目不相同,則表示兩次收到的位置信息不再同一個緯度區(qū)域內(nèi),這種情況說明飛行器在跨越緯度區(qū)域,不能解碼,則需等待接收到位置信息中經(jīng)緯度區(qū)域值相等時再解碼。如果相等,則可以計算ZO的值:
特殊情況:NL=1時,經(jīng)度區(qū)段的長度為360°此時無需用公式計算,區(qū)段編號為0。
因此,全球解碼的總流程為:首先獲取到ADS-B數(shù)據(jù)中的CPR位置數(shù)據(jù)與CPR格式,然后計算出奇、偶編碼的緯度區(qū)段差,由已知的一個奇、偶緯度區(qū)段差ZO可以得到緯度的區(qū)段編號j,從而計算出實際的緯度。然后由求出的緯度,計算出在該緯度上的經(jīng)度區(qū)段數(shù)NL,判讀一致后,進行經(jīng)度解碼,與緯度解碼過程相同,最后求出飛機實際位置,具體流程如下圖:
(2)本地解碼
本地解碼需要使用一個參考點,但參考點的選擇不是隨便的。參考點(Reference Position,RP)和編碼位置(Encoded Position,EP)之間的差的絕對值必須在1/2個緯(經(jīng))度區(qū)塊內(nèi)。本地解碼的原理是:以參考點為中心,建立緯度和經(jīng)度的滑動窗口?;瑒哟翱诘膶挾仁?個區(qū)段的尺寸,這樣在滑動窗口內(nèi)就不會出現(xiàn)重復(fù)的箱塊編號。保證了解碼的唯一性。
緯度的解碼過程如下:
設(shè)ZI為緯度區(qū)段序號,則目標點的緯度區(qū)段號為:
左邊是編碼位置緯度區(qū)段序號,右邊是參考點緯度區(qū)段序號,以及參考點和目標點的緯度區(qū)段序號差。由于滑動窗口的大小限制,差值的值只能是 1,-1 或 0。由此可見,目標點的緯度可由參考點緯度以及區(qū)段長度得到。
參考點區(qū)段編碼號計算:
的值可以由參考點與目標點的相對位置關(guān)系計算得到。設(shè)為比例因子,它表示了位置為P的點,其緯度在所在區(qū)段中位置與區(qū)段總長度的之比。可以用緯度實際值進行計算,也可以使用CPR編碼值進行計算。和就采用了這兩種方法。
由上圖可知,參考點與目標點的位置關(guān)系,大概可以概括為三種:EP與RP同一區(qū)段,EP比RP北一個緯度區(qū),EP比RP南一個緯度區(qū)。由此,可以總結(jié)出公式:
計算后可知:在EP與RP同一個區(qū)塊內(nèi),值為0;EP比RP北一個緯度區(qū),值為1;EP比RP南一個緯度區(qū),值為-1。
把以上公式都帶入(4-16)可以得到最終公式:
本地解碼完成。
總過程可以描述為,由已知的一點知道確切位置的參考點,與目標點相對比,由參考點的緯度區(qū)段號和計算出的參考點比例因子、目標點比例因子可得目標點的區(qū)段號,從而解碼出飛機位置,具體解碼流程如下圖:
六、結(jié)語
隨著杭州地區(qū)航班量的飆升和民航空中交通管制事業(yè)的快速發(fā)展,浙江空管分局的ADS-B系統(tǒng)已于2019年開放使用,有效地解決雷達監(jiān)視的覆蓋問題,提供了更高質(zhì)量的監(jiān)控。本文工作主要是從 ADS-B 報文中獲取航跡數(shù)據(jù),對簡潔位置編碼(CPR)后的飛機位置進行解碼,CPR采取奇編碼和偶編碼兩種方式,截取到同一目標的兩種編碼后的不同結(jié)果,根據(jù)計算公式可以得到飛機當(dāng)前的位置,完成解碼。通過飛機ADS-B下行鏈路DF-17的解析,解析了飛機ADS-B報文中的多種信息。通過獲取到的飛行位置參數(shù),可以為其后的飛機航跡顯示、飛行數(shù)據(jù)融合奠定基礎(chǔ),具有一定的應(yīng)用價值。
參考文獻:
[1]宮淑麗.機場場面移動目標監(jiān)視系統(tǒng)關(guān)鍵技術(shù)研究[D].南京航空航天大學(xué),2012.
[2]徐天宇.淺談 ADS-B 技術(shù)在我國民航上的應(yīng)用和發(fā)展[J].江蘇航空,2012,12(4):62-64
[3]Dependent Surveillance Broadcast(ADS-B).1140 Connecticut Avenue,NW,Suite 10200Washington,DC 20036-4001,U.S.A. 2000
[4]斯坦利·李普曼,約瑟·拉喬伊,芭芭拉·默,王剛,楊巨峰.C++ Primer中文版(第5版)[J].中國科技信息,2013,20:28.
[5]程擎.中國實施 ADS-B 監(jiān)視的地面站部署分析[J].電訊技術(shù).2012,52(8):1227-1231
[6]WEN BOLONG,LI YUBAI,LI HUAN,PENG WEI. An Expanded Description of the CPR Algorithm [A].IEEE,2011:4.
作者簡介:
邱昕鈺(1994—),女,本科,助理工程師。
(作者單位:中國民用航空華東地區(qū)空中交通管理局浙江分局)