基于短时能量与LSTM的油井动液面深度研究

2021-04-23 02:09张著洪
计算机与现代化 2021年4期
关键词:改进型液面声波

梁 鑫,张著洪

(1.贵州大学大数据与信息工程学院,贵州 贵阳 550025; 2.贵州省系统优化与科学计算特色重点实验室,贵州 贵阳 550025)

0 引 言

油井供液能力评估一直是石油行业关注的重要话题,也是涉及石油勘测设备维护和井下油量估算的科学问题,因此开展油井的动液面位置估计和深度计算研究,对采油企业自身的发展具有重要的现实意义[1]。已有5种方法常被用于动液面位置标定,即浮筒法[2-3]、压力计探测法、泵功图法[4-5]、软测量法[6-7]与声波法[8-12]。前2种方法因设备工艺复杂、成本高、使用和维护时需要现场操作、性价比低等原因,已经逐渐被淘汰。泵功图法是一种依据地面示功图及抽油系统的动力学模型获取泵功图,进而依据凡尔开闭点及相关模型确定动液面位置;该方法因泵在井下的工况复杂,导致基于泵功图的液面检测误差大,较难获得液面的准确位置。软测量法主要是利用油井参数来建立度量液面位置的数学模型,但采油的工艺较复杂,加之各种地质参数常因环境的变化而动态变化,且数据采集难度大,故该方法的应用需求较少。声波法是一种具有重要应用价值的动液面深度计算方法,其依据声波在井下传播形成的节箍波曲线,通过高通、低通滤波获取高频、低频信号,进而确定液面位置和声波转播的平均速度。该方法涉及人工检测和声波幅值检测2种类型,但由于油井的气压及节箍表层被杂质污染,导致声波曲线受噪声干扰较严重,进而造成波形严重失真,影响液面位置确定的精度和平均声速的计算准确度。为此,吴进峰[13]、吴新杰等[14]基于人工神经网络和卷积神经网络,研究动液面的标定方法,力求从采集的声波信号中提取原始声波信号,但其实际的应用受限;周家新等[11]提出一种基于短时能量及过零率函数的液面位置检测方法,其能检测出动液面位置,但参数设置较为困难,实用性有待增强。

综上,由于油井地质复杂,加之井下节箍受地下环境污染严重以及受油井作业时混合气流的影响,油井供液能力研究尚未取得突破性进展。为了探究一套简单可行的算法来检测动液面位置和解算液面深度,本文针对常规短时能量函数及短时能量过零函数用于确定油井液面位置时,易于导致获得的声波信号出现短时能量较大和短时过零率较低的问题,提出更能有利于确定液面位置的改进型短时能量过零函数;针对削波函数作用于B通道节箍波信号时,导致节箍位置较难确定,使得回声波的平均声速计算较难准确计算,在此提出一种改进型削波函数,并用其刻画抽油杆节箍的位置特征。进而,将获得的改进型函数作用于A、B两通道的声波信号,获得融合多种候选液面位置的液面深度计算算法。最后,利用此算法获得的液面位置和平均声速,以及实测的液面深度建立样本集,探讨一种基于长短时记忆神经网络的动液面深度预测模型。实验结果表明,获得的液面深度计算方法能有效确定液面位置,得到的预测模型对动液面深度预测具有一定的参考价值。

1 改进型短时能量与中心削波模型

声波法测井是通过声波发射装置向油井发射声波脉冲信号,然后在井口处用微音器接收回波信号,进而借助带通滤波和自适应滤波将回波信号分解为A通道低频信号和B通道高频信号;最后,依据相关的信号处理方法,确定动液面的位置和回波的平均声速,并通常经由下式计算液面的深度:

(1)

式中,LDepth表示液面深度,v表示声波的平均传播速度,t表示声波从井口到液面后再返回井口的时间。由于A、B通道获得的高、低频信号因环境噪声的干扰,尚不能直接由此来研究动液面位置与声速的变化特性,因此本文将此两通道的信号作进一步处理,即首先将卡尔曼滤波模型[15-16]中当前的估计状态用邻近的k步估计状态的均值取代,然后将获得的卡尔曼滤波对此两通道的信号作滤波处理。

1.1 改进型短时能量过零函数

短时能量法(Short Term Energy, STE)[17-19]是语音信号处理中常用的时域分析法,其本质上刻画了信号的幅值变化。语音信号处理中的时间序列信号的短时能量常由下式度量:

(2)

(3)

其中,h(n-k)表示窗函数,h(n-k)=g2(n-k),x(k)表示语音信号。式(3)表明,信号的短时能量就是信号x2(n)经过冲击响应h(n)滤波后的结果;与此同时,若将信号时间序列减去均值后再作归一化处理,则得到的时间序列的无关信号集中在0附近,且由式(3)得到的能量能刻画时间序列在波形较高位置处的能量幅值大小。可是,该式仅能刻画波形的幅值特征,不能表征波形穿过横轴(零电平)的频率特性。为此,引入过短时幅值和短时过零函数[19]来刻画波形的特征,即短时幅值、短时过零函数分别由下式定义:

(4)

(5)

式中,sgn(·)为符号函数。综合式(4)与式(5),文献[11]提出短时能量过零函数(Short-term Energy Crossing Zero Function, STECZF),即:

(6)

其中,m表示帧数,a、b、β、γ需依据油井的特性而定。由于声波的发射和接收的设备不同,导致式(6)较难被用于刻画回声波的波形特征,加之其包含的3个待确定参数在实际应用中较难确定。为此,依据式(4)~式(6),提出如下改进型短时能量过零函数:

(7)

相比于式(6),式(7)仅有1个待定参数,此不仅能刻画时间序列的波形幅值变化特征,而且也能刻画波形的过零率特征。

虽然式(7)能有效刻画A、B通道信号的动液面波形特征,并能确定液面的位置,但不能刻画节箍波的周期信号特征,并因此不能获得回声波的平均传播速度。为此,引入基于三电中心削波函数,并设计改进型三电中心削波函数。

1.2 改进型三电中心削波函数

削波器[19]可应用于语音信号波形的整形、变换等,其仅保留超过削波电平的语音信号。常用的削波器有三电中心削波函数C[xi(n)],即:

(8)

式中,xi(n)是信号分帧后的第i帧信号,CL是削波电平,一般取一帧信号的最大幅度的60%~70%。结合油井声波信号的特性,将声波信号时间序列的最小值引入式(8)中,获得如下改进型三电中心削波函数,即:

C[xi(n)]=

(9)

其中,CL是在0.3~0.5之间取值的常数。

改进型三电中心削波函数较适合于B通道的信号速度检测。其与第1.1节获得的动液面位置结合,可获得如下算法来计算动液面深度。

2 液面深度计算算法

图1 STEZFBLDCA算法流程图

液面深度计算需经由2步完成。首先,依据A、B通道信号确定液面位置,其次依据B通道信号计算声波的平均传播速度。在此,利用改进型短时能量过零函数和A、B通道信号确定动液面的位置。对于回声波的平均传播速度计算,将以上改进型三电中心削波函数作用于B通道信号后,获得具有明显周期性特征的时间序列信号;然后,从第m个数据点开始,连续选取p个数据点,计算相邻2个波谷点之间的平均时间tB,进而借助相邻2个节箍点之间的长度计算回声波的平均传播速度。于是,基于改进型短时能量过零函数的液面深度计算算法(Short-term Energy Zero-crossing Function Based Liquid Depth Computation Algorithm, STEZFBLDCA)的算法流程如图1所示,算法描述如下:

算法1STEZFBLDCA。

步骤1参数设置:式(7)中的参数a,油井回声波离散信号{xk,1≤k≤N},以及信号的帧长L。

步骤2利用带通滤波器将回声波信号转换为A、B通道信号。

步骤3利用卡尔曼滤波对A、B通道信号分别进行滤波。

步骤4依据帧长L,将A、B通道信号分别划分为M帧:XA,n,XB,n,1≤n≤M。

步骤5液面位置确定:

步骤5.1由式(3)计算A、B通道的每帧短时能量:EA,n,EB,n,1≤n≤M。

步骤5.2由式(7)计算A、B通道的每帧短时能量过零函数值:KA,n,KB,n,1≤n≤M。

步骤5.3依据A通道确定液面的候选位置:

(10)

步骤5.4经由B通道确定液面的候选位置:

(11)

步骤5.5经由下式确定液面位置:

(12)

其中,round(·)为取整函数。

步骤6将改进型三电中心削波函数作用于B通道信号,获得回声波的平均传播速度vB。

步骤7经由下式计算液面的深度:

(13)

其中Ts表示回声波离散信号的采样时间。

步骤8输出液面深度LD。

以上算法将短时能量函数及改进型短时能量过零函数作用于A、B通道信号,获得4个候选液面位置,进而将其取均值便可获液面位置,以及利用改进型三电中心削波函数确定回声波的平均传播速度。进而,由此液面位置、平均速度及液面深度计算公式,可得到液面的深度。该算法的可调参数少,且由多途径确定液面的候选位置,因而可有效标定液面位置。

3 基于LSTM的动液面深度计算

长短时记忆(Long Short-term Memory, LSTM)[20-22]神经网络是一种适用于时序信号分析与预测的深度学习模型,其结构如图2所示。

图2 LSTM神经网络的结构示意图

LSTM由多个记忆块依次连接而成,每个记忆块主要有遗忘门、输入与输出门和一个记忆单元(cell)。它借助时序样本点,利用前向传播过程获得各功能模块的输出,进而通过误差反向传播更新网络的权值,其遗忘门与输入门的输出分别经由下式计算:

ft=σ(Wf·[ht-1,xt]+bf)

(14)

it=σ(Wi·[ht-1,xt]+bi)

(15)

记忆单元的输出经由下式计算:

Ct=ft×Ct-1+it·tanh(WC·[ht-1,xt]+bC)

(16)

输出门的计算如下:

ot=σ(Wo·[ht-1,xt]+bo)

(17)

其中ht=ot·tanh(Ct)。

给定油井样本集为Ω,其容量为q,第i个样本点表示为(xi,hi),在此xi表示油井i的回声波信号构成的向量,信号长度为N,hi表示油井i在回声波信号下的实际液面深度。将样本集Ω中声波信号集{x1,x2,…,xq}中每个信号xi依次代入以上算法1中,经由下式确定由A、B通道获得的液面位置:

(18)

进而将如下集合Σ作为LSTM的训练样本,即:

Σ={(nA,i,nB,i,vB,i;hi)|1≤i≤q}

(19)

其中,(nA,i,nB,i,vB,i)为LSTM的第i个输入,hi为其相应的期望输出。由此,基于LSTM的液面深度计算算法(LSTM-Based Liquid Depth Computation Algorithm, LSTMBLDCA)的算法流程如图3所示,其描述如下:

算法2LSTMBLDCA。

步骤1参数设置:式(7)中参数a,帧长L,帧数M。

步骤2输入回声波信号及对应的实际液面深度构成的集合{(xi,hi)|1≤i≤q}。

步骤3依据式(18)与式(19)获如上所述训练样本Σ。

步骤4利用样本Σ训练LSTM,获得液面深度预测模型。

步骤5输入油井的测试样本。

步骤6输出油井的液面预测深度LD。

图3 LSTMBLDCA的流程图

算法2利用算法1获得的候选液面位置及油井液面实测深度训练LSTM的网络参数,可获得油井的液面深度预测模型。

4 数值实验

在Windows 10 (CPU/i5-4210 2.60 GHz, RAM/4 GB) 、 MATLAB 2019a环境下展开数值实验。

为测试STEZFBLDCA的液面深度计算效果,将短时能量函数、短时能量过零函数分别与常规的削波函数结合,获得的油井液面深度计算方法依次记作STE和STECZF,并与STEZFBLDCA进行比较。另外,选取含有连续20次回声波的油井的前16次回声波训练LSTM,并用后4次回声波检测LSTMBLDCA的预测效果。设置a=3, LSTM网络的输入神经元个数为3,隐藏层为20,输出神经元个数为1,迭代次数为600。测试实例为15口油井的液面计算问题,且所用数据为每口油井的声波时序信号和对应的实测液面深度。

1)液面深度的计算误差比较。

选取STE、STECZF和文献[11]中的方法与STEZFBLDCA进行比较。此4种方法作用于15口油井中每口油井的1次回声波信号,并以每种算法获得的15口井液面深度与实际液面深度的绝对误差、相对误差序列为基础数据,各算法计算得到的误差统计值如表1所示。

表1 算法获得的与实测的液面深度误差统计量比较

经由表1可知,各算法获得的误差统计值存在明显的差异。文献[11]方法的绝对误差的均值和方差分别为42.92 m和1864.99,相对误差的均值和方差分别为4.37%和0.18%,其与其它3种方法获得的相应值相比,均较大,因此文献[11]的方法应用于油井的液面深度估计,易导致估算精度较低。STE和STECZF的绝对误差的均值分别为19.09 m及10.92 m,它们的相对误差均值分别为1.57%和2.73%。因此,如此2种方法的液面深度计算效果没有明显差异。另外,STECZF的液面深度方差比STE、STEZFBLDCA的均要大,因此其液面深度计算结果的稳定性较差。相比于STE及STECZF,STEZFBLDCA的计算精度明显较高,且对各油井的液面深度计算的稳定性也较好。由此,STEZFBLDCA更适合于油井的液面深度计算。

2)油井液面深度预测。

根据合作方提供的15口油井数据,油井01的数据中含有20次回声波信号。将前16次回声波信号及油井实际液面深度作为LSTMBLDCA的训练样本。进而,将得到的预测模型作用于第17~20次的回声波信号。模型训练后的液面深度计算值与液面深度预测值如表2所示。

表2 LSTMBLDCA的模型计算与预测动液面深度值(LD)(油井编号01)

经由表2获知,LSTM利用第1~16次回声波数据和实测数据训练后,获得的模型的液面深度与实测深度较为接近,其导致绝对误差的均值为3.9300 m,标准差为2.7501,同时导致相对误差的均值为-0.00017以及标准差为0.0017,因此模型的训练效果较为理想。进一步,该模型经由第17~20次回声波预测的液面深度分别为2947.44 m、2921.23 m、2923.14 m、2904.69 m,此与实测液面深度极为接近,其预测液面深度与实际液面深度的绝对误差均值为0.7613 m,标准差为1.7281;与此同时,其产生的相对误差均值为-0.00016,标准差为0.0013。因此,得到的预测模型具有一定的预测能力,预测精度高。这也表明,借助算法1获得的液面位置以及LSTM建立液面深度计算预测模型有一定的合理性,但由于回声波的形成受油井地质状况的影响较大,从而导致液面深度预测仍具有一定的挑战性。

5 结束语

油井动液面深度计算一直是油田行业中极为困难的工程问题,也是算法研究的重要学术性问题。本文通过深入分析刻画液面位置特性、节箍波形特征的短时能量、短时能量过零函数、削波函数的性能特性,获得改进型短时能量过零函数和削波函数,并依据此函数提出油井液面深度计算算法(STEZFBLDCA)。进而,将此算法获得的液面位置和平均声速作为LSTM的输入,得到可以预测油井动液面深度的算法(LSTMBLDCA)。比较性的实验结果表明,STEZFBLDCA比STE及STECZF获得的液面深度误差小,液面深度计算效果的稳定性较好,具有一定的应用潜力;同时,LSTMBLDCA预测的液面深度与实际液面深度的偏差较小,具有较好的预测能力。但是,由于实际条件的限制,本文所用样本容量较小,导致LSTMBLDCA的性能测试有待进一步研究。

猜你喜欢
改进型液面声波
Cr5改进型支承辊探伤无底波原因分析
分子热运动角度建立凹凸液面饱和蒸气压的物理图像∗
吸管“喝”水的秘密
改进型CKF算法及其在GNSS/INS中的应用
爱的声波 将爱留在她身边
声波杀手
自适应BPSK在井下钻柱声波传输中的应用
改进型逆变器无效开关死区消除方法
改进型抽头电感准Z源逆变器
激光系统对液面信息的探测与研究