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

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

鉴于此,主要可视化小波频率如何影响地震纵向分辨率,运行环境为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等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/667463.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

快蜗牛OZON数据分析,OZON快蜗牛数据

在当今电商行业蓬勃发展的背景下,OZON作为俄罗斯及东欧市场的重要电商平台,其数据背后蕴藏着巨大的商业价值。快蜗牛,作为专注于OZON平台的数据分析工具,为卖家提供了深入的市场洞察和策略指导。接下来看看快蜗牛OZON数据分析&…

c基础 - 输入输出

目录 一.scanf() 和 printf() 函数 1.printf 2.scanf 二 . getchar() & putchar() 函数 1.int getchar(void) 2.int putchar(int c) 三. gets() & puts() 函数 一.scanf() 和 printf() 函数 #include <stdio.h> 需要引入头文件,stdio.h 1.printf print…

Nginx实战:日志打印自定义请求头

nginx的日志可以打印很多内容&#xff0c;但是有时候自定义的请求头该怎么打印呢&#xff1f;像下面这种场景&#xff1a; 其实很简单&#xff0c;设置日志打印格式log_format的时候&#xff0c;自定义的请求头用 【$http_自定义请求头名】 的格式就可以打印出来 例如你的自定义…

[机器学习] 低代码机器学习工具PyCaret库使用指北

PyCaret是一个开源、低代码Python机器学习库&#xff0c;能够自动化机器学习工作流程。它是一个端到端的机器学习和模型管理工具&#xff0c;极大地加快了实验周期&#xff0c;提高了工作效率。PyCaret本质上是围绕几个机器学习库和框架&#xff08;如scikit-learn、XGBoost、L…

文件夹损坏0字节:原因、恢复方案与预防措施

在使用电脑或移动设备时&#xff0c;我们有时会遇到文件夹突然损坏并显示为0字节的情况。这种故障不仅令人困惑&#xff0c;更可能导致重要数据的丢失。本文将深入探讨文件夹损坏0字节的现象&#xff0c;分析其产生的原因&#xff0c;并给出两种有效的数据恢复方案&#xff0c;…

2023年亚太杯A题:果园采摘机器人的图像识别,一二题

问题一&#xff1a;基于附件1中提供的可收获苹果的图像数据集&#xff0c;提取图像特征&#xff0c;建立数学模型&#xff0c;计算每幅图像中的苹果的数量&#xff0c;并绘制附件1中所有苹果的分布直方图。 对于自动采摘机器人&#xff0c;首要的能力就是识别出苹果对象&#…

CrossOver支持M4新品吗?苹果M4芯片对游戏支持的怎么样?

CrossOver是一款可以在不同平台之间无缝切换的软件&#xff0c;它可以让你在MacOS或者Linux操作系统上运行Windows应用程序&#xff0c;无需安装双系统或虚拟机。CrossOver是基于Wine项目开发的&#xff0c;Wine是一个可以在非Windows平台上运行Windows应用程序的兼容层。 那么…

doris实战处理(一)doris表的建表规范、查询

感谢原文&#xff1a;https://mp.weixin.qq.com/s/tGbdkF62WU6qbAH0mqtXuA 第一部分&#xff1a;字符集规范 【强制】数据库字符集指定utf-8&#xff0c;并且只支持utf-8。 命令规范 【建议】库名统一使用小写方式&#xff0c;中间用下划线&#xff08;_&#xff09;分割&a…

使用第三方工具percona-xtrabackup进行数据备份与恢复

目录 准备工作 开始安装 innobackupex的使用 完全备份 增量备份 数据恢复 本次需要用到的软件 mysql 5.7.35percona-xtrabackup-24-2.4.8 ps&#xff1a;---MySQL必须是5.7的版本&#xff0c;在8.0之后已经不支持 percona-xtrabackup-24 系统版本CentOS7.9 准备工作 …

基于tensorflow和NasNet的皮肤癌分类项目

数据来源 https://challenge.isic-archive.com/data/#2019 数据划分 写了个脚本划分 for line in open(ISIC/labels.csv).readlines()[1:]:split_line line.split(,)img_file split_line[0]benign_malign split_line[1]# 0.8 for train, 0.1 for test, 0.1 for validati…

前端Vue自定义带加减按钮的数字输入框组件的设计与实现

随着前端技术的不断发展&#xff0c;开发的复杂度日益提升。传统的整块应用开发方式在面对小改动或小功能增加时&#xff0c;常常需要修改大量代码&#xff0c;导致整个系统的逻辑受到影响。为了解决这个问题&#xff0c;组件化开发成为了前端开发的必然趋势。 一、组件化开发…

【Python系列】Python 元组(Tuple)详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

springboot结合mybatis使用多数据源的方式

背景 最近有一个需求&#xff0c;有两个库需要做同步数据&#xff0c;一个Doris库&#xff0c;一个mysql库&#xff0c;两边的表结构一致&#xff0c;这里不能使用navicat等工具提供的数据传输之类的功能&#xff0c;只能使用代码做同步&#xff0c;springboot配置多数据…

乐高小人分类项目

数据来源 LEGO Minifigures | Kaggle 建立文件目录 BASE_DIR lego/star-wars-images/ names [YODA, LUKE SKYWALKER, R2-D2, MACE WINDU, GENERAL GRIEVOUS ] tf.random.set_seed(1)# Read information about dataset if not os.path.isdir(BASE_DIR train/):for name in …

GPT-4o:新一代人工智能技术的全方位解析引言

目录 &#x1f40b;引言 &#x1f40b;梳理 GPT 各版本之间的内容 &#x1f988;GPT-1&#xff1a;开创性的起点 &#x1f988; GPT-2&#xff1a;参数规模的大幅提升 &#x1f988; GPT-3&#xff1a;参数爆炸与多任务学习 &#x1f988;GPT-4&#xff1a;进一步提升的智…

嵌入式模块学习小记(未分类)

L298N电机驱动板模块 Output A&#xff1a;接DC 电机 1 或步进电机的 A和 A-&#xff1b; Output B&#xff1a;接DC 电机 2 或步进电机的 B和 B-&#xff1b; 5V Enable&#xff1a;如果使用输入电源大于12V的电源&#xff0c;请将跳线帽移除。输入电源小于12V时短接可以提…

【Python面试50题】

1. **基础概念** 1. Python 是解释型还是编译型语言&#xff1f; 2. 什么是 Python 的 GIL&#xff08;全局解释器锁&#xff09;&#xff1f; 3. 如何理解 Python 中的可变与不可变数据类型&#xff1f; 4. 解释一下 Python 中的 pass 语句。 5. Python 中的列…

让低代码平台插上AI的翅膀 - 记开源驰骋AI平台升级

让低代码系统插上AI的翅膀——驰骋低代码开发平台引领新时代 在当今日新月异的科技世界中&#xff0c;人工智能&#xff08;AI&#xff09;已经成为各个行业不可或缺的一部分。从制造业的自动化生产到金融行业的智能风控&#xff0c;再到医疗领域的精准诊断&#xff0c;AI技术…

FPGA-ARM架构与分类

ARM架构&#xff0c;曾称进阶精简指令集机器&#xff08;Advanced RISC Machine&#xff09;更早称作Acorn RISC Machine&#xff0c;是一个32位精简指令集&#xff08;RISC&#xff09;处理器架构。 主要是根据FPGA zynq-7000的芯片编写的知识思维导图总结,废话不多说自取吧 …

GPT LoRA 大模型微调,生成猫耳娘

往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用&#xff1b;手写框架等Aws服务器实战Aws Linux服务器上操作nginx、git、JDK、VueJava微服务实战Java 微服务实战&#xff0c;Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc…