💥1 概述

文献来源:

高斯滤波器进行信号平滑处理_python

摘要:

精确识别地震的开始时间对于正确计算地震的位置和用于构建地震目录的不同参数至关重要。由于背景噪声,无法精确确定弱事件或微地震的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 运行结果

高斯滤波器进行信号平滑处理_python_02


高斯滤波器进行信号平滑处理_python_03

 

高斯滤波器进行信号平滑处理_高斯滤波器进行信号平滑处理_04

主函数代码:

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 参考文献

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

高斯滤波器进行信号平滑处理_算法_05

🌈4 Matlab代码、数据、文章