Poldw: A Python code to denoise 3C seismic data with a new threshold-free polarization technique
Authors:ABSTRACT
We present a Python code that implements a novel threshold-free polarization strategy for removing random noise from 3C linearly polarized seismic data. The code, which we refer to as polarization denoising through windowing (poldw), uses closed-form formulas along sliding windows that span the data to determine the optimal rotation angles that allow the transfer of most of the signal energy to a given component. The denoised 3C data are obtained after canceling out the other two components, which are assumed to contain predominantly noise, and then rotating back. The method is simple and efficient because it only requires setting the sliding window length. Synthetic and microseismic field data examples show the method’s effectiveness, which significantly improves the signal-to-noise ratio without the need for threshold-based polarization filters. Therefore, these filters can be pipelined in the rotation-based strategy for additional noise removal if necessary. When the data set contains nonlinearly polarized data or significant nonrandom noise, the method is likely to fail. For robustness against non-Gaussian noise and outliers, poldw allows for the use of alternative norms similar to the - or -norms instead of the energy. In addition to the code, we provide a Jupyter notebook to illustrate the method step by step and reproduce the results of the field data example.
REFERENCES
- 2018, An application of waveform denoising for microseismic data using polarization–linearity and time–frequency thresholding: Geophysical Prospecting, 66,
872–893 , doi:10.1111/1365-2478.12597 .GPPRAR 0016-8025 , - 2020, Understanding downhole microseismic data analysis: Springer. ,
- 2021, Microseismic denoising assessment by polarization histograms: Geophysics, 86, no. 1,
KS11–KS22 , doi:10.1190/geo2020-0130.1 .GPYSA7 0016-8033 , - 2001, Polarization filter with singular value decomposition: Geophysics, 66,
932–938 , doi:10.1190/1.1444983 .GPYSA7 0016-8033 , - 2000, Noise reduction for broad-band, three-component seismograms using data-adaptive polarization filters: Geophysical Journal International, 141,
820–828 , doi:10.1046/j.1365-246x.2000.00156.x .GJINEA 0956-540X , - 2009, Uncertainties in passive seismic monitoring: The Leading Edge, 28,
648–655 , doi:10.1190/1.3148403 . , Executable Books Community , 2020, Jupyter book: Zenodo.- 1989, Matrix computations, 2nd ed.: John Hopkins University Press. ,
- 2017, Microseismic monitoring: SEG. ,
- 2010, Microseismic monitoring and hypocenter location: Master’s thesis, University of Calgary. ,
- 1988, Polarization analysis of three-component array data: Bulletin of the Seismological Society of America, 78,
1725–1743 , doi:10.1785/BSSA0780051725 .BSSAAP 0037-1106 , - 2011, Special section microseismicity: Beyond dots in a box — Introduction: Geophysics, 76, no. 6,
WC1–WC3 , doi:10.1190/geo-2011-1114-SPSEIN.1 .GPYSA7 0016-8033 , - 2019, A simple energy-based strategy for sensor orientation in borehole microseismic monitoring: Journal of Geophysics and Engineering, 16,
85–91 , doi:10.1093/jge/gxy007 . , - 2014, Microseismic imaging of hydraulic fracturing: Improved engineering of unconventional shale reservoirs: SEG,
Distinguished Instructor Series No. 17 . , - 2010, Petroleum reservoir characterization using downhole microseismic monitoring: Geophysics, 75, no. 5,
75A129–75A137 , doi:10.1190/1.3477966 .GPYSA7 0016-8033 , - 2021, A novel time-domain polarization filter based on a correlation matrix analysis: Geophysics, 86, no. 2,
V91–V106 , doi:10.1190/geo2020-0002.1 .GPYSA7 0016-8033 , - 1992, Numerical recipes in FORTRAN: The art of scientific computing, 2nd ed.: Cambridge University Press. ,
- 2014, Radon transform-based microseismic event detection and signal-to-noise ratio enhancement: Journal of Applied Geophysics, 113,
51–63 , doi:10.1016/j.jappgeo.2014.12.008 .JAGPEA 0926-9851 , - 1981, Data-adaptive polarization filters for multichannel geophysical data: Geophysics, 46,
1423–1431 , doi:10.1190/1.1441149 .GPYSA7 0016-8033 , - 2015, Fast and automatic microseismic phase-arrival detection and denoising by pattern recognition and reduced-rank filtering: Geophysics, 80, no. 6,
WC25–WC38 , doi:10.1190/geo2014-0561.1 .GPYSA7 0016-8033 , - 2012, Microseismic data denoising using a 3C group sparsity constrained time-frequency transform: Geophysics, 77, no. 2,
V21–V29 , doi:10.1190/geo2011-0260.1 .GPYSA7 0016-8033 , - 2020, SciPy 1.0: Fundamental algorithms for scientific computing in Python: Nature Methods, 17,
261–272 , doi:10.1038/s41592-019-0686-2 .1548-7091 , - 2010, A strategy for automated analysis of passive microseismic data to image seismic anisotropy and fracture characteristics: Geophysical Prospecting, 58,
755–773 , doi:10.1111/j.1365-2478.2010.00891.x .GPPRAR 0016-8025 ,