DOCUMENTATION
SYNOPSIS
PERL PROGRAM NAME: SUGABOR - Outputs a time-frequency representation of seismic data via
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SEISMIC UNIX NOTES
SUGABOR - Outputs a time-frequency representation of seismic data via
the Gabor transform-like multifilter analysis technique
presented by Dziewonski, Bloch and Landisman, 1969.
sugabor <stdin >stdout [optional parameters]
Required parameters:
if dt is not set in header, then dt is mandatory
Optional parameters:
dt=(from header) time sampling interval (sec)
fmin=0 minimum frequency of filter array (hz)
fmax=NYQUIST maximum frequency of filter array (hz)
beta=3.0 ln[filter peak amp/filter endpoint amp]
band=.05*NYQUIST filter bandwidth (hz)
alpha=beta/band^2 filter width parameter
verbose=0 =1 supply additional info
holder=0 =1 output Holder regularity estimate
=2 output linear regularity estimate
Notes: This program produces a muiltifilter (as opposed to moving window)
representation of the instantaneous amplitude of seismic data in the
time-frequency domain. (With Gaussian filters, moving window and multi-
filter analysis can be shown to be equivalent.)
An input trace is passed through a collection of Gaussian filters
to produce a collection of traces, each representing a discrete frequency
range in the input data. For each of these narrow bandwidth traces, a
quadrature trace is computed via the Hilbert transform. Treating the narrow
bandwidth trace and its quadrature trace as the real and imaginary parts
of a "complex" trace permits the "instantaneous" amplitude of each
narrow bandwidth trace to be compute. The output is thus a representation
of instantaneous amplitude as a function of time and frequency.
Some experimentation with the "band" parameter may necessary to produce
the desired time-frequency resolution. A good rule of thumb is to run
sugabor with the default value for band and view the image. If band is
too big, then the t-f plot will consist of stripes parallel to the frequency
axis. Conversely, if band is too small, then the stripes will be parallel
to the time axis.
Caveat:
The Gabor transform is not a wavelet transform, but rather are sharp
frame basis. However, it is nearly a Morlet continuous wavelet transform
so the concept of Holder regularity may have some meaning. If you are
computing Holder regularity of, say, a migrated seismic section, then
set band to 1/3 of the frequency band of your data.
Examples:
suvibro | sugabor | suximage
suvibro | sugabor | suxmovie n1= n2= n3=
(because suxmovie scales it's amplitudes off of the first panel,
may have to experiment with the wclip and bclip parameters
suvibro | sugabor | supsimage | ... ( your local PostScript utility)
Credits:
CWP: John Stockwell, Oct 1994
CWP: John Stockwell Oct 2004, added holder=1 option
Algorithm:
This programs takes an input seismic trace and passes it
through a collection of truncated Gaussian filters in the frequency
domain.
The bandwidth of each filter is given by the parameter "band". The
decay of these filters is given by "alpha", and the number of filters
is given by nfilt = (fmax - fmin)/band. The result, upon inverse
Fourier transforming, is that nfilt traces are created, with each
trace representing a different frequency band in the original data.
For each of the resulting bandlimited traces, a quadrature (i.e. pi/2
phase shifted) trace is computed via the Hilbert transform. The
bandlimited trace constitutes a "complex trace", with the bandlimited
trace being the "real part" and the quadrature trace being the
"imaginary part". The instantaneous amplitude of each bandlimited
trace is then computed by computing the modulus of each complex trace.
(See Taner, Koehler, and Sheriff, 1979, for a discussion of complex
trace analysis.
The final output for a given input trace is a map of instantaneous
amplitude as a function of time and frequency.
This is not a wavelet transform, but rather a redundant frame
representation.
References: Dziewonski, Bloch, and Landisman, 1969, A technique
for the analysis of transient seismic signals,
Bull. Seism. Soc. Am., 1969, vol. 59, no.1, pp.427-444.
Taner, M., T., Koehler, F., and Sheriff, R., E., 1979,
Complex seismic trace analysis, Geophysics, vol. 44,
pp.1041-1063.
Chui, C., K.,1992, Introduction to Wavelets, Academic
Press, New York.
Trace header fields accessed: ns, dt, trid, ntr
Trace header fields modified: tracl, tracr, d1, f2, d2, trid, ntr
CHANGES and their DATES
sub Step
collects switches and assembles bash instructions by adding the program name
sub note
collects switches and assembles bash instructions by adding the program name
sub clear
sub alpha
sub band
sub beta
sub dt
sub fmax
sub fmin
sub holder
sub verbose
sub get_max_index
max index = number of input variables -1