基于高分辨率时频分析的单通道地震数据自动噪声衰减方法(Matlab代码实现)

news2025/4/4 14:31:31

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

记录的地震信号常常被噪声破坏。本文使用了一种基于高分辨率时频分析的单通道地震数据自动噪声衰减方法。同步压缩是一种时频重新分配方法,旨在锐化时频图像。噪声可以从信号中区分出来,并且在这个重新分配的域中更容易衰减。使用一般交叉验证方法来估计阈值水平,该方法不依赖关于噪声水平的任何先验知识。通过增加基于峰度测量的预处理步骤和基于自适应硬阈值的后处理步骤,提高了阈值处理的效率。所提出的算法可以衰减噪声(白色或彩色)并保持信号,或者去除信号并保持噪声。因此,它既可以用于正常的去噪应用,也可以用于环境噪声研究中的预处理。在合成、微震和地震记录上测试了所提出方法的性能。

这是GCV方法的一种反向算法,可以去除信号并保持背景噪声。

📚2 运行结果

 

 

🎉3 参考文献

[1]王姣,李振春,王德营.基于CEEMD的地震数据小波阈值去噪方法研究[J].石油物探,2014,53(02):164-172.

👨‍💻4 Matlab代码

主函数部分代码:

clear all
close all

% Parameters for Calculate the wavelet transform -
opt.type = 'morlet';         % Type od the mother wavelet used for CWT calculation: 'morlet' 'shannon' 'mhat' 'hhat'
opt.padtype = 'symmetric';   % padded via symmetrization
opt.rpadded = 1;
opt.nv = 16;                 % Number of voices. You can sellect 8,16,32,64.

% Guassian correction factor. This corrects the uncertainties for the 
% estimation of the guassianity and amplifies the pre-processing effects.
% It should be selected highh enough to remove the strong noises outside
% of the signal's frequency band but not too high to remove signal's energy. 
% value of 1.0 means no correction. 
opt.gc=3;

 
%load('syntNoisy3_z.mat');
% data.noisy = syntNoisy3_z;
% data.t = linspace(0,(100),length(data.noisy));
% data.dt = 0.01;

% Read the noisy data 
[data.t,data.noisy,data.hdr] = read_sac('XD.A01..BHZ.064.SAC');
data.dt = data.hdr.times.delta        % delta
d1 = data.noisy;

% Since thecurrent version of the code can not handel overlapping winows we
% implement the algorithm by repeating the process using two windows of
% different sizes (one larger than the largest event in the waveform and one
% smaller window which its lenght is not a multiplication of the larger window size)
% however this makes the code slower but so far this is the easiest
% soloution

% processing long duration data is done in moving window fasion
opt.wsiz = 500; % wondow size (sec), needs to be longer than the length of typical events that you have in your data

tic
dn =gcvThreshR(data,opt);
toc

data.noisy = dn.xgcv;

opt.wsiz = 55; % wondow size (sec), needs to be longer than the length of typical events that you have in your data
 
tic
dn =gcvThreshR(data,opt);
toc

figure, 
subplot(2,1,1),
plot(d1, 'b');
grid on
title('Noisy Record ','Rotation',0,'FontSize',14);
xlabel({'Sample'},'FontSize',12); 
ylabel('Amplitude (count)','FontSize',12)
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL——保证主从一致

binlog 可以用来归档,也可以用来做主备同步,备库执行了 binlog 就可以跟主库保持一致。 MySQL 主备的基本原理 如图 1 所示就是基本的主备切换流程。 在状态 1 中,客户端的读写都直接访问节点 A,而节点 B 是 A 的备库&#xff…

Java安全--CC4

CC4 环境提一小嘴: CC4利用的是commons-collections4,所以我们需要导入新的依赖,地址:https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.0 我们先来关注一下利用链: 后半段是一样的&am…

本地运行好好的 Java 程序, 一发布到线上就报错的灵异事件终于让我碰到了

说明 本文涉及的相关软件版本如下: mybatis 3.4.xHotSpot JDK1.8Windows 11IDEA 2022.3 先看一段 mybatis 相关的代码 今天一个朋友丢给我如下一段代码: 然后跟我讲为什么本地是好好的, 发布到线上执行就报错。 BlogMapper.java public…

【python机器学习】K-Means算法详解及给坐标点聚类实战(附源码和数据集 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 人们在面对大量未知事物时,往往会采取分而治之的策略,即先将事物按照相似性分成多个组,然后按组对事物进行处理。机器学习里的聚类就是用来完成对事物进行分组的任务 一、样本处理 聚类…

技术原理|Hologres Binlog技术原理揭秘

作者:张高迪(花名杳天),Hologres研发。 同传统MySQL数据库,Hologres支持Hologres binlog,记录数据库中所有数据的变化事件日志。通过Hologres binlog,可以非常方便灵活的实现数据之间的复制、同…

“电池黑马”瑞浦兰钧增速惊人,动储双起飞

撰稿 | 多客 来源 | 贝多财经 12月14日,“电池黑马”瑞浦兰钧能源股份有限公司(以下简称“瑞浦兰钧”)向港交所主板提交上市申请,摩根士丹利和中信证券为其联席保荐人。至此,国内动力电池装机量排名前十的企业均已上…

DB Optimizer Multiplatform SQL评测和调优IDE

DB Optimizer Multiplatform SQL评测和调优IDE 增加了对最新版本Log4j的支持。 改进了分析会话功能,可提前提醒用户可能有问题的SQL。 DB Optimizer可以快速发现、诊断和优化性能较差的SQL。DBOptimizer使DBA和开发人员能够在整个开发生命周期中优化SQL性能&#xf…

合并多个有序数组

合并多个有序数组题目描述思想代码实现变形题目题目描述 我们现在有多个已经有序的数组,我们知道每个有序数组的元素个数和总共的有序数组的个数,现在请设计一个算法来实现这多个有序数组的合并(合并成一个数组); 例如&#xff1a…

Chrome浏览器可以用ChatGPT了?

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store 最近这段时间想必 和我一样,都被chatGPT刷屏了。 在看到网上给出的一系列chatGPT回答问题的例子和自己亲自体验之后,的确发现它效果非常令人惊艳。 chatGPT的火热程度在开源社…

turbo编码原理

一、原理 Turbo的编码器由两个并行的分量编码器组成。分量编码器的选择一般是卷积码。在Turbo码中,输入序列在进入第二个编码器时须经过一个交织器 ,用于将序列打乱。两个编码器的输出共同作为冗余信息添加到信息序列之后,对抗信道引起的错误…

实战SupersetBI报表之数据集图表配置

上集已经安装完Superset -实战SupersetBI报表之安装 本集开始讲解 根据数据集配置图表:以简单的员工花名册 为例 1、首先配置数据库 上次安装的时候也提到过 如果服务之间都是docker 安装。必须保证能够通信 下面根据实际参数配置即可 当我们配置好数据库之后 就可以…

如何保证TCP传输的可靠性

重传机制,流量控制,拥塞控制 1.重传机制: 序列号确认应答 当发送端的数据到达接收主机的时候,接收端主机会返回一个确认应答消息,表示已经收到消息 当数据发生丢包时,用重传机制解决 重传机制有好几种…

【Anime.js】——用Anime.js实现动画效果

目录 目标: ​编辑1、确定思路 2、创建网格 3、设置随机位置 4、创建时间轴动画 完整代码: 目标: 实现自动选点,对该点进行先缩小后放大如何回到比其他点大一点的状态,并以该点从外向内放大 1、确定思路 2、创建网…

第12届嵌入式蓝桥杯真题-停车场管理系统的设计与实现

目录 实验要求: 实验思路: 核心代码: (1)主函数 (2)lcd显示 (3)按键函数 (4)LED显示函数 (5)业务处理函数 &…

深度理解取模

深度理解取模一.取模概念二.负数取模三.进一步的解释四.取模和取余是一样的吗?一.取模概念 二.负数取模 上面的代码一目了然就不再多少啦,但如果是负数取模又该怎么办呢? 以上a/b-3是很好理解的,那为什么取模后的值是-1呢&#xf…

useEffect 和 useLayoutEffect 的源码解读

文章目录useEffect 和 useLayoutEffect 的源码解读useEffect源码解读mountEffectImplpushEffectupdateEffectImpl疑惑:useLayOutEffect源码解读mountLayoutEffectupdateLayoutEffect总结useEffect 和 useLayoutEffect 的源码解读 useEffect 文件在 packages/react…

毕业设计-基于深度学习的交通标识识别-opencv

目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科…

叠氮-聚乙二醇-羧基,N3-PEG-COOH 异双功能PEG衍生物COOH-PEG-N3又名Azide-PEG-acid,可用于修饰蛋白质

英文名称:N3-PEG-COOH;COOH-PEG-N3 Azide-PEG-acid 中文名称:叠氮-聚乙二醇-羧基;羧基-聚乙二醇-叠氮 存储条件:-20C,避光干燥 用 途:仅用于科学研究,不能用于人体 外观: 固体或…

【OpenFeign】【源码+图解】【一】HelloWorld及其工作原理

目录1. HelloWorld1.1 pom.xml1.2 yml配置1.3 开启OpenFeign1.4 创建Product的FeignClient1.5 Controller2. OpenFeign的工作原理1. HelloWorld 服务中心以及Product微服务继续使用LoadBalance中的HelloWorld,新建一个client作为OpenFeign的例子 1.1 pom.xml 引入…

【视觉高级篇】26 # 如何绘制带宽度的曲线?

说明 【跟月影学可视化】学习笔记。 如何用 Canvas2D 绘制带宽度的曲线? Canvas2D 提供了相应的 API,能够绘制出不同宽度、具有特定连线方式(lineJoin)和线帽形状(lineCap)的曲线,绘制曲线非…