《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 組合壓縮在存儲測試系統(tǒng)中的應用
組合壓縮在存儲測試系統(tǒng)中的應用
來源:電子技術(shù)應用2011年第5期
裴東興,任武林
中北大學 儀器科學與動態(tài)測試教育部重點實驗室,山西 太原 030051
摘要: 在某些特殊的測試環(huán)境中,存儲測試系統(tǒng)中既要求大容量數(shù)據(jù)存儲又要求微體積。為解決這一矛盾,在研究了游程壓縮和LZW兩種算法的基礎上,提出了以FPGA為核心實現(xiàn)兩種算法的無損組合壓縮,利用FPGA芯片內(nèi)的RAM來建立字典,用VHDL語言和狀態(tài)機實現(xiàn)該壓縮算法。仿真和綜合驗證表明,通過FPGA實現(xiàn)該組合算法,壓縮效果顯著,壓縮性能與壓縮速度均滿足系統(tǒng)要求。
中圖分類號: TP274.2
文獻標識碼: A
文章編號: 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


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

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

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

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

2.2 游程壓縮算法
    游程編碼(RLE)是一種相對比較簡單的數(shù)據(jù)壓縮技術(shù),容易以硬件實現(xiàn)壓縮。實現(xiàn)游程編碼分為定長游程編碼和變長游程編碼兩種。本文采用8 bit定長游程編碼,編碼流程如下:
    (1)初始化計數(shù)器cnt=1,輸入首字節(jié)P;
    (2)判斷文件是否結(jié)束。若結(jié)束,輸出P和cnt,壓縮完成;若沒有結(jié)束,輸入次字節(jié)C,如果P=C且cnt<255,cnt=cnt+1,則重復步驟(2);如果P&ne;C,則輸出P和cnt,重復步驟(1)。直到壓縮完成。
2.3 LZW壓縮算法
    LZW算法是一種面向通用數(shù)據(jù)的即時、高效、簡單,易于實現(xiàn)的一種無損數(shù)據(jù)壓縮算法,不依賴于任何數(shù)據(jù)格式,具有很大的應用范圍,且是基于字典模型的算法實現(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 硬件實現(xiàn)
3.1 系統(tǒng)整體設計

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

 

 

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区2区视频在线观看| 欧美精品久久久久久久久老牛影院| 91久久久国产精品| 欧美一区二区三区免费观看视频| 亚洲视频在线观看免费| 亚洲大片av| 伊大人香蕉综合8在线视| 好看的亚洲午夜视频在线| 国产一区二区福利| 国产色产综合色产在线视频| 国产麻豆91精品| 国产精品嫩草99av在线| 国产精品热久久久久夜色精品三区 | 亚洲精品一区二| 日韩视频一区二区三区在线播放| 亚洲日本电影| 一本大道久久a久久精品综合| 一本色道久久综合亚洲精品小说| 一区二区三区**美女毛片 | 亚洲精品乱码| 一区二区三区 在线观看视| 中日韩美女免费视频网站在线观看| 一区二区三区国产在线| 中文国产亚洲喷潮| 亚洲影音一区| 欧美一区二视频在线免费观看| 欧美一区网站| 久久一综合视频| 欧美激情一区二区三区蜜桃视频| 欧美日本中文字幕| 国产精品视频网址| 狠狠操狠狠色综合网| 亚洲激情亚洲| 亚洲一区二区av电影| 亚洲欧洲av一区二区| 亚洲电影观看| 99精品热视频| 欧美一二三视频| 久久综合狠狠| 欧美日一区二区三区在线观看国产免| 国产精品社区| 激情成人在线视频| 99精品国产在热久久下载| 午夜精品美女自拍福到在线| 亚洲风情在线资源站| 亚洲视频在线免费观看| 欧美中文字幕第一页| 欧美国产一区二区在线观看| 国产精品久久久久77777| 国内在线观看一区二区三区| 亚洲免费播放| 午夜日韩av| 99国产一区二区三精品乱码| 久久国产精品色婷婷| 欧美激情一区二区三区成人| 国产精品美腿一区在线看| 在线观看精品| 在线视频日韩| 亚洲国产视频a| 午夜亚洲视频| 欧美激情91| 国产一本一道久久香蕉| 91久久精品国产91性色tv| 午夜精品福利视频| 中文av字幕一区| 久久综合影视| 国产精品人成在线观看免费| 亚洲高清三级视频| 性8sex亚洲区入口| 中文高清一区| 欧美成人午夜视频| 国产亚洲一区二区三区| 一本色道久久88精品综合| 亚洲国产另类久久精品| 午夜精品福利一区二区三区av| 欧美大片在线看| 国产一本一道久久香蕉| 亚洲桃花岛网站| 亚洲免费观看高清在线观看| 久久亚洲一区二区| 国产精品试看| 一区二区精品国产| 亚洲精品一区二区三区四区高清| 久久久久女教师免费一区| 国产精品麻豆va在线播放| 亚洲三级免费| 亚洲人成小说网站色在线| 久久精品人人做人人爽电影蜜月| 国产精品第三页| 亚洲伦理中文字幕| 亚洲国产一区二区精品专区| 久久精品国产999大香线蕉| 国产精品国产a| 亚洲美女在线视频| 日韩视频一区二区在线观看 | 久久国产婷婷国产香蕉| 国产精品人人做人人爽| 一本色道久久综合| 999亚洲国产精| 欧美肥婆bbw| 91久久久久久久久| 91久久精品国产91久久性色| 久久天天躁夜夜躁狠狠躁2022| 国产欧亚日韩视频| 午夜亚洲一区| 久久国产精品一区二区三区四区| 国产欧美亚洲精品| 亚洲在线中文字幕| 亚洲欧美日韩精品久久亚洲区| 国产精品xvideos88| 一区二区三区视频观看| 亚洲桃色在线一区| 欧美日韩在线播| 一区二区精品在线观看| 亚洲深爱激情| 国产精品国产三级国产普通话99| 亚洲视频免费| 欧美一区二区三区播放老司机| 国产伦精品一区二区三区免费| 亚洲欧美制服另类日韩| 欧美在线视频观看| 国产婷婷一区二区| 欧美在线观看日本一区| 久久久久久久久久看片| 激情久久五月| 亚洲精品美女91| 欧美日本一道本| 国产精品99久久久久久宅男| 亚洲一区二三| 国产精品永久入口久久久| 欧美一级大片在线免费观看| 久久一区二区三区国产精品| 亚洲国产精品va在看黑人| 99精品视频网| 欧美性猛交99久久久久99按摩| 亚洲自拍三区| 久久亚洲综合色一区二区三区| 亚洲第一黄网| 在线亚洲伦理| 国产伦精品一区二区三区高清| 先锋影音网一区二区| 你懂的网址国产 欧美| 亚洲精选中文字幕| 亚洲免费视频网站| 国产亚洲制服色| 亚洲美女在线视频| 国产精品久久久久久亚洲毛片| 欧美亚洲尤物久久| 欧美成人综合网站| 一区二区三区四区精品| 亚洲欧美日韩中文视频| 激情五月综合色婷婷一区二区| 99在线精品视频在线观看| 国产精品亚发布| 最新国产の精品合集bt伙计| 欧美性做爰猛烈叫床潮| 久久成人精品电影| 欧美日韩精品一区二区在线播放 | 久久国产直播| 欧美欧美午夜aⅴ在线观看| 亚洲欧美视频在线观看视频| 欧美a级大片| 亚洲天堂免费在线观看视频| 久久一二三四| 一区二区毛片| 鲁大师影院一区二区三区| 中文在线一区| 狼人天天伊人久久| 中文高清一区| 久久综合国产精品| 亚洲午夜影视影院在线观看| 蜜臀av一级做a爰片久久| 亚洲一区二区三区国产| 欧美成人免费在线观看| 亚洲免费综合| 欧美区亚洲区| 亚洲东热激情| 国产精品日韩专区| 亚洲精品在线观看视频| 国产无遮挡一区二区三区毛片日本| 亚洲伦理在线| 国产亚洲一区二区三区| 亚洲综合首页| 亚洲人体1000| 久久嫩草精品久久久精品一| 亚洲午夜激情| 欧美福利电影网| 欧美在线观看一区| 国产精品黄色在线观看| 亚洲欧洲一区二区三区久久| 国产午夜精品理论片a级探花 | 性欧美xxxx视频在线观看| 91久久国产综合久久| 久久久久国产成人精品亚洲午夜| 亚洲天天影视| 欧美精品v日韩精品v国产精品| 亚洲电影网站| 国产一区二区福利| 午夜视频一区| 一本大道av伊人久久综合|