Matlab | 基于二次谱提取地震数据的地震子波

本文通过地震数据二次谱求取地震子波谱,具体方法如下:

MATLAB代码实现如下:

matlab 复制代码
function w = SndSpecExtWavelet(x, M)
% 功能:基于二次谱提取输入地震数据data的地震子波wavelet
%      Extracting Wavelet from Input Seismic Data Based on Second Spectrum
% 输入:
%       x     -  地震信号,Nt×Nz
%       M     -  提取地震子波的长度
% 输出:
%       w     -  提取的地震子波,1×M
% 时间:2023/10/14


[Nt,Nz] = size(x);
FxTwo = zeros(Nt,Nz);
% 多道平均法
for k = 1:Nz
    Fx = abs(fft(x(:,k)));
    FxTwo(:,k) = (fft(Fx));
end
FxTwoAvg = sum(FxTwo,2)/Nz;

cLow = zeros(Nt, 1); %低通滤波器
for i = 1:Nt
    cLow(i) = 0.5*(1+cos(2*pi*(i-1)/Nt));
end
FxTwoLow = FxTwoAvg .* cLow;
FxLow = (ifft(FxTwoLow));
we = real(ifft(FxLow));
wm = zeros(1,M);
wm(ceil(M/2):M) = we(1:ceil(M/2));
wm(1:ceil(M/2)) = we(Nt-floor(M/2):Nt);
p = max(abs(wm));
w = wm./p; % 归一化

end

自己写的代码,如有错误还请联系。创作不易,记得点赞支持哦,谢谢!

相关推荐
青春不败 177-3266-05203 小时前
MATLAB在生态环境数据处理与分析
matlab·生态学·遥感·生态系统服务·数据处理·环境科学
WangYan20224 小时前
MATLAB/Meta分析/R语言/贝叶斯方法/piecewiseSEM结构方程模型在生态环境数据处理与分析中的应用
matlab·meta分析·生态环境·结构方程模型·贝叶斯方法
chhttty3 天前
MAB建模规范:Simulink外观规范
matlab·simulink
机器学习之心3 天前
CCD实验设计+SVM代理建模+改进NSGA-II工艺参数多目标优化,MATLAB代码
算法·支持向量机·matlab·多目标优化
泛泛7辈3 天前
通过matlab训练和验证深度学习的目标检测
深度学习·目标检测·matlab
daad7774 天前
记录matlab状态机demo
java·网络·matlab
吃好睡好便好4 天前
MATLAB中图像的线性变换
开发语言·图像处理·学习·计算机视觉·matlab
熊猫_豆豆4 天前
《基于改进标准映射的图像加密算法》MATLAB代码版本
开发语言·matlab·图像加密算法
吃好睡好便好4 天前
MATLAB中图像的对数变换
图像处理·学习·算法·计算机视觉·matlab