Complex trace attributes were introduced into geophysics by the paper

Taner, M. T., F. Koehler, and R. E. Sheriff, 1979,

**Complex seismic trace analysis**: Geophysics, 44, 1041-1063.

If

is the input seismic trace, then the analytical trace is defined as the complex-valued signal

where

is the

Hilbert transform of

:

The signal envelope is the positive signal

A phase-rotated seismic signal is

where

is the phase of rotation.

By default,

sfenvelope computes the signal envelope. It can also produce a phase-rotated signal if given

**hilb=y** and

**phase=**. If

**phase=90** (the default value), the phase-rotated signal will be simply the Hilbert transform of the input.

The following figure from

book/rsf/rsf/sfenvelope illustrate an application of

**sfenvelope**:

Computing the discrete Hilbert transform is not a trivial task. In the Fourier domain, the continuous Hilbert transform is given by

where sgn is the sign function. The discontinuity of the sign function in the frequency domain at

is related to the slow

decay of the filter impulse response in the time domain. The discontinuity at the Nyquist frequency creates additional oscillations. Different practical implementations shorten the filter impulse response by effectively smoothing the Fourier-domain discontinuities.

The Madagascar

implementation of the discrete Hilbert transform follows the algorithm described in

Pei, S.-C., and P.-H. Wang, 2001,

**Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delayers by power series expansion**: IEEE Trans. on Circuits and Systems, v. 48, No. 4, 389-398.

The accuracy/cost trade-off is controlled by two parameters:

**order=** and

**ref=**. The following figures from

book/rsf/rsf/sfenvelope illustrate the effect of the

**order=** parameter:

The

Seismic Unix implementation (

**suhilb** program) applies a

Hamming window in the time domain. For some reason, it has the filter polarity reversed:

A multidimensional analog of the Hilbert transform is the

Riesz transform. It is implemented in the

sfriesz program.

sfsmooth, one of the most useful Madagascar programs, implements smoothing by triangle filtering. The idea of triangle filtering is explained in Jon Claerbout's books Processing versus Inversion and Image Estimation by Example. You can find the explan

Weblog:Madagascar development blogTracked:Jan 12, 12:33sfspectra computes spectrum, the absolute value of the 1-D Fourier transform along the fast axis. The following example from rsf/su/rsfkasper shows a seismic shot gather before and after high-pass filtering and the corresponding spectra computed with

Weblog:Madagascar development blogTracked:Mar 18, 17:16sfgrey3 generates "cube" plots from 3-D data. A cube plot displays sections from a 3-D cube as faces of the cube. Some of the options specific to this kind of display are: flat= The flat parameter tells sfgrey3 whether to display the cube as a

Weblog:Madagascar development blogTracked:Apr 09, 12:42sfderiv applies the first derivative filter. The algorithm implemented in this program is described in the paper Pei, S.-C., and P.-H. Wang, 2001, Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delaye

Weblog:Madagascar development blogTracked:May 06, 08:10sfderiv applies the first derivative filter. The algorithm implemented in this program is described in the paper Pei, S.-C., and P.-H. Wang, 2001, Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delaye

Weblog:Madagascar development blogTracked:May 06, 08:11sfderiv applies the first derivative filter. The algorithm implemented in this program is described in the paper Pei, S.-C., and P.-H. Wang, 2001, Closed-form design of maximally flat FIR Hilbert transformers, differentiators, and fractional delaye

Weblog:Madagascar development blogTracked:Jun 02, 06:46sfdip estimates a local slope (dip) using the plane-wave destruction algorithm. The dip is measured in time samples. If α is the dip angle, then the output of sfdip corresponds to the dimensionless quantity p=tanα. The following example

Weblog:Madagascar development blogTracked:Jun 04, 05:46sffft3 implements a complex-to-complex Fast Fourier Transform (FFT) along an arbitrary axis. The FFT library that Madagascar uses is KISS FFT, created by Mark Borgerding. KISS stands for Keep it simple, Stupid! KISS FFT may not be as fast as FFTW but i

Weblog:Madagascar development blogTracked:Jul 08, 12:34Previous programs of the month:sffft3sfdipsfderivsfgrey3sfspectrasfnoisesfgraphsfclipsfagcsfenvelopesfcontoursfsmooth

Weblog:Madagascar development blogTracked:Sep 03, 14:02sfpick performs automatic picking from semblance-like panels. The underlying algorithm is described in Appendix B of the paper Velocity analysis using AB semblance and is inspired by the method of virtual endoscopy in medical imaging. The following

Weblog:Madagascar development blogTracked:Sep 08, 16:07sfiwarp performs mapping between different coordinates. If you have sampled functions f(x) and y(x), sfiwarp with inv=y (the default) finds sampled f(y). If inv=n, sfiwarp takes f(y) and y(x) and finds f(x). In both cases, the sampled y(x) function is sup

Weblog:Madagascar development blogTracked:Sep 09, 12:52sfpick performs automatic picking from semblance-like panels. The underlying algorithm is described in Appendix B of the paper Velocity analysis using AB semblance and is inspired by the method of virtual endoscopy in medical imaging. The following

Weblog:Madagascar development blogTracked:Sep 09, 12:52The example in rsf/tutorials/hilbert reproduces the tutorial from Steve Purves on phase and the Hilbert transform. The tutorial was published in the October 2014 issue of The Leading Edge. Madagascar users are encouraged to try improving the

Weblog:Madagascar development blogTracked:Mar 26, 15:02