《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Zlib和DSP的傳感器數據壓縮方法的研究
基于Zlib和DSP的傳感器數據壓縮方法的研究
來源:電子技術應用2012年第11期
謝小勇,伍瑞卿,陳 偉,顧慶水,樊 豐
電子科技大學 電子工程學院,四川 成都611731
摘要: 針對傳感器數據在分組傳輸環境下的特點和要求,提出改進型的Zlib算法,實現對數據的分包無損壓縮并能夠獨立解壓,同時將優化壓縮程序移植到DSP F2812。以測井傳感器數據進行驗證,實驗結果表明,該方法保持了良好的壓縮效果,而且具有抗誤碼和丟包容錯的能力。
中圖分類號: TN919.3
文獻標識碼: B
文章編號: 0258-7998(2012)11-0041-03
Research of sensor data compression method based on Zlib and DSP
Xie Xiaoyong,Wu Ruiqing,Chen Wei,Gu Qingshui,Fan Feng
School of Electronic Engineering, University of Electronic Science and Technology,Chengdu 611731,China
Abstract: Aiming at characteristics and requirements of the logging sensor data packet transmission environment,this paper presents improved Zlib algorithm,which is able to achieve lossless compression and sub-logging data to be independent decompression.And then optimize the compression program ported to DSP F2812.With logging sensor data to verify,the test results show that the compression is good, and be able to solve the problem of fault-tolerant network errors and packet loss.
Key words : sensor data;Zlib;lossless compression;DSP;fault-tolerant

    在多傳感器測量系統中,為了精確測量,需要對傳感器輸出信號進行高速、高分辨率采樣[1]。這樣勢必會產生大量需要存儲的數據,占用很大的存儲空間,同時也不便于實時傳輸。但在一些嵌入式系統中,由于受到工藝、成本等各種因素的限制,存儲器空間非常有限,以至于經常采取降低采樣率的辦法來達到節省存儲空間的目的。為此,在采樣率和分辨率均不能降低的情況下,為了保證測量精度,對傳感器信號進行壓縮存儲、傳輸是十分必要的。

    目前,有關傳感器數據壓縮傳輸的研究有:(1)參考文獻[2]提出一種存儲有效的漸進小波數據壓縮算法,使得漸進傳送的數據單元能產生大的編碼增益,在存儲有效的同時又能夠節省網絡傳輸耗能;(2)參考文獻[3]提出了一種基于改進的二叉樹算法對原始采樣數據進行實時壓縮,對采樣數據在二維方向上進行去冗余處理,從而達到節省數據存儲空間、提高數據傳輸效率的目的;(3)參考文獻[4]針對測井傳感器數據特征將其分為兩類,第一類采用差分編碼(預處理),再用Huffman編碼壓縮輸出,第二類采用基于統計的預測模型和分段線性預測模型(PLOT)進行處理輸出。
    但以上幾種方法都是有損壓縮,無法完全恢復出原始數據,并且壓縮數據前后都有相關性,沒有提出一旦出現誤碼或丟包情況將如何正確解壓的問題。本文以無損壓縮方法中性能較優的Zlib為基礎,并采取改進措施,在保證壓縮率和實時性的前提下,解決網絡傳輸中誤碼和丟包容錯問題,同時對測井傳感器數據進行了測試實驗。
1 Zlib無損壓縮方法
    無損壓縮就是利用數據的統計冗余進行壓縮,并可完全回復原始數據而不引起任何失真。典型的無損壓縮算法如Shanno-Fano編碼、Huffman(哈夫曼)編碼、算術編碼、游程編碼、LZW編碼、LZ編碼以及應用最廣也是最好的結合LZ和Huffman編碼的DEFLATE編碼,其主要應用在RAR、LZMA、Zlib、Gzip、Bzip等壓縮算法中。
    雖然LZMA具有好的壓縮率,但是消耗資源過大(最小資源消耗在1 MB左右)且壓縮速率很慢,不適合實際嵌入式應用。所以本文選用Zlib壓縮算法,其中SYNC_FLUSH模式下的流程圖如1所示。

    首先初始化程序,然后將待壓縮數據存到處理窗口中,用LZ算法對待壓縮數據進行預處理。一方面通過Hash算法生成并不斷更新當前塊的壓縮字典;另一方面通過查找字典將數據匹配情況存到緩沖區中并統計其頻率。這樣通過未匹配字節、匹配長度和匹配距離描述了原始數據的匹配關系。當處理窗口數據被處理完之后,再利用動態和靜態Huffman算法對其匹配情況進行編碼,并比較選擇壓縮效果好的Huffman算法進行壓縮編碼輸出。但是如果選擇的是動態Huffman算法,還需要在壓縮數據之前用deflate_tree編碼壓縮動態Huffman字典編碼并輸出。當每個壓縮塊完成之后再加上Zlib容錯方式,如果是最后一個壓縮塊,則還需要最后輸出校驗信息,否則需要重新初始化壓縮下一個數據塊。
2 改進的Zlib算法
2.1 基本思想

    源Zlib壓縮算法中,SYNC_FLUSH模式雖然通過添加header信息和Zlib容錯方式字段實現分包壓縮,同時每個壓縮塊都重新生成字典實現相互獨立,但是仍然不能解決容錯問題,原因如下。
    (1)如果壓縮數據在網絡傳輸過程中出現誤碼的情況,并且誤碼之后的數據又能夠通過當前塊的壓縮字典解壓,但是解壓錯誤,而最后輸出錯誤的解壓結果不報錯;
    (2)如果出現丟包的情況,則解壓過程中會報異常且直接終止跳出,導致后面正確的壓縮塊不能正常解壓。
    針對以上兩個問題,本文提出改進并實現獨立分包壓縮并且能夠獨立解壓的方法,以解決因網絡傳輸導致的誤碼和丟包的容錯問題。此外,根據實際程序應用修改滑動窗口大小和內存消耗等級,大大減小了內存資源消耗。
2.2 獨立分包壓縮的算法流程
    每次讀4 KB樣本數據,然后獨立壓縮成一個壓縮塊放到輸出緩沖區,當輸出緩沖區內滿2 KB數據時就寫到輸出文件中。每次把4 B檢錯信息adler寫到壓縮塊最后(Zlib容錯方式0x0000ffff之前),便于解壓檢錯實現容錯機制。這樣就得到如圖2所示的壓縮數據格式。

    獨立分包壓縮要求每次都要初始化字典并重新建立字典,這樣會導致壓縮率(壓縮率=壓縮后數據大小/壓縮前數據大小)提高(即壓縮效果變差)。但是測試表明,壓縮效果較壓縮效果最好的NO_FLUSH模式(其生成的壓縮包之間相互關聯,如果出現誤碼或丟包情況,就會使出錯后的壓縮塊不能解壓)并沒有下降很多,壓縮率只提高了2%;而與源程序的SYNC_FLUSH模式壓縮率幾乎相等,因為雖然每個壓縮包都加了4 B的檢錯信息,但是只有第一個壓縮塊加了2 B的header信息,而源程序中每個壓縮塊都要加header信息且最后一個加了檢錯信息,最終生成的壓縮數據比源程序多(2×N-2)B,其中N表示壓縮塊的個數。由于都是獨立分包壓縮,解壓可以容錯,并且可以極大地減小其程序消耗的資源。因為這時并不需要分配大的滑動字典窗口和字典空間,優化之后總共動態分配空間為96 KB左右,而NO_FLUSH模式下資源消耗在260 KB左右。
2.3 獨立解壓的算法流程
    本文是模擬傳感器數據獨立分包壓縮再整體解壓,因為在實際工程中解壓程序是源源不斷地從輸入緩沖區中讀數據解壓。但是如果讀入的待解壓數據出現誤碼和丟包情況(而解壓程序并不知道),解壓程序必須實現獨立解壓功能,即丟棄出錯的壓縮塊而又不影響后面的正確的壓縮塊解壓,這就要求每個壓縮包必須是獨立壓縮。采用在每個壓縮塊后面寫入檢錯信息adler和Zlib容錯方式就能很好地解決這個問題。具體解壓流程圖如圖3所示。

    為了便于誤碼或丟包的測試,將壓縮數據存放在一個緩沖區中。這就要求預判壓縮數據大小再分配緩沖區空間保證有足夠大,再整體解壓;然后就是模擬誤碼和丟包情況:因為在分包壓縮過程中可以統計每個壓縮塊的大小,再根據壓縮塊的格式就可很容易修改Zlib頭信息、壓縮數據、檢錯信息和Zlib容錯方式來模擬誤碼,并且通過移除一定長度的壓縮數據來模擬丟包情況;最后對測井傳感器數據測試驗證了容錯能力。
2.4 壓縮算法的DSP實現
    首先在CCS3.3編譯環境下,選擇F2812的Device Simulator仿真。其DSP擴展一個256 KB的片外空間,因為程序在F2812中測試程序總空耗(程序執行消耗總資源,包括動態分配heap空間96 KB左右)為140 KB左右,并選擇大寄存器模式;設置heap大?。辉谡{試程序通過之后選擇XDS560 emulator將程序下載到F2812上運行。在運行之前設置一個定時中斷,定時從樣本數據文件中讀數據到輸入緩沖區,而在壓縮程序中每次直接從輸入緩沖區中讀數據進行壓縮。
3 實驗與分析
    在現代傳感器遙測遙傳網絡中,石油測井網絡是極具代表性的。隨著測井技術的發展,尤其是組合測井、成像測井的出現,造成了測井數據的快速膨脹。但是數據傳輸帶寬的限制和實時的要求,不能夠把這些數據實時而可靠地傳到地面,成為阻礙測井技術發展的一大問題,迫切需要解決。而應用無損數據壓縮技術來減小數據傳輸量是最有效途徑之一[5]。
    所以本文以石油測井網絡為例,利用DSP F2812嵌入式平臺對測井數據進行實時壓縮,并把壓縮后的數據實時傳到地面PC機后再由網絡傳輸到控制中心進行實時解壓縮。測試結果如表1所示。其中樣本數據主要由自然伽瑪能譜測井儀、方位測井儀、電纜遙測傳輸儀、總線適配器等儀器采集生成。

 

 

    測試結果表明,不同類型測井數據樣本壓縮率、時延和壓縮速率差異還是很明顯的,主要由于不同樣本文件的數據結構差異很大。而且在滿足獨立分包壓縮前提下,每個包都要重新建立字典,包越小壓縮效果越差,而本方法的包只有4 KB,壓縮率基本上都在60%以下,但實時性也能達標。因為壓縮速率大于測井儀器的采集數據速率(這取決于不同的儀器速率傳輸能力和采集間隔的控制,但最大不超過500 kb/s)。而在沒改進之前,farheap空間占192 KB,heap空間占40 KB,程序總消耗約為260 KB,所以改進后的Zlib算法運行所占資源很少且壓縮效果很好,適合于嵌入式平臺應用。由于壓縮程序的移植優化只是在算法和程序結構上,并沒有進一步在匯編級別上的優化,因此壓縮速率提升空間還很大。
    本文針對傳感器數據在分組傳輸環境下的特點和要求,提出基于Zlib的傳感器數據壓縮方法,并在DSP嵌入式平臺上得到應用驗證。本壓縮方法具有良好的壓縮效果和壓縮速率,并且能夠實現分包壓縮獨立解壓,解決了在網絡傳輸過程中誤碼和丟包的容錯問題,
參考文獻
[1] LEMING S K,STALFORD H L.Bridge weigh-in-motion system development using superposition of dynamic truck/static bridge Interaction[C].IEEE American Control Conference,2003.
[2] 周四望,林亞平,葉松濤,等.傳感器網絡中一種存儲有效的小波漸進數據壓縮算法[J].計算機研究與發展,2009,46(12):2085-2092.
[3] 劉貞,王祁.多傳感器信號數據采集實時壓縮算法[J].傳感技術學報,2006,19(6):2712-2715.
[4] 漢澤西,郭楓,呂飛.測井數據的無損壓縮方法研究[J]. 現代電子技術,2004(22):94-96.
[5] 郭楓,漢澤西.測井數據的無損壓縮方法研究[D].西安:西安石油大學,2005.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          激情久久久久| 黄色欧美成人| 在线观看亚洲视频啊啊啊啊| 亚洲天堂黄色| 欧美日韩精品免费观看视频| 久久av一区二区| 欧美在线一级va免费观看| 欧美日韩免费观看一区二区三区| 亚洲欧美一区二区三区久久| 国产精品av久久久久久麻豆网| av成人毛片| 欧美日韩高清在线| 国产精品在线看| 欧美精彩视频一区二区三区| 欧美va日韩va| 国产欧美亚洲日本| 欧美日韩国产色综合一二三四| 亚洲在线一区| 亚洲一区日韩| 亚洲午夜在线| 欧美一区二区网站| 亚洲大片在线观看| 欧美一区二区三区精品电影| 欧美成人国产一区二区| 欧美激情影音先锋| 欧美黄色网络| 亚洲欧美精品suv| 国产午夜精品一区理论片飘花| 99在线|亚洲一区二区| 欧美视频日韩视频在线观看| 国产精品chinese| 日韩视频在线观看一区二区| 亚洲精品视频免费在线观看| 欧美一级黄色网| 影音先锋成人资源站| 久久国产精品99久久久久久老狼| 欧美色网一区二区| 亚洲婷婷综合久久一本伊一区| 国产精品毛片高清在线完整版| 欧美一区二区视频97| 亚洲国产天堂久久综合网| 国产一区久久久| 中日韩高清电影网| 亚洲一区二区三区中文字幕在线| 国产一区二区在线免费观看| 欧美日韩精品一区二区三区| 国产视频久久久久久久| 欧美激情第二页| 久久久精品999| 亚洲成人资源网| 亚洲欧洲在线看| 国产精品免费看片| 亚洲精品久久嫩草网站秘色| 欧美三日本三级少妇三99| 欧美精品在线播放| 亚洲国产另类 国产精品国产免费| 亚洲国产日本| 在线激情影院一区| 亚洲韩国日本中文字幕| 亚洲一区制服诱惑| 亚洲性夜色噜噜噜7777| 老司机免费视频一区二区| 国产精品专区h在线观看| 欧美精品精品一区| 国产亚洲精品久久久久动| 久久亚洲午夜电影| 欧美精品乱码久久久久久按摩| 国产女精品视频网站免费| 久久久久久久网| 国产精品久久久久9999高清| 激情成人av在线| 一本色道久久综合亚洲精品按摩| 亚洲欧美在线免费观看| 免费观看日韩| 美乳少妇欧美精品| 一区二区三区亚洲| 国产精品yjizz| 亚洲一区尤物| 亚洲网友自拍| 一本色道久久综合狠狠躁篇的优点| 国产精品久久国产三级国电话系列| 一区二区不卡在线视频 午夜欧美不卡'| 激情婷婷欧美| 欧美亚州一区二区三区| 亚洲免费视频成人| 国产精品超碰97尤物18| 亚洲电影免费在线| 激情欧美国产欧美| 国产麻豆成人精品| 欧美高清免费| 国产精品实拍| 欧美日韩亚洲免费| 欧美韩日视频| 国产午夜精品全部视频在线播放| 美女脱光内衣内裤视频久久影院| 国产欧美一区二区精品婷婷| 欧美日一区二区在线观看| 在线观看视频一区二区欧美日韩| 亚洲第一成人在线| 国产日韩欧美视频| 国产精品成av人在线视午夜片| 亚洲国产日韩在线| 国产日韩精品在线观看| 欧美视频精品在线观看| 亚洲一区免费观看| 激情视频一区二区三区| 国产精品美女999| 尤物yw午夜国产精品视频明星| 国产精品一区视频网站| 久久久久**毛片大全| 在线电影欧美日韩一区二区私密| 在线免费日韩片| 欧美福利在线观看| 国产精品进线69影院| 欧美精选一区| 亚洲视频免费在线观看| 国产欧美一区二区色老头| 欧美成人免费播放| 久久精品国产96久久久香蕉| 亚洲欧美综合一区| 香蕉久久夜色精品国产使用方法| 国产综合亚洲精品一区二| 在线免费观看欧美| 国内揄拍国内精品久久| 久久综合狠狠综合久久激情| 久久精品国产亚洲一区二区| 99精品免费网| 国产精品视屏| 在线激情影院一区| 欧美午夜不卡影院在线观看完整版免费| 伊人久久亚洲美女图片| 久久九九免费| 国产一区二区三区免费在线观看| 欧美精品国产| 国产精品羞羞答答xxdd| 欧美人交a欧美精品| 欧美视频在线观看免费网址| 亚洲国产岛国毛片在线| 亚洲精品在线一区二区| 欧美不卡激情三级在线观看| 国产日本亚洲高清| 欧美ed2k| 亚洲精品之草原avav久久| 亚洲综合日韩中文字幕v在线| 国产精品有限公司| 久久精品视频在线免费观看| 狠久久av成人天堂| 免费不卡在线观看av| 亚洲视频每日更新| 99精品视频免费观看| 一区二区日本视频| 久久久久国产精品麻豆ai换脸| 亚洲国产精品久久久久秋霞蜜臀| 尤物在线观看一区| 国产精品区二区三区日本| 亚洲视频精选| 欧美高清在线视频观看不卡| 91久久国产自产拍夜夜嗨| 欧美日韩免费一区二区三区| 国产亚洲成av人在线观看导航| 亚洲人成网站777色婷婷| 欧美在线观看一区二区| 欧美色123| 亚洲美女免费视频| 久久黄金**| 正在播放亚洲| 欧美日韩精品一区二区在线播放| 国产精品免费一区二区三区观看| 亚洲精品午夜精品| 欧美激情小视频| 欧美欧美天天天天操| 久久精品伊人| 久久久一二三| 国产综合久久久久久| 一区在线播放| 性欧美暴力猛交另类hd| 欧美经典一区二区三区| 亚洲一区二区三区激情| 亚洲美女精品成人在线视频| 亚洲国产精品va在线观看黑人| 久久久久久久久久久一区| 欧美一区二区三区成人| 久久精品麻豆| 欧美精品久久久久久久免费观看| 亚洲美女尤物影院| 亚洲精品四区| 国产精品久久一区主播| 国产啪精品视频| 久久精品国产精品亚洲精品| 黄色国产精品一区二区三区| 亚洲免费一在线| 久久久久久久999精品视频| 欧美日韩一区二区三区免费| 免费观看成人| 在线观看视频免费一区二区三区| 国产伦精品一区二区三区免费| 亚洲线精品一区二区三区八戒| 一区二区三区www| 亚洲黄一区二区三区| 欧美精彩视频一区二区三区| 亚洲素人一区二区| 亚洲精品美女免费| 国产精品视频一二| 国产精品日韩欧美一区二区| 亚洲精品之草原avav久久| 亚洲一级影院| 一区二区三区国产在线| 欧美一区国产在线| 久久gogo国模裸体人体| 国产欧美亚洲视频| 久久国产精品高清| 欧美国产视频日韩| 欧美日本二区| 在线看片第一页欧美| 久久精品欧美| 国产日韩欧美一区在线| 欧美激情视频一区二区三区在线播放| 久久久噜噜噜久久人人看| 91久久精品日日躁夜夜躁欧美| 欧美成人日韩| 欧美色大人视频| 在线看日韩av| 亚洲第一精品在线| 国产精品美女久久久久aⅴ国产馆| 亚洲国产精品99久久久久久久久| 国产精品视频免费观看| 美女亚洲精品| 亚洲精品在线观| 国产精品区一区二区三| 女主播福利一区| 久久高清一区| 亚洲一区二区日本| 欧美午夜一区二区三区免费大片| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲一区图片| 亚洲大胆人体在线| 国产免费成人| 久久天天躁夜夜躁狠狠躁2022| 国产欧美精品一区| 正在播放欧美视频| 亚洲国产日韩一区二区| 午夜视频精品| 欧美高潮视频| 亚洲少妇中出一区| 牛牛国产精品| 久久天堂av综合合色| 韩国女主播一区二区三区| 欧美日韩精品久久| 欧美国产精品中文字幕| 欧美激情按摩| 亚洲精品一区久久久久久| 国产欧美日韩一区| 久久激情视频久久| 国内视频一区| 亚洲精品网址在线观看| 日韩亚洲精品视频| 国产精品婷婷| 日韩一二在线观看| 久久久精品五月天| 欧美久久婷婷综合色| 激情综合色综合久久| 亚洲在线成人精品| 亚洲第一福利在线观看| 亚洲男人的天堂在线aⅴ视频| 国产视频在线观看一区| 影音先锋成人资源站| 久久久综合免费视频| 欧美肉体xxxx裸体137大胆| 国产毛片精品视频| 国产精品高潮呻吟久久av无限| 国产精品永久免费在线| 狠狠色丁香婷婷综合久久片| 久久av一区二区| 欧美午夜精品伦理| 欧美 亚欧 日韩视频在线| 亚洲美女网站| 久久久免费精品视频| 国产亚洲成av人片在线观看桃| 日韩亚洲欧美一区| 国产欧美精品一区二区三区介绍| 欧美成人r级一区二区三区| 国产精品欧美经典| 国内精品久久久久久影视8| 国产久一道中文一区| 一区二区三区四区精品| 美女免费视频一区| 久久久午夜视频| 国产精品igao视频网网址不卡日韩| 性欧美video另类hd性玩具| 国产精品久久久久7777婷婷| 欧美不卡一卡二卡免费版| 国产精品裸体一区二区三区| 欧美视频在线观看 亚洲欧| 在线视频观看日韩| 欧美一区视频在线| 久久久久久亚洲精品中文字幕| 国产欧美一区二区白浆黑人| 亚洲精品影院在线观看| 国产三级欧美三级日产三级99| 国产美女在线精品免费观看| 欧美电影在线免费观看网站| 欧美亚男人的天堂| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产乱人伦精品一区二区| 国产日韩欧美一区在线| 久久精品在线视频| 在线视频欧美日韩精品| 午夜在线一区| 嫩草国产精品入口| 欧美午夜久久| 久久精品在线免费观看| 女仆av观看一区| 亚洲精选一区二区| 国产精品视频yy9099| 激情av一区二区| 欧美日韩一区二区三区四区五区| 国产精品久久久一本精品| 性娇小13――14欧美| 亚洲欧洲视频| 欧美日韩国产成人在线| 欧美女同在线视频| 欧美一区二区三区四区在线观看| 国产精品专区一| 国产中文一区二区| 欧美日韩一级大片网址| 91久久香蕉国产日韩欧美9色| 午夜精品久久久久久久久久久久久| 亚洲欧洲综合另类|