Go to the list of seismic processes.
Go to SIOSEIS introduction.
Document Date: 23 April 2001
Finite-difference Migration using the
The finite-difference migration technique is an effective way to handle
many types of migration problems. It was developed and made popular by
J. F. Claerbout at Stanford University. For most stack sections, finite-
difference migration gives results comparable to other schemes; however
there are assumptions and stability limitations which must be considered.
For certain conditions, frequency domain (process FKMIGR) migration is
more effective in resolving typical imaging and positioning problems.
It is possible to add more terms to the finite-difference equation to
obtain successively more accurate equations to deal with the steep dip
problem. However, these schemes quickly become impractical to implement
due to their cost. Further limitations on dip angle are imposed since
the finite-difference method itself introduces errors. The equation
used in FDMIGR is known as the 45-degree equation, and is capable of
handling dips up to angles of 45 degrees with sufficient accuracy.
A certain confusion exists regarding the meaning the meaning of the dips
referred to in the 45 degree equation. This is not simply the dip of
continuous reflectors. These are the dips included in all events of
interest as seen in the F-K domain. A sharp fault, for example,
contains dips up to 90 degrees, and the 45 degree algorithm will only
properly migrate certain components, with increasing distortion at
higher dips. The parameters in the algorithm are set to suppress those
dips which are poorly imaged.
Within the finite-difference equation there is no term to describe
differences in velocity. Hence, a major assumption of the scheme is that
velocity is constant throughout the section. In practice, it is
sufficient for the velocity to vary slowly enough that it looks roughly
constant within the effective "aperture" of the algorithm. This
aperture can be thought of as a box whose time length equals one
Tau-step size and whose spatial length equals the effective width of a
point diffraction pattern.
Ideally, we would like to perform migration on all of space. But in the
real situation, we can only migrate a finite section of the earth, so we
must consider the effects of the imposed boundaries. The main
consideration is for the sides of the section, where we normally think
of the earth as simply ceasing to exist, and the events stopping. This
view induces the mathematical equivalent of a vertical reflection
coefficient, and events which are migrated towards it will be partly
reflected back into the section. In order to suppress, or at least
attenuate these undesirable events, a buffer zone, or pad, consisting of
a number of traces, is inserted at both sides of the section. The traces
are set to zero before migration, and the velocity is the same as the
attached traces in the section. Studying the padded traces after
migration can sometimes yield valuable information about events close to
the edge of the section, especially if other data in the area is
Comparison with FKMIGR
a) Run Time
One of the most practical considerations when deciding which
migration scheme to use is the difference in cost. Depending on the
values of certain parameters used, FDMIGR can run 3 to 4 times as long
as FKMIGR. Clearly, if there is no advantage in data quality to be
obtained, FDMIGR should not be used.
FDMIGR must migrate from time zero, so it replaces the deep
water delay with sufficient zeroes. The inserted zeroes are removed
after migration so that the output traces will have the same delay as
the input traces. Deep water delays do not affect the FDMIGR run time.
b) Steep Dips
Use of FDMIGR will produce inaccuracies if events are dipping
by more than 45 degrees. FKMIGR, the frequency domain approach,
migrates all dips with equal accuracy.
In general, FDMIGR will perform better in the presence of
velocity variations, although both methods assume that velocity is
While FKMIGR is very stable in almost all conditions, FDMIGR
uses parameters which, if mis-used, can cause the migration equation to
become unstable. It is also possible to set values for particular data
sets in order to control noise on the output section, but you should
have a good understanding of finite-difference migration first. In
general, the default values will produce stable results.
e) Noise Suppression
All migration algorithms tend to suppress random noise and
enhance coherent events. The result is that the output section will
look more "mixed" than the input. The effect will be more prominent as
the accuracy of the algorithm increases. For this reason, FKMIGR FKMIGR
will generally look more mixed than FDMIGR, which will, in turn, look
more mixed than a 15 degree algorithm.
Some Important Parameters
The parameter Rho is inserted into the expression for the discretization
of the time derivative. This serves to counteract any potential growing
waves from the expression for migration, as an explicit damping with
time. It can be thought of as a "numerical viscosity". A value of Rho
less than 1 reinforces stability. However, any deviation of Rho away
from 1, by at most 1 percent, results in some loss of signal as well as
In the discretization of depth, the parameter Theta is introduced, with
the most natural value being .500. If Theta = 0 is used, there is a
tendency to overshoot on variations, whereas Theta = 1 will produce an
overdamping of change.
To discretize the horizontal distance component, an approximation to the
second derivative is found by an iterative method. When the iteration
is truncated, the parameter Gamma is introduced, which is allowed to
vary between .08 and .17, based primarily on the look of migrated
sections. If Gamma is allowed to increase too much more, spurious noise
In the ideal case, Tau would equal the sample rate of the data, meaning
that the entire section would be migrated exactly one sample rate step
at each pass through the section. While this scheme reduces the errors,
it is impractical due to the huge run-time needed. In practice, Tau
should be chosen in the range of 20 to 200 ms. (.02 to .2 secs), with
the smaller Tau values producing greater accuracy. It is possible to
vary Tau vertically, and this should be done in order to save run-time.
Generally, the value of Tau should decrease from shallow to deep data
times. This is because greater accuracy is needed in the migration of
the deeper events where the greatest movement is taking place.
More detailed explanation of the origin of these parameters, and some
results of allowing them to vary, may be found in the paper published by
H. Brysk (Geophysics: May 1983).
DX - Trace separation distance. This is the distance between
reflection points. DX is a constant for the entire seismic
REQUIRED. range 1.0 to 500.0 e.g. dx 25
FNO - The first shot/rp number the parameter list applies to.
Preset = the first shot/rp received. e.g. FNO 101
LNO - The last shot/rp number the parameter list applies to.
Preset = the last shot/rp received. e.g. LNO 101
VTP - The rms velocity to use in migration. The rms velocity
function is the same as the velocity function used to moveout
the data. Given as velocity-time pairs. Velocities not
specified are calculated through interpolation and "straight-
lining" from the ends. Times must be given in seconds.
Preset = none velocity range 350 to 32000
BPAD - The number of zero amplitude traces to insert prior to the
Preset = 1 range 1 to 500 e.g. bpad 10
EPAD - The number of zero amplitude traces to append after the last
Preset = 1 range 1 to 500 e.g. epad 10
OPAD - A switch indicating that the pad traces (both bpad and epad)
should be output in addition to the migrated input.
Preset = no range yes/no e.g. opad yes
NRHO - A parameter used to control the Tau step interpolation.
Preset = 2.0 range 0. to 10000
FCRHO - A parameter used to control the Tau step interpolation.
Preset = .99 range .0001 to 1.
RHO - A "hidden" migration parameter discussed above.
Preset = .9990 range 0 to .9999
THETA - A "hidden" migration parameter discussed above.
Preset = .501 range 0 to 1.0
GAMMA - A "hidden" migration parameter discussed above.
Preset = .125 range .08 to .17
TSTEPS - A set of time-delta-tau pairs governing the tau step size
(delta-tau) in the time interval terminating with the time
given. Up to seven (time, delta-tau) pairs may be given. The
delta-tau values will be interpolated between the specified
times and will be "straight-lined" at the trace ends. The
units of time and delta-tau are seconds.
Preset = REQUIRED e.g. tsteps .1 .1 1.0 .2
NX - The total number of traces, including pads, to migrate. The
entire seismic line must be transformed from TX (time-space)
to XT (space-time). FDMIGR requires much extra disk I/O if the
entire seismic line (nx*maxsam) is larger than the computer
memory allocated for the transformation (the Cray does not have
a virtual memory). NX does not need to be a power of 2.
Preset = 4096 e.g. nx 500
MAXSAM - The maximum number of samples per trace, including the deep
water delay, to migrate. A trace exceeding MAXSAM will be
Preset = the number of samples plus delay of the first trace.
PATH - The pathname (filename) of a scratch file FDMIGR should use
for the intermediate transposed data. The purpose of this
parameter is to allow the user to specify the exact disk
partition to use in case the "current" partition does not have
Preset = a scratch file in the current directory
e.g. path /user/scratch/moreroom
Copyright (C) by The Regents of The University of California, 1988
Written by Paul Henkart, Scripps Institution of Oceanography, La Jolla, Ca.
and by Veritas Seismic Processors, Ltd., Calgary, Alberta.
ALL RIGHTS RESERVED.