郝小龙,高国寅,王伟,杨诚
(西安石油大学电子工程学院,陕西西安 710065)
测井是油气勘探与开发的“眼睛”,声波测井在地层评价、储层改造和随钻地质导向等方面发挥着重要作用[1-2]。随着探测深度和精度的提高,声波测井的数据量越来越大,给实时上传和高效测井带来了巨大挑战[3]。对数据进行井下处理是一种有效的途径。
在声波测井中,使用较多的数据处理算法有深度校正、增益还原和噪声滤波等预处理算法[4],全波列中求取纵横波时差的慢度-时间分析、频谱分析等算法[5-7],处理反射波的波场分离和偏移叠加算法[8-9]以及用于增强方位分辨率的相控阵接收算法等[10]。这些算法大多在PC 机中对测井后的数据进行处理,未考虑算法的运行时间和内存占用量,不能作为测井过程中的井下实时处理算法。必须开发井下仪器硬件支持、满足测井时效性的井下实时处理算法。
上位机软件是开发井下处理算法的重要辅助工具,甚至是算法的必要组成部分。本文在分析井下处理算法开发流程的基础上,提炼了上位机软件需要具备的功能,设计了测井数据转换、USB 文件传输和数据处理三个模块,并使用实际测井数据和井下算法验证系统前端机对上位机软件进行了测试。
声波测井井下算法验证系统的总体框架见图1。系统主要包括前端机和上位机两部分,二者通过USB线连接。前端机是系统的核心,实现相应的井下处理算法,它通过USB 接口与外部交换数据。为了确保井下算法的可行性和可移植性,前端机使用的处理器与井下仪器相同,一般为数字信号处理器(DSP)或者现场可编程门阵列(FPGA)。上位机主要包括文件转换、USB 传输和数据处理三个模块,其中文件转换模块实现测井数据文件的解析和转换,USB 传输模块与前端机进行通信,数据处理模块对算法的效果进行验证和评价。
图1 井下算法验证系统总体框架
开发井下处理算法主要包含以下几个流程:(1)上位机文件转换模块先将实际测井数据转换成前端机能够识别的数据格式,然后通过USB 传输模块发送到前端机中。(2)前端机运行井下处理算法,对接收到的测井数据进行处理,将处理结果通过USB 接口回传给上位机。(3)上位机对经过前端机处理后的数据进行二次处理,分析与评价井下算法的效果。
声波测井井下处理算法的上位机软件开发在VS2010 环境中进行,主要包含三个模块:文件转换模块、USB 传输模块和数据处理模块。
文件转换是根据输入文件的数据记录格式,将其转换成所需格式的新文件[11]。井下算法验证系统中的文件转换模块见图2,它能够将不同仪器测量的不同记录格式的声波测井数据转换为井下算法验证系统前端机能够识别的数据文件,为后续的井下处理算法开发提供测试数据。
图2 文件转换模块
文件转换模块由文件输入、文件输出和文件回放三个功能子模块组成。文件输入子模块中可以导入声波测井原始数据文件,并识别出数据所对应的起始深度、终止深度和采样间隔,供文件转换使用。文件输出子模块根据井下算法验证系统前端机所需的数据内容和格式,选择导出数据的深度、站和道,进而实现声波测井数据文件的格式化输出。文件回放子模块主要用于快速检查测井文件和数据的质量[12]。该模块可以选择回放文件的类型并在绘图区显示波形。若是选择“输入”类型,则文件回放输入子模块中的原始数据文件;若是选择“输出”类型,则文件回放输出子模块转换得到的导出文件。此外,通过调用定时器功能,可以设置文件回放的周期。
文件传输模块基于USB 2.0 协议设计,实现了上位机与前端机之间的双向通信,进行井下算法处理前后的数据交换。设计的文件传输模块见图3,该模块在USB 设备初始化的基础上实现了数据文件的下传和读取两个功能,并显示传输状态。
图3 文件传输模块
USB 设备的初始化调用Cypress 公司提供的库文件CyAPI.lib 和相应的控制函数CyAPI.h、cyioctl.h 来创建USB 设备结构体,打开USB 设备以及初始化设备端点,获取USB 设备的连接数目与名称等信息[13-14]。本设计中,USB 设备与前端机连接正常后,该模块显示连接状态和该设备的PID 和VID。
文件下传子模块通过USB 接口,将算法处理系统前端机能够识别的处理前数据文件传入前端机。而文件读取模块接收来自前端机处理后的数据文件。文件下传和读取是以512 字节的数据包为单位进行的。每个数据包中,前511 个字节为测井数据,最后一个字节为校验和。文件传输的状态使用传输速度和误码率来表示,其中误码率的计算是通过上位机和前端机对收发的数据包进行校验实现的。文件传输完毕后,若误码率不为0,则重新传输该文件。
数据处理模块是上位机软件中的可扩展模块,可根据需要随时增加处理功能。该模块可以实现井下处理算法的验证功能甚至作为算法的必要部分。针对参数计算一类的算法,该模块可以使用相同程序进行算法效果的验证。而对声波测井数据压缩算法来说,上位机的数据处理模块是必不可少的组成部分。该算法的压缩部分在井下仪器的处理器中实现,而解压缩功能在上位机中完成。
本设计对文件转换模块和传输模块分别进行了测试。测试文件转换模块时,先依次执行文件导入和文件转换操作,将声波测井原始数据文件转换为前端机识别的数据文件,然后对两个文件分别进行回放。结果显示,文件转换模块的3 个子模块均能正常工作,回放的一道波形见图4。
图4 文件回放结果图
传输模块的测试是通过在前端机和上位机之间传输1 GB 的数据文件进行的,其中前端机的处理器为FPGA。测试表明,该文件传输的下传速度可达43.36 MB/s,上传读取速度可达34.78 MB/s,误码率均为0。这表示文件传输模块是正常的。
对数据进行井下处理是实现声波测井实时上传和高效测井的有效途径。上位机软件是开发井下处理算法的重要辅助工具,甚至是算法的必要组成部分。
本文设计了包含测井数据转换、USB 文件传输和数据处理三个模块的上位机软件,实现了测井原始数据的格式转换与快速传输功能,满足了开发井下数据处理算法的上位机需求。该上位机软件有利于加快声波测井井下处理算法的开发,从而为提高测井速度和实现降本增效服务。