【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

****🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️**座右铭:**行百里者,半于九十。

📋📋📋++本文目录如下:++🎁🎁🎁

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码、数据、文章](#🌈4 Matlab代码、数据、文章)


💥1 概述

文献来源:

摘要:

精确识别地震的开始时间对于正确计算地震的位置和用于构建地震目录的不同参数至关重要。由于背景噪声,无法精确确定弱事件或微地震的P波到达检测。在本文中,我们提出了一种基于改进的高斯拉普拉斯(MLoG)滤波器的新方法,即使在信噪比(SNR)非常弱的情况下也能检测开始时间。该算法利用去噪滤波算法对背景噪声进行平滑处理。在所提出的算法中,我们使用MLoG掩模来过滤地震数据。之后,我们应用双阈值比较器来检测事件的开始时间。结果表明,所提算法能够准确检测微地震的起始时间,信噪比为−12 dB。该算法对93个场地震波形的起始时间拾取精度为0%,标准差误差为10.407 s。此外,我们将结果与短时间和长时间平均算法(STA/LTA)和赤池信息准则(AIC)进行了比较,所提出的算法优于它们。

原文摘要:

Precise identification of onset time for an earthquake is imperative in the right figuring of earthquake's location and different parameters that are utilized for building seismic catalogues. P-wave arrival detection of weak events or micro-earthquakes cannot be precisely determined due to background noise. In this paper, we propose a novel approach based on Modified Laplacian of Gaussian (MLoG) filter to detect the onset time even in the presence of very weak signal-to-noise ratios (SNRs). The proposed algorithm utilizes a denoising-filter algorithm to smooth the background noise. In the proposed algorithm, we employ the MLoG mask to filter the seismic data. Afterward, we apply a Dual-threshold comparator to detect the onset time of the event. The results show that the proposed algorithm can detect the onset time for micro-earthquakes accurately, with SNR of −12 dB. The proposed algorithm achieves an onset time picking accuracy of 93% with a standard deviation error of 0.10 s for 407 field seismic waveforms. Also, we compare the results with short and long time average algorithm (STA/LTA) and the Akaike Information Criterion (AIC), and the proposed algorithm outperforms them.

地震被认为是世界各地的主要地质灾害。一个关键的安全问题是保护人们免受地震引起的化学和核辐射泄漏的影响。因此,在地震间隔期间应保护化学源、核源和石油输送线。地震预警系统(EEWS)用于向暴露于地震威胁的人们发出警报。理想情况下,此警报应在地震发生后不久,在更具破坏性的剪切(S)和表面(瑞利和/或洛夫)波到来之前发布。在EEWS中,必须准确选择地震的P到达时间才能发出警报。因此;高精度的实时自动拣选算法对于支持EEWS中的快速决策至关重要。

地震分析中的重要步骤之一是检测地震的开始时间。根据检测结果,确定地震位置和几个参数。然而,随着地震图数据库规模的增加,手动拣选变得更加困难。因此;地震开始时间的自动拾取算法变得必要。此外,选择开始时间的重要问题之一是地震噪声的存在。微地震数据通常以低信噪比(SNR)为特征。对于低信噪比数据,手动选择起始时间变得更具挑战性和不可靠性。在这种环境下,可能会产生一些误报,或者由于背景噪声和地震信号之间的区分存在问题,可能会出现不准确的起始时间选择。因此,已经提出了许多算法来提高自动拣选的准确性。

📚 2 运行结果

主函数代码:

clc

clear

close all

%load Input example

load x_Example

% Sigma and Filter Order of MLOG

% Tune sigma, and N according to the application you want to use.

% For smoothing the background noise in DOI:

% The optimum parameters are :

sigma = 2.5;

N = 10;

% Call MLOG and stores the cofficients in Gaussian_1D_2_Diff_Modified

% MLOG

% [Gaussian_1D_2_Diff_Modified]=MLOG(sigma,N);

% For More Scaling dividing by sigma.

[Gaussian_1D_2_Diff_Modified]=MLOG(sigma,N) /sigma;

% Filtering The Input (Denoising the Input Signal)

Output = filter (Gaussian_1D_2_Diff_Modified,1,x);

% Output Squaring

Output = Output.^2;

% For more smoothing, average movabale window is obatined for m samples

% with k stride (moving by k samples)

% Adjustce m, and k according to the application you want to use.

Output_More_Smoothing = zeros(1,size(x,2));

m = 8;

k = 1;

count = 1;

for j=1:k:(length(Output))-max([m k])

Output_More_Smoothing(count)=(mean(Output(j:j+m-1)));

count = count +1;

end

% Plotting

% Plotting the Cofficients of MLOG.

figure(1)

plot( (1:N), Gaussian_1D_2_Diff_Modified, 'LineWidth',3)

xlabel('Index (n)','FontSize',14,'FontWeight','bold')

ylabel('MLOG Mask Values','FontSize',14,'FontWeight','bold')

title('MLOG MASK','FontSize',14,'FontWeight','bold')

set(gca,'fontsize',12,'FontWeight','bold')

% Plotting Input, Output of MLOG, and Smoothed Output Signal.

figure(2)

subplot(3,1,1),plot(1:length(x),x)

xlabel('Sample Index','FontSize',14,'FontWeight','bold')

ylabel('Count','FontSize',14,'FontWeight','bold')

title('Input Seismic Event','FontSize',14,'FontWeight','bold')

set(gca,'fontsize',12,'FontWeight','bold')

subplot(3,1,2),plot(1:length(Output), Output)

xlabel('Sample Index','FontSize',14,'FontWeight','bold')

ylabel('Count^2','FontSize',14,'FontWeight','bold')

title('Output Signal of MLOG Filter','FontSize',14,'FontWeight','bold')

set(gca,'fontsize',12,'FontWeight','bold')

subplot(3,1,3),plot(1:length(Output_More_Smoothing), Output_More_Smoothing)

xlabel('Sample Index','FontSize',14,'FontWeight','bold')

ylabel('Count^2','FontSize',14,'FontWeight','bold')

title('Smoothed Output Signal','FontSize',14,'FontWeight','bold')

set(gca,'fontsize',12,'FontWeight','bold')

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码、数据、文章

相关推荐
懒大王爱吃狼41 分钟前
Python教程:python枚举类定义和使用
开发语言·前端·javascript·python·python基础·python编程·python书籍
劲夫学编程42 分钟前
leetcode:杨辉三角
算法·leetcode·职场和发展
毕竟秋山澪44 分钟前
孤岛的总面积(Dfs C#
算法·深度优先
秃头佛爷2 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
浮生如梦_3 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
深度学习lover3 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
API快乐传递者4 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
励志成为嵌入式工程师5 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉5 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer5 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法