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