基于FPGA的实时无损数据压缩系统设计

2011-07-28 12:44:34来源: 互联网
    引言

  在工业生产和科研中,通常要对信号进行长时间高速采样,会产生大量采样数据。在一些特殊环境下,受体积和功耗的限制,不能添加过多存储器,需要引入数据压缩技术来解决。软件压缩算法的运算量较大,需要很高的CPU运算速度和数据缓存空间,所以软件压缩一般应用在对时间要求不高的非实时压缩场合。而对运行速度有特殊要求的情况下,对数据的实时压缩一般都要用硬件实现。有损压缩之后数据进行重构,与原来的数据有所不同。多数数据采集系统因被测对象的不确定性,需要采用无损数据压缩。由于LZW无损压缩算法具有自适应特性,在对信号统计特性不明确的情况下仍然有较好的压缩效果。结合FPGA的高集成度、低功耗、灵活性及并行运算的特性,该设计用FPGA硬件实现LZW算法,以提高系统的实时压缩能力。

  1 LZW算法简介

  LZW算法是一种基于字典的压缩算法,由Lemple、Ziv、Welch三人共同创造。该算法在数据的压缩过程中会根据输入的数据动态地建立一个字典,后续输入的数据都会在这个字典中匹配查找,根据查找是否成功决定压缩编码的输出。该算法的巧妙之处在于,压缩过程中动态建立的字典不需要与压缩数据流一道进行传输和存储。在对数据进行解压时,也能够通过压缩数据流重新建立一个字典,来完成解压缩。算法粗略的描述如下:

a.JPG

f.jpg

  算法首先进行字典的初始化。然后输入第一个字符数据赋给变量String(S)。数据逐个输入压缩器中,并赋给变量Character(C)。s和C生成一个索引,与字典中的词条数据进行匹配:如果匹配成功,将S和C的编码值赋给S,继续进行下一轮的匹配;如果匹配失败,则将S输出,将S和C的编码值存入字典,并且将C的值赋给S,这一过程一直进行直到结束。最后输出S,输出结束标志。

  由算法描述可见,LZW算法过程并不是很复杂,能够得到较快的压缩速度。并且其在对数据特征并不了解情况下,也能有较好的压缩效果。同时,其对应的解压缩算法也不复杂,解压速度也优于其他一些算法。

  2 LZW算法的FPGA实现

  CycloneII是Altera公司推出的新一代低成本系列FPGA器件,选用CycloneII系列的EP2C5T14418芯片来实现数据压缩。这款芯片有4 608个逻辑单元、26块M4K RAM块、13个嵌入式乘法器、2个锁相环,用户I/O引脚数目为89,完全能够满足设计对存储器容量以及逻辑功能的要求,并且有一定余量,便于功能扩展。设计采用Quartus II为FPGA器件软件开发平台,用VHDL+原理图的混合输入方式进行层次化描述。系统的整体框图如图1所示。采集到的数据经过压缩后存储到外部存储器,再读入计算机,用专用软件对压缩数据进行解压还原,对原始数据进一步分析处理。

b.JPG

  整个设计的核心是压缩算法的实现。FPGA设计过程中模块划分非常重要,好的模块划分能够大大减少逻辑所消耗的面积并优化功能的时序关键路径。具体到LZW算法的FPGA实现,划分了10个大模块,各个模块相互之间的连接如图2所示。图中名字相同的箭头,表示是连接在一起的。为了使框图看起来比较清晰,图中省略了一些控制信号的连接。状态机控制模块(M5)是整个压缩模块的时序控制中心,根据其他模块反馈给它的信号,判断压缩的运行状态,从而控制其他各个模块的运行。

c.JPG

  

[1] [2]

关键字:无损数据压缩  FPGA

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0728/article_2363.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
无损数据压缩
FPGA

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved