高虎 王岸石 胡耀坤
摘 要 地基增強(qiáng)系統(tǒng)(GBAS),是衛(wèi)星導(dǎo)航系統(tǒng)的重要組成部分,其工作原理是通過差分定位提高衛(wèi)星導(dǎo)航精度,并在此基礎(chǔ)上增加了完好性監(jiān)視算法,提高系統(tǒng)完好性、可用性、連續(xù)性的指標(biāo),使作用范圍內(nèi)具備相應(yīng)能力的飛機(jī)獲得達(dá)到I類精密進(jìn)近(CAT I)甚至更高精密的位置信號(hào),然后再引導(dǎo)飛機(jī)實(shí)施進(jìn)近和著陸飛行。地基增強(qiáng)技術(shù)通過應(yīng)用差分增強(qiáng)和完好性監(jiān)測(cè)技術(shù),可以滿足民用航空精密進(jìn)近著陸引導(dǎo)關(guān)于完好性、連續(xù)性和可用性的嚴(yán)格需求。記錄數(shù)據(jù)解析軟件是地基增強(qiáng)系統(tǒng)中的數(shù)據(jù)處理軟件。它的主要用途是將記錄數(shù)據(jù)單元保存下來的GNSS各類數(shù)據(jù)解析成為可以直接閱讀或者有利于后端進(jìn)一步處理分析的數(shù)據(jù),并保存到磁盤中,用以支持系統(tǒng)的調(diào)試、測(cè)試以及分析工作。
關(guān)鍵詞 衛(wèi)星導(dǎo)航;地基增強(qiáng);數(shù)據(jù)解析
中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2019)236-0131-03
GNSS地基增強(qiáng)系統(tǒng)(Global Navigation Satellite System)是一種精確的、區(qū)域性的導(dǎo)航系統(tǒng),主要應(yīng)用于飛機(jī)在機(jī)場(chǎng)的精確著陸。GNSS地基增強(qiáng)系統(tǒng)可以通過實(shí)時(shí)廣播差分修正信息來增強(qiáng)全球衛(wèi)星導(dǎo)航系統(tǒng)GNSS(的精度來滿足飛機(jī)精確著陸的要求。[1-3]GNSS地基增強(qiáng)系統(tǒng)地面設(shè)備的數(shù)據(jù)記錄單元負(fù)責(zé)記錄GNSS地基增強(qiáng)系統(tǒng)的運(yùn)行數(shù)據(jù)。因此需要相應(yīng)的工具將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為明文以提供給系統(tǒng)維護(hù)人員和用戶。
記錄數(shù)據(jù)解析軟件是地基增強(qiáng)系統(tǒng)的解析處理軟件,可以滿足上述需求,它可以預(yù)處理GNSS地面設(shè)備存儲(chǔ)的數(shù)據(jù)。數(shù)據(jù)記錄單元保存的系統(tǒng)運(yùn)行數(shù)據(jù)都是二進(jìn)制碼流,將文件導(dǎo)出后通過記錄數(shù)據(jù)解析軟件轉(zhuǎn)換為一定格式的可讀的文本文件。
1 軟件原理與設(shè)計(jì)
數(shù)據(jù)解析軟件是針對(duì)地基增強(qiáng)系統(tǒng)設(shè)計(jì)的維護(hù)軟件。其原理就是將地基增強(qiáng)系統(tǒng)記錄單元存儲(chǔ)的運(yùn)行數(shù)據(jù)進(jìn)行讀取、解析、顯示以及存儲(chǔ)。軟件規(guī)定的輸出是便于分析和后處理的固定格式,分析數(shù)據(jù)的用戶要對(duì)解析結(jié)果直接查看,后處理數(shù)據(jù)的用戶要對(duì)解析結(jié)果進(jìn)一步運(yùn)算分析。該軟件為地基增強(qiáng)系統(tǒng)長(zhǎng)期運(yùn)行分析排故提供了數(shù)據(jù)方面的支持,給技術(shù)人員提供了快捷查看數(shù)據(jù)的便利方式。
數(shù)據(jù)解析軟件由以下幾個(gè)模塊構(gòu)成:
人機(jī)交互模塊(InterAction)、大文件讀取模塊(ReadFile)、文件解析模塊(DataParse)、解析輸出模塊(InputFile)
人機(jī)交互模塊和大文件讀取模塊是軟件的輸入模塊。人機(jī)交互模塊提供給用戶信息輸入界面,通過界面進(jìn)行軟件運(yùn)行的設(shè)定。大文件讀取模塊是將待解析的數(shù)據(jù)文件讀入到內(nèi)存映射區(qū)以供解析處理之用。
文件解析模塊是核心處理模塊,它將分門別類的對(duì)讀取的數(shù)據(jù)進(jìn)行解析處理。該模塊的輸入就是大文件讀取模塊內(nèi)存映射的文件。
解析輸出模塊是整個(gè)軟件運(yùn)行結(jié)果的輸出口,它將解析好的數(shù)據(jù)按照規(guī)定格式保存到本地文件中。該模塊的輸入就是文件解析模塊輸出的數(shù)據(jù)。
1.1 人機(jī)交互模塊
該模塊完成用戶對(duì)軟件信息的傳遞功能。提供給用戶,這里包括調(diào)試、測(cè)試和后處理的用戶。界面需要設(shè)計(jì)完備且分類清晰,具體包含文件的輸入、文件的輸出、文件輸入輸出位置選擇三大類。
文件的輸入提供給用戶選擇解析文件類型的能力,此項(xiàng)選擇是單一的選擇。
文件的輸出提供給用戶解析出的具體文件信息,文件的輸出應(yīng)該提供給用戶多選的能力,也就是說輸入文件與輸出文件應(yīng)該是一對(duì)一、一對(duì)多或者多對(duì)多的關(guān)系。
輸入輸出文件的位置提供給用戶選擇輸入輸出文件位置的能力。要求文件輸入的選擇可鍵盤鍵入也可鼠標(biāo)點(diǎn)選,提供給用戶在本地各個(gè)路徑下鼠標(biāo)點(diǎn)選的能力。輸出文件根據(jù)用戶輸入的路徑進(jìn)行寫入保存,如果用戶沒有填寫輸出路徑的話,軟件會(huì)自動(dòng)選擇默認(rèn)路徑進(jìn)行寫入保存。
人機(jī)交互模塊中為了避免誤操作,要當(dāng)選擇了輸入文件類型后才可以進(jìn)行輸出文件類型的選擇,輸出文件類型是按照輸入文件類型而提供給用戶進(jìn)行選擇的,只有當(dāng)選擇了輸出文件類型后才可以進(jìn)行文件位置的設(shè)定。只有當(dāng)文件的路徑設(shè)定好之后,才能對(duì)文件進(jìn)行解析。具體流程如圖3:
1.2 大文件讀取模塊
由于解析的數(shù)據(jù)文件相對(duì)來說比較大(可能有上百兆的文件存在),考慮到大數(shù)據(jù)量的讀寫操作的流暢性[4],數(shù)據(jù)解析軟件采用內(nèi)存映射的方法來讀文件。設(shè)置好文件分配粒度后,數(shù)據(jù)文件映射到文件映射對(duì)象中,為后續(xù)解析處理的操作作準(zhǔn)備。
1.3 文件解析模塊
該模塊要對(duì)讀取的文件數(shù)據(jù)進(jìn)行分類篩選,讀取的文件數(shù)據(jù)分類有GPS衛(wèi)星接收機(jī)原始數(shù)據(jù)、Glonass衛(wèi)星接收機(jī)原始數(shù)據(jù)、Galileo衛(wèi)星接收機(jī)原始數(shù)據(jù)、北斗衛(wèi)星接收機(jī)原始數(shù)據(jù)、VDB發(fā)送電臺(tái)原始數(shù)據(jù)、VDB接收電臺(tái)原始數(shù)據(jù)、設(shè)備工況數(shù)據(jù)、系統(tǒng)狀態(tài)數(shù)據(jù)、電源狀態(tài)數(shù)據(jù)、日志數(shù)據(jù)、服務(wù)監(jiān)測(cè)報(bào)文數(shù)據(jù)、衛(wèi)星可用性監(jiān)測(cè)報(bào)文數(shù)據(jù)、完好性原始數(shù)據(jù)和監(jiān)測(cè)計(jì)算過程數(shù)據(jù)。解析過程中要提供進(jìn)度提示功能,為了不讓用戶在軟件解析的過程中再次操作界面影響解析進(jìn)程,數(shù)據(jù)解析軟件在解析時(shí)會(huì)彈出進(jìn)度條,如果解析沒有完成,用戶則不能進(jìn)行任何操作。
在解析過程中,首先對(duì)讀取的文件數(shù)據(jù)做一篩選分類。具體流程是查找數(shù)據(jù)的包頭,獲取消息ID,獲取包的長(zhǎng)度,再進(jìn)行長(zhǎng)度校驗(yàn)。
經(jīng)過上面的流程分類好的數(shù)據(jù)流按照一整包的數(shù)據(jù)格式進(jìn)行截?cái)?。將截?cái)嗪玫臄?shù)據(jù)包傳入各解析模塊里做處理。解析模塊針對(duì)接口協(xié)議對(duì)每一個(gè)信息位進(jìn)行解析,即譯碼處理,翻譯成明文信息。
在解析的各個(gè)實(shí)現(xiàn)模塊中數(shù)據(jù)量值的完整性和輸入數(shù)據(jù)的校驗(yàn)不符合規(guī)則時(shí)的處理方法是,程序會(huì)將錯(cuò)誤的數(shù)據(jù)或校正信息保存在變量中,包括數(shù)值范圍超限、循環(huán)冗余校驗(yàn)出錯(cuò)、累計(jì)和校驗(yàn)出錯(cuò)等信息,待到解析完成后將這段信息寫入到輸出文件的末尾。
1.4 文件輸出模塊
該模塊要將解析的內(nèi)容保存到本地磁盤中,文件類型為TXT文件。解析的輸出文件按照輸出數(shù)據(jù)類型單獨(dú)保存在不同文件中。
解析完成的文件名命名規(guī)則為“設(shè)備名稱+文件類型+年月日時(shí)分秒”。文件內(nèi)容包括文件頭、文件正文和文件統(tǒng)計(jì)信息。輸出的文件可以一次解析出多個(gè)。
文件中具體內(nèi)容的管理如下:
文件頭包括文件詳細(xì)信息、文件類型、文件夾時(shí)間、設(shè)備名稱。
文件正文中,第一行為該類型解析的每一項(xiàng)名稱,從第二行開始為解析的結(jié)果,每一項(xiàng)都排列成豎列,每一列以四個(gè)空格分隔。
文件統(tǒng)計(jì)信息包括解析的輸入文件總包數(shù),數(shù)據(jù)超限包數(shù),數(shù)據(jù)項(xiàng)詳細(xì)信息和校驗(yàn)出錯(cuò)包數(shù)。
2 軟件的輸入輸出
根據(jù)用戶界面控制,可以選擇軟件的輸入輸出,輸入文件與輸出文件是一對(duì)多的關(guān)系,輸入一個(gè)文件可以選擇輸出多種類型的文件,即一種映射關(guān)系。具體是由操作者來決定的。
輸入文件與輸出文件對(duì)應(yīng)關(guān)系如下:
設(shè)備工況數(shù)據(jù)文件——設(shè)備名稱-facility年-月-日-時(shí)
系統(tǒng)狀態(tài)數(shù)據(jù)文件——設(shè)備名稱-sys年-月-日-時(shí)
電源狀態(tài)數(shù)據(jù)文件——設(shè)備名稱-powers年-月-日-時(shí)
日志數(shù)據(jù)文件——設(shè)備名稱-log年-月-日-時(shí)
服務(wù)監(jiān)測(cè)報(bào)文數(shù)據(jù)文件——設(shè)備名稱-server_ av年-月-日-時(shí)
衛(wèi)星可用性監(jiān)測(cè)報(bào)文數(shù)據(jù)文件——設(shè)備名稱-satellite_av年-月-日-時(shí)
監(jiān)測(cè)計(jì)算過程數(shù)據(jù)文件——設(shè)備名稱-monitor_ex年-月-日-時(shí)
完好性原始數(shù)據(jù)文件——設(shè)備名稱-dif年-月-日-時(shí)
3 數(shù)據(jù)解析軟件流程描述
1)用戶根據(jù)需要輸入解析的相關(guān)信息,包括輸入文件信息,輸出文件信息,輸入輸出文件本地存儲(chǔ)位置等。
2)軟件判斷讀取的文件與用戶選擇的文件類型是否一致,如若不一致,程序會(huì)終止解析流程,重新等待用戶輸入文件。
3)用戶提交的信息送至軟件進(jìn)行處理,獲得文件數(shù)據(jù)以供解析處理。
4)軟件會(huì)判斷文件中的數(shù)據(jù)是否滿足完整性,范圍符不符合規(guī)則要求。如若不滿足上述規(guī)則,程序仍會(huì)繼續(xù)進(jìn)行解析流程,并提示用戶出錯(cuò)信息。
5)軟件進(jìn)行解析處理,用戶等待結(jié)果。
6)解析處理完成,文件保存在用戶指定的路徑下。軟件回復(fù)到起始狀態(tài),等待用戶下一次操作。
4 結(jié)論
數(shù)據(jù)解析軟件能夠便利的對(duì)地基增強(qiáng)系統(tǒng)運(yùn)行數(shù)據(jù)進(jìn)行解析查看,為系統(tǒng)后期的維護(hù)提供了分析的依據(jù),在系統(tǒng)長(zhǎng)期運(yùn)行階段,幫助技術(shù)組人員排查系統(tǒng)的故障和問題。
由于地基增強(qiáng)系統(tǒng)運(yùn)行產(chǎn)生的數(shù)據(jù)量巨大,單個(gè)記錄文件有可能達(dá)到上百兆,因此數(shù)據(jù)解析軟件在實(shí)現(xiàn)上采用了內(nèi)存文件映射的機(jī)制,很好的解決了從磁盤存取數(shù)據(jù)緩慢的問題,提高了解析分析數(shù)據(jù)的速率。采用CPU多核處理的機(jī)制,實(shí)現(xiàn)了單臺(tái)計(jì)算機(jī)并行解析多個(gè)文件的能力。
參考文獻(xiàn)
[1]謝鋼.GPS原理與接收機(jī)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2015.
[2]謝鋼著.全球?qū)Ш叫l(wèi)星系統(tǒng)原理-GPS、格洛納斯和伽利略系統(tǒng)[M].北京:電子工業(yè)出版社,2013.
[3]黃丁發(fā).衛(wèi)星導(dǎo)航定位原理[M].武漢:武漢大學(xué)出版社,2015.
[4]劉平,賈林林.內(nèi)存映射技術(shù)在大數(shù)據(jù)實(shí)時(shí)存儲(chǔ)中的應(yīng)用[J].河南科技,2017(5):39-41.