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

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈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代码、数据、文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值