NAME

     dafd  - do true amplitude frequency equalization


SYNOPSIS

     dafd [ -Nntap ] [ -Ootap ] [ -nsns ] [ -nene ] [ -rsirs ]  [
     -reire ] [ -flfl ] [ -fhfh ] [[ [ -G ] [ -nfnf ] [ -wlwl ] [
     -ffftap ] ] [ [ -exppwr ] [ -fxppwr1 ] [ -fmfm ] [ -E ] [ -P
     ]  ]  [  -W  [ -wffile ] [  -frfreqs(1), -wtweight(1) ] [  -
     frfreqs(2), -wtweight(2) ] [   ... , ... ] ] ] [ -F ] ] [  [
     -R ] [ -smsm ] [ -sfsf ] [ -epep ] ]] [ -I ] [ -V ] [ -? ]


DESCRIPTION

     dafd performs true amplitude spectral balancing by computing
     a frequency boost function using one of four possible modes:
     (0) sum of agc'd narrow gaussian bandpass filtered  versions
     of input data, (1) either exponential with frequency or fre-
     quency powered function, (2) linear  segments  in  frequency
     defining  decibel increase in amplitude, (3) simple flatten-
     ing of the amplitude spectrum, applying  the  same  function
     (in  the  frequency domain) to every trace, (4) applying the
     rho function (used in slant stacking to  preserve  frequency
     content  after  stacking).   The  final  time  output is the
     post-filtered to roll the ends of the boost function.

     The response of  this  type  of  frequency  equalization  is
     excellent compared with standard equalizers (see e.g. dctvf)
     based on gain correcting narrow passbands.  Side  lobes  are
     usually  much  lower,  and  of course the correction is true
     amplitude.

     dafd gets processing controls from the command line. Reason-
     able defaults are set up.


  Command line arguments
     -N ntap
          Enter the full path of the  file  containing  the  data
          set.  Default is a pipe in.

     -O otap
          Enter the output file name  for  the  filtered  traces.
          Default is a pipe out.

     -ns ns
          (integer) First trace in record to process  (default  =
          1).  Traces prior to this in each record will be passed
          unprocessed.

     -ne ne
          (integer) Last trace in record to  process  (default  =
          all).  Traces  after this in each record will be passed
          unprocessed.

     -rs irs
          (integer)  First  record  to  process  (default  =  1).
          Records prior to this will be passed unprocessed.

     -re ire
          (integer) Last  record  to  process  (default  =  all).
          Records after this will be passed unprocessed.

     -fl, -fhfl,fh
          (real) Low cut and  high  cut  frequencies  in  Hz  for
          post-boost  bandpass  filter.  These are the 6db points
          of the Butterworth filter.  The defaults are  set  dif-
          ferently  for the 2 modes described below: Mode 1 - the
          low cut default =  2Hz,  the  high  cut  default  =  .7
          Nyquist;  Mode  2  - the low cut default = .( times the
          lowest frequency control point, the high cut default  =
          1.2 times the highest frequency control point.

      Mode 0: agc and sum of narrow gaussian bandpass filters

     -G   If present use the summation of agcd gaussian  bandpass
          filtered  versions  of  the input data. This method can
          not be undone by a  subsequent  inverse  (  -I  )  dafd
          operation.

     -nf nf
          Number of frequency bands between -fl[] and -fh[].  The
          gaussian  filters  will overlap at the 6db (half ampli-
          tude) points so that summations of all the filters will
          yield unit response.

     -wl wl
          Length of agc window in ms.  Each bandpassed version of
          the  input  data  will  be  agcd  prior  to  summation.
          default = 500

     -ff ff
          Optional output file name  for  gaussian  filters.  The
          format  of  this  file  is 2-col: frequency - amplitude
          suitable for XY plotting, e.g. usp xgraph [filename]

      Mode 1: simple amplitude boost functions

     -exp pwr
          Exponent:  for frequencies greater than fm the exponen-
          tial boost function: G(f) = exp [pwr*(f-fm)]; for power
          function boost: G(f) = 1 + (f-fm) ** pwr.  For frequen-
          cies  less  than  fm  the gain functions are G(f) = exp
          [pwr1*(fm-f)] and G(f) = 1 + (fm-f) ** pwr1. Default  =
          0


     -fxp pwr1
          Exponent:  for frequencies less than fm  the   exponen-
          tial  boost  function:  G(f)  =  exp [pwr1*(fm-f)]; for
          power function boost: G(f) = 1 + (fm-f) **  pwr1.   For
          frequencies greater than fm the gain functions are G(f)
          = exp [pwr*(f-fm)] and  G(f)  =  1  +  (f-fm)  **  pwr.
          Default = 0

     -fm fm
          Exponent:  the exponential or power  function  will  be
          hung on this frequency, i.e.  the boost about this fre-
          quency will  be  determined  by  the  exponents  -fxp[]
          (f<fm)  and  exp[]  (f>fm). This is useful if the input
          spectra have a single predominant peak. Default is 0."

     -P   If present use use power frequency function [f**pwr]

     -E   If present  use  exponential  gain  frequency  function
          [exp(pwr*f)]

      Mode 2: linear decibel boost defined by freq/weight(db) pairs

     -W   Must be present on command  line  to  trigger  mode  2.
          There  are two ways to get freq - weight pairs into the
          program: (1) in a file, or (2) on th command line.

     -wf file
          Optional file containing frequency - weight pairs,  one
          pair per line (whitespace separating the numbers).

     -fr freq(1), -fr freq(2), ..., -fr freq(nfs)
          Command  line  method  of  inputting  frequency  points
          defining  line  segments  over  the  amplitude spectrum
          corresponding to weights (in decibels) to be applied to
          the  amplitudes (see weights below).  There must be one
          frequency control point for each weight below.  Weights
          between  frequency  control  points  will  be  linearly
          interpolated.

     -wt weight(1), -wt weight(2), ..., -fr weight(nfs)
          Weights in  decibels  corresponding  to  the  frequency
          points  above.   These  db  values  can be estimated by
          looking at a specal  display  of  some  sample  traces.
          Mode  2  is particularly suited to correcting amplitude
          spectra that decay with increasing frequency away  from
          some   central   maximum  (i.e.  the  higher  frequency
          regime).

      Mode 3: simple flattening of amplitude spectrum

     -F   If  present  flatten  the  amplitude  spectrum   before
          filtering  between  the user specified low cut and high
          cut frequencies. This mode can not  be  undone  by  the
          inverse option -I

      Mode 4: rho filter frequency enhancement

     -R   If present use  the  rho  filter  method  of  frequency
          enhancement. This filter was developed for use in slant
          stacking (tau-p) as  a  way  of  compensating  for  the
          degradation  in  the  higher  frequencies  cause by the
          stacking process.

     -sm sm
          Envelope smoothing window length. Default =  200.  Very
          insensitive to output results."

     -sf sf
          First frequency to use. Default = 0.0. For the  inverse
          rho filter operation this should be set to 1.0.

     -ep ep
          Frequency power function. Default = 1.8.   The  classic
          rho  filter operation compensates for stacking which is
          basically  an  integrator  having  a   typical   1/freq
          response.  The  compensation for a 1/freq function then
          should be a linear function of freq but  there  may  be
          other reasons why you might want to increase this value
          (get higher resolution).

     -I   If present use the inverse gain function, i.e.  1/G(f).
          Note:  the  inverse  will  be  unstable  for  exponents
          greater than about 2.

     -V   If present give verbose printout

     -?   Query mode.  With this flag, dafd will give a  descrip-
          tion  of  the  command line arguments and stop the pro-
          gram.


DISCUSSION

     When deciding on the mode to use and designing the  particu-
     lar  function  (except for the flattening option) it is very
     useful to pick a portion of data - a few sample traces - and
     use  specal  to  display  the 1-d amplitude spectra (use log
     scale).  The straight line segments may be chosen  by  using
     the  cursor  on  the  plot  to  pick frequency - weight (db)
     pairs.  In this option the amplitude spectra will be boosted
     by this many db at this frequency (interpolated between con-
     trol points).  This method tends to break down in the  lower
     frequencies, e.g. boosting between 0 - 10 Hz with respective
     db weights 30 - 0.  Chances are the  amplitude  spectrum  is
     highly  nonlinear  in  this region so straight line segments
     can be inadequate.


BUGS

     Beware of applying an overly ambitious boost  function;  the
     result is usually a very noisy output data set.


See Also

     dctvf (standard  agc-pass  band  frequency  equalizer  using
     ormsby  filters).   For  more sophisticated amplitude condi-
     tioning see fxbl, spbl and stel


AUTHORS

     P. R. Gutowski, Amoco Production Research Center, 1992


COPYRIGHT

     copyright 2001, Amoco Production Company
               All Rights Reserved
          an affiliate of BP America Inc.





































Man(1) output converted with man2html