SYNOPSIS

PERL PROGRAM NAME:

AUTHOR: Juan Lorenzo (Perl module only)

DATE:

DESCRIPTION:

Version:

USE

NOTES

Examples

SYNOPSIS

SEISMIC UNIX NOTES SUDGWAVEFORM - make Gaussian derivative waveform in SU format

  sudgwaveform >stdout  [optional parameters]				





 Optional parameters:							

 n=2    	order of derivative (n>=1)				

 fpeak=35	peak frequency						

 nfpeak=n*n	max. frequency = nfpeak * fpeak				

 nt=128	length of waveform					

 shift=0	additional time shift in s (used for plotting)		

 sign=1	use =-1 to change sign					

 verbose=0	=0 don't display diagnostic messages			

               =1 display diagnostic messages				

 Notes:								

 This code computes a waveform that is the n-th order derivative of a	

 Gaussian. The variance of the Gaussian is specified through its peak	

 frequency, i.e. the frequency at which the amplitude spectrum of the	

 Gaussian has a maximum. nfpeak is used to compute maximum frequency,	

 which in turn is used to compute the sampling interval. Increasing	

 nfpeak gives smoother plots. In order to have a (pseudo-) causal	

 pulse, the program computes a time shift equal to sqrt(n)/fpeak. An	

 additional shift can be applied with the parameter shift. A positive	

 value shifts the waveform to the right.				



 Examples:								

 2-loop Ricker: dgwaveform n=1	>ricker2.su				

 3-loop Ricker: dgwaveform n=2 >ricker3.su				

 Sonic transducer pulse: dgwaveform n=10 fpeak=300 >sonic.su		



 To display use suxgraph. For example:					

 dgwaveform n=10 fpeak=300 | suxgraph style=normal &			



 For other seismic waveforms, please use "suwaveform".		





 Credits:



	Werner M. Heigl, February 2007



 This copyright covers parts that are not part of the original

 CWP/SU: Seismic Un*x codes called by this program:



 Copyright (c) 2007 by the Society of Exploration Geophysicists.

 For more information, go to http://software.seg.org/2007/0004 .

 You must read and accept usage terms at:

 http://software.seg.org/disclaimer.txt before use.



 Revision history:

 Original SEG version by Werner M. Heigl, Apache E&P Technology,

 February 2007.



 Jan 2010 - subroutines deriv_n_gauss and hermite_n_polynomial moved

 to libcwp.a

/

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 fpeak

sub n

sub nfpeak

sub nt

sub shift

sub sign

sub verbose

sub get_max_index

max index = number of input variables -1