《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 一種遙測(cè)數(shù)據(jù)實(shí)時(shí)壓縮系統(tǒng)
一種遙測(cè)數(shù)據(jù)實(shí)時(shí)壓縮系統(tǒng)
來(lái)源:電子技術(shù)應(yīng)用2013年第4期
冷佳鵬, 劉文怡
1. 中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西 太原030051; 2. 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原030051
摘要: 介紹了一種遙測(cè)數(shù)據(jù)實(shí)時(shí)壓縮系統(tǒng)的設(shè)計(jì)方案,該設(shè)計(jì)以FPGA+DSP為硬件架構(gòu),以具有一階差分預(yù)測(cè)的ARC編碼為無(wú)損壓縮方案,達(dá)到了較高的壓縮去除率和較快的壓縮速度,適合在可靠性要求較高的遙測(cè)系統(tǒng)中使用。經(jīng)實(shí)驗(yàn)驗(yàn)證,無(wú)損壓縮系統(tǒng)有效地緩解了遙測(cè)系統(tǒng)的傳輸帶寬壓力。
中圖分類(lèi)號(hào): TP274
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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ā)展對(duì)遙測(cè)系統(tǒng)提出了更高的要求,測(cè)量參數(shù)種類(lèi)增多、數(shù)據(jù)量增大、測(cè)量實(shí)時(shí)性增強(qiáng)為有限的傳輸信道容量帶來(lái)巨大壓力。為降低遙測(cè)系統(tǒng)對(duì)傳輸信道帶寬的要求,采用數(shù)據(jù)壓縮技術(shù),可以有效地提高信道利用率,增強(qiáng)遙測(cè)數(shù)據(jù)的實(shí)時(shí)性和吞吐率。世界上較為先進(jìn)的航天數(shù)據(jù)壓縮技術(shù)被各國(guó)視為機(jī)密。我國(guó)于2000年成功發(fā)射的“資源二號(hào)”衛(wèi)星采用DPCM編碼器,速率為102 Mb/s,壓縮比為2:1。填補(bǔ)了我國(guó)航天星載數(shù)據(jù)壓縮的空白[1-2]。對(duì)于較平穩(wěn)的數(shù)據(jù),包括DPCM在內(nèi)大多數(shù)無(wú)損壓縮算法都可以達(dá)到2:1的壓縮比和較穩(wěn)定的壓縮時(shí)間,但針對(duì)一些復(fù)雜情況下的數(shù)據(jù),比如火箭飛行過(guò)程中的噪聲數(shù)據(jù),在信號(hào)活躍期,其壓縮時(shí)間超出了實(shí)時(shí)壓縮的忍受極限。本文設(shè)計(jì)了一種以FPGA+DSP為實(shí)現(xiàn)平臺(tái),以具有一階差分預(yù)測(cè)ARC編碼為壓縮算法的數(shù)據(jù)壓縮系統(tǒng)。

1 航天遙測(cè)數(shù)據(jù)實(shí)時(shí)壓縮的關(guān)鍵技術(shù)
    從算法方面考慮:評(píng)價(jià)一個(gè)壓縮算法的優(yōu)劣有兩個(gè)重要指標(biāo),即壓縮去除率和壓縮用時(shí),在實(shí)時(shí)系統(tǒng)中對(duì)時(shí)間的要求更為嚴(yán)格,而在航天遙測(cè)系統(tǒng)這樣特殊的應(yīng)用場(chǎng)合還必須考慮可靠性因素。壓縮去除率僅與算法有關(guān),而壓縮用時(shí)和可靠性因素不僅與算法相關(guān),還與硬件實(shí)現(xiàn)平臺(tái)密切相關(guān)[3]。
    從硬件實(shí)現(xiàn)方面考慮:成本和開(kāi)發(fā)時(shí)間是需要考慮的首要條件,由ASIC(專(zhuān)用集成電路)來(lái)實(shí)現(xiàn)壓縮算法可以滿(mǎn)足極為苛刻的時(shí)間要求和很高的可靠性要求,但開(kāi)發(fā)周期太長(zhǎng),開(kāi)發(fā)成本過(guò)大,不宜作為航天遙測(cè)這樣小批量生產(chǎn)的實(shí)現(xiàn)方案;由FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)實(shí)現(xiàn)壓縮算法也可以達(dá)到很快的壓縮速度和很好的可靠性,但用硬件描述語(yǔ)言實(shí)現(xiàn)復(fù)雜的算法需要很長(zhǎng)的開(kāi)發(fā)周期;單純用DSP(數(shù)字信號(hào)處理器)實(shí)現(xiàn)又很難保證數(shù)據(jù)采集、壓縮和輸出的實(shí)時(shí)性要求[4]。因此,由FPGA實(shí)現(xiàn)數(shù)據(jù)傳輸、由DSP實(shí)現(xiàn)壓縮算法的FPGA+DSP結(jié)構(gòu)是航天遙測(cè)數(shù)據(jù)壓縮較為理想的實(shí)現(xiàn)方案。
2 無(wú)損壓縮算法選擇
2.1 壓縮去除率

    定義1:設(shè)壓縮系統(tǒng)輸入的數(shù)據(jù)量為Ni,壓縮編碼后輸出數(shù)據(jù)量為No,則w=(1-No/Ni)稱(chēng)之為壓縮去除率,以表示壓縮系統(tǒng)的空間壓縮效率。
    針對(duì)不同統(tǒng)計(jì)特性的數(shù)據(jù),特定的算法表現(xiàn)出的壓縮去除率相差很大,要根據(jù)數(shù)據(jù)的統(tǒng)計(jì)特性和應(yīng)用場(chǎng)合才能選出合適的算法[5]。本文選用一段已測(cè)得的火箭飛行過(guò)程中的噪聲數(shù)據(jù)對(duì)算法進(jìn)行比較。由于實(shí)現(xiàn)平臺(tái)對(duì)算法的壓縮去除率沒(méi)有影響,因此選用易于算法實(shí)現(xiàn)的PC機(jī)作為實(shí)現(xiàn)平臺(tái)。
    在航天領(lǐng)域,對(duì)可靠性的要求尤為重要,對(duì)遙測(cè)領(lǐng)域代碼的共識(shí)是越小的代碼量具有越高的可靠性,因此本文選用ARC、LRice和LZARI三種壓縮算法進(jìn)行比較。
    以上編碼方法都圍繞Shannon思想中信息量與信源分布的關(guān)系而展開(kāi),這些編碼方法統(tǒng)稱(chēng)為統(tǒng)計(jì)編碼。在Shannon 框架下,除了統(tǒng)計(jì)編碼外還有預(yù)測(cè)編碼與變換編碼,統(tǒng)稱(chēng)三大經(jīng)典編碼。后兩種編碼本身不會(huì)改變數(shù)據(jù)量,但是在特定用途下可以降低平均碼長(zhǎng),再與統(tǒng)計(jì)編碼(也稱(chēng)為熵編碼)結(jié)合,可以得到可觀(guān)的壓縮效果。正是基于這種原因,可以把壓縮編碼分兩步完成,第一步稱(chēng)之為預(yù)變換編碼,第二步才是熵編碼[6]。熵編碼本身是可逆的。如果第一步的變換編碼是可逆的,整個(gè)壓縮就是無(wú)損壓縮;但如果第一步的變換是不可逆的,那么整個(gè)壓縮就會(huì)是不可逆的,就是有損壓縮。預(yù)變換編碼是通過(guò)去相關(guān)導(dǎo)致碼元表示位數(shù)降低來(lái)影響壓縮效果的。

     一階多項(xiàng)式預(yù)測(cè)編碼就是一階差分編碼。根據(jù)參考文獻(xiàn)[8]的研究,編碼效率隨著預(yù)測(cè)階數(shù)的增高而增大,然而,二階以上的預(yù)測(cè)編碼對(duì)編碼效率的改善已經(jīng)很小。對(duì)于變化較平穩(wěn)的數(shù)據(jù)流,采用一階差分就可達(dá)到很高的編碼效率;對(duì)于變化較大的數(shù)據(jù)流,其數(shù)據(jù)相關(guān)性本來(lái)就很小,預(yù)測(cè)編碼對(duì)數(shù)據(jù)的分布不會(huì)有明顯改善。顯然,預(yù)測(cè)階數(shù)越高,編碼過(guò)程中的計(jì)算量就越大,在DSP中的執(zhí)行時(shí)間也就越長(zhǎng),在火箭這種高可靠性要求的應(yīng)用場(chǎng)合,為了甚微的壓縮空間改進(jìn)而占用較多的時(shí)間顯然是不可取的。表1是在PC機(jī)上對(duì)不同算法的壓縮去除率的比較。
    從表1可以看出LZARI算法具有最好的壓縮去除率,LRice在數(shù)據(jù)相關(guān)性好時(shí)(正弦波)壓縮去除率較高,在數(shù)據(jù)相關(guān)性較差時(shí)(噪聲)壓縮去除較低,可靠性較差,經(jīng)一階差分處理后,各算法對(duì)正弦波壓縮去除率改善較大,而對(duì)噪聲數(shù)據(jù)的改善很小。

2.2 壓縮用時(shí)
    算法邏輯是決定其時(shí)間效率的根本所在,評(píng)價(jià)其執(zhí)行效率可以有兩種手段:一種是通過(guò)算法機(jī)理建模分析,另一種是直接通過(guò)外部數(shù)據(jù)測(cè)試。由于大部分算法的邏輯模型難以建立,通過(guò)模型進(jìn)行準(zhǔn)確、定量的比較就難以實(shí)現(xiàn)。在實(shí)際應(yīng)用環(huán)境中,更關(guān)注一個(gè)算法的使用性能。一組既定的算法的復(fù)雜度是確定的,可以弱化其內(nèi)部工作機(jī)理,直接從外部施加一定的條件進(jìn)行精確測(cè)試。
    對(duì)一個(gè)壓縮系統(tǒng)而言,其壓縮時(shí)間與實(shí)現(xiàn)平臺(tái)、壓縮算法和待壓縮數(shù)據(jù)三者相關(guān)。實(shí)現(xiàn)平臺(tái)從處理器結(jié)構(gòu)進(jìn)行分類(lèi),可以分為指令型和邏輯型兩種。計(jì)算機(jī)、DSP、ARM 平臺(tái)都屬于指令結(jié)構(gòu),而專(zhuān)用集成電路平臺(tái)屬于邏輯型結(jié)構(gòu)。由于專(zhuān)用集成電路采用硬件電路邏輯實(shí)現(xiàn),可以達(dá)到很高的壓縮速度,通??梢詽M(mǎn)足實(shí)時(shí)性要求。本文只針對(duì)指令結(jié)構(gòu)平臺(tái)進(jìn)行壓縮速度分析。
    經(jīng)過(guò)對(duì)不同類(lèi)型數(shù)據(jù)的多次壓縮比較,在PC機(jī)上仿真的壓縮速度大小依次是LRice>ARC> LZARI,而在DSP上的效果是ARC>LRice>LZARI。這種變化產(chǎn)生的根源主要是DSP 處理器的并行指令執(zhí)行能力使得ARC較LRice反而更快。固定數(shù)據(jù)的一階差分預(yù)測(cè)在相同實(shí)現(xiàn)平臺(tái)上的運(yùn)行時(shí)間是一定的,因此帶一階差分預(yù)測(cè)的壓縮算法用時(shí)比較同上。
    考慮航天設(shè)備對(duì)運(yùn)行環(huán)境、壓縮比、壓縮速度等方面的要求,DSP相比于PC是一種可行的算法實(shí)現(xiàn)平臺(tái),因而用ARC算法實(shí)現(xiàn)遙測(cè)數(shù)據(jù)無(wú)損壓縮就更有優(yōu)勢(shì), 本文采用一階差分編碼改進(jìn)的ARC算法對(duì)火箭遙測(cè)數(shù)據(jù)進(jìn)行無(wú)損壓縮。
3 數(shù)據(jù)壓縮系統(tǒng)的實(shí)現(xiàn)
    遙測(cè)數(shù)據(jù)采集系統(tǒng)的工作流程分為采集—壓縮—輸出3個(gè)主要步驟。本文利用FPGA+DSP架構(gòu)作為硬件平臺(tái),將待壓縮的6路模擬噪聲信號(hào)經(jīng)電壓跟隨后輸入給A/D轉(zhuǎn)換器進(jìn)行量化,量化結(jié)果寫(xiě)入到FPGA內(nèi)部FIFO數(shù)據(jù)緩沖器中。DSP通過(guò)FPGA內(nèi)部FIFO半滿(mǎn)信號(hào)讀取數(shù)據(jù),通過(guò)識(shí)別通道號(hào)把數(shù)據(jù)流分配到6個(gè)分組緩沖區(qū),其中某一分組緩沖區(qū)滿(mǎn)2 KB就進(jìn)行一次壓縮,壓縮后的數(shù)據(jù)被存入緩沖器SDRAM中。當(dāng)緩沖器半滿(mǎn)時(shí),DSP將壓縮后數(shù)據(jù)串行發(fā)送至FPGA,然后FPGA根據(jù)接口協(xié)議發(fā)送給數(shù)據(jù)接收器,保證壓縮數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。系統(tǒng)框圖如圖1所示。

    由于遙測(cè)系統(tǒng)的各功能單元相互獨(dú)立,相互通信時(shí)需要數(shù)據(jù)緩存進(jìn)行協(xié)調(diào),為此,本設(shè)計(jì)多處使用由FPGA內(nèi)核構(gòu)建的FIFO(先進(jìn)先出)暫存器,在保證系統(tǒng)可靠性的同時(shí)降低了開(kāi)發(fā)難度。
    考慮遙測(cè)系統(tǒng)的整體環(huán)境,數(shù)據(jù)壓縮系統(tǒng)采用固定格式的數(shù)據(jù)流輸出壓縮后數(shù)據(jù),如果壓縮數(shù)據(jù)的產(chǎn)生速率低于數(shù)據(jù)輸出速率,數(shù)據(jù)可完整發(fā)送。由表1可以看出,在強(qiáng)噪聲數(shù)據(jù)階段,數(shù)據(jù)的壓縮去除率很低,剩余數(shù)據(jù)量較大,無(wú)法滿(mǎn)足數(shù)據(jù)的即時(shí)發(fā)送,產(chǎn)生數(shù)據(jù)積累,必須采用數(shù)據(jù)緩沖單元。數(shù)據(jù)緩沖單元容量大小如下:
  
其中t1、t2分別為數(shù)據(jù)積累的開(kāi)始和結(jié)束時(shí)間,vi、vo分別為壓縮數(shù)據(jù)的產(chǎn)生和發(fā)送速率。航天器實(shí)際飛行過(guò)程中,強(qiáng)噪聲數(shù)據(jù)階段僅為幾分鐘左右,其余時(shí)間段都可達(dá)到較高的數(shù)據(jù)壓縮去除率。由此估算出緩沖器的容量為1 MB左右,采用容量為8 MB的SDRAM,保證數(shù)據(jù)的完整輸出。
4 實(shí)驗(yàn)及結(jié)果分析
    火箭飛行過(guò)程中的噪聲數(shù)據(jù)是一種典型的航天遙測(cè)數(shù)據(jù),火箭上的噪聲在飛行過(guò)程中的大部分時(shí)間是平穩(wěn)的,在小部分時(shí)間內(nèi)是劇烈變化的。數(shù)據(jù)壓縮系統(tǒng)要保證壓縮用時(shí)和壓縮去除率兩方面都滿(mǎn)足要求。表2是一段實(shí)測(cè)噪聲數(shù)據(jù)以各種壓縮算法在DSP平臺(tái)上壓縮效果比較。
    從表2可以看出,ARC算法具有較快的壓縮速度和較高的壓縮去除率。加入一階差分預(yù)測(cè)后帶來(lái)的時(shí)間延遲并不是很明顯,卻明顯改善了壓縮去除率。結(jié)合各算法表現(xiàn)出的壓縮去除率,具有一階差分的ARC算法在航天遙測(cè)這種應(yīng)用場(chǎng)合表現(xiàn)出了最佳性能。

    采用FPGA+DSP結(jié)構(gòu)和用一階差分優(yōu)化的ARC算法對(duì)火箭遙測(cè)數(shù)據(jù)進(jìn)行無(wú)損壓縮,達(dá)到了較高的壓縮去除率和可靠性,減輕了遙測(cè)系統(tǒng)的信道傳輸壓力,提高了數(shù)據(jù)的傳輸效率,是航天遙測(cè)數(shù)據(jù)壓縮較為理想的實(shí)現(xiàn)方案。
參考文獻(xiàn)
[1] 王泉,齊春,羅新民,等. LZW壓縮算法的改進(jìn)及其參數(shù)優(yōu)化分析[J].重慶郵電學(xué)院學(xué)報(bào),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ù)測(cè)編碼的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)壓縮算法研究[J].南開(kāi)大學(xué)學(xué)報(bào):自然科學(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ú)線(xiàn)傳感器網(wǎng)絡(luò)的流數(shù)據(jù)壓縮技術(shù)[J]. 計(jì)算機(jī)科學(xué),2007,34(2):141-142.
[6] 沈海峰. 遙測(cè)系統(tǒng)提高傳輸容量方法探討[J]. 裝備指揮技術(shù)學(xué)院學(xué)報(bào),2007,18(2):99-104.
[7] 張?zhí)煨?,鄒勝,曾永慧.基于FPGA的圖像無(wú)損壓縮算法的實(shí)現(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)載。