a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 組合壓縮在存儲測試系統中的應用

組合壓縮在存儲測試系統中的應用

作者: 時間:2011-08-17 來源:網絡 收藏

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

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

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

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

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

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


上一頁 1 2 下一頁

評論


技術專區

關閉