next up previous print clean
Next: Sampling and aliasing Up: HYPERBOLA PROGRAMMING Previous: Fast Kirchhoff code

Kirchhoff artifacts

Reconstructing the earth model with the adjoint option in kirchfast() [*] yields the result in Figure 7.

 
skmig
skmig
Figure 7
Left is the original model. Right is the reconstruction.


[*] view burn build edit restore

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 $1/ \vert \omega \vert$.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.

kirspec
view burn build edit restore

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 $\vert\omega \vert$ filter to our reconstruction, or $\sqrt{-i\omega}$ 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
skmod
Figure 9
Left is model. Right is synthetic data from the model. Top has 50 points on the x-axis, bottom has 100.


view burn build edit restore

(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 up previous print clean
Next: Sampling and aliasing Up: HYPERBOLA PROGRAMMING Previous: Fast Kirchhoff code
Stanford Exploration Project
12/26/2000