本發(fā)明涉及航空管制技術領域,具體涉及一種ADS-B報文數據解析方法和系統。
背景技術:
傳統二次雷達基于詢問應答的方式對目標實施監(jiān)視,因成本高、安裝難度大、全面覆蓋難,已無法滿足迅速發(fā)展的航空運輸業(yè)。廣播式自動相關監(jiān)視ADS-B是一種基于全球衛(wèi)星定位系統和利用空地、空空數據鏈通信完成交通監(jiān)視和信息傳遞的空管監(jiān)視新技術,具有高速更新的數據特點和高精度方位信息,能夠改善空域的利用情況。1090MHz ES ADS-B是國際民航組織唯一推薦的一種模式,該系統只需對Mode S應答機做稍微改動,就能實現ADS-B消息編碼。ADS-B系統相對于傳統的監(jiān)視技術,具有成本低,誤差小等特點,在民航和通航領域具有非常廣闊的應用前景。
ADS-B采用廣播的方式共享傳輸信道,而不是傳統Mode S采用的點名式詢問,由此造成的干擾增多。另外,每一條ADS-B消息都是由112比特數據位信息構成,每一條信息中包含的信息單元數量很多,且每一條信息中的信息單元所占的比特位沒有一定的規(guī)律可循。因此,一般的解析方法很難快速、高效的解析ADS-B報文。
技術實現要素:
有鑒于此,有必要提供一種能快速、高效的解析ADS-B報文的ADS-B報文數據解析方法和系統。
一種ADS-B報文數據解析方法,包括如下步驟:
步驟1:定義多層次聯合可擴展結構體;多層次聯合可擴展結構體包括ADS-B報文第一層通用結構體和ADS-B報文第二層專用結構體,ADS-B報文第二層專用結構體包含多個ADS-B消息結構體;
步驟2:將ADS-B報文轉換成ADS-B報文第一層通用構體,根據ADS-B報文第一層通用構體中代表報文格式字段的值,判斷報文是否為ADS-B報文;如果是,進入步驟3;如果否,進入步驟5;
步驟3:根據ADS-B報文第一層通用構體中代表報文類型字段的值,確定ADS-B報文的類型;
步驟4:根據步驟3中確定的ADS-B報文類型,將所述ADS-B報文轉換成ADS-B報文第二層專用結構體中相應的ADS-B消息結構體,并對ADS-B消息結構體進行內容解析;
步驟5:結束。
以及一種ADS-B報文數據解析系統,包括:
結構體定義單元,用于定義多層次聯合可擴展結構體;其中,多層次聯合可擴展結構體包括ADS-B報文第一層通用結構體和ADS-B報文第二層專用結構體,ADS-B報文第二層專用結構體包含多個ADS-B消息結構體;
報文有效性判斷單元,用于將ADS-B報文轉換成ADS-B報文第一層通用構體,并根據ADS-B報文第一層通用構體中代表報文格式字段的值,判斷報文是否為ADS-B報文;
報文類型確定單元,用于在報文有效性判斷單元判斷報文有效時,根據ADS-B報文第一層通用構體中代表報文類型字段的值,確定ADS-B報文的類型;
報文內容解析單元,用于根據報文類型確定單元確定的ADS-B報文類型,將所述ADS-B報文轉換成ADS-B報文第二層專用結構體中相應的ADS-B消息結構體,并對ADS-B消息結構體進行內容解析。
本發(fā)明的一種ADS-B報文數據解析方法和系統,通過定義多層次聯合可擴展結構體,對ADS-B報文的有效性、類型、內容進行解析,能夠快速、高效、靈活的解析ADS-B報文;同時,對解析完成的ADS-B消息結構體進行容錯處理,能提高ADS-B報文數據解析的準確性、穩(wěn)定性和可靠性。
附圖說明
圖1為本發(fā)明ADS-B報文數據解析方法的流程圖;
圖2為多層次聯合可擴展結構體的結構示意圖;
圖3為本發(fā)明的容錯處理的流程圖;
圖4為本發(fā)明ADS-B報文數據解析系統的框圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明,應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供的一種ADS-B報文數據解析方法,其流程如圖1所示,具體過程如下:
步驟1:定義多層次聯合可擴展結構體。
多層次聯合可擴展結構體的結構如圖2所示。多層次聯合可擴展結構體包括ADS-B報文第一層通用結構體和ADS-B報文第二層專用結構體。
其中,ADS-B報文第一層通用結構體是一種適用于所有ADS-B報文的通用形式結構體,包含ADS-B報文格式字段和ADS-B報文類型字段。ADS-B報文第二層專用結構體根據各種不同形式的ADS-B消息報文,定義不同的ADS-B報文消息結構體。ADS-B消息結構體體現ADS-B消息報文的每一項內容。在定義結構體時,為方便解析,將結構體中的每一項定義成8位、16位或者32位。
步驟2:對ADS-B報文的有效性進行解析。
具體的,將ADS-B報文轉換成ADS-B報文第一層通用構體,根據ADS-B報文第一層通用構體中代表報文格式字段的值,判斷報文是否為ADS-B報文。如果是,進入步驟3。如果否,進入步驟5。
更具體的,取出ADS-B報文第一層通用構體中代表報文格式字段DF和CF的值,或者DF、AF的值,按照“1090MHz擴展斷續(xù)振蕩ADS-B最低工作性能標準”,判斷報文是否為ADS-B報文。其中,只有當DF=17或18且CF=0或1時,或者當DF=19且AF=0時,該報文為ADS-B報文。
步驟3:對ADS-B報文的類型進行解析。
具體的,根據ADS-B報文第一層通用構體中代表報文類型字段的值,確定ADS-B報文的類型。
更具體的,取出ADS-B報文第一層通用構體中代表報文類型字段的值,按照“1090MHz擴展斷續(xù)振蕩ADS-B最低工作性能標準”,確定該ADS-B報文是空中位置消息還是空中速度消息又或者是其他消息。
步驟4:對ADS-B報文的內容進行解析。
具體的,對根據步驟3中確定的ADS-B報文類型,將所述ADS-B報文轉換成ADS-B報文第二層專用結構體中相應的ADS-B消息結構體,并對ADS-B消息結構體進行內容解析。其中,對ADS-B消息結構體進行內容解析的方式具體為:取出ADS-B消息結構體中需要的報文內容的編碼值,按照“1090MHz擴展斷續(xù)振蕩ADS-B最低工作性能標準”,計算得到的報文內容的真實值。
更進一步的,對解析完成的ADS-B消息結構體進行容錯處理。如圖3所示,容錯處理的具體過程如下:
步驟4.1:將ADS-B消息結構體中的位置信息與ADS-B接收機的位置信息進行比較,判斷是否超出第一位置閾值,如果否,進入步驟4.2;如果是,進入步驟4.4。
步驟4.2:將ADS-B消息結構體中的位置信息與同一目標上次收到的ADS-B報文的位置信息進行比較,判斷是否超出第二位置閾值,如果否,進入步驟4.3;如果是,進入步驟4.4。
步驟4.3:將ADS-B消息結構體中的位置信息與通過四維軌跡估算的位置信息進行比較,判斷是否超出第三位置閾值,如果否,進入步驟5;如果是,進入步驟4.4。
步驟4.4:丟棄ADS-B報文,進入步驟5。
具體的,首先,將ADS-B消息結構體中的位置信息與ADS-B接收機的位置信息進行比較,判斷兩個位置信息中的經度或緯度的差值是否超出第一位置閾值,例如2度。如果是,則認為該ADS-B信息有誤,丟棄該報文。否則,接著將ADS-B消息結構體中的位置信息與同一目標上次收到的ADS-B報文的位置信息進行比較,判斷兩個位置信息中的經度或緯度的差值是否超出第二位置閾值,例如0.01度。如果是,則認為該ADS-B信息有誤,丟棄該報文。否則,接著將ADS-B消息結構體中的位置信息與通過四維軌跡估算的位置信息進行比較,判斷兩個位置信息中的經度或緯度的差值是否超出第三位置閾值,例如0.01度。如果是,則認為該ADS-B信息有誤,丟棄該報文。否則,對ADS-B報文消息結構體進行存儲或轉發(fā)。
解析完成的ADS-B報文消息結構體可以存儲于內存,也可以作為接口發(fā)送給其他模塊使用。其中,容錯處理可以進行擴展或修改,能提高ADS-B報文數據解析的準確性、穩(wěn)定性和可靠性。
步驟5:結束。
本發(fā)明一種ADS-B報文數據解析方法,通過定義多層次聯合可擴展結構體,對ADS-B報文的有效性、類型、內容進行解析,能夠快速、高效、靈活的解析ADS-B報文;同時,對解析完成的ADS-B消息結構體進行容錯處理,能提高ADS-B報文數據解析的準確性、穩(wěn)定性和可靠性。
本發(fā)明還提供一種ADS-B報文數據解析系統,如圖4所示,包括:
結構體定義單元,用于定義多層次聯合可擴展結構體。
其中,多層次聯合可擴展結構體包括ADS-B報文第一層通用結構體和ADS-B報文第二層專用結構體。ADS-B報文第一層通用結構體是一種適用于所有ADS-B報文的通用形式結構體,包含ADS-B報文格式字段和ADS-B報文類型字段。ADS-B報文第二層專用結構體根據各種不同形式的ADS-B消息報文,定義不同的ADS-B報文消息結構體。ADS-B消息結構體體現ADS-B消息報文的每一項內容。在定義結構體時,為方便解析,將結構體中的每一項定義成8位、16位或者32位。
報文有效性判斷單元,用于將ADS-B報文轉換成ADS-B報文第一層通用構體,并根據ADS-B報文第一層通用構體中代表報文格式字段的值,判斷報文是否為ADS-B報文。
具體的,取出ADS-B報文第一層通用構體中代表報文格式字段DF和CF的值,或者DF、AF的值,按照“1090MHz擴展斷續(xù)振蕩ADS-B最低工作性能標準”,判斷報文是否為ADS-B報文。其中,只有當DF=17或18且CF=0或1時,或者當DF=19且AF=0時,該報文為ADS-B報文。
報文類型確定單元,用于在報文有效性判斷單元判斷報文有效時,根據ADS-B報文第一層通用構體中代表報文類型字段的值,確定ADS-B報文的類型。
具體的,取出ADS-B報文第一層通用構體中代表報文類型字段的值,按照“1090MHz擴展斷續(xù)振蕩ADS-B最低工作性能標準”,確定該ADS-B報文是空中位置消息還是空中速度消息又或者是其他消息。
報文內容解析單元,用于根據報文類型確定單元確定的ADS-B報文類型,將所述ADS-B報文轉換成ADS-B報文第二層專用結構體中相應的ADS-B消息結構體,并對ADS-B消息結構體進行內容解析。
其中,對ADS-B消息結構體進行內容解析的方式具體為:取出ADS-B消息結構體中需要的報文內容的編碼值,按照“1090MHz擴展斷續(xù)振蕩ADS-B最低工作性能標準”,計算得到的報文內容的真實值。
報文容錯單元,用于對解析完成的ADS-B消息結構體進行容錯處理。其中,報文容錯單元根據ADS-B消息結構體中的位置信息與ADS-B接收機的位置信息、同一目標上次收到的ADS-B報文的位置信息、通過四維軌跡估算的位置信息的關系,判斷是否丟棄所述ADS-B報文。
具體的,報文容錯單元首先將ADS-B消息結構體中的位置信息與ADS-B接收機的位置信息進行比較,判斷兩個位置信息中的經度或緯度的差值是否超出第一位置閾值,例如2度。如果是,則認為該ADS-B信息有誤,報文容錯單元丟棄該報文。否則,報文容錯單元接著將ADS-B消息結構體中的位置信息與同一目標上次收到的ADS-B報文的位置信息進行比較,判斷兩個位置信息中的經度或緯度的差值是否超出第二位置閾值,例如0.01度。如果是,則認為該ADS-B信息有誤,報文容錯單元丟棄該報文。否則,報文容錯單元接著將ADS-B消息結構體中的位置信息與通過四維軌跡估算的位置信息進行比較,判斷兩個位置信息中的經度或緯度的差值是否超出第三位置閾值,例如0.01度。如果是,則認為該ADS-B信息有誤,報文容錯單元丟棄該報文。否則,對ADS-B報文消息結構體進行存儲或轉發(fā)。
解析完成的ADS-B報文消息結構體可以存儲于內存,也可以作為接口發(fā)送給其他模塊使用。其中,報文容錯單元的功能可以進行擴展或修改,能提高ADS-B報文數據解析的準確性、穩(wěn)定性和可靠性。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。