SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUADDNOISE - add noise to traces
suaddnoise <stdin >stdout sn=20 noise=gauss seed=from_clock
Required parameters:
if any of f=f1,f2,... and amp=a1,a2,... are specified by the user
and if dt is not set in header, then dt is mandatory
Optional parameters:
sn=20 signal to noise ratio
noise=gauss noise probability distribution
=flat for uniform; default Gaussian
seed=from_clock random number seed (integer)
f=f1,f2,... array of filter frequencies (as in sufilter)
amps=a1,a2,... array of filter amplitudes
dt= (from header) time sampling interval (sec)
verbose=0 =1 for echoing useful information
tmpdir= if non-empty, use the value as a directory path
prefix for storing temporary files; else if the
the CWP_TMPDIR environment variable is set use
its value for the path; else use tmpfile()
Notes:
Output = Signal + scale * Noise
scale = (1/sn) * (absmax_signal/sqrt(2))/sqrt(energy_per_sample)
If the signal is already band-limited, f=f1,f2,... and amps=a1,a2,...
can be used, as in sufilter, to bandlimit the noise traces to match
the signal band prior to computing the scale defined above.
Examples of noise bandlimiting:
low freqency: suaddnoise < data f=40,50 amps=1,0 | ...
high freqency: suaddnoise < data f=40,50 amps=0,1 | ...
near monochromatic: suaddnoise < data f=30,40,50 amps=0,1,0 | ...
with a notch: suaddnoise < data f=30,40,50 amps=1,0,1 | ...
bandlimited: suaddnoise < data f=20,30,40,50 amps=0,1,1,0 | ...
Credits:
CWP: Jack Cohen, Brian Sumner, Ken Larner
John Stockwell (fixed filtered noise option)
Notes:
At S/N = 2, the strongest reflector is well delineated, so to
see something 1/nth as strong as this dominant reflector
requires S/N = 2*n.
Trace header field accessed: ns
User's notes (Juan Lorenzo) untested
CHANGES and their DATES
Import packages
instantiation of packages
Encapsulated hash of private variables
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 N
sub Output
sub amps
sub dt
sub f
sub noise
sub scale
sub seed
sub sn
sub tmpdir
sub verbose
sub get_max_index
max index = number of input variables -1