论文部分内容阅读
井下声波测井数据具有测试精度高、数据量大、传输距离远、无线传输速度慢等特点。给数据的存储与传输造成很大的困难,采用硬件进行实时无损压缩就成为必要。本研究课题就是在这一背景下提出的。所谓无损压缩格式,是利用数据的统计冗余进行压缩,可完全回复原始数据而不引起任何失真,但压缩率是受到数据统计冗余度的理论限制,一般为2:1到5:1.这类方法广泛用于文本数据,程序和特殊应用场合的图像数据(如指纹图像,医学图像等)的压缩。本文设计了一种基于FPGA的数据实时无损压缩系统,算法采用LZW算法。首先通过对比分析常用数据无损压缩算法的特点得出LZW算法在实时性、在实现复杂度、所需的存储容量、算法的压缩效果和适用的场合方面都有不错的特点,因此以它作为硬件实现的算法。在设计整个硬件系统之前,本文还着重研究了LZW算法中用于字典查找的Hash函数的散列性能。实验证明:移位异或哈希函数散列性能优秀,而且利于硬件实现。接下来从排队论理论的角度来论证FIFO设置的合理深度,首先本文利用排队系统理论对FIFO进行建模,在此基础上利用生灭过程的基本知识,推导出计算FIFO深度的数学公式,从而计算出FIFO深度。本文所设计的硬件系统的核心器件是FPGA,采用的是ALTERA公司Cyclone Ⅳ系列的EP4CE10F17C8。利用FPGA芯片内部的RAM资源构成输入数据的缓存器以及LZW算法所需的2个字典存储器,并结合有利于硬件实现的字典管理策略完成了实时无损压缩。本设计采用QUARTUS Ⅱ为FPGA器件软件开发平台,采用Verilog硬件描述语言输入方式进行层次化描述。本设计完成了数据实时无损压缩的硬件电路,并且在进行硬件设计之前对加入Hash函数的LZW算法进行了C语言仿真,压缩结果的编码与预期一致。接着把硬件系统的编码结果用C语言进行解码,实验证明解码结果与压缩前的数据完全一致。本文最后对压缩系统的性能进行了分析,系统的最高时钟工作频为50.14MHz,系统的工作电流在42mA左右,压缩率在50%左右。