文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)04-0072-03
航天技術(shù)的發(fā)展對遙測系統(tǒng)提出了更高的要求,測量參數(shù)種類增多、數(shù)據(jù)量增大、測量實時性增強為有限的傳輸信道容量帶來巨大壓力。為降低遙測系統(tǒng)對傳輸信道帶寬的要求,采用數(shù)據(jù)壓縮技術(shù),可以有效地提高信道利用率,增強遙測數(shù)據(jù)的實時性和吞吐率。世界上較為先進(jìn)的航天數(shù)據(jù)壓縮技術(shù)被各國視為機密。我國于2000年成功發(fā)射的“資源二號”衛(wèi)星采用DPCM編碼器,速率為102 Mb/s,壓縮比為2:1。填補了我國航天星載數(shù)據(jù)壓縮的空白[1-2]。對于較平穩(wěn)的數(shù)據(jù),包括DPCM在內(nèi)大多數(shù)無損壓縮算法都可以達(dá)到2:1的壓縮比和較穩(wěn)定的壓縮時間,但針對一些復(fù)雜情況下的數(shù)據(jù),比如火箭飛行過程中的噪聲數(shù)據(jù),在信號活躍期,其壓縮時間超出了實時壓縮的忍受極限。本文設(shè)計了一種以FPGA+DSP為實現(xiàn)平臺,以具有一階差分預(yù)測的ARC編碼為壓縮算法的數(shù)據(jù)壓縮系統(tǒng)。
1 航天遙測數(shù)據(jù)實時壓縮的關(guān)鍵技術(shù)
從算法方面考慮:評價一個壓縮算法的優(yōu)劣有兩個重要指標(biāo),即壓縮去除率和壓縮用時,在實時系統(tǒng)中對時間的要求更為嚴(yán)格,而在航天遙測系統(tǒng)這樣特殊的應(yīng)用場合還必須考慮可靠性因素。壓縮去除率僅與算法有關(guān),而壓縮用時和可靠性因素不僅與算法相關(guān),還與硬件實現(xiàn)平臺密切相關(guān)[3]。
從硬件實現(xiàn)方面考慮:成本和開發(fā)時間是需要考慮的首要條件,由ASIC(專用集成電路)來實現(xiàn)壓縮算法可以滿足極為苛刻的時間要求和很高的可靠性要求,但開發(fā)周期太長,開發(fā)成本過大,不宜作為航天遙測這樣小批量生產(chǎn)的實現(xiàn)方案;由FPGA(現(xiàn)場可編程門陣列)實現(xiàn)壓縮算法也可以達(dá)到很快的壓縮速度和很好的可靠性,但用硬件描述語言實現(xiàn)復(fù)雜的算法需要很長的開發(fā)周期;單純用DSP(數(shù)字信號處理器)實現(xiàn)又很難保證數(shù)據(jù)采集、壓縮和輸出的實時性要求[4]。因此,由FPGA實現(xiàn)數(shù)據(jù)傳輸、由DSP實現(xiàn)壓縮算法的FPGA+DSP結(jié)構(gòu)是航天遙測數(shù)據(jù)壓縮較為理想的實現(xiàn)方案。
2 無損壓縮算法選擇
2.1 壓縮去除率
定義1:設(shè)壓縮系統(tǒng)輸入的數(shù)據(jù)量為Ni,壓縮編碼后輸出數(shù)據(jù)量為No,則w=(1-No/Ni)稱之為壓縮去除率,以表示壓縮系統(tǒng)的空間壓縮效率。
針對不同統(tǒng)計特性的數(shù)據(jù),特定的算法表現(xiàn)出的壓縮去除率相差很大,要根據(jù)數(shù)據(jù)的統(tǒng)計特性和應(yīng)用場合才能選出合適的算法[5]。本文選用一段已測得的火箭飛行過程中的噪聲數(shù)據(jù)對算法進(jìn)行比較。由于實現(xiàn)平臺對算法的壓縮去除率沒有影響,因此選用易于算法實現(xiàn)的PC機作為實現(xiàn)平臺。
在航天領(lǐng)域,對可靠性的要求尤為重要,對遙測領(lǐng)域代碼的共識是越小的代碼量具有越高的可靠性,因此本文選用ARC、LRice和LZARI三種壓縮算法進(jìn)行比較。
以上編碼方法都圍繞Shannon思想中信息量與信源分布的關(guān)系而展開,這些編碼方法統(tǒng)稱為統(tǒng)計編碼。在Shannon 框架下,除了統(tǒng)計編碼外還有預(yù)測編碼與變換編碼,統(tǒng)稱三大經(jīng)典編碼。后兩種編碼本身不會改變數(shù)據(jù)量,但是在特定用途下可以降低平均碼長,再與統(tǒng)計編碼(也稱為熵編碼)結(jié)合,可以得到可觀的壓縮效果。正是基于這種原因,可以把壓縮編碼分兩步完成,第一步稱之為預(yù)變換編碼,第二步才是熵編碼[6]。熵編碼本身是可逆的。如果第一步的變換編碼是可逆的,整個壓縮就是無損壓縮;但如果第一步的變換是不可逆的,那么整個壓縮就會是不可逆的,就是有損壓縮。預(yù)變換編碼是通過去相關(guān)導(dǎo)致碼元表示位數(shù)降低來影響壓縮效果的。
一階多項式預(yù)測編碼就是一階差分編碼。根據(jù)參考文獻(xiàn)[8]的研究,編碼效率隨著預(yù)測階數(shù)的增高而增大,然而,二階以上的預(yù)測編碼對編碼效率的改善已經(jīng)很小。對于變化較平穩(wěn)的數(shù)據(jù)流,采用一階差分就可達(dá)到很高的編碼效率;對于變化較大的數(shù)據(jù)流,其數(shù)據(jù)相關(guān)性本來就很小,預(yù)測編碼對數(shù)據(jù)的分布不會有明顯改善。顯然,預(yù)測階數(shù)越高,編碼過程中的計算量就越大,在DSP中的執(zhí)行時間也就越長,在火箭這種高可靠性要求的應(yīng)用場合,為了甚微的壓縮空間改進(jìn)而占用較多的時間顯然是不可取的。表1是在PC機上對不同算法的壓縮去除率的比較。
從表1可以看出LZARI算法具有最好的壓縮去除率,LRice在數(shù)據(jù)相關(guān)性好時(正弦波)壓縮去除率較高,在數(shù)據(jù)相關(guān)性較差時(噪聲)壓縮去除較低,可靠性較差,經(jīng)一階差分處理后,各算法對正弦波壓縮去除率改善較大,而對噪聲數(shù)據(jù)的改善很小。
2.2 壓縮用時
算法邏輯是決定其時間效率的根本所在,評價其執(zhí)行效率可以有兩種手段:一種是通過算法機理建模分析,另一種是直接通過外部數(shù)據(jù)測試。由于大部分算法的邏輯模型難以建立,通過模型進(jìn)行準(zhǔn)確、定量的比較就難以實現(xiàn)。在實際應(yīng)用環(huán)境中,更關(guān)注一個算法的使用性能。一組既定的算法的復(fù)雜度是確定的,可以弱化其內(nèi)部工作機理,直接從外部施加一定的條件進(jìn)行精確測試。
對一個壓縮系統(tǒng)而言,其壓縮時間與實現(xiàn)平臺、壓縮算法和待壓縮數(shù)據(jù)三者相關(guān)。實現(xiàn)平臺從處理器結(jié)構(gòu)進(jìn)行分類,可以分為指令型和邏輯型兩種。計算機、DSP、ARM 平臺都屬于指令結(jié)構(gòu),而專用集成電路平臺屬于邏輯型結(jié)構(gòu)。由于專用集成電路采用硬件電路邏輯實現(xiàn),可以達(dá)到很高的壓縮速度,通??梢詽M足實時性要求。本文只針對指令結(jié)構(gòu)平臺進(jìn)行壓縮速度分析。
經(jīng)過對不同類型數(shù)據(jù)的多次壓縮比較,在PC機上仿真的壓縮速度大小依次是LRice>ARC> LZARI,而在DSP上的效果是ARC>LRice>LZARI。這種變化產(chǎn)生的根源主要是DSP 處理器的并行指令執(zhí)行能力使得ARC較LRice反而更快。固定數(shù)據(jù)的一階差分預(yù)測在相同實現(xiàn)平臺上的運行時間是一定的,因此帶一階差分預(yù)測的壓縮算法用時比較同上。
考慮航天設(shè)備對運行環(huán)境、壓縮比、壓縮速度等方面的要求,DSP相比于PC是一種可行的算法實現(xiàn)平臺,因而用ARC算法實現(xiàn)遙測數(shù)據(jù)無損壓縮就更有優(yōu)勢, 本文采用一階差分編碼改進(jìn)的ARC算法對火箭遙測數(shù)據(jù)進(jìn)行無損壓縮。
3 數(shù)據(jù)壓縮系統(tǒng)的實現(xiàn)
遙測數(shù)據(jù)采集系統(tǒng)的工作流程分為采集—壓縮—輸出3個主要步驟。本文利用FPGA+DSP架構(gòu)作為硬件平臺,將待壓縮的6路模擬噪聲信號經(jīng)電壓跟隨后輸入給A/D轉(zhuǎn)換器進(jìn)行量化,量化結(jié)果寫入到FPGA內(nèi)部FIFO數(shù)據(jù)緩沖器中。DSP通過FPGA內(nèi)部FIFO半滿信號讀取數(shù)據(jù),通過識別通道號把數(shù)據(jù)流分配到6個分組緩沖區(qū),其中某一分組緩沖區(qū)滿2 KB就進(jìn)行一次壓縮,壓縮后的數(shù)據(jù)被存入緩沖器SDRAM中。當(dāng)緩沖器半滿時,DSP將壓縮后數(shù)據(jù)串行發(fā)送至FPGA,然后FPGA根據(jù)接口協(xié)議發(fā)送給數(shù)據(jù)接收器,保證壓縮數(shù)據(jù)傳輸?shù)膶崟r性。系統(tǒng)框圖如圖1所示。
由于遙測系統(tǒng)的各功能單元相互獨立,相互通信時需要數(shù)據(jù)緩存進(jìn)行協(xié)調(diào),為此,本設(shè)計多處使用由FPGA內(nèi)核構(gòu)建的FIFO(先進(jìn)先出)暫存器,在保證系統(tǒng)可靠性的同時降低了開發(fā)難度。
考慮遙測系統(tǒng)的整體環(huán)境,數(shù)據(jù)壓縮系統(tǒng)采用固定格式的數(shù)據(jù)流輸出壓縮后數(shù)據(jù),如果壓縮數(shù)據(jù)的產(chǎn)生速率低于數(shù)據(jù)輸出速率,數(shù)據(jù)可完整發(fā)送。由表1可以看出,在強噪聲數(shù)據(jù)階段,數(shù)據(jù)的壓縮去除率很低,剩余數(shù)據(jù)量較大,無法滿足數(shù)據(jù)的即時發(fā)送,產(chǎn)生數(shù)據(jù)積累,必須采用數(shù)據(jù)緩沖單元。數(shù)據(jù)緩沖單元容量大小如下:
其中t1、t2分別為數(shù)據(jù)積累的開始和結(jié)束時間,vi、vo分別為壓縮數(shù)據(jù)的產(chǎn)生和發(fā)送速率。航天器實際飛行過程中,強噪聲數(shù)據(jù)階段僅為幾分鐘左右,其余時間段都可達(dá)到較高的數(shù)據(jù)壓縮去除率。由此估算出緩沖器的容量為1 MB左右,采用容量為8 MB的SDRAM,保證數(shù)據(jù)的完整輸出。
4 實驗及結(jié)果分析
火箭飛行過程中的噪聲數(shù)據(jù)是一種典型的航天遙測數(shù)據(jù),火箭上的噪聲在飛行過程中的大部分時間是平穩(wěn)的,在小部分時間內(nèi)是劇烈變化的。數(shù)據(jù)壓縮系統(tǒng)要保證壓縮用時和壓縮去除率兩方面都滿足要求。表2是一段實測噪聲數(shù)據(jù)以各種壓縮算法在DSP平臺上壓縮效果比較。
從表2可以看出,ARC算法具有較快的壓縮速度和較高的壓縮去除率。加入一階差分預(yù)測后帶來的時間延遲并不是很明顯,卻明顯改善了壓縮去除率。結(jié)合各算法表現(xiàn)出的壓縮去除率,具有一階差分的ARC算法在航天遙測這種應(yīng)用場合表現(xiàn)出了最佳性能。
采用FPGA+DSP結(jié)構(gòu)和用一階差分優(yōu)化的ARC算法對火箭遙測數(shù)據(jù)進(jìn)行無損壓縮,達(dá)到了較高的壓縮去除率和可靠性,減輕了遙測系統(tǒng)的信道傳輸壓力,提高了數(shù)據(jù)的傳輸效率,是航天遙測數(shù)據(jù)壓縮較為理想的實現(xiàn)方案。
參考文獻(xiàn)
[1] 王泉,齊春,羅新民,等. LZW壓縮算法的改進(jìn)及其參數(shù)優(yōu)化分析[J].重慶郵電學(xué)院學(xué)報,2005,17(3):351-355.
[2] RIZZO F, STORER J A,CARPENTIERI B.LZ-based image compression[J].Information Sciences,2001(135):107-122.
[3] 高藝,孫桂玲,李維祥,等.基于預(yù)測編碼的無線傳感器網(wǎng)絡(luò)節(jié)點數(shù)據(jù)壓縮算法研究[J].南開大學(xué)學(xué)報:自然科學(xué)版,2010,43(6):77-80.
[4] BENTLEY J, MCILROY D. Data compression with long repeated strings[J]. Information Sciences, 2001(135):1-11.
[5] 劉向宇,王雅哲,楊曉春,等. 面向無線傳感器網(wǎng)絡(luò)的流數(shù)據(jù)壓縮技術(shù)[J]. 計算機科學(xué),2007,34(2):141-142.
[6] 沈海峰. 遙測系統(tǒng)提高傳輸容量方法探討[J]. 裝備指揮技術(shù)學(xué)院學(xué)報,2007,18(2):99-104.
[7] 張?zhí)煨?,鄒勝,曾永慧.基于FPGA的圖像無損壓縮算法的實現(xiàn)[J].系統(tǒng)工程與電子技術(shù),2004,26(10):1340-1343.
[8] ZIV J, LEMPEL A. A universal algorithm for sequential data compression[J]. IEEE Trans. Inform. Theory,1977(23):337-343.