For transformation of a wavefield from one datum to another, as depicted in Figure , a discrete form of equation () is
are replaced by
is the angle between the normal to the input surface and the traveltime path connecting input location i and output location j. The factor arises from the identity
Figure 2 Schematic representation of Kirchhoff upward continuation corresponding to implementation of equation () or equation (). Each input trace Pi is filtered, time shifted according to , scaled, and summed into output trace Pj.
For the special illustrative case of three input traces, equation () can be expressed in matrix form as
where is the Fourier-transformed input wavefield recorded at datum zi and is an output trace at location (xj,zj). A half-order derivative is applied to the input data by the block matrices
The block matrices Z11, Z12, and Z13 perform time shifts and amplitude scaling of individual data traces. For a given time shift , the time-shift matrix is given by
Equation () can be generalized to multiple output traces. For illustrative purposes, I write down the matrix equation for three input traces and three output traces. The wavefield at the upper datum is
Equation () represents the upward continuation of a wavefield between two arbitrarily-shaped surfaces. The downward continuation operator is derived by taking the complex conjugate transpose of the operator in equation (). This yields the adjoint operator:
Figure 3 Schematic representation of Kirchhoff downward continuation corresponding to the operator of equation (). Each input trace Pj is filtered, time shifted according to , scaled, and summed into output trace Pi.
These matrix representations result in huge, albeit sparse, operator matrices. In the actual computer implementation of Kirchhoff datuming these huge matrix operators are not actually stored. The numerical algorithms apply these linear operators indirectly and much more efficiently.
In order to understand why Kirchhoff datuming is much more efficient than Kirchhoff time migration, it is instructive to look at the kinematics of the two processes. Kirchhoff datuming is performed by summing along a trajectory given by
This is the equation of a time-shifted hyperbola. The variable is the vertical datuming distance, which remains fixed, so each input trace is shifted by a time-invariant amount. This is illustrated in Figure a for the simple case of extrapolation between two level datums. Time migration is performed by invoking the imaging condition (setting ) and performing the summation for each image point .The resulting summation trajectory is given by
The traces are shifted by a time-variant amount because t0 changes with depth for every image point. This is illustrated in Figure b.
Most of the Kirchhoff datuming results in this dissertation are generated by implementing equation () on Thinking Machine's massively parallel CM5 (Bevc, 1993). The frequency domain is computationally attractive because the static time shift and the convolutional filtering are both efficiently applied by complex multiplication. This frequency domain implementation makes Kirchhoff datuming much more efficient than time domain Kirchhoff migration.
Prestack datuming is performed by using reciprocity to extrapolate shot and receiver gathers (Berryhill, 1984). This can be represented mathematically by the double summation
So far, this development has been for constant velocity media. In variable velocity media, the calculation of the Green's functions becomes more complicated. The most common way of handling complex velocity structure with Kirchhoff methods is by calculating the traveltime shift using ray tracing or finite-difference solutions to the eikonal equation. I choose to use eikonal traveltimes calculated with van Trier and Symes' (1991) upwind finite-difference algorithm. In Chapter I demonstrate that this gives excellent results, even for complex velocity models such as the Marmousi synthetic.