Sparse coding for data-driven coherent and incoherent noise attenuation
Sam T. Kaplan, Mauricio D. Sacchi, Tadeusz J. Ulrych · 2009
We use sparse coding to construct a series expansion of data. Sparse coding gives a data-driven set of basis functions whose coefficients follow a sparse distribution (the coefficients are called the sparse code). We use sparse coding in two noise attenuation algorithms, one applicable to additive random noise, and another applicable to coherent noise (free-surface multiple removal). To illustrate, we extract and, then, filter a sparse code from noisy data. The filter is designed to remove the portion of the code that is more indicative of noise than signal. First, we attenuate additive random noise by applying a threshold to the sparse code. Next, we consider a normal-moveout corrected common midpoint gather corrupted by free-surface multiples, and construct a filter using the dominant wave-numbers in the sparse coding basis functions. This allows us to filter out flat events (the signal), leaving an estimate of the noise (multiples) that are, subsequently, subtracted from the original gather.