專(zhuān)利名稱(chēng):一種衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)以及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于衛(wèi)星遙測(cè)領(lǐng)域,涉及一種衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)以及其實(shí)現(xiàn)方法。
背景技術(shù):
遙測(cè)數(shù)據(jù)處理系統(tǒng)的主要任務(wù)是完成不同型號(hào)衛(wèi)星的各種遙測(cè)數(shù)據(jù)的處理,判讀、存儲(chǔ)以及廣播等操作,以獨(dú)立的、跨平臺(tái)的軟件工具包形式存在。在航天器的電性能測(cè)試階段,遙測(cè)參數(shù)是監(jiān)視航天器部件工作狀態(tài)的主要途徑, 所以遙測(cè)數(shù)據(jù)的處理是整星地面測(cè)試設(shè)備的核心功能之一。然而,目前所采用的遙測(cè)數(shù)據(jù)處理系統(tǒng)主要存在以下幾點(diǎn)不足(1)由于各型號(hào)衛(wèi)星結(jié)構(gòu)和功能的各種需要,它們下傳的遙測(cè)數(shù)據(jù)的格式不盡相同,數(shù)據(jù)下傳通道的數(shù)量也不相同,原有的數(shù)據(jù)處理系統(tǒng)的通用性比較差,基本上每一種類(lèi)衛(wèi)星都有自己的處理數(shù)據(jù)系統(tǒng),針對(duì)目前型號(hào)衛(wèi)星廣泛采用的幀和包兩種數(shù)據(jù)格式,原有的數(shù)據(jù)處理系統(tǒng)并不能很好的兼容,型號(hào)與型號(hào)之間的數(shù)據(jù)處理系統(tǒng)在代碼上總是有些差異,這樣十分不利于代碼的升級(jí)與維護(hù),不利于軟件的產(chǎn)品化發(fā)展;(2)由于各個(gè)型號(hào)的遙測(cè)參數(shù)眾多,處理公式千變?nèi)f化,對(duì)于新的處理公式,原有的數(shù)據(jù)處理系統(tǒng)不能夠動(dòng)態(tài)修改和增加,必須通過(guò)修改代碼完成,擴(kuò)展性較差;(3)原有的遙測(cè)數(shù)據(jù)處理系統(tǒng)運(yùn)行于UNIX平臺(tái),跨平臺(tái)性差,屬于綜合測(cè)試總控系統(tǒng)中主測(cè)試計(jì)算機(jī) (MTP)的專(zhuān)有子系統(tǒng),很難被其它操作系統(tǒng)平臺(tái)的應(yīng)用軟件使用;(4)由于軟件用戶(hù)對(duì)遙測(cè)數(shù)據(jù)處理結(jié)果有不同的需要,有的希望處理結(jié)果能夠?qū)崟r(shí)廣播,有的希望處理結(jié)果能夠保存在文件中等,而原有遙測(cè)數(shù)據(jù)處理系統(tǒng)不支持功能擴(kuò)展,只能按照預(yù)定的功能進(jìn)行數(shù)據(jù)處理,用戶(hù)不能自行更改和擴(kuò)充。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問(wèn)題是克服現(xiàn)有技術(shù)的不足,提供了一種衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)以及其實(shí)現(xiàn)方法,解決了遙測(cè)數(shù)據(jù)處理的通用化、擴(kuò)展性和跨平臺(tái)性等問(wèn)題。本發(fā)明的技術(shù)解決方案是一種衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)包括日志模塊、指針容器模塊、內(nèi)存管理模塊、基礎(chǔ)數(shù)據(jù)管理模塊、配置信息管理模塊、索引表管理模塊、數(shù)據(jù)預(yù)處理模塊、處理方法模塊、數(shù)據(jù)解析模塊以及數(shù)據(jù)初始化與管理模塊;其中日志模塊為其它模塊提供日志記錄的接口函數(shù),供其它模塊記錄系統(tǒng)的關(guān)鍵調(diào)試信息;指針容器模塊為其它模塊提供信息的動(dòng)態(tài)存儲(chǔ);內(nèi)存管理模塊對(duì)與內(nèi)存操作的相關(guān)函數(shù)進(jìn)行封裝和管理,用來(lái)記錄內(nèi)存分配的次數(shù)和釋放的次數(shù),并提供接口列出內(nèi)存泄露的數(shù)量;基礎(chǔ)數(shù)據(jù)管理模塊用來(lái)讀取、存儲(chǔ)并管理所有遙測(cè)參數(shù)的基礎(chǔ)數(shù)據(jù)信息,并提供對(duì)外接口,供索引表管理模塊、處理方法模塊和數(shù)據(jù)初始化與管理模塊調(diào)用;配置信息管理模塊用來(lái)讀取并管理不同型號(hào)的配置文件中的數(shù)據(jù)信息,供索引表模塊、預(yù)處理模塊、數(shù)據(jù)解析模塊和數(shù)據(jù)初始化與管理模塊調(diào)用,使遙測(cè)數(shù)據(jù)處理系統(tǒng)達(dá)到通用性;索引表管理模塊用來(lái)創(chuàng)建并管理參數(shù)處理的索引表,并提供接口,供數(shù)據(jù)解析模塊和數(shù)據(jù)初始化與管理模塊調(diào)用,使得當(dāng)一幀或者一包源碼待解析時(shí),系統(tǒng)能夠找出該原始數(shù)據(jù)中包含哪些參數(shù)的源碼,然后系統(tǒng)按照索引
4表中的參數(shù)的基礎(chǔ)信息,提取源碼,調(diào)用相應(yīng)的處理方法處理參數(shù);數(shù)據(jù)預(yù)處理模塊根據(jù)型號(hào)的配置文件信息,將幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行整合,通過(guò)預(yù)處理,使包遙測(cè)數(shù)據(jù)的格式和幀遙測(cè)數(shù)據(jù)的格式具有相似性,并提供接口供數(shù)據(jù)解析模塊調(diào)用;處理方法模塊提供曲線處理、列表處理、常用函數(shù)處理、專(zhuān)用函數(shù)處理、表達(dá)式處理、同源校準(zhǔn)處理和異源校準(zhǔn)處理方法,供數(shù)據(jù)解析模塊調(diào)用,完成遙測(cè)參數(shù)從源碼到工程值的處理;數(shù)據(jù)解析模塊負(fù)責(zé)整個(gè)數(shù)據(jù)處理流程的管理,首先根據(jù)數(shù)據(jù)預(yù)處理模塊整合原始數(shù)據(jù),其次通過(guò)索引表管理模塊獲取索引,然后通過(guò)基礎(chǔ)數(shù)據(jù)管理模塊獲取參數(shù)的具體位置和處理方法信息, 最后獲取源碼并調(diào)用處理方法模塊解析源碼數(shù)據(jù);數(shù)據(jù)初始化與管理模塊用來(lái)對(duì)其它模塊進(jìn)行初始化與管理,首先調(diào)用內(nèi)存管理模塊分配空間,其次調(diào)用配置信息管理模塊和基礎(chǔ)數(shù)據(jù)管理模塊加載配置信息和基礎(chǔ)數(shù)據(jù),然后調(diào)用索引表管理模塊創(chuàng)建索引表,并提供管理接口供外部其它軟件調(diào)用,使其能夠?qū)νㄓ脭?shù)據(jù)處理軟件包進(jìn)行設(shè)置和管理。一種衛(wèi)星遙測(cè)數(shù)據(jù)處理方法,包括以下步驟第一步準(zhǔn)備配置文件,其中定義幀格式或者包格式遙測(cè)數(shù)據(jù)的特征信息;第二步準(zhǔn)備基礎(chǔ)數(shù)據(jù),其中定義遙測(cè)參數(shù)的名稱(chēng)、代號(hào)、模式、位置、處理方式信息;第三步讀取第二步中的基礎(chǔ)信息,根據(jù)基礎(chǔ)信息,用動(dòng)態(tài)數(shù)組即指針容器創(chuàng)建幀索引表或者包索引表;第四步接收遙測(cè)數(shù)據(jù);第五步讀取第一步中的配置文件,根據(jù)配置文件,將第四步接收到的幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行有效性判斷和數(shù)據(jù)整合;對(duì)于包遙測(cè)則以包遙測(cè)的CADU為輸入, 經(jīng)過(guò)一系列緩存與拼接處理后,輸出為一系列的源包數(shù)據(jù),并以每個(gè)源包對(duì)應(yīng)一個(gè)段的形式緩存;對(duì)于幀遙測(cè)將整幀遙測(cè)作為一個(gè)段緩存;第六步將第五步中的段數(shù)組依照第三步生成的索引表進(jìn)行參數(shù)處理,并對(duì)參數(shù)結(jié)果按照用戶(hù)定義的方式處理;第七步如果基礎(chǔ)數(shù)據(jù)信息有更改,重復(fù)執(zhí)行第三步至第六步,直至處理完所有遙測(cè)數(shù)據(jù);如果基礎(chǔ)數(shù)據(jù)信息沒(méi)有更改,重復(fù)執(zhí)行第四步至第六步,直至處理完所有遙測(cè)數(shù)據(jù)。本發(fā)明與現(xiàn)有技術(shù)相比的有益效果為(1)本發(fā)明引入基礎(chǔ)數(shù)據(jù)信息管理模塊,對(duì)參數(shù)的基礎(chǔ)信息格式進(jìn)行了優(yōu)化,采用開(kāi)源、跨平臺(tái)的sqlite小型數(shù)據(jù)庫(kù)文件存儲(chǔ)參數(shù)的基礎(chǔ)信息,基礎(chǔ)數(shù)據(jù)信息管理模塊統(tǒng)一管理和維護(hù)這些參數(shù)的基礎(chǔ)信息,并提供給其它模塊使用。通過(guò)基礎(chǔ)數(shù)據(jù)管理模塊維護(hù)基礎(chǔ)數(shù)據(jù)庫(kù)文件的方式,能夠使非常繁瑣的基礎(chǔ)信息得到規(guī)范的管理,出錯(cuò)率極大降低,安全性極大提高;(2)本發(fā)明提供了數(shù)據(jù)的預(yù)處理模塊,根據(jù)型號(hào)的配置信息,將幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行整合。對(duì)于包遙測(cè),該模塊以包遙測(cè)的CADU為輸入,經(jīng)過(guò)一系列處理后, 輸出為一系列的源包數(shù)據(jù),并以段(segment)數(shù)組的形式存儲(chǔ);對(duì)于幀遙測(cè),該模塊將整幀也作為一個(gè)段(segment)存儲(chǔ)。經(jīng)過(guò)這樣轉(zhuǎn)化,包遙測(cè)數(shù)據(jù)的格式和幀遙測(cè)數(shù)據(jù)的格式就具有較好的相似性,為實(shí)現(xiàn)數(shù)據(jù)處理的通用化打下基礎(chǔ);(3)本發(fā)明提供了遙測(cè)參數(shù)的表達(dá)式解析方法,用戶(hù)可以在參數(shù)的基礎(chǔ)數(shù)據(jù)信息的處理方法表中自行編輯該參數(shù)的處理方法表達(dá)式,表達(dá)式的語(yǔ)法與C語(yǔ)言相近,這樣就實(shí)現(xiàn)了參數(shù)處理方法的動(dòng)態(tài)擴(kuò)展,使得該遙測(cè)數(shù)據(jù)處理軟件包能夠處理很多具有新形式處理方法的遙測(cè)參數(shù),而不必再修改代碼;(4)本發(fā)明提供了封裝良好、簡(jiǎn)單易用的外部接口,供其它應(yīng)用軟件調(diào)用。同時(shí)通過(guò)函數(shù)指針的方式提供了接口的擴(kuò)展功能,能夠允許外部函數(shù)對(duì)本軟件包自身功能的擴(kuò)充,滿(mǎn)足了外部用戶(hù)對(duì)遙測(cè)數(shù)據(jù)處理的功能擴(kuò)展要求;(5)本發(fā)明選用標(biāo)準(zhǔn)C語(yǔ)言進(jìn)行編碼,所用到的外部庫(kù)全部是跨平臺(tái)的開(kāi)源庫(kù) (Expat和Sqlite),所選用的編譯工具是跨平臺(tái)的Cmake工具,消除了該軟件包對(duì)操作系統(tǒng)平臺(tái)的依賴(lài)性。
圖1為本發(fā)明衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)的組成框圖;圖2為本發(fā)明衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)中的索引表生成原理圖;圖3為本發(fā)明衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)針對(duì)遙測(cè)數(shù)據(jù)處理流程圖。
具體實(shí)施例方式如圖1所示,本發(fā)明通用遙測(cè)數(shù)據(jù)處理系統(tǒng)包括日志模塊1,指針容器模塊2,內(nèi)存管理模塊3,基礎(chǔ)數(shù)據(jù)管理模塊4,配置信息管理模塊5,索引表管理模塊6,數(shù)據(jù)預(yù)處理模塊 7,處理方法模塊8,數(shù)據(jù)解析模塊9以及數(shù)據(jù)初始化與管理模塊10。日志模塊1提供給軟件包內(nèi)其它模塊日志記錄的接口函數(shù),供其它模塊記錄系統(tǒng)的關(guān)鍵調(diào)試信息;指針容器模塊2用C語(yǔ)言模擬實(shí)現(xiàn)了 C++的vector容器,供其它模塊用來(lái)做信息的動(dòng)態(tài)存儲(chǔ);內(nèi)存管理模塊3對(duì)與內(nèi)存操作相關(guān)的幾個(gè)函數(shù)進(jìn)行封裝和管理,用來(lái)記錄內(nèi)存分配的次數(shù)和釋放的次數(shù),并提供接口列出內(nèi)存泄露的數(shù)量;基礎(chǔ)數(shù)據(jù)管理模塊4用來(lái)讀取、存儲(chǔ)并管理所有遙測(cè)參數(shù)的基礎(chǔ)數(shù)據(jù)信息,并提供對(duì)外接口,供索引表管理模塊6、處理方法模塊和數(shù)據(jù)初始化與管理模塊10調(diào)用,使得上層模塊能夠根據(jù)這些基本信息找出參數(shù)的源碼和處理方法等處理參數(shù)必備的條件;配置信息管理模塊5用來(lái)讀取并管理不同型號(hào)的配置文件中的數(shù)據(jù)信息,供索引表管理模塊6、數(shù)據(jù)預(yù)處理模塊7、數(shù)據(jù)解析模塊9和數(shù)據(jù)初始化與管理模塊10調(diào)用,使遙測(cè)數(shù)據(jù)處理系統(tǒng)達(dá)到通用性;索引表管理模塊6用來(lái)創(chuàng)建并管理參數(shù)處理的索引表,并提供接口,供數(shù)據(jù)解析模塊9和數(shù)據(jù)初始化與管理模塊10調(diào)用,使得當(dāng)一幀或者一包源碼待解析時(shí),系統(tǒng)能夠快速地找出該原始數(shù)據(jù)中包含哪些參數(shù)的源碼,然后系統(tǒng)按照索引表中的參數(shù)的基礎(chǔ)信息,提取源碼,調(diào)用相應(yīng)的處理方法處理參數(shù);數(shù)據(jù)預(yù)處理模塊7根據(jù)型號(hào)的配置文件信息,將幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行整合,通過(guò)預(yù)處理,使包遙測(cè)數(shù)據(jù)的格式和幀遙測(cè)數(shù)據(jù)的格式具有較好的相似性,并提供接口,供數(shù)據(jù)解析模塊9調(diào)用;處理方法模塊8提供曲線處理、列表處理、常用函數(shù)處理、專(zhuān)用函數(shù)處理、表達(dá)式處理、同源校準(zhǔn)處理和異源校準(zhǔn)處理等方法,供數(shù)據(jù)解析模塊9調(diào)用,完成遙測(cè)參數(shù)從源碼到工程值的處理;數(shù)據(jù)解析模塊9負(fù)責(zé)整個(gè)數(shù)據(jù)處理流程的管理,它首先要借助預(yù)處理模塊7整合原始數(shù)據(jù),其次通過(guò)索引表管理模塊6獲取索引, 然后通過(guò)基礎(chǔ)數(shù)據(jù)管理模塊4獲取參數(shù)的具體位置和處理方法信息,最后獲取源碼并調(diào)用處理方法模塊8解析源碼數(shù)據(jù);數(shù)據(jù)初始化與管理模塊10用來(lái)對(duì)其它模塊進(jìn)行初始化與管理,它首先調(diào)用內(nèi)存管理模塊3分配空間,其次調(diào)用配置信息管理模塊5和基礎(chǔ)數(shù)據(jù)管理模塊4加載配置信息和基礎(chǔ)數(shù)據(jù),然后調(diào)用索引表管理模塊6創(chuàng)建索引表,該模塊提供了管理接口供外部其它軟件調(diào)用,使它們可以對(duì)通用數(shù)據(jù)處理軟件包進(jìn)行設(shè)置和管理。日志模塊1采用標(biāo)準(zhǔn)C開(kāi)發(fā),參照大型開(kāi)源項(xiàng)目log模塊的設(shè)計(jì)慣例,它的功能很直觀,用來(lái)記錄程序運(yùn)行時(shí)的信息。日志模塊1在程序打開(kāi)日志輸出后,若收到用戶(hù)的日志信息,就將日志信息進(jìn)行規(guī)定格式整理后輸出到日志文件或者標(biāo)準(zhǔn)輸出窗口。日志的格式整理包括a.按重要程度過(guò)濾log,把log信息按重要程度分成不同的種類(lèi),在不同的情況下,打印不同種類(lèi)的信息。本次設(shè)計(jì)中,錯(cuò)誤的種類(lèi)分為嚴(yán)重錯(cuò)誤、錯(cuò)誤、警告、調(diào)試、注意信息、一般信息等幾個(gè)級(jí)別;b.日志的公共內(nèi)容,主要打印該日志語(yǔ)句的位置,如文件名、行號(hào)、函數(shù)名等和打印該行日志語(yǔ)句的時(shí)間和必要的提示信息。在收到用戶(hù)的關(guān)閉日志命令后,該模塊釋放初始化時(shí)分配的空間,關(guān)閉日志功能。指針容器模塊2采用標(biāo)準(zhǔn)C語(yǔ)言開(kāi)發(fā),完全模擬C++語(yǔ)言中標(biāo)準(zhǔn)模板庫(kù)的vector, 滿(mǎn)足動(dòng)態(tài)存儲(chǔ)的需要。該模塊對(duì)外提供了動(dòng)態(tài)數(shù)組的初始化函數(shù)、釋放函數(shù)、擴(kuò)容函數(shù)、清空數(shù)組函數(shù)、設(shè)置動(dòng)態(tài)數(shù)組元素函數(shù),獲取動(dòng)態(tài)數(shù)組元素函數(shù),插入動(dòng)態(tài)數(shù)組元素函數(shù),刪除動(dòng)態(tài)數(shù)組元素函數(shù),遍歷動(dòng)態(tài)數(shù)組元素函數(shù)等多個(gè)函數(shù)供用戶(hù)使用。在收到用戶(hù)的初始化命令后,該模塊會(huì)創(chuàng)建一個(gè)動(dòng)態(tài)數(shù)組并初始化。在初始化完成之后,用戶(hù)可以調(diào)用該模塊提供了各個(gè)函數(shù)對(duì)動(dòng)態(tài)數(shù)組進(jìn)行寫(xiě)入和讀出等一系列操作。在收到用戶(hù)的刪除命令后,該模塊釋放動(dòng)態(tài)數(shù)組空間,同時(shí)也釋放掉動(dòng)態(tài)數(shù)組內(nèi)指針元素指向的空間。內(nèi)存管理模塊3采用標(biāo)準(zhǔn)C語(yǔ)言開(kāi)發(fā),為了避免內(nèi)存泄露,對(duì)與內(nèi)存操作相關(guān)的幾個(gè)函數(shù)(mall0C、free、StrdUp)進(jìn)行封裝和管理。當(dāng)收到用戶(hù)的分配內(nèi)存命令后,該模塊在完成系統(tǒng)的內(nèi)存分配的同時(shí)用動(dòng)態(tài)數(shù)組記錄了本次內(nèi)存分配的大小和指針。當(dāng)收到用戶(hù)的釋放內(nèi)存命令后,該模塊在完成內(nèi)存釋放的同時(shí)遍歷動(dòng)態(tài)數(shù)組,刪除該數(shù)組中對(duì)應(yīng)的指針和大小。當(dāng)用戶(hù)的查看當(dāng)前分配內(nèi)存情況命令后,該模塊遍歷動(dòng)態(tài)數(shù)組,可以將動(dòng)態(tài)數(shù)組的大小以及每個(gè)元素輸出給用戶(hù)?;A(chǔ)數(shù)據(jù)管理模塊4采用標(biāo)準(zhǔn)C語(yǔ)言開(kāi)發(fā),用來(lái)讀取、存儲(chǔ)并管理遙測(cè)參數(shù)的基礎(chǔ)數(shù)據(jù)信息。當(dāng)收到用戶(hù)的初始化命令后,該模塊調(diào)用內(nèi)存管理模塊3分配動(dòng)態(tài)存儲(chǔ)空間,從基礎(chǔ)數(shù)據(jù)庫(kù)中加載所有參數(shù)的基礎(chǔ)數(shù)據(jù)信息到內(nèi)存。初始化完成之后,用戶(hù)可以設(shè)置內(nèi)存中任意參數(shù)的各種屬性,滿(mǎn)足人為干預(yù)基礎(chǔ)信息的需求,也可以通過(guò)命令獲取任意參數(shù)的基礎(chǔ)信息。在收到用戶(hù)的釋放命令后,該模塊釋放初始化分配的存儲(chǔ)空間。配置信息管理模塊5采用標(biāo)準(zhǔn)C語(yǔ)言開(kāi)發(fā),用來(lái)讀取并管理配置文件中的數(shù)據(jù)信息,本模塊中采用expat開(kāi)源包對(duì)XML格式的配置文件進(jìn)行解析,并采用哈希表的方式進(jìn)行存儲(chǔ)和查找,提高了效率。當(dāng)收到用戶(hù)的初始化命令后,該模塊調(diào)用內(nèi)存管理模塊3分配存儲(chǔ)空間,從配置文件中加載所有配置信息到內(nèi)存,供用戶(hù)使用。當(dāng)收到用戶(hù)的釋放命令后, 該模塊釋放初始化分配的存儲(chǔ)空間。索引表管理模塊6用來(lái)創(chuàng)建并管理參數(shù)處理的索引表,使得當(dāng)一幀或者一包源碼待解析時(shí),系統(tǒng)能夠快速地找出該原始數(shù)據(jù)中包含哪些需要解析的參數(shù)。該模塊收到用戶(hù)的初始化命令后,調(diào)用內(nèi)存管理模塊3分配索引表空間,遍歷基礎(chǔ)數(shù)據(jù)管理模塊4的存儲(chǔ)空間,根據(jù)各個(gè)參數(shù)的位置信息建立遙測(cè)參數(shù)解碼時(shí)使用的索引表,對(duì)于幀遙測(cè),該表以幀計(jì)數(shù)作為索引,對(duì)于包遙測(cè),該表以包序號(hào)作為索引,如圖2所示。初始化完成后,當(dāng)收到用戶(hù)的獲取索引表命令后,該模塊根據(jù)用戶(hù)傳遞的幀計(jì)數(shù)或者包序號(hào),返回給用戶(hù)相應(yīng)的索引表。當(dāng)收到用戶(hù)的釋放命令后,該模塊釋放初始化分配的存儲(chǔ)空間。數(shù)據(jù)預(yù)處理模塊7用來(lái)根據(jù)型號(hào)的配置文件信息,將幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行整合。當(dāng)收到用戶(hù)的預(yù)處理命令后,對(duì)于包遙測(cè)格式,該模塊以包遙測(cè)的CADU為輸入,經(jīng)過(guò)一系列處理后,輸出為一系列的源包數(shù)據(jù),并以segment的形式存儲(chǔ);對(duì)于幀遙測(cè)格式,該模塊將整幀也作為一個(gè)segment存儲(chǔ),這樣包遙測(cè)數(shù)據(jù)的格式和幀遙測(cè)數(shù)據(jù)的格式就具有較好的相似性,供數(shù)據(jù)解析模塊9調(diào)用。處理方法模塊8用來(lái)對(duì)遙測(cè)源碼進(jìn)行處理,包括曲線管理模塊81、列表管理模塊 82、通用處理函數(shù)模塊83、表達(dá)式處理模塊84和校準(zhǔn)模塊85。曲線管理模塊81是對(duì)基礎(chǔ)數(shù)據(jù)庫(kù)中曲線處理方法所需的曲線信息進(jìn)行管理,本模塊可根據(jù)參數(shù)源碼值,采用分段線性差值的方式得到工程值。列表管理模塊82是對(duì)基礎(chǔ)數(shù)據(jù)庫(kù)中列表處理方法所需的列表信息進(jìn)行管理,本模塊可根據(jù)參數(shù)源碼值,采用查表的方式得到工程值。通用處理函數(shù)模塊83是在處理程序中已經(jīng)預(yù)先編寫(xiě)了一些各個(gè)型號(hào)通用的處理函數(shù)(比如多項(xiàng)式處理),并提供了編號(hào)。這些函數(shù)以遙測(cè)參數(shù)的源碼以及一些相關(guān)信息 (比如相關(guān)系數(shù))作為輸入,經(jīng)過(guò)預(yù)先定義的處理方式處理出工程值。本模塊將所有通用函數(shù)處理方法集中在一個(gè)函數(shù)指針數(shù)組內(nèi),可以根據(jù)遙測(cè)參數(shù)基礎(chǔ)數(shù)據(jù)表中的函數(shù)處理公式號(hào)得到處理函數(shù)指針,然后結(jié)合參數(shù)的遙測(cè)源碼和基礎(chǔ)數(shù)據(jù)表中的相關(guān)系數(shù),相關(guān)參數(shù)等信息計(jì)算出參數(shù)的工程值。表達(dá)式處理模塊84用來(lái)靈活擴(kuò)展遙測(cè)參數(shù)的數(shù)據(jù)處理方法,它直接對(duì)遙測(cè)參數(shù)的處理表達(dá)式進(jìn)行詞法和語(yǔ)法分析,生成語(yǔ)法樹(shù),在運(yùn)行時(shí)進(jìn)行解釋執(zhí)行得出參數(shù)的工程值。滿(mǎn)足處理方法模塊動(dòng)態(tài)擴(kuò)展的功能。校準(zhǔn)模塊85用來(lái)輔助管理參數(shù)的校準(zhǔn)信息,使得系統(tǒng)能夠根據(jù)這些校準(zhǔn)信息對(duì)參數(shù)的處理結(jié)果進(jìn)行校準(zhǔn)。數(shù)據(jù)解析模塊9負(fù)責(zé)整個(gè)數(shù)據(jù)處理流程的管理。當(dāng)收到用戶(hù)的數(shù)據(jù)解析命令時(shí), 該模塊首先要借助預(yù)處理模塊7整合原始數(shù)據(jù),然后通過(guò)索引表模塊6獲取索引,最后獲取源碼并調(diào)用處理方法模塊8解析原始數(shù)據(jù),處理流程如圖3,最后將已經(jīng)處理的參數(shù)存入利用指針容器模塊2生成的結(jié)果表。數(shù)據(jù)初始化與管理模塊10用來(lái)對(duì)其它模塊進(jìn)行初始化與管理。當(dāng)收到用戶(hù)的初始化命令后,該模塊首先要調(diào)用內(nèi)存管理模塊3分配空間,然后調(diào)用配置信息管理模塊5加載配置信息,調(diào)用基礎(chǔ)數(shù)據(jù)管理模塊4加載基礎(chǔ)數(shù)據(jù)信息,調(diào)用索引表模塊6創(chuàng)建索引表。 初始化完成后,該模塊提供了重加載參數(shù)表、設(shè)置某一參數(shù)工程值、獲取某一參數(shù)工程值、 設(shè)置某一參數(shù)的校準(zhǔn)標(biāo)志、強(qiáng)制模式轉(zhuǎn)換等管理接口供其它調(diào)用本通用遙測(cè)數(shù)據(jù)處理系統(tǒng)軟件包包的軟件使用,使它們可以對(duì)本軟件包進(jìn)行設(shè)置和管理。當(dāng)收到用戶(hù)的釋放命令后, 該模塊釋放初始化分配的存儲(chǔ)空間。實(shí)現(xiàn)衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)的方法,步驟如下(1)準(zhǔn)備配置文件Cxml格式),其中定義幀格式或者包格式遙測(cè)數(shù)據(jù)的特征信息;(2)準(zhǔn)備基礎(chǔ)數(shù)據(jù)Cdb格式),其中定義遙測(cè)參數(shù)的名稱(chēng)、代號(hào)、模式、位置、處理方式等信息;(3)讀取步驟O)中的基礎(chǔ)信息,根據(jù)基礎(chǔ)信息,用動(dòng)態(tài)數(shù)組(指針容器)創(chuàng)建幀索引表或者包索引表;(4)接收遙測(cè)數(shù)據(jù);(5)讀取步驟(1)中的配置信息,根據(jù)配置信息,將步驟(4)接收到的幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行有效性判斷和數(shù)據(jù)整合。對(duì)于包遙測(cè),該系統(tǒng)以包遙測(cè)的CADU為輸入,經(jīng)過(guò)一系列緩存與拼接處理后,輸出為一系列的源包數(shù)據(jù),并以每個(gè)源包對(duì)應(yīng)一個(gè)段 (segment)的形式緩存;對(duì)于幀遙測(cè),該系統(tǒng)將整幀遙測(cè)作為一個(gè)段(segment)緩存。(6)將步驟(5)中的段(segment)數(shù)組,依照步驟(3)生成的索引表進(jìn)行參數(shù)處理,并對(duì)參數(shù)結(jié)果按照用戶(hù)定義的方式處理;(7)如果基礎(chǔ)數(shù)據(jù)信息有更改,重復(fù)執(zhí)行步驟( 至步驟(6),直至處理完所有遙測(cè)數(shù)據(jù);如果基礎(chǔ)數(shù)據(jù)信息沒(méi)有更改,重復(fù)執(zhí)行步驟(4)至步驟(6),直至處理完所有遙測(cè)數(shù)據(jù);目前,本發(fā)明已經(jīng)在多個(gè)型號(hào)的多個(gè)平臺(tái)的多個(gè)地面測(cè)試軟件中得到良好應(yīng)用, 實(shí)現(xiàn)了遙測(cè)數(shù)據(jù)處理的通用性,為地面的遙測(cè)數(shù)據(jù)解析提供了足夠的支持。
權(quán)利要求
1.一種衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng),其特征在于包括日志模塊、指針容器模塊、內(nèi)存管理模塊、基礎(chǔ)數(shù)據(jù)管理模塊、配置信息管理模塊、索引表管理模塊、數(shù)據(jù)預(yù)處理模塊、處理方法模塊、數(shù)據(jù)解析模塊以及數(shù)據(jù)初始化與管理模塊;其中日志模塊為其它模塊提供日志記錄的接口函數(shù),供其它模塊記錄系統(tǒng)的關(guān)鍵調(diào)試信息;指針容器模塊為其它模塊提供信息的動(dòng)態(tài)存儲(chǔ);內(nèi)存管理模塊對(duì)與內(nèi)存操作的相關(guān)函數(shù)進(jìn)行封裝和管理,用來(lái)記錄內(nèi)存分配的次數(shù)和釋放的次數(shù),并提供接口列出內(nèi)存泄露的數(shù)量;基礎(chǔ)數(shù)據(jù)管理模塊用來(lái)讀取、存儲(chǔ)并管理所有遙測(cè)參數(shù)的基礎(chǔ)數(shù)據(jù)信息,并提供對(duì)外接口,供索引表管理模塊、處理方法模塊和數(shù)據(jù)初始化與管理模塊調(diào)用;配置信息管理模塊用來(lái)讀取并管理不同型號(hào)的配置文件中的數(shù)據(jù)信息,供索引表模塊、預(yù)處理模塊、數(shù)據(jù)解析模塊和數(shù)據(jù)初始化與管理模塊調(diào)用,使遙測(cè)數(shù)據(jù)處理系統(tǒng)達(dá)到通用性;索引表管理模塊用來(lái)創(chuàng)建并管理參數(shù)處理的索引表,并提供接口,供數(shù)據(jù)解析模塊和數(shù)據(jù)初始化與管理模塊調(diào)用,使得當(dāng)一幀或者一包源碼待解析時(shí),系統(tǒng)能夠找出該原始數(shù)據(jù)中包含哪些參數(shù)的源碼,然后系統(tǒng)按照索引表中的參數(shù)的基礎(chǔ)信息,提取源碼,調(diào)用相應(yīng)的處理方法處理參數(shù);數(shù)據(jù)預(yù)處理模塊根據(jù)型號(hào)的配置文件信息,將幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行整合,通過(guò)預(yù)處理,使包遙測(cè)數(shù)據(jù)的格式和幀遙測(cè)數(shù)據(jù)的格式具有相似性,并提供接口供數(shù)據(jù)解析模塊調(diào)用;處理方法模塊提供曲線處理、 列表處理、常用函數(shù)處理、專(zhuān)用函數(shù)處理、表達(dá)式處理、同源校準(zhǔn)處理和異源校準(zhǔn)處理方法, 供數(shù)據(jù)解析模塊調(diào)用,完成遙測(cè)參數(shù)從源碼到工程值的處理;數(shù)據(jù)解析模塊負(fù)責(zé)整個(gè)數(shù)據(jù)處理流程的管理,首先根據(jù)數(shù)據(jù)預(yù)處理模塊整合原始數(shù)據(jù),其次通過(guò)索引表管理模塊獲取索引,然后通過(guò)基礎(chǔ)數(shù)據(jù)管理模塊獲取參數(shù)的具體位置和處理方法信息,最后獲取源碼并調(diào)用處理方法模塊解析源碼數(shù)據(jù);數(shù)據(jù)初始化與管理模塊用來(lái)對(duì)其它模塊進(jìn)行初始化與管理,首先調(diào)用內(nèi)存管理模塊分配空間,其次調(diào)用配置信息管理模塊和基礎(chǔ)數(shù)據(jù)管理模塊加載配置信息和基礎(chǔ)數(shù)據(jù),然后調(diào)用索引表管理模塊創(chuàng)建索引表,并提供管理接口供外部其它軟件調(diào)用,使其能夠?qū)νㄓ脭?shù)據(jù)處理軟件包進(jìn)行設(shè)置和管理。
2.如權(quán)利要求1所述的一種衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng),其特征在于所述的處理方法模塊用來(lái)對(duì)遙測(cè)源碼進(jìn)行處理,包括曲線管理模塊、列表管理模塊、通用處理函數(shù)模塊、表達(dá)式處理模塊和校準(zhǔn)模塊;其中曲線管理模塊對(duì)基礎(chǔ)數(shù)據(jù)庫(kù)中曲線處理方法所需的曲線信息進(jìn)行管理,根據(jù)參數(shù)源碼值,采用分段線性差值的方式得到工程值;列表管理模塊對(duì)基礎(chǔ)數(shù)據(jù)庫(kù)中列表處理方法所需的列表信息進(jìn)行管理,根據(jù)參數(shù)源碼值,采用查表的方式得到工程值;通用處理函數(shù)模塊在處理程序中預(yù)先編寫(xiě)各個(gè)型號(hào)通用的處理函數(shù),并提供了編號(hào), 該函數(shù)以遙測(cè)參數(shù)的源碼以及相關(guān)信息作為輸入,經(jīng)過(guò)預(yù)先定義的處理方式處理出工程值;將所有通用函數(shù)處理方法集中在一個(gè)函數(shù)指針數(shù)組內(nèi),根據(jù)遙測(cè)參數(shù)基礎(chǔ)數(shù)據(jù)表中的函數(shù)處理公式號(hào)得到處理函數(shù)指針,然后結(jié)合參數(shù)的遙測(cè)源碼和基礎(chǔ)數(shù)據(jù)表中的相關(guān)系數(shù),相關(guān)參數(shù)信息計(jì)算出參數(shù)的工程值;表達(dá)式處理模塊用來(lái)擴(kuò)展遙測(cè)參數(shù)的數(shù)據(jù)處理方法,直接對(duì)遙測(cè)參數(shù)的處理表達(dá)式進(jìn)行詞法和語(yǔ)法分析,生成語(yǔ)法樹(shù),在運(yùn)行時(shí)進(jìn)行解釋執(zhí)行得出參數(shù)的工程值;校準(zhǔn)模塊用來(lái)輔助管理參數(shù)的校準(zhǔn)信息,使得系統(tǒng)能夠根據(jù)這些校準(zhǔn)信息對(duì)參數(shù)的處理結(jié)果進(jìn)行校準(zhǔn)。
3. 一種衛(wèi)星遙測(cè)數(shù)據(jù)處理方法,包括以下步驟第一步準(zhǔn)備配置文件,其中定義幀格式或者包格式遙測(cè)數(shù)據(jù)的特征信息; 第二步準(zhǔn)備基礎(chǔ)數(shù)據(jù),其中定義遙測(cè)參數(shù)的名稱(chēng)、代號(hào)、模式、位置、處理方式信息; 第三步讀取第二步中的基礎(chǔ)信息,根據(jù)基礎(chǔ)信息,用動(dòng)態(tài)數(shù)組即指針容器創(chuàng)建幀索引表或者包索引表;第四步接收遙測(cè)數(shù)據(jù);第五步讀取第一步中的配置文件,根據(jù)配置文件,將第四步接收到的幀遙測(cè)數(shù)據(jù)和包遙測(cè)數(shù)據(jù)的格式進(jìn)行有效性判斷和數(shù)據(jù)整合;對(duì)于包遙測(cè)則以包遙測(cè)的CADU為輸入,經(jīng)過(guò)一系列緩存與拼接處理后,輸出為一系列的源包數(shù)據(jù),并以每個(gè)源包對(duì)應(yīng)一個(gè)段的形式緩存;對(duì)于幀遙測(cè)將整幀遙測(cè)作為一個(gè)段緩存;第六步將第五步中的段數(shù)組依照第三步生成的索引表進(jìn)行參數(shù)處理,并對(duì)參數(shù)結(jié)果按照用戶(hù)定義的方式處理;第七步如果基礎(chǔ)數(shù)據(jù)信息有更改,重復(fù)執(zhí)行第三步至第六步,直至處理完所有遙測(cè)數(shù)據(jù);如果基礎(chǔ)數(shù)據(jù)信息沒(méi)有更改,重復(fù)執(zhí)行第四步至第六步,直至處理完所有遙測(cè)數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種衛(wèi)星遙測(cè)數(shù)據(jù)處理系統(tǒng)以及其實(shí)現(xiàn)方法,解決了遙測(cè)數(shù)據(jù)處理的通用化、擴(kuò)展性和跨平臺(tái)性等問(wèn)題。該系統(tǒng)包括日志模塊、指針容器模塊、內(nèi)存管理模塊、基礎(chǔ)數(shù)據(jù)管理模塊、配置信息管理模塊、索引表管理模塊、數(shù)據(jù)預(yù)處理模塊、處理方法模塊、數(shù)據(jù)解析模塊以及數(shù)據(jù)初始化與管理模塊;該方法包括準(zhǔn)備配置文件和基礎(chǔ)數(shù)據(jù),并用動(dòng)態(tài)數(shù)組即指針容器創(chuàng)建幀索引表或者包索引表;然后接收遙測(cè)數(shù)據(jù)并進(jìn)行有效性判斷和數(shù)據(jù)整合;其次再進(jìn)行參數(shù)處理,并對(duì)參數(shù)結(jié)果按照用戶(hù)定義的方式處理;直至處理完所有遙測(cè)數(shù)據(jù)。
文檔編號(hào)G06F17/30GK102542002SQ20111040724
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年12月8日 優(yōu)先權(quán)日2011年12月8日
發(fā)明者何曉宇, 宋宏江, 李砥擎, 王華茂, 王志富, 王瑞, 白少華, 閆金棟 申請(qǐng)人:北京空間飛行器總體設(shè)計(jì)部