《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 組合壓縮在存儲(chǔ)測試系統(tǒng)中的應(yīng)用
組合壓縮在存儲(chǔ)測試系統(tǒng)中的應(yīng)用
來源:電子技術(shù)應(yīng)用2011年第5期
裴東興,任武林
中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051
摘要: 在某些特殊的測試環(huán)境中,存儲(chǔ)測試系統(tǒng)中既要求大容量數(shù)據(jù)存儲(chǔ)又要求微體積。為解決這一矛盾,在研究了游程壓縮和LZW兩種算法的基礎(chǔ)上,提出了以FPGA為核心實(shí)現(xiàn)兩種算法的無損組合壓縮,利用FPGA芯片內(nèi)的RAM來建立字典,用VHDL語言和狀態(tài)機(jī)實(shí)現(xiàn)該壓縮算法。仿真和綜合驗(yàn)證表明,通過FPGA實(shí)現(xiàn)該組合算法,壓縮效果顯著,壓縮性能與壓縮速度均滿足系統(tǒng)要求。
中圖分類號(hào): TP274.2
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)05-0146-03
Application of combinational compression in storage test system
Pei Dongxing, Ren Wulin
Key Laboratory of Instrumentation Science & Dynamic Measurement, Ministry of Education, North University of China, Taiyuan 030051, China
Abstract: In some special test environment, storage test system is limited by high capacity data storage and small size. In order to solve above all, lossless combinational compression is implemented by FPGA on the basic of studying the run-length compression and LZW algorithm. A dictionary is established by internal memory of FPGA and the algorithm is achieved by VHDL and state machine. Simulation and verification indicate that combinational compression is an efficient algorithm, and compression performance and speed meets system requirements.
Key words : storage test system;FPGA;combinational compression;VHDL


    存儲(chǔ)測試系統(tǒng)是為完成特殊環(huán)境下測試而設(shè)計(jì)的電子物理系統(tǒng),它可在高溫、高壓、強(qiáng)沖擊振動(dòng)、高過載等惡劣環(huán)境下自動(dòng)完成被測信息的實(shí)時(shí)采集與存儲(chǔ)記憶[1]。在某些星載、彈載測試系統(tǒng)中,測試環(huán)境惡劣、測試時(shí)間長,所需記錄的數(shù)據(jù)量較大。但測試裝置受到體積的限制,要在現(xiàn)有存儲(chǔ)容量基礎(chǔ)上獲取更多的信息,就需要進(jìn)行相關(guān)的數(shù)據(jù)處理。數(shù)據(jù)壓縮是減少數(shù)據(jù)量的有效手段之一。數(shù)據(jù)壓縮通常分為有損壓縮和無損壓縮兩大類。為準(zhǔn)確恢復(fù)出原始數(shù)據(jù)并結(jié)合測試數(shù)據(jù)的特點(diǎn),本文選用游程(RLE)和LZW兩種無損壓縮算法對(duì)數(shù)據(jù)進(jìn)行組合壓縮。
1 數(shù)據(jù)壓縮理論
    存儲(chǔ)測試系統(tǒng)作為一種信息采集系統(tǒng),目的是向使用者傳遞信息。由于A/D轉(zhuǎn)換的位數(shù)是有限的,所以信息采集系統(tǒng)只能產(chǎn)生有限的數(shù)據(jù),可以把數(shù)據(jù)采集系統(tǒng)看作是一種離散信源。根據(jù)香農(nóng)信息論[2],某離散消息xi所攜帶的信息量:

    平均信息量也稱為信息熵,是在采用無損壓縮時(shí)所能達(dá)到的壓縮的最小極限。
 實(shí)際上,消息序列的符號(hào)間往往還存在著一定的統(tǒng)計(jì)相關(guān)性[3],這將使得消息序列攜帶的信息量減少。例如,對(duì)一個(gè)標(biāo)準(zhǔn)余弦函數(shù)進(jìn)行數(shù)據(jù)采集,不論采樣的數(shù)據(jù)量有多大,只需要知道這個(gè)函數(shù)的幅度、頻率和起始相位就可以精確地表示這一數(shù)據(jù)。這在具體數(shù)據(jù)中就表現(xiàn)為重復(fù)出現(xiàn)的數(shù)據(jù)串,消除這些重復(fù)串,降低數(shù)據(jù)中的統(tǒng)計(jì)相關(guān)性,也是數(shù)據(jù)壓縮算法一般遵循的準(zhǔn)則。實(shí)際的壓縮器在設(shè)計(jì)上往往不是單獨(dú)采用統(tǒng)計(jì)式或字典式壓縮法,一般將幾種算法結(jié)合起來,以達(dá)到高效率的壓縮比。
2 算法設(shè)計(jì)
2.1 算法選擇

  在對(duì)多組實(shí)測的數(shù)據(jù)進(jìn)行分析后,可以看出測試數(shù)據(jù)有一些典型的特征。圖1是一典型的石油井下壓力測試數(shù)據(jù),由圖可以看出,測試數(shù)據(jù)一般都具有以下特征:
  (1)測試數(shù)據(jù)幅值比較連續(xù),相鄰數(shù)據(jù)差值較小,具有很強(qiáng)的統(tǒng)計(jì)相關(guān)性。
  (2)大部分?jǐn)?shù)據(jù)波動(dòng)不大,只有少部分?jǐn)?shù)據(jù)變化輻度較大。

    針對(duì)上述的測試數(shù)據(jù)(12 bit的AD轉(zhuǎn)換器)大部分波動(dòng)很小(高4位數(shù)據(jù)基本保持不變),這樣的大量重復(fù)數(shù)據(jù)非常適合游程壓縮。對(duì)于低8 bit數(shù)據(jù),雖然相鄰時(shí)刻的值不可能完全相同,但其值會(huì)在測試過程中多次出現(xiàn)。無損數(shù)據(jù)壓縮中,LZW是基于字典模型的一種壓縮算法,具有自適應(yīng)的特點(diǎn),非常適合這種數(shù)據(jù)的壓縮。表1是兩種算法組合與單獨(dú)使用LZW算法的對(duì)比。從表1中可以看出,采用這兩種算法結(jié)合的方式對(duì)數(shù)據(jù)進(jìn)行組合壓縮可以獲得較好的壓縮效果。

2.2 游程壓縮算法
    游程編碼(RLE)是一種相對(duì)比較簡單的數(shù)據(jù)壓縮技術(shù),容易以硬件實(shí)現(xiàn)壓縮。實(shí)現(xiàn)游程編碼分為定長游程編碼和變長游程編碼兩種。本文采用8 bit定長游程編碼,編碼流程如下:
    (1)初始化計(jì)數(shù)器cnt=1,輸入首字節(jié)P;
    (2)判斷文件是否結(jié)束。若結(jié)束,輸出P和cnt,壓縮完成;若沒有結(jié)束,輸入次字節(jié)C,如果P=C且cnt<255,cnt=cnt+1,則重復(fù)步驟(2);如果P&ne;C,則輸出P和cnt,重復(fù)步驟(1)。直到壓縮完成。
2.3 LZW壓縮算法
    LZW算法是一種面向通用數(shù)據(jù)的即時(shí)、高效、簡單,易于實(shí)現(xiàn)的一種無損數(shù)據(jù)壓縮算法,不依賴于任何數(shù)據(jù)格式,具有很大的應(yīng)用范圍,且是基于字典模型的算法實(shí)現(xiàn)的關(guān)鍵在于字典的建立和查找。LZW算法的粗略描述如下[4]:
  Initialize Table
    STRING = get input character
    WHILE there are still input characters DO
       CHARACTER = get input character
         IF STRING+CHARACTER is in the string table then
           STRING = STRING+character
         ELSE
           Output the code for STRING
           Add STRING+CHARACTER to the string table
           STRING = CHARACTER
         END of IF
    END of WHILE
    Output the code for STRING
    Output End_flag
    由算法描述可見,LZW算法邏輯過程簡單,能夠得到較快的壓縮速度,易于硬件壓縮。
3 硬件實(shí)現(xiàn)
3.1 系統(tǒng)整體設(shè)計(jì)

    Cyclone II是Altera公司推出的新一代低成本系列FPGA器件[5],本設(shè)計(jì)選用Cyclone II系列的EP2C5T144I8芯片來實(shí)現(xiàn)數(shù)據(jù)的組合壓縮。EP2C5T144I8芯片具有4 608個(gè)LE(邏輯單元)、26個(gè)M4 K的RAM、13個(gè)嵌入式乘法器、2個(gè)PLL(鎖相環(huán))和158個(gè)用戶I/O引腳。系統(tǒng)的整體框圖如圖2所示。傳感器采集到信號(hào)后,經(jīng)過模擬適配電路進(jìn)行濾波、放大后進(jìn)入AD轉(zhuǎn)換器,由AD轉(zhuǎn)換器轉(zhuǎn)換輸出12 bit的數(shù)據(jù)流輸入到FPGA進(jìn)行壓縮。高4 bit數(shù)據(jù)進(jìn)行游程壓縮,低8 bit數(shù)據(jù)進(jìn)行LZW壓縮,最后將壓縮后的輸出數(shù)據(jù)流存儲(chǔ)到外部存儲(chǔ)器中。采集完成后,通過USB專用接口電路將壓縮后的數(shù)據(jù)從外部存儲(chǔ)器中讀入計(jì)算機(jī)保存下來,然后用專用軟件對(duì)壓縮后的數(shù)據(jù)進(jìn)行解壓,還原出原始采集到的數(shù)據(jù)以便進(jìn)一步進(jìn)行分析處理。

 

 

3.2 算法的FPGA實(shí)現(xiàn)
    系統(tǒng)的設(shè)計(jì)核心是壓縮算法實(shí)現(xiàn)。由于游程壓縮實(shí)現(xiàn)簡單,下面重點(diǎn)討論LZW算法的實(shí)現(xiàn)。用FPGA實(shí)現(xiàn)LZW算法要解決以下幾個(gè)問題[6]:
    (1)壓縮過程中字典的緩存。因?yàn)樗袛?shù)據(jù)處理和傳輸工作都是由FPGA 完成,字典的緩存必須使用FPGA內(nèi)部有限RAM 資源。(2)字典的建立與更新。字典的建立使用FPGA 片內(nèi)資源來完成, 大容量字典雖然會(huì)提高壓縮比,但必須考慮到FPGA內(nèi)部的資源量。因此選用9 bit的定長編碼方式對(duì)數(shù)據(jù)進(jìn)行處理。(3)壓縮后輸出數(shù)據(jù)流的傳輸和存儲(chǔ)。由于壓縮后是9 bit的數(shù)據(jù)流,不利于數(shù)據(jù)的存儲(chǔ)。因此需將9 bit的數(shù)據(jù)流轉(zhuǎn)換成8 bit的數(shù)據(jù)流進(jìn)行傳輸和存儲(chǔ)。FPGA設(shè)計(jì)過程中模塊劃分非常重要,好的模塊劃分能夠大大減少邏輯所消耗的面積和優(yōu)化功能的時(shí)序關(guān)鍵路徑。LZW算法實(shí)現(xiàn)劃分了8個(gè)模塊,各個(gè)模塊相互之間的連接如圖3所示。整個(gè)壓縮過程都是在狀態(tài)機(jī)控制模塊(U5)下進(jìn)行的。

3.3 結(jié)果與分析
    本文對(duì)所實(shí)現(xiàn)壓縮算法進(jìn)行了綜合與仿真驗(yàn)證,使用開發(fā)工具為Altera公司的QuartusII 7.2,使用Modelsim SE 6.1f仿真工具,用圖4所示的字符串作為輸入碼流進(jìn)行測試。圖中datain表示輸入數(shù)據(jù),dataout表示壓縮輸出碼流,以16進(jìn)制表示,用于驗(yàn)證壓縮的正確性。仿真結(jié)果與通過計(jì)算機(jī)軟件壓縮的結(jié)果完全一致。如圖4所示,本設(shè)計(jì)完全可行。
    經(jīng)過綜合, 算法的實(shí)現(xiàn)使用了20個(gè)引腳,占用了13%的邏輯單元,使用了33%的內(nèi)部RAM存儲(chǔ)容量,綜合所得最高時(shí)鐘工作頻率為80 MHz,實(shí)時(shí)壓縮速度達(dá)到8 MB。表2是一組實(shí)測數(shù)據(jù)的壓縮效果。
    本文介紹的在以FPGA為核心的存儲(chǔ)測試系統(tǒng), 實(shí)現(xiàn)了數(shù)據(jù)的無損組合壓縮。通過相關(guān)仿真和綜合驗(yàn)證, 壓縮效果顯著,大大減少了對(duì)存儲(chǔ)空間的要求,實(shí)現(xiàn)了壓縮性能與壓縮速度的統(tǒng)一。算法主體結(jié)構(gòu)用VHDL語言編寫, 具有可移植性,可廣泛地應(yīng)用于各種基于FPGA的數(shù)據(jù)壓縮系統(tǒng)中,有很大的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 張文棟.存儲(chǔ)測試系統(tǒng)的設(shè)計(jì)理論及其應(yīng)用[M].北京:高等教育出版社, 2002.
[2] 吳家安.數(shù)據(jù)壓縮技術(shù)及應(yīng)用[M].北京:科學(xué)出版社, 2009.
[3] 朱琳,羅家融,田一海.核聚變實(shí)驗(yàn)數(shù)據(jù)采集系統(tǒng)中數(shù)據(jù)壓縮算法的研究[J].計(jì)算機(jī)工程,2003,2(29):11-12.
[4] MARK N. LZW data compression[EB/OL].1989.http:marknelson.us/lzw-data-compression/.1989-10-01.
[5] Altera Corporation. Cyclone II device handbook,volume 1. 2007.
[6] 陳晉敏,黃春明,周軍.激光雷達(dá)數(shù)據(jù)無損壓縮的FPGA實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2007,15(1):100-102.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线亚洲自拍| 欧美一区午夜精品| 中文一区在线| 亚洲黄色在线看| 一区二区在线观看av| 国产精品自拍视频| 国产精品爱久久久久久久| 欧美日韩第一页| 欧美国产一区视频在线观看| 男人的天堂亚洲| 麻豆亚洲精品| 美日韩精品免费观看视频| 久久综合激情| 久久五月婷婷丁香社区| 亚洲欧美经典视频| 亚洲一区二区动漫| 亚洲色诱最新| 亚洲天堂av在线免费观看| 一区二区毛片| 亚洲免费在线电影| 亚洲欧美国产日韩天堂区| 亚洲一区二区三区视频播放| 日韩午夜在线电影| 日韩写真视频在线观看| 一区二区三区四区蜜桃| 亚洲婷婷免费| 亚洲综合首页| 久久xxxx| 亚洲国产精品一区二区www在线| 亚洲高清精品中出| 亚洲国产清纯| 亚洲国产综合视频在线观看| 亚洲精品日韩在线| 99精品99久久久久久宅男| 一本久久综合亚洲鲁鲁| 亚洲天堂成人| 欧美在线欧美在线| 久久影院午夜论| 欧美ab在线视频| 欧美美女操人视频| 国产精品v亚洲精品v日韩精品 | 国产精品av久久久久久麻豆网| 国产精品播放| 国产日韩亚洲欧美精品| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲电影视频在线| 亚洲免费成人av| 91久久精品国产91久久| 日韩亚洲欧美成人| 亚洲女爱视频在线| 久久精品亚洲精品| 一区二区精品国产| 欧美影视一区| 欧美成人午夜| 国产精品xvideos88| 国产在线拍偷自揄拍精品| 亚洲二区视频| 一区二区三区高清在线观看| 欧美一区1区三区3区公司| 亚洲日本国产| 亚洲综合色激情五月| 久久精品123| 欧美精品激情blacked18| 国产精品久久久久久影视| 韩国一区二区三区美女美女秀| 亚洲国产精品一区二区尤物区 | 日韩一级免费| 欧美专区亚洲专区| 日韩亚洲在线观看| 欧美在线播放| 欧美激情1区| 国产欧美韩日| 亚洲精品国偷自产在线99热| 久久综合婷婷| 亚洲国产一区视频| 夜夜嗨av色一区二区不卡| 欧美一级视频精品观看| 日韩亚洲欧美精品| 久久国产精品一区二区| 欧美日韩成人免费| 很黄很黄激情成人| 中国女人久久久| 亚洲第一视频| 亚洲欧美日韩在线综合| 欧美韩国一区| 国产亚洲一区二区精品| 亚洲精品专区| 亚洲成人资源网| 亚洲欧美日韩在线高清直播| 欧美国产91| 国内久久婷婷综合| 中文日韩在线视频| 亚洲第一在线综合网站| 亚洲欧美在线网| 欧美激情国产日韩| 国模私拍视频一区| 亚洲一区在线直播| aⅴ色国产欧美| 免费不卡在线观看av| 国产欧美精品日韩区二区麻豆天美| 亚洲美女性视频| 亚洲精品视频免费| 久久躁狠狠躁夜夜爽| 国产三级欧美三级| 亚洲一品av免费观看| 一本色道**综合亚洲精品蜜桃冫| 免费在线看一区| 精品88久久久久88久久久| 亚洲欧美一区二区三区在线| 亚洲一区二区久久| 欧美日韩精品| 91久久久久| 亚洲人成毛片在线播放女女| 开心色5月久久精品| 国产精品有限公司| 在线视频欧美一区| 在线一区欧美| 欧美日韩dvd在线观看| 亚洲高清免费视频| 亚洲高清在线精品| 久久婷婷国产综合精品青草| 国产午夜精品久久久| 亚洲欧美日韩国产| 性做久久久久久久久| 国产精品嫩草99av在线| 在线中文字幕不卡| 亚洲性图久久| 欧美日韩网站| 妖精成人www高清在线观看| 中日韩高清电影网| 欧美日韩亚洲一区二区三区在线| 亚洲日本欧美日韩高观看| 日韩视频在线观看免费| 欧美成人精品不卡视频在线观看| 一区一区视频| 亚洲国内精品在线| 欧美va天堂| 亚洲免费大片| 亚洲影院色在线观看免费| 国产精品高清在线| 亚洲尤物在线视频观看| 香蕉精品999视频一区二区| 国产精品综合久久久| 性色av香蕉一区二区| 久久久久久久精| 狠狠色2019综合网| 亚洲娇小video精品| 欧美激情一区在线观看| 亚洲美女少妇无套啪啪呻吟| 亚洲自拍三区| 国产农村妇女毛片精品久久麻豆 | 久久午夜电影网| 伊人久久亚洲热| 亚洲精品久久久久久下一站| 欧美黄色影院| 在线午夜精品| 欧美在线短视频| 伊人夜夜躁av伊人久久| 99视频在线精品国自产拍免费观看| 欧美—级a级欧美特级ar全黄| 夜夜爽av福利精品导航| 久久国产精品一区二区三区四区 | 羞羞漫画18久久大片| 国产在线日韩| 一区二区三区免费观看| 国产日韩欧美日韩| 91久久精品美女高潮| 欧美三级视频在线播放| 香蕉久久夜色精品国产| 欧美激情精品久久久久久久变态 | 日韩写真在线| 国产美女精品免费电影| 亚洲日本精品国产第一区| 国产精品久久久久免费a∨| 亚洲第一精品久久忘忧草社区| 欧美精品三级日韩久久| 亚洲欧美激情视频| 欧美~级网站不卡| 亚洲午夜精品一区二区| 久久亚洲影音av资源网| 一本色道久久88亚洲综合88| 久久久久国色av免费看影院| 亚洲精美视频| 欧美在线一二三四区| 亚洲国产精品久久久久秋霞蜜臀 | 欧美国产三级| 中文无字幕一区二区三区| 亚洲一级二级| 亚洲第一区色| 亚洲一区二区三区免费在线观看 | 夜夜爽www精品| 欧美在线观看一区| 亚洲精品一区二区在线观看| 欧美在线不卡| 亚洲欧洲在线视频| 亚洲欧美中文字幕| 国产午夜一区二区三区| 中文av一区二区| 国产亚洲日本欧美韩国| 日韩图片一区|