• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python的Asterix Cat 021數(shù)據(jù)格式解析分析與實現(xiàn)

      2019-08-12 12:55:20劉云豐廖盈庭劉書博
      科技與創(chuàng)新 2019年14期
      關(guān)鍵詞:數(shù)據(jù)項飛行高度數(shù)據(jù)類型

      劉云豐,廖盈庭,劉書博

      基于Python的Asterix Cat 021數(shù)據(jù)格式解析分析與實現(xiàn)

      劉云豐1,廖盈庭1,劉書博2

      (1.中國民用航空飛行學(xué)院,四川 廣漢 618307;2.中國民用航空中南地區(qū)空中交通管理局湖南分局,湖南 長沙 410137)

      ADS-B(廣播式自動相關(guān)監(jiān)視)是目前空管系統(tǒng)中應(yīng)用較廣泛、技術(shù)成熟的空中交通監(jiān)視手段。介紹了Asterix Category 021協(xié)議各數(shù)據(jù)項組成、編碼的內(nèi)容以及在空管自動相關(guān)監(jiān)視中的應(yīng)用,并介紹了Python對該協(xié)議的實現(xiàn)方法。

      ADS-B;Asterix Category 021協(xié)議;Python數(shù)據(jù)項

      隨著國內(nèi)航空運輸快速的發(fā)展,航空運輸?shù)慕煌芏取?fù)雜度也隨之上升,實現(xiàn)空中交通管制的安全、高效運行,需要一種先進且安全可靠的監(jiān)視手段。ADS-B技術(shù)是新航行系統(tǒng)中非常重要的通信和監(jiān)視技術(shù),基于衛(wèi)星定位和地空數(shù)據(jù)通信技術(shù)[1]。

      相比于傳統(tǒng)的監(jiān)視手段,ADS-B克服了傳統(tǒng)系統(tǒng)遠程截獲能力差、原始信息格式紛雜、信息處理成本高且不易實現(xiàn)指定航跡的篩選、難以實現(xiàn)信息共享的缺點,極大地推動了空中交通管制的一體化建設(shè)。本文對Asterix Category 021協(xié)議各數(shù)據(jù)項組成、編碼的內(nèi)容進行了分析,并利用目前較為流行的編程語言Python對其進行實現(xiàn),以便于對ADS-B數(shù)據(jù)的軟件的開發(fā)和應(yīng)用提供一定的參考。

      1 Asterix Category 021協(xié)議的基本架構(gòu)

      Asterix Category 021是歐洲航空安全組織一系列標準文件的一部分,該協(xié)議主要描敘了ADS-B(廣播式自動相關(guān)監(jiān)視)報文傳輸?shù)幕緲?gòu)架,定義了協(xié)議中各數(shù)據(jù)項的格式以及與其他標準文件之間的關(guān)系。

      1.1 Asterix Category 021的基本結(jié)構(gòu)

      Asterix Category 021數(shù)據(jù)格式文件包含數(shù)據(jù)項目錄(Catalogue of Data Items)、數(shù)據(jù)塊(Data Block)、數(shù)據(jù)類型(Data Category)、數(shù)據(jù)字段(Data Field)、數(shù)據(jù)項(Data Item)、記錄(Record)、用戶應(yīng)用程序框架(User Application Profile,UAP)[2-3]。

      其中,數(shù)據(jù)項是數(shù)據(jù)類型中最小單元,而用戶應(yīng)用程序框架(UAP)是一種數(shù)據(jù)分配規(guī)范,根據(jù)UAP將數(shù)據(jù)項分配到數(shù)據(jù)字段。UAP中所用到的每個數(shù)據(jù)項都有相應(yīng)的字段參考編號,數(shù)據(jù)項的出現(xiàn)以UAP作為判斷條件。

      1.2 數(shù)據(jù)項和用戶應(yīng)用規(guī)范的分析

      數(shù)據(jù)項的構(gòu)成信息如下例所示[3]。數(shù)據(jù)項I021/145(飛行高度)結(jié)構(gòu)如圖1所示,數(shù)據(jù)項I021/145為飛行高度的數(shù)據(jù)結(jié)構(gòu),飛行高度由2個八位的二進制數(shù)據(jù)組成。第1個位為LSB,表示為1/4個飛行高度層,數(shù)據(jù)項2~8位表示飛行高度,將數(shù)據(jù)項2~8位二進制數(shù)據(jù)轉(zhuǎn)換十進制,乘以LSB就得到了所需要的飛行高度。Asterix Category 021的其他數(shù)據(jù)項也可用相同的方式類推。

      用戶應(yīng)用程序框架(UAP)是Asterix Category 021協(xié)議中制定的,用于應(yīng)用程序系統(tǒng)的報文設(shè)計的數(shù)據(jù)項組成框架,包括數(shù)據(jù)項順序、編碼規(guī)則等。

      圖1 數(shù)據(jù)項I021/145(飛行高度)結(jié)構(gòu)

      不同版本的協(xié)議,用戶應(yīng)用程序框架(UAP)中包含的數(shù)據(jù)項也有所差別,根據(jù)ADS-B適用的UAP,可以確定數(shù)據(jù)項在報文中的使用規(guī)則。某版本Asterix Category 021協(xié)議的UAP部分信息如表1所示,UAP包括FRN、數(shù)據(jù)項編號、數(shù)據(jù)項信息、數(shù)據(jù)項長度四個部分。其中,F(xiàn)RN列中FX為域擴展指示符,其余部分則分別表示對應(yīng)的數(shù)據(jù)項。

      表1中最后一列表示各個數(shù)據(jù)項的長度,在對數(shù)據(jù)項解碼的過程中,需要靈活地根據(jù)各個數(shù)據(jù)項的長度分配數(shù)據(jù)進行解碼。

      表1 某版本Asterix Category 021協(xié)議的UAP部分信息

      FRN數(shù)據(jù)項信息長度 1I021/010數(shù)據(jù)源識別2 2I021/040目標報告描述符1+ 3I021/030日時間3 4I021/130在WGS-84坐標中的位置6 5I021/080目標地址3 6I021/140幾何高度2 7I021/090品質(zhì)因數(shù)2 FX—字段擴展標識—

      2 Asterix Category 021的Python實現(xiàn)方法

      Python是一種計算機程序設(shè)計語言,是一種面向?qū)ο蟮膭討B(tài)類型語言,最初被設(shè)計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多地被用于獨立的、大型項目的開發(fā)[5]。

      2.1 Asterix Category 021協(xié)議模塊分析

      Asterix Category 021協(xié)議格式如表2所示,CAT為數(shù)據(jù)類型,且CAT=021,占一個字節(jié),表示數(shù)據(jù)為ADS-B;LEN為長度標識,表示整個數(shù)據(jù)塊的總長度;FSPEC為字段說明,其后為一個數(shù)據(jù)項。ADS-B報文由數(shù)據(jù)項組成,數(shù)據(jù)項的順序由UAP確定,并按規(guī)定的順序組合在一起。當報文中含有某個數(shù)據(jù)項時,該數(shù)據(jù)項相應(yīng)的FSPEC設(shè)置為1。

      表2 Asterix Category 021協(xié)議格式

      CAT=021LENFSPEC第一個記錄的數(shù)據(jù)項……FSPEC最后一個記錄的數(shù)據(jù)項

      2.2 編程實現(xiàn)

      根據(jù)表1,可將ADS-B的數(shù)據(jù)解碼可簡單的分成4個部分。第一部分為對數(shù)據(jù)類型和長度表示進行處理,核心代碼如下:

      cat_and_len (_):

      cat = int(_[0], 2) #數(shù)據(jù)類型

      len = int(_[1:], 2) #數(shù)據(jù)長度

      cat, len

      傳入3個8位二進制數(shù)據(jù),將第一個8位二進制數(shù)據(jù)換算成10進制,對應(yīng)的值為CAT=021,將第二、三個8位二進制數(shù)據(jù)轉(zhuǎn)換為十進制,則為數(shù)據(jù)長度的值。

      第二個部分為解析標識符所占字節(jié),核心代碼如下:

      #判斷是否是符號字節(jié)

      is_more_fspec(_):

      int(_[7]) == 0

      #取出標識符字節(jié)段

      is_fspecbytes():

      count = 0

      fspecbytes = list()

      is_more_fspec([count]):

      count += 1

      irange(0, count):

      fspecbytes.append([i])

      fspecbytes

      該部分is_more_fspec函數(shù)為判斷FSPEC字節(jié)FX域擴展部分的值,當FX=1時,F(xiàn)SPEC向后擴展一個字節(jié)。is_fspecbyte函數(shù)與is_more_fspec函數(shù)嵌套取出對應(yīng)的FSPEC字節(jié)段,根據(jù)對應(yīng)的UAP表格可確定發(fā)送的數(shù)據(jù)項。

      第三部分為根據(jù)對應(yīng)的FSPEC字節(jié)段對數(shù)據(jù)段進行解析,以表1所對應(yīng)的UAP表格為例,假設(shè)該部分的FSPEC字節(jié)段為“00010000”,F(xiàn)SPEC字節(jié)的每一位與UAP表格中的第一列FRN一一對應(yīng),0表示不發(fā)送此項,1表示發(fā)送,由此可以得到,域擴展指示符為0,故不向后擴展,發(fā)送的數(shù)據(jù)項為I021/130(WGS-84坐標中的位置),該數(shù)據(jù)項的結(jié)構(gòu)如圖2所示[3]。

      代碼如下:

      positionWGS_84(bytes):

      lat_bytes =[0] +[1] +[2]

      lon_bytes =[3] +[4] +[5]

      latitude = int(lat_bytes, 2) * (2.145767E-5)

      longitude = int(lon_bytes, 2) * (2.145767E-5)

      latitude, longitude

      圖2 數(shù)據(jù)項I021/130數(shù)據(jù)結(jié)構(gòu)(LSB=2.14 576 7×10-5度)

      由圖2可知,數(shù)據(jù)項I021/130共有六個字節(jié),前三個字節(jié)為緯度信息,后三字節(jié)為經(jīng)度信息,根據(jù)1.2節(jié)中的方法,可編程解析得到該項的經(jīng)緯度信息。

      3 總結(jié)

      ADS-B監(jiān)視相比于傳統(tǒng)的航行監(jiān)視系統(tǒng)有著一系列優(yōu)勢,克服了一系列舊航行系統(tǒng)的缺點,極大地推動了空中交通管制的一體化建設(shè)。通過以上對Asterix Category 021協(xié)議內(nèi)容的分析,可以很好地了解Asterix Category 021協(xié)議的基本架構(gòu)及其中各數(shù)據(jù)項的基本內(nèi)容;通過Python對Asterix Category 021協(xié)議的解析,可以更深入地了解該協(xié)議的架構(gòu),同時也對該協(xié)議的編程實現(xiàn)具有一定的參考價值。

      [1]魏光興.通信導(dǎo)航監(jiān)視設(shè)施[M].成都:西南交通大學(xué)出版社,2016.

      [2]楊珊,時宏偉.Asterix Category 021協(xié)議的應(yīng)用與分析[J].電訊技術(shù),2011,51(10):132-136.

      [3]DOUKAS D.SUR.ET1.ST05.2000-STD-12-01 Eurocontrol standard document for surveillance data exchange-part 12:Category 021 ADS-B Reports[S].出版社不詳,2011.

      [4]ALI B S,OCHIENG W Y,ZAINUDIN R.An analysis and model for automatic dependent surveillance broadcast (ADS-B)continuity[J].Original Artical,2017,21(4):1841-1854.

      [5]PILGRIM M.Dive Into Python 3[M].出版社不詳,2009.

      [6]黃晉.廣播式自動相關(guān)監(jiān)視(ADS-B)在中國民航飛行學(xué)院的應(yīng)用研究[D].成都:西南交通大學(xué),2008.

      TP393.04

      A

      10.15913/j.cnki.kjycx.2019.14.018

      2095-6835(2019)14-0046-02

      〔編輯:王霞〕

      猜你喜歡
      數(shù)據(jù)項飛行高度數(shù)據(jù)類型
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      基于相似度的蟻群聚類算法?
      飛行參數(shù)對六旋翼植保無人機霧滴在荔枝樹冠層沉積分布的影響
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
      一種多功能抽簽選擇器軟件系統(tǒng)設(shè)計與實現(xiàn)
      甘肅科技(2020年19期)2020-03-11 09:42:42
      非完整數(shù)據(jù)庫Skyline-join查詢*
      簡析二次雷達高度信息與飛機實際高度的關(guān)系
      FAA頒新政使小型無人機飛行高度翻倍
      航空模型(2016年5期)2016-07-25 08:59:26
      “平流層”是個啥——話說飛行高度
      多數(shù)據(jù)項請求的多信道并行廣播調(diào)度算法
      敖汉旗| 二连浩特市| 富蕴县| 镇原县| 富源县| 小金县| 临朐县| 镇江市| 北辰区| 巴南区| 冀州市| 饶平县| 吴江市| 米林县| 集贤县| 富锦市| 清镇市| 调兵山市| 嘉鱼县| 离岛区| 桐乡市| 梁平县| 白银市| 顺昌县| 崇州市| 巩留县| 邢台市| 龙州县| 任丘市| 浮山县| 平和县| 鹤壁市| 武冈市| 会东县| 泸州市| 蒙山县| 石棉县| 平乐县| 紫金县| 东明县| 宜丰县|