可视化小波频率如何影响地震纵向分辨率(MATLAB R2018A)

地震勘探主要通过地表接收的地震波场来识别地下的地质结构和物性参数等,获取地震数据的质量直接决定着反演地下信息的精确度和准确性。地震数据的分辨率是评价地震数据品质的重要标准之一,高分辨率的地震数据包含丰富的地质信息,更有利于进行地震解释、储层预测和属性分析等。随着油气需求的持续增加和勘探程度的不断深入,薄互层油气藏、岩性油气藏和复杂隐蔽油气藏等逐渐成为地震勘探和开发的重点领域,常规处理的地震数据很难满足高精度的反演和解释等要求,宽频带地震数据采集还无法有效解决一些地震数据的高分辨率处理问题,例如,地层岩性方面的薄互层预测精度不足问题,碳酸盐岩方面的巨厚表层吸收衰减问题,非常规油气勘探方面的深层地震数据低分辨率问题等,因此需要对地震数据高分辨率处理技术进行持续的研究。实际地震数据在采集的过程中受到诸多非确定性因素的影响,例如复杂介质对震源子波的改造作用、不同时刻激发和接收条件的不可重复以及各种噪声干扰等,由于观测条件的有限性,实际地震数据尚无法用确定的时间(或空间)函数表示,在物理形态上表现为不确定的时变、空变和频变特征,尽管有时地震数据在局部表现出一些确定性的特征,但其本质上为非平稳的随机过程,可以定义为非平稳地震数据,由于其特有的局部近似确定性和全局随机性特征,很多常规的高分辨率处理方法也获得了一些效果,但面对持续复杂化的地震数据往往难以实现更广泛地应用。因此,开展针对非平稳地震数据特征的高分辨率处理技术系统研究具有重要的实际价值,其目的主要是合理恢复地震数据的低频和高频信息,有效拓宽有效地震信号的频谱带宽,提高地震数据的分辨率。通常,在地震勘探中将分辨率分为横向分辨率和纵向分辨率。横向分辨率也称为水平分辨率,是指在水平方向上分辨地质体大小、位置和边界的能力,如断层、尖灭点和岩性体等。 纵向分辨率也称为垂向分辨率,是指在垂直方向上分辨地层厚度的能力。

鉴于此,主要可视化小波频率如何影响地震纵向分辨率,运行环境为MATLAB。

Matlab 复制代码
clear;
clc;
load('Sections.mat');             % This is an experimental Data contains RC matix.
load('Seis_maps.mat');            % Maps to plot

%% Wavelet prameters
Sampling_Interval= 1/1000;                     % Sampling Interval in Sec
NumberOfSamples= (10/Sampling_Interval)+1;       % Must be enough to make sure the whole wavelet is plotted
                                               % (must contains zeros at the sides)
NumberOfSamples= round(NumberOfSamples, 0);

t0= 0;    % This determines where the peak/trough must appear. In our case
          % we generate a zero-phase wavelet that shows its peak at 0.
%% Processing
% In this section we generate the wavelet with a certain frequency and 
% convolve it with the RC matrix then we plot the results

for iter=1:0.2:120
    Freqeuncy= iter;
    
    % Generate Ricker wavelet with the above parameters
    [Wavelet, t]= Edited_ricker(Freqeuncy, NumberOfSamples, Sampling_Interval, t0);
    
    
    % delete the unnecessary 0 Values of the Wavelet and make sure it is still
    %  symmetric
    for it=1:length(Wavelet) % start from 1 to end and determine where the non zero values starts
        if Wavelet(it)~=0
            Left= it-1;      % the left coordinate of the wavelet contains one zero
            Left= max(1, Left); % sometimes because we choose a small number of NumberOfSamples the wavelet
            break;              % is already cut and doesn't have zeros! 
        end
    end
    
    for ite=length(Wavelet):-1:1 % The same as the previous loop but here we determine the coordinate
        if Wavelet(ite)~=0       % at which the zeros end.
            Right= ite+1;
            Right= min(Right, length(Wavelet));
            break;
        end
    end
    
    % Modify the Wavelet and Time rows
    t= t(1, Left:Right);                  % Trim the Time row
    Wavelet= Wavelet(1, Left:Right);      % Trim the Wavelet row  
    
    
    % Convolove the Wavelet with the RC matrix
    Res= conv2(Wavelet, 1, RC_Matrix_RHG);
    
    % The convolved matrix is larger in size(Rows) than the RC matrix so we have
    % to trim the values from the begining and ending of the Res matrix so
    % they match each other.
    
    S1= size(Res, 1);                  % Convoloved matrix size
    S2= size(RC_Matrix_RHG, 1);        % RC matrix size
    dif= (S1 - S2)/2;                  % dif is the values we must delete from the begining and ending of RC
    Res(1:dif, :)= [];                 % Delete dif from the begining of the matrix
    Res(end:-1:(end-dif)+1, :)= [];    % Delete from the end of the matrix
    
    
    T= 1:size(Res,1);
    
    if iter>1
        cla(h1);
        cla(h2);
        cla(h3);
        cla(h4);
        cla(h5);
    end
    subplot(4, 8, [1 25]);plot(RC_Matrix_RHG(:, 1), T);
    h1= gca;
    h1.YDir= 'reverse';
    title('RC series');
    grid on;
    
    subplot(4,8,[2 26]);plot(Wavelet, t);
    h2= gca;
    h2.YDir= 'reverse';
    title({'Wavelet'; ['Frequency= ' num2str(round(Freqeuncy, 0)) ' Hz']}, 'Color', 'b');
    grid on;
    subplot(4,8,[3 27]);plot(Res(:,1), T);
    h3= gca;
    h3.YDir= 'reverse';
    title({'1D Synthetic'});
    grid on;
    subplot(4,8,[4 16]);imagesc(RC_Matrix_RHG);
    h4= gca;
    title({'Subsurface geology'});
    subplot(4,8,[20 32]);imagesc(Res);
    hold on
    plot([1:1:size(Res, 2)]+Res(:, 1:1:end), T, 'k');
    h5= gca;
    colormap(Red_blue_map);
    title({'Synthetic Section'});
    xlabel('Coded by Haydar Khayou - Damascus University', 'Color', 'b');
    %完整代码:https://mbd.pub/o/bread/mbd-ZpWbkpdy
    drawnow;

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
翔云API1 分钟前
PHP静默活体识别API接口应用场景与集成方案
人工智能
爱吃喵的鲤鱼7 分钟前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
浊酒南街7 分钟前
吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.9-4.10
人工智能·深度学习·神经网络·cnn
Tony聊跨境23 分钟前
独立站SEO类型及优化:来检查这些方面你有没有落下
网络·人工智能·tcp/ip·ip
懒惰才能让科技进步29 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
DARLING Zero two♡33 分钟前
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
c语言·开发语言·科技
Gu Gu Study35 分钟前
【用Java学习数据结构系列】泛型上界与通配符上界
java·开发语言
Qspace丨轻空间40 分钟前
气膜场馆:推动体育文化旅游创新发展的关键力量—轻空间
大数据·人工智能·安全·生活·娱乐
没有不重的名么41 分钟前
门控循环单元GRU
人工智能·深度学习·gru
Ni-Guvara43 分钟前
函数对象笔记
c++·算法