Next: Sampling and aliasing
Up: HYPERBOLA PROGRAMMING
Previous: Fast Kirchhoff code
Reconstructing the earth model with the adjoint option in kirchfast()
yields the result in Figure 7.
skmig
Figure 7
Left is the original model.
Right is the reconstruction.
The reconstruction generally succeeds
but is imperfect in a number of interesting ways.
Near the bottom and right side, the reconstruction fades away,
especially where the dips are steeper.
Bottom fading results because in modeling the data
we abandoned arrivals after a certain maximum time.
Thus energy needed to reconstruct dipping beds near the bottom
was abandoned.
Likewise along the side we abandoned rays shooting off the frame.
Difficult migrations are well known for producing semicircular reflectors.
Here we have controlled everything fairly well so none are obvious,
but on a video screen I see some semicircles.
Next is the problem of the spectrum.
Notice in Figure 7 that the reconstruction
lacks the sharp crispness of the original.
It is shown in chapter
that the spectrum of our reconstruction
loses high frequencies by a scale of .Philosophically, we can think of the hyperbola summation
as integration, and integration boosts low frequencies.
Figure 8 shows the average over x
of the relevant spectra.
kirspec
Figure 8
Top is the spectrum of the the model, i.e. the left side of
Figure 7.
Bottom is the spectrum of the the reconstruction,
i.e. the right side of
Figure 7.
Middle is the reconstruction times frequency f.

 
First, notice the high frequencies are weak because
there is little high frequency energy in the original model.
Then notice that our cavalier approach to interpolation
created more high frequency energy.
Finally, notice that multiplying the spectrum of our
migrated model by frequency, f, brought the important
part of the spectral bands into agreement.
This suggests applying an filter to our reconstruction,
or operator to both the modeling and the reconstruction,
an idea implemented in subroutine halfdifa() .
Neither of these Kirchhoff codes addresses the issue of spatial aliasing.
Spatial aliasing is a vexing issue of numerical analysis.
The Kirchhoff codes shown here do not work as expected
unless the space mesh size is suitably more refined than the time mesh.
Figure 9 shows an example of forward modeling
with an x mesh of 50 and 100 points.
skmod
Figure 9
Left is model.
Right is synthetic data from the model.
Top has 50 points on the xaxis,
bottom has 100.
(Previous figures used 200 points on space.
All use 200 mesh points on the time.)
Subroutine kirchfast() does interpolation by moving values
to the nearest neighbor of the theoretical location.
Had we taken the trouble to interpolate the two nearest points,
our results would have been a little better,
but the basic problem (resolved in chapter ) would remain.
Next: Sampling and aliasing
Up: HYPERBOLA PROGRAMMING
Previous: Fast Kirchhoff code
Stanford Exploration Project
12/26/2000