【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究(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代码、数据、文章

相关推荐
Narutolxy几秒前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
浅念同学14 分钟前
算法.图论-并查集上
java·算法·图论
何不遗憾呢23 分钟前
每日刷题(算法)
算法
Amo Xiang23 分钟前
2024 Python3.10 系统入门+进阶(十五):文件及目录操作
开发语言·python
立志成为coding大牛的菜鸟.27 分钟前
力扣1143-最长公共子序列(Java详细题解)
java·算法·leetcode
鱼跃鹰飞27 分钟前
Leetcode面试经典150题-130.被围绕的区域
java·算法·leetcode·面试·职场和发展·深度优先
liangbm333 分钟前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
潮汐退涨月冷风霜39 分钟前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
B站计算机毕业设计超人1 小时前
计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
爬虫·python·深度学习·算法·机器学习·自然语言处理·数据可视化
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn