invstack90
Figure 1 Top is a model trace ![]() ![]() ![]() ![]() | ![]() |
The seismograms at the bottom of Figure
show the first four iterations of conjugate-direction inversion.
You see the original rectangle-shaped waveform returning
as the iterations proceed.
Notice also on the stack
that the early and late events have unequal amplitudes,
but after enough iterations they are equal,
as they began.
Mathematically,
we can denote the top trace as the model
,the synthetic data signals as
,and the stack as
.The conjugate-gradient algorithm optimizes the fitting goal
by variation of
,and the figure shows
converging to
.Because there are 256 unknowns in
,it is gratifying to see good convergence occurring
after the first four iterations.
The fitting is done by module invstack,
which is just like
cgmeth
except that the matrix-multiplication operator
matmult
has been replaced by
imospray
.
Studying the program,
you can deduce that,
except for a scale factor,
the output at niter=0 is identical to the stack
.All the signals in Figure
are intrinsically the same scale.invstackinversion stacking
This simple inversion is inexpensive. Has anything been gained over conventional stack? First, though we used nearest-neighbor interpolation, we managed to preserve the spectrum of the input, apparently all the way to the Nyquist frequency. Second, we preserved the true amplitude scale without ever bothering to think about (1) dividing by the number of contributing traces, (2) the amplitude effect of NMO stretch, or (3) event truncation.
With depth-dependent velocity, wave fields become much more complex at wide offset. NMO soon fails, but wave-equation forward modeling offers interesting opportunities for inversion.