《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 一種遙測數(shù)據(jù)實時壓縮系統(tǒng)
一種遙測數(shù)據(jù)實時壓縮系統(tǒng)
來源:電子技術(shù)應(yīng)用2013年第4期
冷佳鵬, 劉文怡
1. 中北大學(xué) 電子測試技術(shù)國家重點實驗室,山西 太原030051; 2. 儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西 太原030051
摘要: 介紹了一種遙測數(shù)據(jù)實時壓縮系統(tǒng)的設(shè)計方案,該設(shè)計以FPGA+DSP為硬件架構(gòu),以具有一階差分預(yù)測的ARC編碼為無損壓縮方案,達(dá)到了較高的壓縮去除率和較快的壓縮速度,適合在可靠性要求較高的遙測系統(tǒng)中使用。經(jīng)實驗驗證,無損壓縮系統(tǒng)有效地緩解了遙測系統(tǒng)的傳輸帶寬壓力。
中圖分類號: TP274
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)04-0072-03
A kind of telemetry data real-time compression system
Leng Jiapeng, Liu Wenyi
1. National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China; 2. Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education, Taiyuan 030051, China
Abstract: A kind of telemetry data real-time compression system is introduced, this design with FPGA + DSP for hardware architecture, with first-order difference prediction ARC coding for lossless, the system achieve high compression removal efficiency and faster compression speed, it’s suitable for high reliability requirements telemetry system. The results of experiment show that the lossless compression system effectively alleviates the transmission bandwidth pressure of telemetry system.
Key words : telemetry; data compression; first-order difference prediction; ARC coding

    航天技術(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。