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 300ms 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: