A number of classical techniques for representing instantaneous trace attributes have been created over the years. Many of these techniques involve the construction of a quadrature trace to be used as the imaginary part of a ``complex trace'' (with the real part, being the real data). The quadrature trace is created with the Hilbert transform following the construction of the so-called ``allied function.'' This representation permits ``instantaneous amplitude, phase, and frequency'' information to be generated for a dataset, by taking the modulus, phase, and time derivative of the phase, respectively. An alternate approach is to perform multi-filter analysis on data, to represent it as a function of both time and frequency.
Tools in SU which perform these operations are
% suplane | suhilb | suxwigb title="Hilbert Transform" &This program is useful for instructional and testing purposes.
To see an example of ``trace attributes'' with ``suattributes'' it is necessary to make data which has a strong time-frequency variability. This is done here with ``suvibro'' which makes a synthetic vibroseis sweep. Compare the following:
% suvibro | suxgraph title="Vibroseis sweep" & % suvibro | suattributes mode=amp | suxgraph title="Inst. amplitude" & % suvibro | suattributes mode=phase unwrap=1.0 | suxgraph title="Inst. phase" & % suvibro | suattributes mode=freq | suxgraph title="Inst. frequency" &which show, respectively, instantaneous amplitude, phase, and frequency.
To see the synthetic vibroseis trace in the time-frequency domain, try the following:
% suvibro | sugabor | suximage title="time frequency plot" &The result is an image which shows the instantaneous or apparent frequency increasing from 10hz to 60hz, with time, exactly as stated by the default parameters of ``suvibro.''
See the demos in $CWPROOT/src/demos/Time_Freq_Analysis and $CWPROOT/src/demos/Filtering/Sugabor for further information.