SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUACORFRAC -- general FRACtional Auto-CORrelation/convolution
suacorfrac power= [optional parameters] <indata >outdata
Optional parameters:
a=0 exponent of complex amplitude
b=0 multiplier of complex phase
dt=(from header) time sample interval (in seconds)
verbose=0 =1 for advisory messages
ntout=tr.ns number of time samples output
sym=0 if non-zero, produce a symmetric output from
lag -(ntout-1)/2 to lag +(ntout-1)/2
Notes:
The calculation is performed in the frequency domain.
The fractional autocorrelation/convolution is obtained by raising
Fourier coefficients to separate real powers
(a,b) for amp and phase:
Aout exp[-i Pout] = Ain Ain^a exp[-i (1+b) Pin]
where A=amplitude P=phase.
Some special cases:
(a,b)=(1,1) --> auto-correlation
(a,b)=(0.5,0.5) --> half-auto-correlation
(a,b)=(0,0) --> no change to data
(a,b)=(0.5,-0.5)--> half-auto-convolution
(a,b)=(1,-1) --> auto-convolution
Credits:
UHouston: Chris Liner, Sept 2009
CWP: Based on Hale's crpow
Trace header fields accessed: ns, dt, trid, d1
/
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 A
sub a
sub b
sub dt
sub ntout
sub power
sub sym
sub verbose
sub get_max_index
max index = number of input variables -1