Post-stack time migration

Part 5, Imaging (migration)

Learning objectives

  • State the Kirchhoff time-migration operator as a diffraction-sum along hyperbolas
  • Explain how the hyperbola focuses when VmigV_{\mathrm{mig}} matches the earth velocity
  • Recognise over- and under-migration artefacts and relate them to velocity error
  • Describe when post-stack time migration is appropriate and when it must be replaced

Post-stack time migration is the simplest migration that actually works, and the workhorse for decades of 2D and 3D seismic. It takes a zero-offset section (Section 5.1), applies the Kirchhoff diffraction-sum operator, and produces a section where dipping reflectors move updip to their true subsurface position and steepen, and diffractions collapse to their apex. The only inputs are the stacked section and a migration velocity field, no pre-stack data required.

1. The Kirchhoff operator in one line

Each output pixel (x_o,t_o)(x\_o,t\_o) in the migrated image is the sum of input-section samples along the diffraction hyperbola that a point scatterer at (x_o,t_o)(x\_o,t\_o) would have produced:

I(xo,to)=βˆ‘xD ⁣(x, to2+4(xβˆ’xo)2/Vmig2)I(x_o, t_o) = \sum_x D\!\left(x,\, \sqrt{t_o^2 + 4(x - x_o)^2 / V_{\mathrm{mig}}^2}\right)

Here D(x,t)D(x,t) is the input zero-offset section and V_mathrmmigV\_{\\mathrm{mig}} is the migration velocity. The summation hyperbola passes through (x_o,t_o)(x\_o,t\_o) at its apex and curves outward, its flanks approaching the slope dt/dx=2/V_mathrmmigdt/dx = 2/V\_{\\mathrm{mig}}. When the output pixel is the true apex of an input diffraction hyperbola and V_mathrmmigV\_{\\mathrm{mig}} matches the earth velocity, the summation curve matches the data curve exactly, every trace contributes constructive energy and the sum peaks. Away from the apex, the same summation averages over incoherent amplitudes and cancels. This is the imaging condition in its cleanest form.

2. The widget

The figure builds the zero-offset section of a point scatterer 900 m deep under x=1000x = 1000 m, in a constant velocity of 2000 m/s, so the apex of its diffraction sits at t_0=2z/V=0.90t\_0 = 2z/V = 0.90 s. It opens with V_mathrmmigV\_{\\mathrm{mig}} 10 % slow. Raise the velocity until the diffraction in (b) collapses to a point, and watch the dashed summation path in (a) close onto the data and the dot in (d) climb to the top of the sharpness curve. Then switch the scene to the dipping reflector and to a single impulse.

Input section (zero-offset response of a point diffractor)apex (x=500m, t=0.9s)V_true = 2000 m/soperator hyperbola(V_mig = V_true)migrateMigrated section (V_mig = V_true: diffraction collapsed)focused at apexInteractive figure, enable JavaScript to drag the V_mig slider and watch over/under-migration.

At 1800 m/s a residual frown survives below the peak and 46 % of the image energy lies off the focus. At V_mathrmmig=V_mathrmtrue=2000V\_{\\mathrm{mig}} = V\_{\\mathrm{true}} = 2000 m/s the path matches the data, the diffraction collapses to a point at (x,t)=(1000textm,0.90texts)(x,t) = (1000\\ \\text{m}, 0.90\\ \\text{s}) with only 4 % of the energy off the focus, and the image is the sharpest of the scan. Sharpness, the kurtosis of the image in dB against the sharpest image of the scan, falls fast on either side: 5 % slow loses 6.4 dB and 5 % fast 6.0 dB. The scan, not the model, names the velocity, which is how migration velocity analysis works. The dipping reflector makes the other half of the point: at the right velocity it moves updip and steepens from 26.6Β° on the stack (a time slope of 50 ms per 100 m) to 30.0Β°, as sintheta_m=tantheta_u\\sin\\theta\_m = \\tan\\theta\_u predicts with both dips read in time scaled by V/2V/2.

3. The two failure modes

  • Under-migration (V_mathrmmigV\_{\\mathrm{mig}} too low). The summation hyperbola is narrower than the data hyperbola. Each trace's contribution arrives at a time that does not match, the sum does not accumulate, and part of the hyperbola survives in the output as a residual frown below the apex. Migration has only partly collapsed it: the frown is narrower than the original hyperbola, and it shrinks toward the apex as the velocity approaches the truth.
  • Over-migration (V_mathrmmigV\_{\\mathrm{mig}} too high). The summation hyperbola is wider than the data. The sum "spreads" the hyperbola's energy above the true apex, a tell-tale migration smile that flares up and outward. Over-migration is easy to spot on production sections because smiles have no geological counterpart.

Both artefacts grow with the velocity error. In the figure a 5 % error already costs about 6 dB of sharpness, and a 20 % error (1600 m/s) leaves 70 % of the image energy off the focus. Post-stack time migration is velocity-sensitive, and Section 5.9 explains how to iterate the velocity field to drive both artefacts toward zero.

4. What post-stack time migration assumes

  • The stack equals the zero-offset response. True if NMO velocities are good, fold is high, and lateral velocity variation is mild.
  • One vertical RMS velocity per CMP governs the migration. Adequate when ray bending in the overburden is mild; breaks down over salt, volcanics, heavy fault blocks.
  • Dips are moderate (less than ~45Β°). Post-stack migration struggles with steep dips because a single NMO velocity cannot stack events whose stacking velocity is V/costhetaV/\\cos\\theta; DMO helps, but conflicting dips and lateral velocity change push you to pre-stack migration.
  • Amplitudes are not the deliverable. Kirchhoff summation without amplitude weighting does not preserve true amplitudes, adequate for structural interpretation, not for AVO.

5. Implementation details production cares about

A production post-stack time migration adds several refinements to the pedagogical sum above:

  • Amplitude weighting. Each contributing sample is weighted by the obliquity costheta\\cos\\theta and a spreading factor (1/sqrtr1/\\sqrt{r} in 2D, 1/r1/r in 3D), and the data are first filtered by sqrtiomega\\sqrt{i\\omega} (2D) or iomegai\\omega (3D), the rho filter (with the forward transform eβˆ’iomegate^{-i\\omega t}); without it the migrated wavelet is phase-rotated. The figure applies all three, and one switch turns them off.
  • Anti-alias filter. Where the operator is steep, adjacent traces sample it more than half a period apart, so the operator itself aliases. Production codes low-pass each contribution below f_max=1/(2,Deltax,∣dt/dx∣)f\_{max} = 1/(2\\,\\Delta x\\,|dt/dx|) (triangle or Lumley-Claerbout filters); the figure uses the triangle filter.
  • Aperture. Summing over all traces is expensive and contaminates the output with noise from distant events. Production migrations use a finite aperture, with a half-aperture of about ztantheta_maxz\\tan\\theta\_{max} for the steepest dip you need to image, and taper its edges to avoid truncation ringing. Too short an aperture cannot reach the steep flanks of a diffraction: in the figure a 200 m aperture leaves 16 % of the energy off the focus even at the right velocity, and the sharpness scan varies by only 3.5 dB.
  • Variable velocity. V_mathrmmigV\_{\\mathrm{mig}} is a function of (x,t)(x,t), not a scalar. The hyperbola at each output pixel is computed with the local velocity, so the summation paths bend gently with the velocity field.

6. When to stop trusting it

Post-stack time migration is cheap and fast; use it as a first-pass image on almost every project. Replace it when:

  • Dips exceed ~45Β° (move to PSTM, Section 5.3).
  • Lateral velocity contrasts cause visible defocus you cannot tune away (move to depth migration, Section 5.4+).
  • You need amplitude-faithful output for AVO or inversion (move to pre-stack or depth-migration workflows with proper weighting).
The one sentence to remember

Post-stack Kirchhoff time migration sums the stack along hyperbolas set by VmigV_{\mathrm{mig}}; when the operator hyperbola matches a data diffraction the point focuses, when it does not, a fast velocity leaves smiles, a slow one remnant frowns, and both grow with the size of the velocity error.

Where this goes next

Section 5.3 moves the operator to before the stack. Pre-stack time migration maps each pre-stack trace directly to its image contribution, handling dip-dependent NMO and steep dips that post-stack cannot.

References

  • Schneider, W. A. (1978). Integral formulation for migration in two and three dimensions. Geophysics, 43, 49.
  • Stolt, R. H. (1978). Migration by Fourier transform. Geophysics, 43, 23.
  • Gazdag, J. (1978). Wave equation migration with the phase-shift method. Geophysics, 43, 1342.
  • Yilmaz, Γ–. (2001). Seismic Data Analysis (2 vols.). SEG.
  • Stolt, R. H., Benson, A. K. (1986). Seismic Migration: Theory and Practice. Geophysical Press.

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