陳志敏,陳 萍,姜秀杰,劉 波
(1.中國(guó)科學(xué)院空間科學(xué)與應(yīng)用研究中心,北京 100190;2.中國(guó)科學(xué)院研究生院,北京 100049)
國(guó)家重大科技基礎(chǔ)設(shè)施項(xiàng)目——東半球空間環(huán)境地基綜合監(jiān)測(cè)子午鏈(簡(jiǎn)稱子午工程)首枚探空火箭于2011年5月7日7時(shí)在中國(guó)科學(xué)院海南探空部發(fā)射場(chǎng)成功發(fā)射,其運(yùn)載部分為航天四院定型產(chǎn)品天鷹3號(hào)C型火箭,有效載荷部分為中科院空間中心研制的鯤鵬一號(hào)探空儀[1]。為確認(rèn)箭載有效載荷的各項(xiàng)性能和功能是否滿足需求,箭載有效載荷在研制過(guò)程中自始至終都離不開(kāi)大量的測(cè)試工作,在測(cè)試中獲取定性、定量數(shù)據(jù),并進(jìn)行處理和評(píng)定都需要集成測(cè)試軟件的支持。因此,具有較好適應(yīng)性和可靠性的集成測(cè)試軟件系統(tǒng)是有效載荷研制過(guò)程中的重要組成部分[2]。
目前國(guó)外探空火箭有效載荷系統(tǒng)由于應(yīng)用廣、需求大,測(cè)試工作發(fā)展較好,如美國(guó)NASA的Improved Orion和 Terrier Malemute系統(tǒng)探空火箭采用的CDMS載荷監(jiān)測(cè)系統(tǒng)[3],歐洲ESA的Texus和Maxus系列探空火箭采用的DELTA數(shù)據(jù)實(shí)時(shí)處理系統(tǒng),加拿大CSA的Black Brant系列探空火箭使用的地面載荷環(huán)境模擬測(cè)試系統(tǒng)。這些測(cè)試系統(tǒng)采用先進(jìn)的載荷監(jiān)測(cè)技術(shù),同時(shí)都使用了分布式組網(wǎng),既方便了載荷研制人員的測(cè)試工作,又節(jié)約了大量人力。國(guó)內(nèi)探空火箭有效載荷系統(tǒng)因需求和商品化等問(wèn)題在20世紀(jì)80~90年代經(jīng)歷了一個(gè)低潮期,發(fā)展近乎停滯,現(xiàn)有最近的資料是1988年由中科院空間科學(xué)與應(yīng)用研究中心為織女系列探空火箭研制的一套在IBM-AT機(jī)上實(shí)時(shí)處理有效載荷數(shù)據(jù)的監(jiān)測(cè)軟件,時(shí)間久遠(yuǎn),技術(shù)上已經(jīng)與國(guó)外同行有較大差距。近年來(lái),隨著“子午工程”等科學(xué)探測(cè)項(xiàng)目的展開(kāi),探空火箭作為臨近空間40~300 km唯一的實(shí)地探測(cè)工具又重新引起人們的重視,因此為滿足新的探測(cè)任務(wù)需要,開(kāi)發(fā)新的用于探空火箭有效載荷測(cè)試的軟件系統(tǒng)意義重大。
本文結(jié)合探空火箭有效載荷地面試驗(yàn)的特點(diǎn),論述了其測(cè)試軟件系統(tǒng)的關(guān)鍵技術(shù)點(diǎn),為類似系統(tǒng)的研制提供借鑒。
探空火箭有效載荷集成測(cè)試系統(tǒng)的主要功能是為探空火箭在完成發(fā)射任務(wù)前所需進(jìn)行的各類試驗(yàn)(振動(dòng)實(shí)驗(yàn)、溫度循環(huán)實(shí)驗(yàn)等)提供支持,主要包括對(duì)箭載設(shè)備試驗(yàn)數(shù)據(jù)的接收與處理、模擬發(fā)射過(guò)程中的各項(xiàng)指令及相應(yīng)的錯(cuò)誤記錄。
根據(jù)載荷數(shù)據(jù)在試驗(yàn)過(guò)程中的數(shù)據(jù)下行方式不同,試驗(yàn)過(guò)程可分為有線接收與無(wú)線接收兩種模式(進(jìn)入發(fā)射場(chǎng)后無(wú)線模式略有不同)。探空火箭有效載荷集成測(cè)試系統(tǒng)的主要硬件架構(gòu)見(jiàn)圖1。
圖1 探空火箭有效載荷集成測(cè)試硬件系統(tǒng)Fig.1 Sounding rocket payload integration testing hardware systems
(1)箭載有效載荷單元:主要包括探空火箭所搭載的各類儀器設(shè)備,一般根據(jù)不同的試驗(yàn)項(xiàng)目,放置在不同試驗(yàn)平臺(tái)上。
(2)主監(jiān)測(cè)單元:主監(jiān)測(cè)單元主要接收來(lái)自箭載有效載荷單元的載荷數(shù)據(jù),進(jìn)行處理和顯示;根據(jù)試驗(yàn)項(xiàng)目需要,向箭載有效載荷單元發(fā)送指令,模擬火箭發(fā)射各階段系統(tǒng)狀態(tài);此外,主監(jiān)測(cè)單元將通過(guò)網(wǎng)絡(luò)向輔助監(jiān)測(cè)單元發(fā)送數(shù)據(jù)。
(3)輔助監(jiān)測(cè)單元:輔助監(jiān)測(cè)單元通過(guò)局域網(wǎng)從主監(jiān)測(cè)單元接收試驗(yàn)數(shù)據(jù),提供給載荷研究人員進(jìn)行觀測(cè),并在試驗(yàn)結(jié)束后對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行分包等處理。
探空火箭有效載荷集成測(cè)試系統(tǒng)軟件部分以有效載荷監(jiān)測(cè)服務(wù)器與有效載荷監(jiān)測(cè)客戶終端為核心,實(shí)現(xiàn)對(duì)試驗(yàn)數(shù)據(jù)的處理與觀測(cè)。此外,還包括指令轉(zhuǎn)發(fā)軟件和試后數(shù)據(jù)處理共4個(gè)軟件。其下行數(shù)據(jù)采用CCSDS標(biāo)準(zhǔn)格式,箭載公用設(shè)備將各載荷數(shù)據(jù)按該標(biāo)準(zhǔn)進(jìn)行打包發(fā)送,集成測(cè)試軟件遵照該標(biāo)準(zhǔn)設(shè)計(jì)對(duì)數(shù)據(jù)進(jìn)行處理,并完成對(duì)有效載荷下行數(shù)據(jù)的差錯(cuò)檢測(cè)與恢復(fù),供研制人員進(jìn)行分析。
圖1中無(wú)線/有線鏈路監(jiān)測(cè)計(jì)算機(jī)上的有效載荷監(jiān)測(cè)服務(wù)器軟件是整個(gè)測(cè)試軟件系統(tǒng)的核心,其按照軟件功能分層設(shè)計(jì)的思想共分4層[4],各層功能模塊和數(shù)據(jù)流(箭頭表示數(shù)據(jù)流方向)如圖2所示。
圖2 有效載荷監(jiān)測(cè)服務(wù)器軟件模塊結(jié)構(gòu)圖Fig.2 Block diagram of the payload monitoring server software
為提高軟件運(yùn)行效率,采用多線程設(shè)計(jì),各層為獨(dú)立線程,層間采用循環(huán)緩沖區(qū)進(jìn)行數(shù)據(jù)交換。
正式的探空火箭遙測(cè)設(shè)備體積龐大,箭載載荷集成測(cè)試時(shí)無(wú)法進(jìn)入試驗(yàn)場(chǎng)所,因此實(shí)際測(cè)試時(shí)往往采用簡(jiǎn)易的無(wú)線接收設(shè)備。這樣的設(shè)備雖然輕便簡(jiǎn)單,但功能有限,不具備解模糊功能,因此本集成測(cè)試軟件系統(tǒng)提出了一種動(dòng)態(tài)解模糊的算法,通過(guò)軟件解模糊,以支持載荷設(shè)備的無(wú)線接收測(cè)試。
大部分探空火箭無(wú)線數(shù)據(jù)鏈路采用的是BPSK方式,BPSK是種常用的調(diào)制解調(diào)技術(shù),而相位模糊問(wèn)題一直是其實(shí)現(xiàn)解調(diào)中的關(guān)鍵問(wèn)題之一,相位模糊問(wèn)題直接影響到探空火箭射頻無(wú)線鏈路所收到的數(shù)據(jù)質(zhì)量,然而根據(jù)文獻(xiàn)[5],在通信信號(hào)恢復(fù)過(guò)程中BPSK必將產(chǎn)生相位模糊。相位模糊將直接導(dǎo)致無(wú)線鏈路收到的探空火箭有效載荷數(shù)據(jù)出現(xiàn)比特位翻轉(zhuǎn)的現(xiàn)象,即接收到的字節(jié)數(shù)據(jù)變?yōu)榉创a,例如下傳數(shù)據(jù)幀原本的16進(jìn)制同步頭“1ACFFC1D”變?yōu)椤癊53003E2”。實(shí)際測(cè)試過(guò)程中,由于環(huán)境及人為等因素,一次試驗(yàn)過(guò)程(如振動(dòng)試驗(yàn))經(jīng)常出現(xiàn)多次正反碼翻轉(zhuǎn),影響到接收數(shù)據(jù)的準(zhǔn)確性,解決該問(wèn)題的常規(guī)方法是對(duì)下傳數(shù)據(jù)進(jìn)行差分編碼,但為了不提高硬件測(cè)試成本和箭載有效載荷設(shè)備的復(fù)雜度,本次探空火箭有效載荷測(cè)試系統(tǒng)在監(jiān)測(cè)服務(wù)器端采用一種軟件算法來(lái)動(dòng)態(tài)地跟蹤數(shù)據(jù)正反碼的變化,進(jìn)而對(duì)接收到的反碼數(shù)據(jù)進(jìn)行取反處理,從而得到正確數(shù)據(jù),達(dá)到解模糊的目的。
該算法在數(shù)據(jù)校驗(yàn)層的解模糊模塊中進(jìn)行,其原理是:利用下傳數(shù)據(jù)幀中至少同步碼(1ACFFC1D)是固定不變的這一特點(diǎn),通過(guò)在接收到的數(shù)據(jù)中等間隔地抽取部分?jǐn)?shù)據(jù)進(jìn)行簡(jiǎn)易的同步碼檢測(cè),如其中發(fā)現(xiàn)是反碼同步碼(E53003E2),則認(rèn)為所接收到的數(shù)據(jù)是反碼,對(duì)其進(jìn)行取反運(yùn)算,如果沒(méi)有則為正碼,不做處理。解模糊模塊的功能是盡可能多地糾正由相位模糊造成的反碼數(shù)據(jù),本身不進(jìn)行有效數(shù)據(jù)的選擇,無(wú)論數(shù)據(jù)中是否有正/反同步碼,解模糊處理后的數(shù)據(jù)一律送入緩沖區(qū),再由后面的同步碼檢測(cè)模塊統(tǒng)一進(jìn)行完整的正同步碼“1ACFFC1D”的檢測(cè),該模塊會(huì)將解模糊后仍錯(cuò)誤的數(shù)據(jù)做丟棄處理,保留有效數(shù)據(jù)。解模糊算法流程如圖3所示。
圖3 動(dòng)態(tài)解模糊算法流程圖Fig.3 The flowchart of dynamic defuzzification algorithm
在實(shí)際集成測(cè)試試驗(yàn)過(guò)程中,該算法在軟件層面實(shí)現(xiàn)對(duì)相位模糊的動(dòng)態(tài)跟蹤簡(jiǎn)單有效,從而對(duì)數(shù)據(jù)進(jìn)行修正處理。該算法采用抽樣檢測(cè)方式,因此在算法效率上也有非常好的實(shí)時(shí)性。以本次箭載有效載荷雙探針電場(chǎng)儀為例,在進(jìn)行隨機(jī)振動(dòng)測(cè)試時(shí),采集的數(shù)據(jù)波形曲線如圖4所示。
圖4 電場(chǎng)儀數(shù)據(jù)波形圖Fig.4 Electric field instrument data waveform
由于振動(dòng)測(cè)試時(shí),存在人員的走動(dòng)等干擾因素,圖4中未進(jìn)行解模糊處理時(shí),干擾造成2次明顯的采集過(guò)程中斷;進(jìn)行解模糊處理后,糾正了干擾造成的模糊,獲得了更多的有效數(shù)據(jù),數(shù)據(jù)采集過(guò)程無(wú)明顯中斷。
探空火箭有效載荷在集成測(cè)試時(shí),還應(yīng)為載荷研制人員提供獨(dú)立的有效載荷監(jiān)測(cè)客戶終端軟件,便于研制人員各自觀測(cè)載荷設(shè)備,提高試驗(yàn)效率。
與一般儀器的測(cè)試試驗(yàn)不同,探空火箭有效載荷的集成試驗(yàn)具有待測(cè)儀器種類多、數(shù)據(jù)量大、實(shí)時(shí)性高的特點(diǎn),如果采用傳統(tǒng)的TCP或UDP點(diǎn)對(duì)點(diǎn)通信方式,在“一對(duì)多”的情況下(如B/S或C/S架構(gòu)),對(duì)服務(wù)器的數(shù)據(jù)吞吐量和服務(wù)器的計(jì)算負(fù)荷都較大。以本次探空火箭發(fā)射任務(wù)為例,探空火箭有效載荷數(shù)據(jù)下行速率為2 Mb/s,共有7臺(tái)有效載荷,若所有研制人員參試,至少需要7臺(tái)有效載荷監(jiān)測(cè)客戶終端,如果采用傳統(tǒng)點(diǎn)對(duì)點(diǎn)的UDP或TCP,那么要求服務(wù)器數(shù)據(jù)轉(zhuǎn)發(fā)能力至少是7×2=14 Mb/s,已超過(guò)普通10 M網(wǎng)卡的上限,因此在不提高硬件成本和軟件復(fù)雜度的條件下,采用IP組播技術(shù),實(shí)現(xiàn)圖1中主監(jiān)測(cè)單元和輔助監(jiān)測(cè)單元之間的數(shù)據(jù)通信。IP組播技術(shù)雖然基于UDP協(xié)議,但利用IP組播技術(shù)服務(wù)器只需發(fā)送1次,數(shù)據(jù)包僅在傳輸路徑分岔時(shí)由路由器復(fù)制并轉(zhuǎn)發(fā),實(shí)現(xiàn)“一次發(fā)送,多點(diǎn)接收”,IP組播的這種傳輸機(jī)制,使其在面向多個(gè)數(shù)據(jù)接收者時(shí),能夠有效降低發(fā)送主機(jī)的負(fù)荷、節(jié)省網(wǎng)絡(luò)帶寬、提高傳輸效率[6]。
在實(shí)際測(cè)試中,監(jiān)測(cè)服務(wù)器軟件將待發(fā)送的數(shù)據(jù)進(jìn)行分片,保證每片為512個(gè)字節(jié),然后再通過(guò)IP組播進(jìn)行發(fā)送,能獲得更好的傳輸效果。這是因?yàn)楦鶕?jù)現(xiàn)有網(wǎng)絡(luò)協(xié)議,局域網(wǎng)中IP協(xié)議中可能的最小MTU(最大傳輸單元)為X.25協(xié)議576個(gè)字節(jié),如果1次發(fā)送的組播數(shù)據(jù)過(guò)大,由于組播是不可靠傳輸,可能導(dǎo)致單個(gè)組播數(shù)據(jù)包由于IP分片的數(shù)據(jù)丟失,而使整個(gè)數(shù)據(jù)包失效。如果發(fā)送前進(jìn)行分片,可以保證一個(gè)組播數(shù)據(jù)包為一個(gè)IP分片,將數(shù)據(jù)丟失影響控制在較小范圍內(nèi),提高傳輸成功率。為比較傳輸效果,在局域網(wǎng)內(nèi),采用分片、不分片方式分別進(jìn)行數(shù)據(jù)發(fā)送測(cè)試,在3種傳輸速率(1、3、10 Mb/s)下,經(jīng)過(guò)60 s時(shí)長(zhǎng)測(cè)試,測(cè)試結(jié)果如表1所示。
表1 未分片與分片IP組播表Table 1 IP multicast data table of unslice and slice
探空火箭在測(cè)試和發(fā)射過(guò)程中,由于環(huán)境干擾和天線波瓣臨界區(qū)等原因,會(huì)使射頻無(wú)線鏈路下傳的數(shù)據(jù)產(chǎn)生錯(cuò)誤,為盡可能多地還原下傳數(shù)據(jù),根據(jù)CCSDS標(biāo)準(zhǔn),探空火箭有效載荷下傳數(shù)據(jù)采用RS編譯碼進(jìn)行糾錯(cuò)。因箭載有效載荷測(cè)試過(guò)程硬件條件有限,目前所采用的集成測(cè)試遙測(cè)接收機(jī)還不具備RS譯碼能力,所以在有效載荷監(jiān)測(cè)服務(wù)器中加入RS軟件譯碼功能。按照CCSDS標(biāo)準(zhǔn),探空火箭采用RS(255,223)碼,交織深度為2,主要譯碼步驟如下:
(1)將512字節(jié)的下行數(shù)據(jù)幀進(jìn)行解交織;
(2)由解交織后的2個(gè)編碼數(shù)組各自計(jì)算出伴隨式 S=(S1,S2,…,S2t);
(3)由伴隨式S求錯(cuò)誤位置多項(xiàng)式σ(x),錯(cuò)誤位置多項(xiàng)式的根提供錯(cuò)誤的位置;
(4)用錢(qián)搜索解出σ(x)的根,得到錯(cuò)誤位置數(shù),確定出錯(cuò)位置;
(5)由錯(cuò)誤位置數(shù)求得錯(cuò)誤值,從而得到錯(cuò)誤圖樣E(x),由R(x)-E(x)得到最可能發(fā)送的碼字C(x),完成譯碼。
其中步驟(3)是關(guān)鍵,求解 σ(x)的關(guān)鍵方程:S(x)σ(x)≡ω(x)(modx2t+1),如果錯(cuò)誤個(gè)數(shù) t較大時(shí),用展開(kāi)關(guān)鍵方程兩邊的方法求σ(x)會(huì)很繁瑣。所以,采用BM迭代方法來(lái)解關(guān)鍵方程。迭代算法分4步執(zhí)行[7]。具體程序算法流程如圖5所示。
圖5 求解RS譯碼關(guān)鍵方程流程圖Fig.5 The flowchart of RS decoder key equation
上述流程在 RS(255,223)碼時(shí),t=16。
以載荷系統(tǒng)進(jìn)行的隨機(jī)振動(dòng)試驗(yàn)為例,由于鑒定級(jí)試驗(yàn)未采用RS譯碼,導(dǎo)致了較高的誤碼率,而驗(yàn)收級(jí)試驗(yàn)采用了RS譯碼,使得誤碼率大為降低,具體試驗(yàn)數(shù)據(jù)見(jiàn)表2。
表2 RS譯碼效果Table 2 RS decoding effect
以往國(guó)內(nèi)探空火箭有效載荷測(cè)試系統(tǒng)的數(shù)據(jù)采集系統(tǒng)一般通過(guò)RS232、PXI和GPIB等接口標(biāo)準(zhǔn)與上位機(jī)進(jìn)行數(shù)據(jù)交換,這些接口有些速率較低無(wú)法滿足新的箭載載荷的需求,有些需要板卡插入計(jì)算機(jī)主板中,接插不便。USB作為一種通用的接口標(biāo)準(zhǔn),具有傳輸速率高、接插方便(即插即用)等優(yōu)點(diǎn),適合載荷測(cè)試系統(tǒng)的數(shù)據(jù)采集。
探空火箭有效載荷在各項(xiàng)測(cè)試試驗(yàn)中需要對(duì)公用設(shè)備輸入特定指令,以模擬火箭發(fā)射的過(guò)程,例如本系統(tǒng)在主監(jiān)測(cè)單元中加入指令發(fā)送終端,該終端采用USB接口實(shí)現(xiàn)指令的發(fā)送和接收。此外,指令盒與422接收盒一樣都采用cypress的USB芯片(型號(hào)為68013)與服務(wù)器進(jìn)行通信。但在測(cè)試過(guò)程中發(fā)現(xiàn),由于探空火箭數(shù)據(jù)下行速率大(2 Mb/s),如果上位機(jī)軟件采用普通的循環(huán)接收方式,每隔一段時(shí)間會(huì)出現(xiàn)丟數(shù)現(xiàn)象,為此采用循環(huán)隊(duì)列數(shù)據(jù)采集方式進(jìn)行采集。該方式與循環(huán)接收方式不同點(diǎn)在于,它事先發(fā)出一定數(shù)量的采集IO指令,然后再進(jìn)行采集,而不是等到采集完再發(fā)送IO指令。該方法使得數(shù)據(jù)采集的可靠性大大提高,經(jīng)過(guò)96 h的常溫老練試驗(yàn),該接收方式運(yùn)行穩(wěn)定,未出現(xiàn)數(shù)據(jù)丟失。
探空火箭有效載荷集成測(cè)試現(xiàn)場(chǎng)環(huán)境比較復(fù)雜,因此在界面設(shè)計(jì)上力求直觀簡(jiǎn)單,方便測(cè)試人員的操作,防止由于人員的誤操作導(dǎo)致試驗(yàn)的失敗。本系統(tǒng)采用C#編程在界面設(shè)計(jì)上更加美觀,如圖6、圖7所示。
圖6 有效載荷監(jiān)測(cè)服務(wù)器Fig.6 Payload monitoring server
圖7 指令轉(zhuǎn)發(fā)軟件Fig.7 Instruction software
探空火箭有效載荷系統(tǒng)需要進(jìn)行隨機(jī)振動(dòng)、常溫老練和溫度循環(huán)等地面試驗(yàn),有效載荷集成測(cè)試軟件在各項(xiàng)試驗(yàn)中運(yùn)行穩(wěn)定可靠,具有較好的數(shù)據(jù)分析與處理能力,為研制人員完成測(cè)試任務(wù)提供了支持。該軟件系統(tǒng)相對(duì)于國(guó)內(nèi)以前的探空火箭有效載荷集成測(cè)試軟件有以下優(yōu)點(diǎn):
(1)軟件支持載荷系統(tǒng)的無(wú)線接收模式,具有動(dòng)態(tài)解模糊的能力;
(2)采用組播技術(shù),便于設(shè)備研制人員監(jiān)測(cè)試驗(yàn)過(guò)程;
(3)軟件支持載荷數(shù)據(jù)采集設(shè)備的USB接口,相對(duì)于以往類似系統(tǒng)采用的RS232、PXI和GPIB接口,更加靈活方便;
(4)采用了軟件方法進(jìn)行RS譯碼,軟件系統(tǒng)糾錯(cuò)能力更高;
(5)采用新的.net架構(gòu)編程,該軟件系統(tǒng)在分層設(shè)計(jì)和界面可視化等方面較之前的探空火箭項(xiàng)目(如織女系列)所使用的有效載荷集成測(cè)試軟件有了較大提高。
[1]姜秀杰,劉波,等.探空火箭的發(fā)展現(xiàn)狀及趨勢(shì)[J].科技導(dǎo)報(bào),2009,12(23):101-110.
[2]陳萍,姜秀杰.基于FPGA的CAN總線通信系統(tǒng)[J].計(jì)算機(jī)測(cè)量與控制,2009,17(12):2482-2484.
[3]Sounding Rockets Program Office.NASA sounding rocket program handbook[M].2005.
[4]梁國(guó)柱,張衛(wèi)華,郭紅杰,等.固體火箭發(fā)動(dòng)機(jī)集成方案設(shè)計(jì)系統(tǒng) SRMCAD[J].固體火箭技術(shù),2003,26(3):18-20.
[5]姚彥,梅順良,高葆新.數(shù)字微波中繼通信工程[M].北京:人民郵電出版社,1988.
[6]張景峰,鄒澎濤.C#中實(shí)現(xiàn)IP組播的關(guān)鍵技術(shù)[J].電腦開(kāi)發(fā)與應(yīng)用,2007,20(9):67-69.
[7]王新梅,肖國(guó)鎮(zhèn).糾錯(cuò)碼——原理與方法[M].西安:西安電子科技大學(xué)出版社,2001.