- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LZW标准化输出FPGA设计
LZW标准化输出FPGA设计
【摘 要】 不断增大的声波测井采集数据使得实时传输较为困难,根据声波测井仪器遥传系统的特点,本文提出了一种基于LZW的无损压缩算法的PFGA实现方案。利用移位存储器原理,重点设计了硬件压缩系统输出模块的标准化输出9/8转换模块及其控制时序,并在QUARTUS II平台上用EP2C5Q208C8N进行了时序仿真验证,结果表明:该输出设计是可行的,且具有较好的移植性和可扩展性。
【关键词】 标准化输出 无损压缩 LZW算法 FPGA
在地球信息勘探中,声波测井[1,2]以其含有丰富的地层信息量备受重视。但是,随着声波测井采集速率和精度的提高,数据量越来越大,严重影响采集数据的实时传输至井口数据中心。为了便于实时传输,需要对声波测井数据进行必要的压缩编码。数据压缩技术[3-5]是信息处理的重要技术之一,通常分为无损压缩和有损压缩。有损压缩是指对原始信源数据信息进行重构,据此解压缩(还原)后的数据信息是原始数据的一种近似表达,但不影响受信端对原始信息的理解与判断,其优点是压缩比较大,主要应用于有限失真要求的场合。无损压缩是指对原始信源数据信息压缩编码后,解压缩还原的数据与原来的数据完全相同,其不足是压缩比不大,主要应用于对原始信息要求不失真的场合。
目前,无损压缩有软件和硬件[4,6]2种实现方式,其中,硬件压缩方式以其快速的处理能力在实时数据处理场合是软件压缩方式无法替代的,从而获得重视。为了获得较大的压缩比,无损压缩需要根据信源的统计特性进行相应的压缩方法。而声波测井数据的统计特征随地域不同而有很大差异,因此很难构造一个具有普适性的基于声波测井统计特征的最佳无损压缩硬件实现方案,需要寻求一种与信源统计特征无关的压缩算法,并且便于硬件实现。而LZW(Lenpel-ZivWelch)[7]压缩算法就是一种无需信源统计特征的压缩算法它是一种压缩性能和解码速度综合指标相当好的一种压缩算法。
而用具有高性能数字处理能力的FPGA器件实现无损压缩具有较大的优势[8,9],根据声波测井数据和数传的特点,本文将设计了一种基于LZW用FPGA实现声波测井数据的硬件压缩方案。本文??重点设计LZW输出模块及其工作时序,并对其进行VerilogHDL设计与时序仿真验证。
1 LZW的标准化9/8输出模块的设计
LZW[2]是一种基于字典的无损压缩算法,根据声波测井数据采集系统的数据流的特点,本文设计LZW的FPGA的系统硬件框图如图1所示,系统主要划分为数据输入缓冲模块、压缩模块(包括算法模块、字典存储表)、数据输出模块(包括输出缓存、输出标准化转换9/8)和控制器模块。
其中,数据输入模块主要由一个FIFO(FirstinFirstOut)构成,以完成对不同采集速率和采样精度的声波测井数据的缓存,并将声波采集数据转换为适合压缩模块处理的8bit数据;压缩模块是核心,主要是压缩算法子模块和字典存储子模块,字典的每个词条存放三部分内容:前缀码、当前码、当前词条编码值。存储器容量设计为1K,则其地址宽度为10位。前缀码为9位,当前码为8位,当前词条编码值为9位(即压缩后输出的数据),则字典存储器总的数据宽度为26位。为了防止字典满时重建清空字典,当词条数达到510时,字典就清空,为此设计两个相同的字典存储器,使两个字典存储器交替工作,以空间换取速度。
输出模块主要是将压缩输出的9bit码流转换成适合测井仪器遥传系统的8bit数据位宽格式。可分为6个子模块:寄存器选择存储模块、数据锁存模块、9bit移位寄存模块、8bit移位寄存模块、移位允许控制模块、输出缓冲模块。其硬件框图如图2所示,其核心是利用9bit和8bit的两个移位寄存器来达到位数转换目的。为了避免压缩模块输出数据丢失,用两个9bit的存储器实现数据缓冲,先将压缩模块输出的9bit有效数据并入寄存器RI9,再锁存到锁存器RL9,然后其锁存到9bit的移位寄存器RG9里面准备移位。在移位允许(O9_VALID为高)下,高速移位脉冲上升沿有效,每移位一次,计数器O_COUNT就加1。由于数据输入是9bit,而输出是8bit,就需要将9bit的数据移位到8bit的移位寄存器里面凑足8bit,然后将这8bit数据输出之后再移位剩余的数据位。输出模块的时序图设计如图5所示。
从图5中可知,9bit移位寄存器里面的数据每锁存一次要分两次移位,而第一次的移位次数受O_COUNT的控制:当O_COUNT=0时,计数到14停止第一次移位,当O_COUNT=1,计数倒13停止第一次移位……当O_COUNT=7时,计数到7就停止移位,此时RG9里面恰好还剩下8bit数据,可以将这8bit数据移位输出然后将O_COUNT清零,重新
文档评论(0)