国产精品无人区无码AV片软件,无码中文av波多野吉衣,污污内射在线观看一区二区少妇,色色av资源网

產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


儀表網>技術中心>技術原理>正文

歡迎聯系我

有什么可以幫您? 在線咨詢

無損壓縮算法在存儲測試系統(tǒng)中的應用

   2011年08月17日 10:59  
  存儲測試系統(tǒng)是為完成特殊環(huán)境下測試而設計的電子物理系統(tǒng),它可在高溫、高壓、強沖擊振動、高過載等惡劣環(huán)境下自動完成被測信息的實時采集與存儲記憶[1]。在某些星載、彈載測試系統(tǒng)中,測試環(huán)境惡劣、測試時間長,所需記錄的數據量較大。但測試裝置受到體積的限制,要在現有存儲容量基礎上獲取更多的信息,就需要進行相關的數據處理。數據壓縮是減少數據量的有效手段之一。數據壓縮通常分為有損壓縮和無損壓縮兩大類。為準確恢復出原始數據并結合測試數據的特點,本文選用游程(RLE)和LZW兩種無損壓縮算法對數據進行組合壓縮。
  
  1、數據壓縮理論
  
  存儲測試系統(tǒng)作為一種信息采集系統(tǒng),目的是向使用者傳遞信息。由于A/D轉換的位數是有限的,所以信息采集系統(tǒng)只能產生有限的數據,可以把數據采集系統(tǒng)看作是一種離散信源。根據香農信息論[2],某離散消息xi所攜帶的信息量:
  
  平均信息量也稱為信息熵,是在采用無損壓縮時所能達到的壓縮的zui小極限。
  
  實際上,消息序列的符號間往往還存在著一定的統(tǒng)計相關性[3],這將使得消息序列攜帶的信息量減少。例如,對一個標準余弦函數進行數據采集,不論采樣的數據量有多大,只需要知道這個函數的幅度、頻率和起始相位就可以地表示這一數據。這在具體數據中就表現為重復出現的數據串,消除這些重復串,降低數據中的統(tǒng)計相關性,也是數據壓縮算法一般遵循的準則。實際的壓縮器在設計上往往不是單獨采用統(tǒng)計式或字典式壓縮法,一般將幾種算法結合起來,以達到率的壓縮比。
  
  2、算法設計
  
  2.1算法選擇
  
  在對多組實測的數據進行分析后,可以看出測試數據有一些典型的特征。圖1是一典型的石油井下壓力測試數據,由圖可以看出,測試數據一般都具有以下特征:
  
  (1)測試數據幅值比較連續(xù),相鄰數據差值較小,具有很強的統(tǒng)計相關性。
  
  (2)大部分數據波動不大,只有少部分數據變化輻度較大。
  
  針對上述的測試數據(12bit的AD轉換器)大部分波動很小(高4位數據基本保持不變),這樣的大量重復數據非常適合游程壓縮。對于低8bit數據,雖然相鄰時刻的值不可能*相同,但其值會在測試過程中多次出現。無損數據壓縮中,LZW是基于字典模型的一種壓縮算法,具有自適應的特點,非常適合這種數據的壓縮。表1是兩種算法組合與單獨使用LZW算法的對比。從表1中可以看出,采用這兩種算法結合的方式對數據進行組合壓縮可以獲得較好的壓縮效果。
  
  2.2游程壓縮算法
  
  游程編碼(RLE)是一種相對比較簡單的數據壓縮技術,容易以硬件實現壓縮。實現游程編碼分為定長游程編碼和變長游程編碼兩種。本文采用8bit定長游程編碼,編碼流程如下:
  
  (1)初始化計數器cnt=1,輸入首字節(jié)P;
  
  (2)判斷文件是否結束。若結束,輸出P和cnt,壓縮完成;若沒有結束,輸入次字節(jié)C,如果P=C且cnt<255,cnt=cnt+1,則重復步驟(2);如果P≠C,則輸出P和cnt,重復步驟(1)。直到壓縮完成。
  
  2.3LZW壓縮算法
  
  LZW算法是一種面向通用數據的即時、、簡單,易于實現的一種無損數據壓縮算法,不依賴于任何數據格式,具有很大的應用范圍,且是基于字典模型的算法實現的關鍵在于字典的建立和查找。LZW算法的粗略描述如下[4]:
  
  InitializeTable
  
  STRING=getinputcharacter
  
  WHILEtherearestillinputcharactersDO
  
  CHARACTER=getinputcharacter
  
  IFSTRING+CHARACTERisinthestringtablethen
  
  STRING=STRING+character
  
  ELSE
  
  OutputthecodeforSTRING
  
  AddSTRING+CHARACTERtothestringtable
  
  STRING=CHARACTER
  
  ENDofIF
  
  ENDofWHILE
  
  OutputthecodeforSTRING
  
  OutputEnd_flag
  
  由算法描述可見,LZW算法邏輯過程簡單,能夠得到較快的壓縮速度,易于硬件壓縮。
  
  3、硬件實現
  
  3.1系統(tǒng)整體設計
  
  CycloneII是Altera公司推出的新一代低成本系列FPGA器件[5],本設計選用CycloneII系列的EP2C5T144I8芯片來實現數據的組合壓縮。EP2C5T144I8芯片具有4608個LE(邏輯單元)、26個M4K的RAM、13個嵌入式乘法器、2個PLL(鎖相環(huán))和158個用戶I/O引腳。系統(tǒng)的整體框圖如圖2所示。傳感器采集到信號后,經過模擬適配電路進行濾波、放大后進入AD轉換器,由AD轉換器轉換輸出12bit的數據流輸入到FPGA進行壓縮。高4bit數據進行游程壓縮,低8bit數據進行LZW壓縮,zui后將壓縮后的輸出數據流存儲到外部存儲器中。采集完成后,通過USB接口電路將壓縮后的數據從外部存儲器中讀入計算機保存下來,然后用軟件對壓縮后的數據進行解壓,還原出原始采集到的數據以便進一步進行分析處理。
  
  3.2算法的FPGA實現
  
  系統(tǒng)的設計核心是壓縮算法實現。由于游程壓縮實現簡單,下面重點討論LZW算法的實現。用FPGA實現LZW算法要解決以下幾個問題[6]:
  
  (1)壓縮過程中字典的緩存。因為所有數據處理和傳輸工作都是由FPGA完成,字典的緩存必須使用FPGA內部有限RAM資源。(2)字典的建立與更新。字典的建立使用FPGA片內資源來完成,大容量字典雖然會提高壓縮比,但必須考慮到FPGA內部的資源量。因此選用9bit的定長編碼方式對數據進行處理。(3)壓縮后輸出數據流的傳輸和存儲。由于壓縮后是9bit的數據流,不利于數據的存儲。因此需將9bit的數據流轉換成8bit的數據流進行傳輸和存儲。FPGA設計過程中模塊劃分非常重要,好的模塊劃分能夠大大減少邏輯所消耗的面積和優(yōu)化功能的時序關鍵路徑。LZW算法實現劃分了8個模塊,各個模塊相互之間的連接如圖3所示。整個壓縮過程都是在狀態(tài)機控制模塊(U5)下進行的。
  
  3.3結果與分析
  
  本文對所實現壓縮算法進行了綜合與仿真驗證,使用開發(fā)工具為Altera公司的QuartusII7.2,使用ModelsimSE6.1f仿真工具,用圖4所示的字符串作為輸入碼流進行測試。圖中datain表示輸入數據,dataout表示壓縮輸出碼流,以16進制表示,用于驗證壓縮的正確性。仿真結果與通過計算機軟件壓縮的結果*一致。如圖4所示,本設計*可行。
  
  經過綜合,算法的實現使用了20個引腳,占用了13%的邏輯單元,使用了33%的內部RAM存儲容量,綜合所得zui高時鐘工作頻率為80MHz,實時壓縮速度達到8MB。表2是一組實測數據的壓縮效果。
  
  本文介紹的在以FPGA為核心的存儲測試系統(tǒng),實現了數據的無損組合壓縮。通過相關仿真和綜合驗證,壓縮*,大大減少了對存儲空間的要求,實現了壓縮性能與壓縮速度的統(tǒng)一。算法主體結構用VHDL語言編寫,具有可移植性,可廣泛地應用于各種基于FPGA的數據壓縮系統(tǒng)中,有很大的應用價值。
  
  參考文獻
  
  [1]張文棟.存儲測試系統(tǒng)的設計理論及其應用[M].北京:高等教育出版社,2002.
  
  [2]吳家安.數據壓縮技術及應用[M].北京:科學出版社,2009.
  
  [3]朱琳,羅家融,田一海.核聚變實驗數據采集系統(tǒng)中數據壓縮算法的研究[J].計算機工程,2003,2(29):11-12.
  
  [4]MARKN.LZWdatacompression[EB/OL].1989.http:marknelson.us/lzw-data-compression/.1989-10-01.
  
  [5]AlteraCorporation.CycloneIIdevicehandbook,volume1.2007.
  
  [6]陳晉敏,黃春明,周軍.激光雷達數據無損壓縮的FPGA實現[J].計算機測量與控制,2007,15(1):100-102.

免責聲明

  • 凡本網注明“來源:儀表網”的所有作品,均為浙江興旺寶明通網絡有限公司-儀表網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:儀表網”。違反上述聲明者,本網將追究其相關法律責任。
  • 本網轉載并注明自其它來源(非儀表網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。
聯系我們

客服熱線: 15267989561

加盟熱線: 15267989561

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業(yè)未開通此功能
詳詢客服 : 0571-87759942