趙海升,李承奎,賈淑梅,宋黎明
(1. 中國(guó)科學(xué)院粒子天體物理重點(diǎn)實(shí)驗(yàn)室,北京 100049;2. 中國(guó)科學(xué)院高能物理研究所,北京 100049)
天文衛(wèi)星獲取的數(shù)據(jù)需要經(jīng)過一系列步驟生成可以分析的數(shù)據(jù)產(chǎn)品,同時(shí)在這個(gè)過程中,還需要監(jiān)測(cè)載荷狀態(tài)、數(shù)據(jù)質(zhì)量及天體源爆發(fā)情況等,連同數(shù)據(jù)接口構(gòu)成天文衛(wèi)星下傳數(shù)據(jù)處理系統(tǒng)(簡(jiǎn)稱下傳數(shù)據(jù)處理系統(tǒng))。衛(wèi)星發(fā)射前,地面需要具備衛(wèi)星數(shù)據(jù)處理能力,并在發(fā)射后及時(shí)調(diào)整軟件參數(shù)及算法,開展標(biāo)定工作。這樣,規(guī)劃下傳數(shù)據(jù)處理系統(tǒng)就變得非常有意義。目前,愛因斯坦探針衛(wèi)星(Einstein Probe,EP)[1]已經(jīng)正式立項(xiàng),增強(qiáng)型X射線時(shí)變與偏振天文臺(tái)(enhanced X-ray Timing and Polarimetry mission,eXTP)在預(yù)研階段,建設(shè)這些衛(wèi)星的下傳數(shù)據(jù)處理系統(tǒng)也提上了日程。
下傳數(shù)據(jù)處理系統(tǒng)的主要任務(wù)包括3方面:(1)發(fā)布科學(xué)數(shù)據(jù)產(chǎn)品,這些數(shù)據(jù)產(chǎn)品為經(jīng)過標(biāo)定及初步篩選的數(shù)據(jù)和經(jīng)過完整篩選后提取的科學(xué)數(shù)據(jù),同時(shí)要發(fā)布標(biāo)定數(shù)據(jù)庫(kù)并實(shí)時(shí)更新標(biāo)定數(shù)據(jù)庫(kù);(2)發(fā)布處理數(shù)據(jù)產(chǎn)品的軟件,提供軟件參數(shù)及用戶使用手冊(cè);(3)實(shí)時(shí)監(jiān)測(cè)載荷狀態(tài)和數(shù)據(jù)質(zhì)量,并識(shí)別暴發(fā)源、暫現(xiàn)源等,特別是發(fā)現(xiàn)新源。在工作中,下傳數(shù)據(jù)處理系統(tǒng)要完成軟件開發(fā),包括軟件的需求、設(shè)計(jì)、開發(fā)和測(cè)試等步驟,其中還要完成數(shù)據(jù)處理中關(guān)鍵算法的研究,尤其是要完成儀器地面標(biāo)定工作。本文主要關(guān)注衛(wèi)星發(fā)射前下傳數(shù)據(jù)處理系統(tǒng)的建設(shè),包括數(shù)據(jù)定義及數(shù)據(jù)流程,各個(gè)子系統(tǒng)的功能及接口,以及系統(tǒng)的運(yùn)行流程等,并介紹系統(tǒng)建立的主要接口、主要工作內(nèi)容及軟件工程化,目的是使得整個(gè)系統(tǒng)能夠協(xié)調(diào)工作,促進(jìn)科學(xué)產(chǎn)生,提高軟件的開發(fā)和運(yùn)行效率。
衛(wèi)星下傳的數(shù)據(jù)一般經(jīng)過簡(jiǎn)單的解幀、分組和去重復(fù)后形成一系列數(shù)據(jù)文件,按數(shù)據(jù)的下傳通道將其定義為遙測(cè)數(shù)據(jù)(0T)和數(shù)傳數(shù)據(jù)(0L,0級(jí)),它們是下傳數(shù)據(jù)處理系統(tǒng)的輸入數(shù)據(jù)。數(shù)傳數(shù)據(jù)包括衛(wèi)星平臺(tái)采集的數(shù)據(jù)、載荷采集的工程數(shù)據(jù)及科學(xué)數(shù)據(jù)??茖W(xué)數(shù)據(jù)和工程數(shù)據(jù)的處理是本系統(tǒng)的關(guān)鍵,它們要經(jīng)過解包、數(shù)據(jù)轉(zhuǎn)換、文件拆分和合并等預(yù)處理步驟,再進(jìn)行標(biāo)定處理,直至發(fā)布。定義1U(Unfiltered),1C(Calibrated)和1L(1級(jí))分別表征這些步驟中產(chǎn)生的數(shù)據(jù)產(chǎn)品:1U為沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品;1C為標(biāo)定后的數(shù)據(jù)產(chǎn)品;1L為對(duì)外發(fā)布的數(shù)據(jù)產(chǎn)品,它一般是1C或者1U的子集。2L(2級(jí))是在1L基礎(chǔ)上產(chǎn)生的高級(jí)數(shù)據(jù)產(chǎn)品,它們經(jīng)過完整的數(shù)據(jù)篩選和標(biāo)定,可以直接用于科學(xué)分析,比如通過對(duì)能譜的擬合得到源參數(shù)等。監(jiān)測(cè)和快視處理步驟一般比較簡(jiǎn)單,它的輸入可以是遙測(cè)數(shù)據(jù),也可以是數(shù)傳數(shù)據(jù)處理中的一些數(shù)據(jù),輸出的結(jié)果定義為2M(Monitor)。
遙測(cè)數(shù)據(jù)主要用于監(jiān)測(cè)及快視,時(shí)效性比較強(qiáng),但信息比較少,它有助于判斷載荷性能,及時(shí)發(fā)現(xiàn)新源,從而制定觀測(cè)計(jì)劃。數(shù)傳數(shù)據(jù)時(shí)效性比較差,但是數(shù)據(jù)全面,是科學(xué)研究的基礎(chǔ)。對(duì)外發(fā)布的數(shù)據(jù)產(chǎn)品可以是未標(biāo)定的數(shù)據(jù),也可以是標(biāo)定的數(shù)據(jù),比如硬X射線調(diào)制望遠(yuǎn)鏡衛(wèi)星(Hard X-ray Modulation Telescope, HXMT)[2-3]發(fā)布未標(biāo)定數(shù)據(jù),而雨燕衛(wèi)星(Swift Gamma-Ray Burst Mission)[4]發(fā)布標(biāo)定數(shù)據(jù)。在處理上,發(fā)布未標(biāo)定數(shù)據(jù)的優(yōu)點(diǎn)在于較容易分開預(yù)處理和分析這兩個(gè)階段,而發(fā)布標(biāo)定數(shù)據(jù)需要在預(yù)處理基礎(chǔ)上經(jīng)過數(shù)據(jù)分析軟件的處理。本文推薦采用后者,這是因?yàn)椋?1)發(fā)布的標(biāo)定數(shù)據(jù)可以直接用于監(jiān)測(cè)快視,一方面標(biāo)定的數(shù)據(jù)可以識(shí)別一部分噪聲及本底,這有助于發(fā)現(xiàn)新源,另一方面監(jiān)測(cè)需要評(píng)估標(biāo)定參數(shù),為重新標(biāo)定提供依據(jù);(2)用戶不需要重新標(biāo)定而可以直接提取能譜、光變等,但是如果用戶分析的是以往數(shù)據(jù),因?yàn)闃?biāo)定數(shù)據(jù)庫(kù)更新頻繁,一般也要重新進(jìn)行標(biāo)定處理;(3)標(biāo)定處理后會(huì)降低數(shù)據(jù)量,利于傳輸和分析。
數(shù)傳數(shù)據(jù)至對(duì)外發(fā)布的數(shù)據(jù)產(chǎn)品的過程中,數(shù)據(jù)文件需要根據(jù)觀測(cè)計(jì)劃或者監(jiān)測(cè)結(jié)果進(jìn)行重新組合和切割,形成一個(gè)完整的觀測(cè)數(shù)據(jù)文件,還要在觀測(cè)中將不同工作模式的數(shù)據(jù)分開。需要注意的是,正常觀測(cè)可能被某些情況打斷,觀測(cè)計(jì)劃需要及時(shí)更新,而監(jiān)測(cè)結(jié)果容易出現(xiàn)缺失的情況。觀測(cè)前后的調(diào)姿過程數(shù)據(jù)可以保存在此觀測(cè)中,也可以單獨(dú)作為一次觀測(cè)。
數(shù)傳數(shù)據(jù)在傳輸中可能出現(xiàn)數(shù)據(jù)和文件重復(fù),后續(xù)處理需要有去重復(fù)的策略,可以放在數(shù)據(jù)切割和重組時(shí)進(jìn)行。對(duì)每一次數(shù)據(jù)下發(fā),按觀測(cè)計(jì)劃對(duì)數(shù)據(jù)拆分和重組產(chǎn)生新的觀測(cè)數(shù)據(jù),此時(shí)需要記錄每個(gè)新文件的完整性及有效性,并給出版本編號(hào)。如果下次下發(fā)數(shù)據(jù)與本次存在數(shù)據(jù)重復(fù)或者文件重復(fù),首先判斷兩次文件的完整性及有效性,如果后者好于前者,則覆蓋已產(chǎn)生的數(shù)據(jù)文件。完整性表示起止時(shí)間是否已經(jīng)齊備,而有效性指文件的數(shù)據(jù)缺失情況(數(shù)據(jù)丟包及循環(huán)冗余校驗(yàn)[5]不通過及它們的影響程度)及正確性。
參照2017年6月發(fā)射成功的硬X射線調(diào)制望遠(yuǎn)鏡衛(wèi)星的下傳數(shù)據(jù)處理系統(tǒng),并改進(jìn)為4個(gè)子系統(tǒng)。圖1為4個(gè)子系統(tǒng)在整個(gè)系統(tǒng)中的規(guī)劃,它們的關(guān)系可以通過整個(gè)系統(tǒng)的運(yùn)行體現(xiàn)。數(shù)據(jù)接收及發(fā)布子系統(tǒng)在整個(gè)架構(gòu)中起調(diào)度作用,一旦數(shù)據(jù)下傳,它將調(diào)度其它子系統(tǒng)的軟件完成數(shù)據(jù)處理,并將結(jié)果進(jìn)行存儲(chǔ)。數(shù)據(jù)預(yù)處理子系統(tǒng)是數(shù)據(jù)處理的基礎(chǔ)[6],它主要完成對(duì)載荷原包數(shù)據(jù)的提取,這一步是數(shù)據(jù)分析子系統(tǒng)和數(shù)據(jù)監(jiān)測(cè)與快視子系統(tǒng)的基礎(chǔ),并產(chǎn)生完整的觀測(cè)數(shù)據(jù)。數(shù)據(jù)分析子系統(tǒng)[7]在數(shù)據(jù)預(yù)處理的基礎(chǔ)上完成標(biāo)定,將產(chǎn)生的1L,2L數(shù)據(jù)發(fā)布給數(shù)據(jù)接收及發(fā)布子系統(tǒng),供其存儲(chǔ)、發(fā)布。監(jiān)測(cè)與快視子系統(tǒng)對(duì)遙測(cè)數(shù)據(jù)、解包后的載荷狀態(tài)數(shù)據(jù)及定標(biāo)后的數(shù)據(jù)進(jìn)行處理,將結(jié)果發(fā)布給數(shù)據(jù)接收與發(fā)布子系統(tǒng)。整個(gè)系統(tǒng)運(yùn)行為文件驅(qū)動(dòng)型。
圖1 下傳數(shù)據(jù)處理系統(tǒng)規(guī)劃示意圖
Fig.1 Conceptual view of Data Processing System
各個(gè)子系統(tǒng)完成軟件開發(fā)及其輔助工作,主要規(guī)劃如下:
(1)數(shù)據(jù)接收及發(fā)布子系統(tǒng)
負(fù)責(zé)開發(fā)數(shù)據(jù)接收及發(fā)布軟件,主要完成數(shù)據(jù)接收,調(diào)用其它子系統(tǒng)軟件完成數(shù)據(jù)處理、監(jiān)測(cè)快視等,并調(diào)用數(shù)據(jù)預(yù)處理部分模塊將產(chǎn)生的數(shù)據(jù)進(jìn)行拆分、重組和去重復(fù)后歸檔,并提供1L,2L和2M的發(fā)布接口。主要的接口包括輸入數(shù)據(jù)的傳輸策略、數(shù)據(jù)發(fā)布接口等。數(shù)據(jù)接收及發(fā)布子系統(tǒng)在整個(gè)數(shù)據(jù)下傳處理系統(tǒng)中起調(diào)度作用。
(2)數(shù)據(jù)預(yù)處理子系統(tǒng)
負(fù)責(zé)開發(fā)數(shù)據(jù)預(yù)處理軟件,主要完成工程數(shù)據(jù)和科學(xué)數(shù)據(jù)的解析,形成科學(xué)事例及記錄,還原完整科學(xué)事例并修正部分信息,產(chǎn)生完整的觀測(cè)數(shù)據(jù)文件。主要的接口為軟硬件接口,即需要明確硬件數(shù)據(jù)采集策略和數(shù)據(jù)結(jié)構(gòu)定義等。主要工作還包括數(shù)據(jù)分級(jí)定義及內(nèi)容格式設(shè)計(jì)、數(shù)據(jù)處理及修正算法研究等。
數(shù)據(jù)預(yù)處理還需要完成空間環(huán)境變量的計(jì)算,這些變量連同衛(wèi)星的電壓、溫度等構(gòu)成物理分析的篩選條件。
(3)數(shù)據(jù)分析子系統(tǒng)
負(fù)責(zé)開發(fā)數(shù)據(jù)分析軟件,主要從1U級(jí)產(chǎn)品出發(fā),完成數(shù)據(jù)標(biāo)定、篩選及高級(jí)數(shù)據(jù)產(chǎn)品的提取,并提供標(biāo)定數(shù)據(jù)庫(kù)(CALDB)。主要接口為軟硬件接口及與科學(xué)用戶接口,前者主要側(cè)重?cái)?shù)據(jù)分析過程,后者側(cè)重物理?xiàng)l件的選取。 主要工作還包括地面數(shù)據(jù)的分析及標(biāo)定工作。地面分析需要注意事例等級(jí)、噪聲扣除、壞像素識(shí)別等,標(biāo)定則關(guān)注增益修正、能量與能道關(guān)系、能量響應(yīng)及探測(cè)效率等,還要完成標(biāo)定數(shù)據(jù)庫(kù)的設(shè)計(jì)與讀寫。
數(shù)據(jù)分析軟件需要發(fā)布給科學(xué)用戶,參照硬X射線調(diào)制望遠(yuǎn)鏡衛(wèi)星[7],按模塊開發(fā),這些模塊包括數(shù)據(jù)標(biāo)定、時(shí)間計(jì)算、數(shù)據(jù)篩選、能譜光變提取、能量響應(yīng)產(chǎn)生及本底產(chǎn)生模塊等,軟件還要提供一個(gè)串行運(yùn)行(pipeline)模塊,該模塊主要完成上述所有的功能,產(chǎn)生的數(shù)據(jù)為2L。標(biāo)定數(shù)據(jù)庫(kù)作為分析軟件的一部分需要一并發(fā)布給用戶。
(4)數(shù)據(jù)監(jiān)測(cè)與快視子系統(tǒng)
負(fù)責(zé)開發(fā)數(shù)據(jù)監(jiān)測(cè)、快視及顯示模塊。主要完成載荷狀態(tài)監(jiān)測(cè)、數(shù)據(jù)質(zhì)量監(jiān)測(cè)、科學(xué)快視及結(jié)果顯示。主要工作是研究數(shù)據(jù)特征、搜尋新源及提取源位置等。其建設(shè)的重中之重在于快速識(shí)別物理現(xiàn)象,利用智能算法代替人員值班。
系統(tǒng)中起調(diào)度作用的是數(shù)據(jù)接收及發(fā)布軟件,它針對(duì)每次數(shù)據(jù)下發(fā)調(diào)度各個(gè)軟件完成數(shù)據(jù)處理。圖2為軟件的調(diào)度情況。當(dāng)一次數(shù)據(jù)下發(fā)完成時(shí),首先調(diào)用數(shù)據(jù)預(yù)處理軟件完成數(shù)傳數(shù)據(jù)至沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品的過程,此過程中有許多文件需要處理,一般將此過程分為多個(gè)步驟[6]。這些文件可能存在依賴關(guān)系,比如對(duì)事例文件的時(shí)間進(jìn)行解析時(shí),協(xié)調(diào)世界時(shí)與晶振對(duì)應(yīng)關(guān)系[8]存在于工程文件中。處理策略為:記錄每次下發(fā)信息,包括文件類型、起止時(shí)間等,對(duì)沒有依賴關(guān)系的文件直接處理,對(duì)存在依賴而文件缺少的情況,將已有文件掛起等待下次數(shù)傳。數(shù)據(jù)文件完整性對(duì)該過程影響很大,一般來講沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品是完整的,這是因?yàn)榉治鲕浖趯?duì)事例文件進(jìn)行標(biāo)定和初步篩選時(shí),會(huì)使用很多輔助文件,比如溫度文件。但是數(shù)傳數(shù)據(jù)一次下傳的數(shù)據(jù)可能滿足不了完整性要求,比較常見的是存在數(shù)據(jù)文件缺失,各個(gè)文件時(shí)間不統(tǒng)一等情況,處理策略為在文件合并和拆分時(shí),如果這些文件不能覆蓋一次曝光時(shí)間,則該曝光不能處理,直到達(dá)到文件數(shù)目和時(shí)間方面的要求。如果下次數(shù)傳文件時(shí)間與本曝光時(shí)間有重疊,且數(shù)據(jù)文件有版本更新,則重新產(chǎn)生該曝光文件。沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品經(jīng)過部分分析軟件模塊,主要是標(biāo)定模塊、事例篩選模塊等,處理為標(biāo)定后的數(shù)據(jù)產(chǎn)品。標(biāo)定后的數(shù)據(jù)產(chǎn)品部分生成對(duì)外發(fā)布的數(shù)據(jù)產(chǎn)品,對(duì)外發(fā)布的數(shù)據(jù)產(chǎn)品經(jīng)過分析軟件的串行運(yùn)行后生成高級(jí)數(shù)據(jù)產(chǎn)品。
遙測(cè)數(shù)據(jù)的下傳次數(shù)比較多,它在監(jiān)測(cè)及快視中非常重要,對(duì)每次遙測(cè)下傳,調(diào)度都要產(chǎn)生2M結(jié)果。數(shù)傳數(shù)據(jù)至沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品的過程及標(biāo)定后的數(shù)據(jù)產(chǎn)品的部分?jǐn)?shù)據(jù)都要用于監(jiān)測(cè)及快視,數(shù)傳數(shù)據(jù)至沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品的過程中,數(shù)據(jù)主要用于發(fā)現(xiàn)新源,而標(biāo)定后的數(shù)據(jù)產(chǎn)品主要用于監(jiān)測(cè)標(biāo)定信息。這樣監(jiān)測(cè)和快視主要有3個(gè)監(jiān)測(cè)點(diǎn):遙測(cè)數(shù)據(jù)、數(shù)傳數(shù)據(jù)至沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品中的數(shù)據(jù)、標(biāo)定后的數(shù)據(jù)。對(duì)一次數(shù)傳或者遙測(cè),數(shù)據(jù)接收及發(fā)布軟件都需要調(diào)用監(jiān)測(cè)和快視軟件,3個(gè)監(jiān)測(cè)點(diǎn)不會(huì)全部使用而是以文件完備為依據(jù)使用,特別是數(shù)傳時(shí),如果未能產(chǎn)生標(biāo)定后的數(shù)據(jù)產(chǎn)品,而只能用數(shù)傳數(shù)據(jù)至沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品。3個(gè)監(jiān)測(cè)點(diǎn)的側(cè)重點(diǎn)也有所不同:遙測(cè)數(shù)據(jù)側(cè)重監(jiān)測(cè)載荷運(yùn)行狀態(tài)及發(fā)現(xiàn)新源,數(shù)傳數(shù)據(jù)至沒有經(jīng)過標(biāo)定處理的數(shù)據(jù)產(chǎn)品側(cè)重發(fā)現(xiàn)新源,而標(biāo)定后的數(shù)據(jù)產(chǎn)品側(cè)重標(biāo)定監(jiān)測(cè)。
1L,2L及2M均可以發(fā)布。調(diào)度將對(duì)外發(fā)布的文件進(jìn)行讀寫權(quán)限的控制。表1為各個(gè)子系統(tǒng)的數(shù)據(jù)輸入及輸出。
圖2 數(shù)據(jù)接收及發(fā)布軟件調(diào)度情況
Fig.2 The process scheduling of Data Receiver and Distributor Software
表1 各個(gè)子系統(tǒng)的數(shù)據(jù)輸入、輸出以及需要發(fā)布的軟件Table 1 Input, output and developing software of each subsystem
數(shù)據(jù)接收及發(fā)布需要建立數(shù)據(jù)庫(kù)(比如MYSQL數(shù)據(jù)庫(kù)[9])存儲(chǔ)一些比較重要的信息:(1)每次數(shù)傳及遙測(cè)下傳數(shù)據(jù)情況,特別是數(shù)據(jù)處理中各中間環(huán)節(jié)產(chǎn)生文件的情況;(2)處理過程中的一些關(guān)鍵參數(shù),比如時(shí)間對(duì)應(yīng)關(guān)系、觀測(cè)信息、探測(cè)單元分類信息(壞探測(cè)器等);(3)標(biāo)定相關(guān)信息,特別是反映定標(biāo)移動(dòng)的參數(shù)。這些信息最好通過監(jiān)測(cè)顯示呈現(xiàn)。
整個(gè)系統(tǒng)的建立取決于數(shù)據(jù)接口、數(shù)據(jù)流程、標(biāo)定和本底方法的確立。
數(shù)據(jù)下傳系統(tǒng)需要確定各種接口及實(shí)施方法。接口中最為重要的是軟硬件接口,這個(gè)接口包括數(shù)據(jù)采集流程和數(shù)據(jù)結(jié)構(gòu)定義,這兩方面主要與衛(wèi)星載荷系統(tǒng)和平臺(tái)系統(tǒng)有關(guān)。平臺(tái)采集的數(shù)據(jù),比如軌道、姿態(tài)及部分載荷運(yùn)行參數(shù),多由專門機(jī)構(gòu)設(shè)計(jì),形式簡(jiǎn)單,發(fā)布格式固定,但是與載荷系統(tǒng)的接口比較復(fù)雜。數(shù)據(jù)采集流程決定數(shù)據(jù)文件的組織類型及數(shù)據(jù)格式,數(shù)據(jù)結(jié)構(gòu)定義則直接決定數(shù)據(jù)產(chǎn)品解包算法。本系統(tǒng)一般與載荷系統(tǒng)的建設(shè)同步進(jìn)行,所以這部分接口變動(dòng)比較頻繁。過去接口一般通過文檔的形式簽署和更改,存在很大的滯后性,如果軟硬件接口通過某種系統(tǒng)即寫即讀比較容易實(shí)施,本文建議采用配置文件的形式對(duì)載荷數(shù)據(jù)進(jìn)行定義[6],而配置文件作為軟硬件接口可以通過某種系統(tǒng)呈現(xiàn)。
數(shù)據(jù)處理流程、數(shù)據(jù)標(biāo)定、本底、空間環(huán)境以及儀器性能的研究是本系統(tǒng)重要的工作,也是完成數(shù)據(jù)預(yù)處理、分析軟件及監(jiān)測(cè)快視的基本保障。它們的研究一般基于兩種數(shù)據(jù),模擬探測(cè)器數(shù)據(jù)和地面測(cè)試數(shù)據(jù)。模擬探測(cè)器數(shù)據(jù)采集有助于研究標(biāo)定及數(shù)據(jù)處理,空間環(huán)境模擬有助于研究本底,地面也可以依據(jù)數(shù)據(jù)定義單純地產(chǎn)生載荷事例數(shù)據(jù),可以用于數(shù)據(jù)處理流程的開發(fā)和測(cè)試。地面測(cè)試數(shù)據(jù)由載荷系統(tǒng)負(fù)責(zé),但是數(shù)據(jù)分析也需要本系統(tǒng)的參與,這些數(shù)據(jù)比較接近衛(wèi)星下傳數(shù)據(jù),數(shù)據(jù)的研究對(duì)數(shù)據(jù)處理算法、標(biāo)定、儀器性能有極大的幫助,尤其對(duì)確定事例噪聲、事例等級(jí)重建等有關(guān)鍵作用。
衛(wèi)星下傳系統(tǒng)的規(guī)劃存在很多不確定性,特別是數(shù)據(jù)影響因素的不確定性和標(biāo)定不確定性。這主要來源于強(qiáng)的空間輻射環(huán)境難以估計(jì),載荷的形狀及位置可能存在形變,探測(cè)特性也容易發(fā)生變化等。這決定了本系統(tǒng)需要具備較強(qiáng)的可維護(hù)性和擴(kuò)展性。本文建議采用模塊化,數(shù)據(jù)與代碼分離及面向?qū)ο蟮拈_發(fā)模式,并從整體上進(jìn)行軟件開發(fā)。
天文衛(wèi)星的數(shù)據(jù)處理采用模塊化方式,每個(gè)模塊都有自己的輸入?yún)?shù),可以獨(dú)立運(yùn)行,而模塊之間傳遞的是數(shù)據(jù)文件。這種設(shè)計(jì)降低了步驟上的耦合,使系統(tǒng)有比較強(qiáng)的可維護(hù)性,特別是針對(duì)一些非線性操作,將這些處理單獨(dú)作為一個(gè)模塊可對(duì)其維護(hù)不影響其它部分。另一方面模塊化有利于調(diào)用數(shù)據(jù)接收和發(fā)布軟件。數(shù)據(jù)處理中有許多參數(shù):數(shù)據(jù)選擇條件參數(shù)、探測(cè)器配置參數(shù)、標(biāo)定參數(shù)及本底參數(shù)等,其中標(biāo)定、本底參數(shù)更新頻繁。軟件開發(fā)中盡量將代碼和這些參數(shù)分離,使兩者的維護(hù)互不影響。對(duì)于監(jiān)測(cè)快視、數(shù)據(jù)與顯示界面也需要分開。
面向?qū)ο蟮拈_發(fā)一般有比較好的封裝和繼承特性,有助于系統(tǒng)性開發(fā)。圖3是目前硬X射線調(diào)制望遠(yuǎn)鏡用戶分析軟件框架圖,其頂層(BaseLIB庫(kù))為基本功能集合,包括數(shù)據(jù)讀寫類、信息輸出類、能譜和光變類、標(biāo)定數(shù)據(jù)庫(kù)(Calibration Database, CALDB)讀取類、基本數(shù)據(jù)結(jié)構(gòu)類、算法類等。設(shè)計(jì)中頂層應(yīng)重點(diǎn)開發(fā),它可以為所有軟件或者載荷服務(wù),推薦使用硬X射線調(diào)制望遠(yuǎn)鏡用戶分析軟件作為參考庫(kù)開發(fā)該庫(kù)。中間層為面向不同的載荷,包括文件系統(tǒng)的組成類,各種與載荷有關(guān)的數(shù)據(jù)結(jié)構(gòu)類等,如果軟件或者載荷比較簡(jiǎn)單,可以將此層忽略。再下層的libs及modules分別存放與載荷相關(guān)的算法及特殊功能類。tasks則為各個(gè)模塊的實(shí)現(xiàn),主要完成模塊的流程操作。這樣設(shè)計(jì)具有層次性,接口、算法、功能實(shí)現(xiàn)彼此分開,而流程函數(shù)將它們相互連接,如果某一部分需要改變,不會(huì)影響其它部分。這種設(shè)計(jì)還有一個(gè)優(yōu)點(diǎn),可以降低軟件開發(fā)和測(cè)試成本,如果軟件之間彼此孤立,無論是開發(fā)還是測(cè)試成本都很高昂,而本設(shè)計(jì)中,模塊測(cè)試可以反復(fù)使用BaseLIB庫(kù),從而增加可靠性。
圖3 硬X射線調(diào)制望遠(yuǎn)鏡用戶分析軟件框圖
Fig.3 Layered software architecture of HXMT Data Analysis Software
數(shù)據(jù)流程部分的軟件開發(fā)為系統(tǒng)的重中之重,包括數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析。兩者的開發(fā)順序應(yīng)該為預(yù)處理在先,分析在后,串行運(yùn)行模塊更靠后,甚至在衛(wèi)星發(fā)射之后再提供。數(shù)據(jù)預(yù)處理、分析和監(jiān)測(cè)快視都需要深刻地理解載荷及數(shù)據(jù),而數(shù)據(jù)接收與發(fā)布則可以獨(dú)立于其它3個(gè)軟件的開發(fā)。
衛(wèi)星下傳數(shù)據(jù)處理系統(tǒng)是衛(wèi)星地面系統(tǒng)的一個(gè)重要組成部分,它負(fù)責(zé)將衛(wèi)星下傳數(shù)據(jù)進(jìn)行逐層處理,發(fā)布標(biāo)定處理后的數(shù)據(jù),并發(fā)布分析軟件及標(biāo)定數(shù)據(jù)庫(kù)。同時(shí)它還起到監(jiān)測(cè)探測(cè)器狀態(tài)和數(shù)據(jù)質(zhì)量的作用,并承擔(dān)爆發(fā)源、新源尋找等重要工作。這些對(duì)衛(wèi)星科學(xué)產(chǎn)出起到支撐和促進(jìn)作用,尤其在發(fā)現(xiàn)新源方面,將直接影響科學(xué)產(chǎn)出。本文將衛(wèi)星下傳數(shù)據(jù)處理系統(tǒng)分為4個(gè)子系統(tǒng),分別為數(shù)據(jù)接收及發(fā)布、數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析、監(jiān)測(cè)與快視子系統(tǒng),它們協(xié)調(diào)工作,完成數(shù)據(jù)接收及發(fā)布軟件、數(shù)據(jù)預(yù)處理軟件、數(shù)據(jù)分析軟件、監(jiān)測(cè)與快視軟件的開發(fā)和部署,并提供標(biāo)定數(shù)據(jù)庫(kù)。衛(wèi)星下傳數(shù)據(jù)處理系統(tǒng)的開發(fā)需要遵循利用邏輯性降低代碼開發(fā)量、利用腦力代替體力的原則,從而完成系統(tǒng)設(shè)計(jì)和開發(fā)。工作中還要重點(diǎn)關(guān)注數(shù)據(jù)處理算法的研究和標(biāo)定工作。
本文沒有關(guān)注硬件建設(shè),事實(shí)上數(shù)據(jù)存儲(chǔ)及計(jì)算環(huán)境是非常重要的,這對(duì)軟件的部署和運(yùn)行有重要影響。