Spiking deconvolution (Wiener filtering)

Part 2, Pre-Processing Foundations

Learning objectives

  • Derive the Wiener-Hopf spiking operator from the Toeplitz autocorrelation system
  • Explain the role of white-noise stabilization (ε) and why operator inversion is ill-conditioned without it
  • Pick a sensible operator length and ε for a given trace
  • Recognize when spiking decon fails (non-minimum-phase wavelet, coloured noise) and what to do about it

The convolutional model of §0.3 says s = w ∗ r + n: trace equals wavelet convolved with reflectivity plus noise. If we knew the wavelet, we could invert to recover r. The catch: we do not. Spiking deconvolution estimates an operator that approximately undoes the wavelet, using only the trace itself.

1. What “spiking” means

Design a filter f[n] such that

fwδf \ast w \approx \delta

the operator convolved with the wavelet produces a spike. Apply f to the trace: f ∗ s = f ∗ w ∗ r = δ ∗ r = r. You have the reflectivity.

The problem: w is unknown. Trick: under the white-reflectivity assumption (reflection coefficients are uncorrelated and zero-mean), the AUTOCORRELATION of the trace equals the autocorrelation of the wavelet. We compute that autocorrelation, then solve for f using Wiener-Hopf.

2. The Wiener-Hopf equation

The operator f of length L that minimizes fwδ22|f \ast w - \delta|_2^2 solves

Rwwf=e1R_{ww} \, f = e_1

where Rww is the L × L symmetric Toeplitz autocorrelation matrix and e1 = (1, 0, …, 0)T. Under white reflectivity, replace Rww with Rss (autocorrelation of the trace). This is a Toeplitz solve, Levinson’s recursion does it in O(L2) time.

3. White-noise stabilization

The autocorrelation matrix is often nearly singular, the wavelet has a notch, or the signal is band-limited. Inversion blows up. The standard fix is white-noise percentage: add a small fraction ε of the zero-lag autocorrelation to itself:

Rww[0]    Rww[0](1+ε)R_{ww}[0] \;\leftarrow\; R_{ww}[0] \,(1 + \varepsilon)

Typical ε values: 0.1 % to 5 %. Higher ε → smoother operator, gentler wavelet compression, more noise rejection but less resolution. Lower ε → sharper operator, more resolution but noise amplification and ringing. Tuning ε is the art of spiking decon.

Spiking deconvolutionBEFORE: long waveletAFTER: near-spike at the reflectivitySpiking decon estimates and removes the source wavelet by inverse filtering

The widget shows the full chain. The input trace (blue) has five hidden reflectors at 0.20, 0.45, 0.60, 0.95, 1.30 s, but they are buried in overlapping wavelet responses. The output trace (teal) after decon should show visible spikes at those exact red-dashed locations. Play with operator length and ε: longer operator + smaller ε means sharper spikes but noisier side-lobes; shorter operator + larger ε is more forgiving but less resolving.

4. The minimum-phase assumption

Wiener spiking decon produces a minimum-phase operator, all zeros of the inverse filter sit inside the unit circle (§0.6). If the true wavelet is also minimum-phase, the operator works well. If the wavelet is zero-phase (Ricker) or mixed-phase (most real data), spiking decon still COMPRESSES the wavelet but produces phase distortion, events get smeared asymmetrically.

Real processing deals with this in three ways:

  • Pre-whitening (what ε already does) minimizes phase distortion by keeping the operator’s zeros away from the unit circle.
  • Zero-phase post-processing applies a phase correction to restore zero-phase.
  • Surface-consistent deconvolution (§2.8) decomposes the operator into shot + receiver + offset terms and is more robust to minimum-phase violations.

5. Practical parameter picking

  • Operator length. Long enough to capture the wavelet’s autocorrelation out to where it has essentially died (often 100-200 ms). Too long adds noise; too short under-compresses.
  • White-noise ε. Start at 1 %. Increase if operator ringing is visible, decrease if wavelet compression looks inadequate.
  • Design window. Estimate Rss only over a time range where primaries dominate (no ground roll, no multiples). A 2-3 second design gate just below the primaries is typical.
  • Apply before or after statics? Apply after. Statics add time shifts that are not wavelet effects and should not be absorbed into the decon operator.

6. When spiking fails

  • Non-white reflectivity. Cyclic reservoirs (thin-bed stratigraphy, rhythmic turbidites) violate the whiteness assumption. Rss ≠ Rww, so the operator is biased. Use a design gate that averages over a long window of geologically diverse sediments.
  • Non-minimum-phase wavelet. Spiking compresses but distorts phase. Use zero-phase post-processing or surface-consistent decon (§2.8).
  • Coloured noise inside the design window. Noise autocorrelation leaks into Rss and the operator tries to whiten noise as well. Mask noisy regions out of the design gate.
  • Strong multiples inside the design window. Multiples have their own predictable autocorrelation, which spiking will partially invert. Use predictive decon (§2.7) explicitly.
**The one sentence to remember**

Spiking decon solves a Toeplitz system on the trace autocorrelation to build an operator that compresses the wavelet; the white-noise ε is the stabilizer that makes the inversion tractable, and the minimum-phase assumption is the hidden price.

Where this goes next

Section §2.7 uses the same Wiener framework for a different goal: predictive deconvolution. Instead of spiking the wavelet, we predict and subtract the part of the trace that repeats at a fixed lag, the multiple train from a water bottom or a strong reflector.

References

  • Robinson, E. A. (1957). Predictive decomposition of seismic traces. Geophysics, 22, 767.
  • Treitel, S., Robinson, E. A. (1966). The design of high-resolution digital filters. IEEE Trans. Geosci. Electron., 4, 25.
  • Robinson, E. A., Treitel, S. (2008). Digital Imaging and Deconvolution. SEG.
  • Yilmaz, Ö. (2001). Seismic Data Analysis (2 vols.). SEG.
  • Claerbout, J. F. (1976). Fundamentals of Geophysical Data Processing. McGraw-Hill.

This page is prerendered for SEO and accessibility. The interactive widgets above hydrate on JavaScript load.