高虎 王岸石 胡耀坤
摘 要 地基增強系統(GBAS),是衛星導航系統的重要組成部分,其工作原理是通過差分定位提高衛星導航精度,并在此基礎上增加了完好性監視算法,提高系統完好性、可用性、連續性的指標,使作用范圍內具備相應能力的飛機獲得達到I類精密進近(CAT I)甚至更高精密的位置信號,然后再引導飛機實施進近和著陸飛行。地基增強技術通過應用差分增強和完好性監測技術,可以滿足民用航空精密進近著陸引導關于完好性、連續性和可用性的嚴格需求。記錄數據解析軟件是地基增強系統中的數據處理軟件。它的主要用途是將記錄數據單元保存下來的GNSS各類數據解析成為可以直接閱讀或者有利于后端進一步處理分析的數據,并保存到磁盤中,用以支持系統的調試、測試以及分析工作。
關鍵詞 衛星導航;地基增強;數據解析
中圖分類號 TP3 文獻標識碼 A 文章編號 1674-6708(2019)236-0131-03
GNSS地基增強系統(Global Navigation Satellite System)是一種精確的、區域性的導航系統,主要應用于飛機在機場的精確著陸。GNSS地基增強系統可以通過實時廣播差分修正信息來增強全球衛星導航系統GNSS(的精度來滿足飛機精確著陸的要求。[1-3]GNSS地基增強系統地面設備的數據記錄單元負責記錄GNSS地基增強系統的運行數據。因此需要相應的工具將二進制數據轉換為明文以提供給系統維護人員和用戶。
記錄數據解析軟件是地基增強系統的解析處理軟件,可以滿足上述需求,它可以預處理GNSS地面設備存儲的數據。數據記錄單元保存的系統運行數據都是二進制碼流,將文件導出后通過記錄數據解析軟件轉換為一定格式的可讀的文本文件。
1 軟件原理與設計
數據解析軟件是針對地基增強系統設計的維護軟件。其原理就是將地基增強系統記錄單元存儲的運行數據進行讀取、解析、顯示以及存儲。軟件規定的輸出是便于分析和后處理的固定格式,分析數據的用戶要對解析結果直接查看,后處理數據的用戶要對解析結果進一步運算分析。該軟件為地基增強系統長期運行分析排故提供了數據方面的支持,給技術人員提供了快捷查看數據的便利方式。
數據解析軟件由以下幾個模塊構成:
人機交互模塊(InterAction)、大文件讀取模塊(ReadFile)、文件解析模塊(DataParse)、解析輸出模塊(InputFile)
人機交互模塊和大文件讀取模塊是軟件的輸入模塊。人機交互模塊提供給用戶信息輸入界面,通過界面進行軟件運行的設定。大文件讀取模塊是將待解析的數據文件讀入到內存映射區以供解析處理之用。
文件解析模塊是核心處理模塊,它將分門別類的對讀取的數據進行解析處理。該模塊的輸入就是大文件讀取模塊內存映射的文件。
解析輸出模塊是整個軟件運行結果的輸出口,它將解析好的數據按照規定格式保存到本地文件中。該模塊的輸入就是文件解析模塊輸出的數據。
1.1 人機交互模塊
該模塊完成用戶對軟件信息的傳遞功能。提供給用戶,這里包括調試、測試和后處理的用戶。界面需要設計完備且分類清晰,具體包含文件的輸入、文件的輸出、文件輸入輸出位置選擇三大類。
文件的輸入提供給用戶選擇解析文件類型的能力,此項選擇是單一的選擇。
文件的輸出提供給用戶解析出的具體文件信息,文件的輸出應該提供給用戶多選的能力,也就是說輸入文件與輸出文件應該是一對一、一對多或者多對多的關系。
輸入輸出文件的位置提供給用戶選擇輸入輸出文件位置的能力。要求文件輸入的選擇可鍵盤鍵入也可鼠標點選,提供給用戶在本地各個路徑下鼠標點選的能力。輸出文件根據用戶輸入的路徑進行寫入保存,如果用戶沒有填寫輸出路徑的話,軟件會自動選擇默認路徑進行寫入保存。
人機交互模塊中為了避免誤操作,要當選擇了輸入文件類型后才可以進行輸出文件類型的選擇,輸出文件類型是按照輸入文件類型而提供給用戶進行選擇的,只有當選擇了輸出文件類型后才可以進行文件位置的設定。只有當文件的路徑設定好之后,才能對文件進行解析。具體流程如圖3:
1.2 大文件讀取模塊
由于解析的數據文件相對來說比較大(可能有上百兆的文件存在),考慮到大數據量的讀寫操作的流暢性[4],數據解析軟件采用內存映射的方法來讀文件。設置好文件分配粒度后,數據文件映射到文件映射對象中,為后續解析處理的操作作準備。
1.3 文件解析模塊
該模塊要對讀取的文件數據進行分類篩選,讀取的文件數據分類有GPS衛星接收機原始數據、Glonass衛星接收機原始數據、Galileo衛星接收機原始數據、北斗衛星接收機原始數據、VDB發送電臺原始數據、VDB接收電臺原始數據、設備工況數據、系統狀態數據、電源狀態數據、日志數據、服務監測報文數據、衛星可用性監測報文數據、完好性原始數據和監測計算過程數據。解析過程中要提供進度提示功能,為了不讓用戶在軟件解析的過程中再次操作界面影響解析進程,數據解析軟件在解析時會彈出進度條,如果解析沒有完成,用戶則不能進行任何操作。
在解析過程中,首先對讀取的文件數據做一篩選分類。具體流程是查找數據的包頭,獲取消息ID,獲取包的長度,再進行長度校驗。
經過上面的流程分類好的數據流按照一整包的數據格式進行截斷。將截斷好的數據包傳入各解析模塊里做處理。解析模塊針對接口協議對每一個信息位進行解析,即譯碼處理,翻譯成明文信息。
在解析的各個實現模塊中數據量值的完整性和輸入數據的校驗不符合規則時的處理方法是,程序會將錯誤的數據或校正信息保存在變量中,包括數值范圍超限、循環冗余校驗出錯、累計和校驗出錯等信息,待到解析完成后將這段信息寫入到輸出文件的末尾。
1.4 文件輸出模塊
該模塊要將解析的內容保存到本地磁盤中,文件類型為TXT文件。解析的輸出文件按照輸出數據類型單獨保存在不同文件中。
解析完成的文件名命名規則為“設備名稱+文件類型+年月日時分秒”。文件內容包括文件頭、文件正文和文件統計信息。輸出的文件可以一次解析出多個。
文件中具體內容的管理如下:
文件頭包括文件詳細信息、文件類型、文件夾時間、設備名稱。
文件正文中,第一行為該類型解析的每一項名稱,從第二行開始為解析的結果,每一項都排列成豎列,每一列以四個空格分隔。
文件統計信息包括解析的輸入文件總包數,數據超限包數,數據項詳細信息和校驗出錯包數。
2 軟件的輸入輸出
根據用戶界面控制,可以選擇軟件的輸入輸出,輸入文件與輸出文件是一對多的關系,輸入一個文件可以選擇輸出多種類型的文件,即一種映射關系。具體是由操作者來決定的。
輸入文件與輸出文件對應關系如下:

設備工況數據文件——設備名稱-facility年-月-日-時
系統狀態數據文件——設備名稱-sys年-月-日-時
電源狀態數據文件——設備名稱-powers年-月-日-時
日志數據文件——設備名稱-log年-月-日-時
服務監測報文數據文件——設備名稱-server_ av年-月-日-時
衛星可用性監測報文數據文件——設備名稱-satellite_av年-月-日-時
監測計算過程數據文件——設備名稱-monitor_ex年-月-日-時
完好性原始數據文件——設備名稱-dif年-月-日-時
3 數據解析軟件流程描述
1)用戶根據需要輸入解析的相關信息,包括輸入文件信息,輸出文件信息,輸入輸出文件本地存儲位置等。
2)軟件判斷讀取的文件與用戶選擇的文件類型是否一致,如若不一致,程序會終止解析流程,重新等待用戶輸入文件。
3)用戶提交的信息送至軟件進行處理,獲得文件數據以供解析處理。
4)軟件會判斷文件中的數據是否滿足完整性,范圍符不符合規則要求。如若不滿足上述規則,程序仍會繼續進行解析流程,并提示用戶出錯信息。
5)軟件進行解析處理,用戶等待結果。
6)解析處理完成,文件保存在用戶指定的路徑下。軟件回復到起始狀態,等待用戶下一次操作。
4 結論
數據解析軟件能夠便利的對地基增強系統運行數據進行解析查看,為系統后期的維護提供了分析的依據,在系統長期運行階段,幫助技術組人員排查系統的故障和問題。
由于地基增強系統運行產生的數據量巨大,單個記錄文件有可能達到上百兆,因此數據解析軟件在實現上采用了內存文件映射的機制,很好的解決了從磁盤存取數據緩慢的問題,提高了解析分析數據的速率。采用CPU多核處理的機制,實現了單臺計算機并行解析多個文件的能力。
參考文獻
[1]謝鋼.GPS原理與接收機設計[M].北京:電子工業出版社,2015.
[2]謝鋼著.全球導航衛星系統原理-GPS、格洛納斯和伽利略系統[M].北京:電子工業出版社,2013.
[3]黃丁發.衛星導航定位原理[M].武漢:武漢大學出版社,2015.
[4]劉平,賈林林.內存映射技術在大數據實時存儲中的應用[J].河南科技,2017(5):39-41.