“Kirchhoff migration of seismic data compressed by matching pursuit decomposition,” by Bin Wang and Keh Pann [2], shows how to perform Kirchhoff summation migration directly in the wavelet domain. I am happy finally to see this simple idea in print. The same idea came to me years ago with a previous employer. Now all details are public knowledge, and I can talk about it again. This paper also suggests many useful ideas that came from practical implementation. (For example, inverse wavelets can include necessary rho filters.)
First I will provide my own favorite definition of a continuous wavelet transform, which I wrote down in 1986 to rederive the results in Goupillaud et al [1]. (At the time in Zhuo Xian, China, I had an office down the hall from Pierre Goupillaud.) This continuous transform seems much better suited to geophysical applications than the now more popular discrete wavelet transform using Daubechies wavelets. The latter have a broader spectrum than necessary, more suitable for compressing photographic images with sharp edges. The continuous transform can use simple Gaussian tapered monochromatic waves (one or multi-dimensional) which maximizes the locality in both time/space and frequency/wavenumber.
This new paper points out that the innermost loop of a Kirchhoff migration can be described as a simple shift and sum, which is a trivial operation in the wavelet domain. (Although trivial, the analytic details are given below, since I already have them worked out.) More precisely, input seismic traces are stretched, resampled, scaled, and then finally summed. If I perform an equivalent operation directly on a wavelet-transformed trace, then the cost could also be reduced manyfold.
First, I will give the definition of what constitutes a valid “wavelet” for the transform. Second, the inverse of a wavelet transform will be derived to demonstrate why the transform works. Last, I will show how the wavelet-transform of a stretched trace can be written as a simple function of the wavelet-transform of the original unstretched trace.
I will closely imitate the continuous transform originally provided by Goupillaud, Grossman, and Morlet [1]. They provide forward and inverse transforms for related transforms, but without derivation.
Use the following Fourier convention to link a
wavelet and its Fourier transform :
(1) | |||
(2) |
The following integral must exist for a valid wavelet.
This wavelet need not correspond to a seismic waveform. Rather, when convolved with a trace, the wavelet should suppress all but a band of frequencies. Because of the uncertainty principle, I must balance the narrowness of the bandwidth with the narrowness in time.
I recommend a Gaussian-tapered sinusoid, such as . Such a wavelet is reasonably compact in both the time and frequency domain. (The constant adjusts the relative compactness, within the limits of the uncertainty principle.)
A valid wavelet can be used in an unfamiliar construction of a delta function.
In effect, this integral says that many wavelets, stretched uniformly over all scales, will sum destructively everywhere but at .(6) | |||
(7) | |||
(8) | |||
(9) |
The constraint of symmetry will also simplify the definition of a wavelet transform in the following section, but this assumption is optional:
Define a wavelet transform of an function by the following
This transform decomposes the function as a function of position and local frequency . When calculated discretely, the sampling need not be uniform over and , but the weights should reflect the above integration.Goupillaud et all [1] prefer or instead of as the stretch factor. If you prefer an asymmetric wavelet, then you must use two transforms—the above, and the integral with the time-reversed wavelet.)
I find the following inverse, which simply scales and sums the transform with uniform weight over local frequency :
(13) | |||
(14) | |||
(15) | |||
(16) |
The previous sections were implicit in Goupillaud et al [1], although I personally found it nontrivial to fill in the missing derivation of the results. I was also happy to stumble on equation 4, which continues to fascinate me.
This last section contains the only new idea particular to Kirchhoff migration, and this idea is now public. The idea is so obvious, really, that I'm sure everyone who has considered applying Kirchhoff migration to wavelets has thought of it. I write down the details just as a way of making the notation conform to that of the preceding continuous wavelet transform.
The inner loop of a summation imaging procedure (Kirchhoff migration) can be written as a simple stretching function:
(23) | |||
(24) |
(25) | |||
(26) |
(27) | |||
(28) | |||
(29) |
Equation 22 is the result which allows us to perform the stretch directly on the wavelet-transformed trace.