next up previous [pdf]

Next: Relation to Interpolation Up: Burnett & Ferguson: Reversible Previous: Implementation


NMO by Transform

data
data
Figure 2.
Synthetic CMP gather. Left: Velocity model. Four reflectors are placed in a background velocity that increases linearly with depth ( $ v(z)=7.0+z$ kft/s). Right: CMP gather generated using the velocity model. Arrival times predicted by Kirchhoff modeling are convolved with a 25 Hz Ricker wavelet.
[pdf] [png] [scons]

nmomat
nmomat
Figure 3.
The forward NMO transform matrix can be composed as the Hadamard (entry-wise) product of the inverse Fourier transform matrix (left) and the NMO forward shifting matrix for an example trace at $ x=3,600$ ft (right). The real part of each matrix is shown here.
[pdf] [png] [scons]

inmomat
inmomat
Figure 4.
The inverse NMO transform matrix can be composed as the Hadamard product of the forward Fourier transform matrix (left) and the NMO reverse shifting matrix for an example trace at $ x=3,600$ ft (right). The real part of each matrix is shown here.
[pdf] [png] [scons]

nmo
nmo
Figure 5.
Reversible NMO applied to gather from Figure 2. Left: Semblance panel and picked velocity. Center: NMO-corrected gather. Right: Inverse NMO applied to gather.
[pdf] [png] [scons]

stretch
stretch
Figure 6.
NMO applied to and removed from a single trace at $ x=2,100$ ft. Input trace: thin-magenta line. NMO-corrected trace: thick-green line. Inverse NMO without $ \alpha $ : line of * symbols. Inverse NMO using $ \alpha $ : line of + symbols. The use of $ \alpha $ allows one to recover the input trace by accounting for the non-physical energy distortion caused by forward NMO (NMO stretch).
[pdf] [png] [scons]

The kinematics of the shift required for the NMO correction simply shift data values backwards from input time, $ t_{x}$ , to output time, $ t_{0}$ , where $ t_{x}$ depends on $ t_{0}$ . For ideal continuous data, the input and output times are both arbitrary, but for discrete field data, both must coincide exactly with a sampling time or values must be interpolated. In the continuous case, this is exactly a nonstationary shift by combination as described by Margrave (1998), where for the NMO correction, the nonstationary shift is expressed as,

$\displaystyle \Delta_{NMO} \left( t_0 \right) = t_x \left( t_0 \right) - t_0,$ (20)

(Burnett and Ferguson, 2008a) with,

$\displaystyle t_x(t_0)=\sqrt{t_0^2+\frac{x^2}{v^2}},$ (21)

where, $ x$ is the source-receiver offset, and $ v$ is the normal moveout velocity. It is the goal of the NMO correction to flatten each event to its associated zero-offset arrival time. The NMO correction can be clearly recognized as a nonstationary shift, where $ t_x(t_0)$ is a special case of $ p(q)$ , and $ t_0$ is a special case of $ q$ . Direct substitution into 5 yields the forward NMO transform:

$\displaystyle g\left(t_0\right) =\frac{1}{2\pi }\int _{-\infty }^{\infty }F(\omega )e^{i \omega t_x(t_0)} d\omega ,$ (22)

where $ \omega $ is the Fourier dual of $ t_x$ . This transform takes the frequency spectrum of an input seismic trace, $ F(\omega )$ , and directly outputs the NMO-corrected trace, $ g(t_0)$ . Figure 2 shows a synthetic common midpoint (CMP) gather generated using Kirchhoff modeling. We estimate a reasonable NMO velocity from the synthetic gather in Figure 2 using a semblance scan, and then apply the NMO transform to yield the result in Figure 5.

In the case of the NMO correction, the time distortion caused by the shift is well-known, and referred to as NMO stretch (Buchholtz, 1972; Dunkin and Levin, 1973). Various authors have developed strategies for handling the effects of NMO stretch in practical seismic data processing (Perroud and Tygel, 2004; Shatilo and Aminzadeh, 2000; Miller, 1992). NMO stretch manifests the most at far offsets and early times, where the NMO correction is the most severe. The waveform of an event in this area is stretched to a longer period as the NMO correction is applied (Yilmaz, 2001). The amplitude of that event is not affected, but its time distortion causes an alteration in its frequency content. Specifically, the lower frequency content is boosted, and since the amplitude of the waveform is maintained, a nonphysical addition of energy to the input signal has occurred. Yilmaz (2001) quantifies the frequency distortion caused by NMO stretch in terms of $ \Delta _{NMO}$ and $ t_0$ :

$\displaystyle \frac{\Delta f}{f}=\frac{\Delta _{NMO}}{t_0},$ (23)

where, f is the dominant frequency of the input waveform. This expression is derived from geometric arguments and assumes $ t_0>>f^{-1}$ (Yilmaz, 2001). Another approach to describing NMO stretch comes from analyzing the effects of the NMO correction in terms of instantaneous frequency (Barnes, 1992). This approach provides excellent insight into the frequency distortion, and yields an exact expression for NMO stretch, $ S$ :

$\displaystyle S=\frac{t_x}{t_0-\frac{x^2v'\left(t_0\right)}{v^3\left(t_0\right)}},$ (24)

where $ v'$ is the derivative of v with respect to time (Barnes, 1992). This expression quantifies NMO stretch without approximations, and is not dependent only on the dominant frequency as in equation 23. It is valid for variable velocity models, and for a constant velocity model, the derivative of velocity goes to zero, and $ S-1$ agrees with the approximation in equation 23.

As equation 24 suggests, NMO stretch is itself nonstationary, and therefore cannot be removed exactly using stationary filtering theory. However, since the data processing transform takes advantage of nonstationary filtering, NMO stretch can be removed exactly. Substituting the NMO variables, $ \Delta _{NMO}$ and $ \alpha_{NMO}\left( t_0\right) $ into 11, gives the inverse NMO transform:

$\displaystyle F(\omega )=\int _{-\infty }^{\infty }\alpha _{NMO}\left( t_0\right) g\left(t_0\right)e^{-i \omega t_x\left(t_0\right)}dt_0.$ (25)

Here, insight into the role of $ \alpha $ can finally be gained. $ \alpha_{NMO}\left( t_0\right) $ is given as,

$\displaystyle \alpha _{NMO}\left( t_0\right) \equiv \frac{\partial t_x}{\partial t_0}=\frac{t_0-\frac{x^2v'\left(t_0\right)}{v^3\left(t_0\right)}}{t_x}.$ (26)

The inverse NMO transform does account for NMO stretch, and in fact, $ \alpha_{NMO}=S^{-1}$ exactly. Realizing that the two are equivalent leads to a straightforward (once nonstationary filtering is allowed) perspective on predicting and quantifying NMO stretch. Further, Barnes (1992) proves, in terms of instantaneous power and energy spectra, that $ S$ , and therefore $ \alpha_{NMO}\left( t_0\right) $ indeed describe the nonphysical energy change caused by the NMO correction. Figure 6 shows the application and removal of the NMO correction to a single trace. Two cases are shown for inverse NMO: one where $ \alpha $ is not included and one where it is. In the case where $ \alpha $ is used, the amplitude is recovered correctly, whereas when $ \alpha $ is not used, inverse NMO preserves the energy of the NMO-corrected trace, leading to too much energy in the recovered signal. It can be shown that $ \alpha $ plays a similar role in accounting for nonphysical energy changes introduced by other imaging steps such as so-called ``Stolt stretch'' associated with Stolt migration (Burnett and Ferguson, 2008b).

The NMO transform acts as a map between the uncorrected spectrum and the NMO-corrected trace. As such, the first step in implementing the forward NMO transform on a trace is to apply a standard forward Fourier transform to the input trace. This gives the uncorrected spectrum, which becomes the input column vector for a matrix vector multiplication. Following 16, the discrete NMO transform is given as,

$\displaystyle g \left( \left[ t_{0}\right] _j \right) = \sum _{l=1}^N \frac{e^{i \, \omega_l p \left( t_{0,j} \right)}}{2 \, \pi} \, F \left( \omega_l \right).$ (27)

One can also decompose the forward NMO transform operator as the Hadamard product of the inverse Fourier transform matrix and the NMO shifting matrix following 18 (see Figure 3). The frequency axis of the shifting operator must exactly match the frequency axis used for the forward Fourier transform, since it will simultaneously remove that Fourier transform as it NMO-corrects the data. The inverse NMO transform can also be implemented by matrix-vector multiplication by substituting $ t_x$ and $ \alpha _{NMO}$ into 17. As seen in Figure 4, the full inverse NMO transform operator can be decomposed as the Hadamard product of the forward Fourier transform matrix and the NMO reverse shifting matrix. We conclude this example by removing the NMO correction by transform, shown in Figure 5. Most of the gather is recovered nearly perfectly-only parts which were mapped to $ t_0=0$ are not recovered well.


next up previous [pdf]

Next: Relation to Interpolation Up: Burnett & Ferguson: Reversible Previous: Implementation

2013-03-02