SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUFXDECON - random noise attenuation by FX-DECONvolution

 sufxdecon <stdin >stdout [...]	                                



 Required Parameters:							



 Optional Parameters:							

 taper=.1	length of taper                                         

 fmin=6.       minimum frequency to process in Hz  (accord to twlen)   

 fmax=.6/(2*dt)  maximum frequency to process in Hz                    

 twlen=entire trace  time window length (minimum .3 for lower freqs)   

 ntrw=10       number of traces in window                              

 ntrf=4        number of traces for filter (smaller than ntrw)         

 verbose=0	=1 for diagnostic print					

 tmpdir=	if non-empty, use the value as a directory path	prefix	

		for storing temporary files; else, if the CWP_TMPDIR	

		environment variable is set, use its value for the path;

		else use tmpfile()					



 Notes: Each trace is transformed to the frequency domain.             

        For each frequency, Wiener filtering, with unity prediction in 

        space, is used to predict the next sample.                     

        At the end of the process, data is mapped back to t-x domain.  ", 







 Credits:			



	CWP: Carlos E. Theodoro (10/07/97)



 References:      							

		Canales(1984):'Random noise reduction' 54th. SEGM	

		Gulunay(1986):'FXDECON and complex Wiener Predicition   

                             filter' 56th. SEGM	                

		Galbraith(1991):'Random noise attenuation by F-X        

                             prediction: a tutorial' 61th. SEGM	



 Algorithm:

	- read data

	- loop over time windows

		- select data

		- FFT (t -> f)

		- loop over space windows

			- select data

			- loop over frequencies

				- autocorelation

				- matrix problem

				- construct filter

				- filter data

			- loop along space window

				- FFT (f -> t)

				- reconstruct data

 	- output data



 Trace header fields accessed: ns, dt, d1

 Trace header fields modified: 

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 fmax

sub fmin

sub ntrf

sub ntrw

sub taper

sub tmpdir

sub twlen

sub verbose

sub get_max_index

max index = number of input variables -1