【时频域群延迟+零交叉检测】基于短时傅里叶变换群延迟和符号差分析的地震初至波自动拾取算法(MATLAB)
算法基于短时傅里叶变换(STFT)与群延迟(Group Delay)原理,提出了一种地震信号初至波自动拾取方法。首先对输入地震道进行自动增益控制(AGC)以均衡振幅能量;然后利用高斯窗构建时频表示,并计算每个时频点的群延迟(即瞬时频率与相位的关系);通过比较时间轴与群延迟的符号差异,检测正负跳变区域,进而生成二值化指示矩阵;最后对深度方向(时间轴)进行局部求和与阈值判断,提取反映有效信号到达时刻的特征向量。
算法步骤
数据加载与预处理:读取地震数据,截取目标时间段与道集范围,并对每道数据进行振幅归一化处理。
自动增益控制(AGC):采用滑动时窗计算均方根(RMS),并构造增益算子对地震道进行振幅均衡,消除深部能量衰减影响。
时频变换与窗函数加权:对每一道信号,利用高斯窗函数构建滑动的时频矩阵,通过快速傅里叶变换(FFT)获得局部频谱。
群延迟计算:根据傅里叶变换的微分性质,计算频域信号对频率的导数,进而得到每个时频点的群延迟量(Tau)。
符号差检测:构建时间轴矩阵与群延迟矩阵的差值,通过符号函数求导,定位群延迟曲线穿越时间轴的零交叉点。
深度方向累积判别:将时间轴末端若干样点的零交叉指示进行累加,根据累加和是否大于零生成二值特征向量(PS)。
结果可视化:采用变密度图(imagesc)显示AGC处理后的地震剖面,并叠加波形图(plotseismogram)展示拾取结果。