《测井数据实时无损压缩研讨和实践.docx》由会员分享,可在线阅读,更多相关《测井数据实时无损压缩研讨和实践.docx(4页珍藏版)》请在课桌文档上搜索。
1、测井数据实时无损压缩研讨和实践随着新型井下仪器的不断涌现及多种井下仪器的组合应用,测井信息通道也不断增加,传输的数据量越来越大。由于数据传输率与数据的实时存取以及井下系统的功耗是矛盾的,要实现井下几千米的测井数据的实时传输,就必须尽量提高数据传输率,但随着传输率的提高,信号的衰减和系统功耗也随之增加。为了满足新型测井系统对数据传输的要求,本系统采用了较高的传输率,测井时必须把采集的井下信息可靠而实时地传输到地面,由于测井信息传输通道的传输距离远,无线传输速度慢等特性的限制,解决好传输率的问题并非易事。因此,为了满足井下数据的实时传输,便通过将井下采集的数据进行压缩处理后再进行传输,这样就间接地
2、提高了传输率。本文以研究LZW算法为基础,以FPGA为硬件平台,以解决软件压缩解压所存在的速度慢、占用内存多的缺点。即:a.提高压缩解压速度,有利于实时性处理;b.节省宝贵的CPU资源,从而取得非常好的效果匡3)。用不同的无损压缩方法对数据(b)进行处理,从图2可以看出,与RLE4Huffinan算法5、帧相关压缩6相比,LZW的压缩效果明显高于其他算法,尤其是远远高于通用的(未考虑测井数据特征)RLE、HUffiIlan算法。几种无损压缩结果的比较信息头一数据区CRC校验位IFAAF图1观叮井数据格式测井数据是以区为单位连续读取的,每个区有258个字节组成,如图1所示,每个区有四部分组成:信
3、息头(6个Bytes)、数据区(246个字节)、CRC校验位(4个Bytes).信息尾(FAAF)。为了获得更好的压缩效果,将测井数据进行预处理,处理后的数据分为三部分:数据(a)包括信息头、FAAF,数据(b)包括数据区,数据(C)包括CRC校验位。由于数据(a)是固定的,用特殊的代码(100H)表示即可。由于数据(C)位数相对较少,故主要对数据区进行处理。从图3可以看出,随着数据字节数的增多,数据的重复率越高,压缩效果越好。但是,压缩效果不能无限制地提高,这是因为随着测井数据差别的增大,数据重复率降低,压缩效果受到限制。因此,根据实际情况确定合适的字典大小是非常关键的,本文采用两个字典轮流
4、工作,取得了很好的效果。另外,LZW算法的实时性较好,运算快,易于硬件的实现,这也正是选择该算法的重要原因。2LZW算法的过程描述LZW算法有三个重要的对象:输入数据流、输出编码流和一张用于编码的字典。输入数据流是指被压缩的数据;输出编码流是指压缩后输出的代码流;字典存储的是字符串及其索引号,从而实现了数据的无损压缩。其压缩算法的过程见文献7。该算法的基本思想是用简单的代码来代替复杂的字符串以实现压缩,在压缩过程中自适应建立一个字典,反应了字符串和代码的对照关系,通过查询字典来确定字符串压缩代码的输出。LZW编码能够有效地利用重复出现的字符,只需扫描一次,无需有关输入数据统计量的先验信息,其运
5、算时间正比于数据的长度。图4是对数据进行编码的过程,如果字典中没有当前组成的字符串,则给该字符串编码,并且放入字典中,否则,继续读取下一个字符组成新的字符串,如此循环。可以看出,随着输入的增多,字典的存储也会增多,每个存储地址代表更长的字符串,编码效果也会越来越好。7只吞二奋591砚种170451556众16习4多87t4U苦4人凌56卜礴9子4子)2矛八口6封吞(一14月5(1044公129盆0呜65t78455717B今,17臼38t7日二尸图5编码输出图5是对数据(b)编码后的数据输出,如果字典中没有当前组成的字符串,则将前缀输出,否则,不进行任何输出,继续读取字符,组成新的字符串,如此
6、循环。3硬件数据压缩算法的基本原理及过程本文采用FPGA8实现了数据的实时无损压缩。以Altera公司的Cyclonexl系列中的EPZe5T-1418作为目标器件,经过Quartusll软件编译综合,ModelsimSE仿真,得到工程的综合报告和仿真情况。图6是整个工程的FPGA资源占用情况。由综合结果得到,系统能够稳定运行的最高工作频率是134MHz,平均每12个周期压缩一个数据点,数据点输入位宽为Shits,所以整个系统能够有效处理的能力为:89.3MSo其中,使用Verilog语言进行功能描述设计的FPGA芯片是整个算法的核心部分。系统运行时,井下的测井数据经过一些预处理(去冗余:将帧
7、头去陶后传送给FPG入进行存储、压缩处理等操作。综合该算法和FPGA的特点,提高算法的压缩性能与FPGA的资源利用率,做出了如下处理。(1)为提高测井数据的压缩率,对数据(C)先进行差值处理后,再进行LZW压缩。(2)为保证异步时钟域数据同步,采用FPGA片内的双口RAM构成一个FIFO对预处理后的数据进行缓存。(3)对于HASH地址查找9,难免会有冲突发生,解决该问题的途径有两种:a.改变HASH函数;b.记录法:将每个字符串是否被用过、被哪个段用过记录下来,当然这样会占用额外内存,但是用这点内存换取时间也是非常值得的。(4)字典存储器模块。字典的一个词条包括字典编码、前缀、后缀(当前字节)
8、。每个词条的宽度为咒位(字典编码12位,前缀12位,当前字节8位)。(5)由于数据具有局部平稳性,随着数据的增多,数据间的相关性降低,影响压缩效率。可采用双字典轮流工作机制,使字典适应于数据流的输入。图8所示是数据(b)的仿真截图,图中的Code是字典编码,dataout是12位的输出,对照图4、图5对应的理论压缩过程,可见LZW模块仿真的结果无误。3硬件数据压缩算法的基本原理及过程本文采用FPGA8实现了数据的实时无损压缩。以Altera公司的Cyclonexl系列中的EPZe5T1418作为目标器件,经过Quartusll软件编译综合,MOdeISiInSE仿真,得到工程的综合报告和仿真情况。图6是整个工程的FPGA资源占用情况。4结语本文用硬件方法实现测井数据的实时无损压缩,能够将高速信号变成缓变信号进行传输,对于提高通信的信道容量,提高数据的可靠性具有重要的意义。通过实践证明,数据的压缩比能达到19%左右,这大大提高了无线测井数据传输的效率。本技术对于石油探测数据的采集具有重要的意义,具有广阔的应用前景。本文创新点:与其他同类文章相比,本文将LZW压缩算法应用于测井数据特征的数据压缩处理,并通过FPGA对LZW算法进行完善,充分利用硬件资源,避免了在处理过程中有可能会出现的遗漏采样点情况。