A We use the code below to factor cross-correlation functions into two minimum phase filters. The module contains three subroutines, one for initialization, one for the actual factorization and a third one for deallocating the memory.
Type cfilter is a complex filter defined in the helical coordinate system. Such a filter is composed of a ``zero lag'' coefficient (e.g. s0) and two vectors, one for the lags (e.g. ss%lag) and one for the complex values of the filter (e.g. ss%flt).
We loop for the desired number of iterations. At each step, we take the auto-correlation (ss), divide it by A and , select the filter coefficients of the positive/negative lags, and then convolve by A/B.
The result is a pair of filters (aa and bb) of type cfilter.
James Rickett and Jon Claerbout
james@sep.stanford.edu, jon@sep.stanford.edu
ABSTRACT
The accuracy of conventional explicit wavefield extrapolation
algorithms at high dips is directly related to the length of the
convolution filters: increasing the dip range leads to increased cost.
Recursive filters have the advantage over convolutional filters in
that short filters can move energy long distances.
We discard both Crank-Nicolson and McClellan transforms, and
extrapolate waves by factoring the 3-D Helmholtz equation in a helical
coordinate system.
We show that one of the minimum-phase factors provides a 90 |