[SAC-HELP] Polezero rewrite

George Helffrich george at gly.bris.ac.uk
Mon Apr 27 05:30:51 PDT 2009


Dear All -

	Here's my rewrite of the polezero response removal text to clarify 
some of the issues raised in the version proposed earlier.  For sanity, 
use a fixed-pitch font to view the text.

------

  POLEZERO OPTION:
        One of the instrument types is called POLEZERO.  This type lets 
you
  describe a general instrument response by specifying a file which 
contains
  its poles and zeros.  The options in the file are keyword driven and 
the
  numbers are in free format.  You may specify a multiplicative scaling
  constant A0 by putting a line in the file containing the keyword 
"CONSTANT"
  followed by a floating point number.  The default for this constant is 
1.0 if
  you omit this line.  You specify the number of poles by putting a line 
in the
  file with the keyword "POLES" following by an integer number.  The 
next lines
  in the file until another keyword is read become the poles for this
  instrument.  Each such line contains two floating point numbers 
specifying
  the real and imaginary parts of each of the poles.  If you have fewer 
lines
  specifying poles than you stated on the "POLES" line, the remaining 
poles are
  assumed to be numerically zero.  You specify the zeros in the same way 
with
  a "ZEROS" keyword line following by lines specifying the non-zero 
zeros.  You
  may specify up to 15 poles and 15 zeros.  For example, the following 
is the
  specification for the SRO broadband seismometer:

        ZEROS 4

        -0.125  0.0

        -50.0  0.0

        POLES 4

        -0.13 0.0

        -6.02 0.0

        -8.66 0.0

        -35.2 0.0

        CONSTANT -394.0

  Notice that since two of the zeros are at the origin, they don't have 
to be
  specified in the file.  Also notice that the options may appear in any 
order
  in the file.  If there are any nonzero imaginary parts to a pole or 
zero, they
  must appear as conjugate pairs to make the response purely real.
        SAC uses the omega convention for the pole-zero response:  the 
frequency
  w = 2*pi*i*f, where f is frequency in Hz and i is the imaginary unit
  (sqrt(-1)).  Thus, if an instrument manufacturer specifies that a pole 
is at 1
  Hz on the real axis, the SAC pole's real and imaginary parts would be
  (6.28, 0).  The response H(w) is the ratio of the product of the 
difference
  between w and each of the np poles and nz zeros:

               (w-z )*(w-z )*...*(w-z  )
                   1      2          nz
        H(w) = -------------------------
               (w-p )*(w-p )*...*(w-p  )
                   1      2          np

        For conversion of a seismometer's analog output to a physical 
unit
  (m, m/sec, m/sec**2), there are two specific frequencies that are 
important:
  the normalization frequency wn, and the sensitivity frequency, ws.  The
  normalization frequency is the frequency at which the product A0*H(wn) 
= 1.0
  A0 is the CONSTANT value specified in the response.  The sensitivity S 
of the
  instrument is the value by which A0*H(w) should be multiplied to get 
the
  appropriate physical unit.  To avoid unnecessary complications in 
applying
  instrument corrections, wn and ws should be equal.  If they are, then 
by
  multiplying the signal by S before applying the transfer function, the 
correct
  physical units are produced.  If not, you must multiply by 
S*H(ws)/H(wn).  If
  convenient, you can combine S and A0 and set CONSTANT to be their 
product S*A0.
        SAC assumes that when you apply your pole-zero instrument 
correction,
  it will yield displacement.  If this is not the physical unit yielded 
in your
  instrument response, dividing or multiplying by w will respectively 
integrate
  or differentiate the response.  Thus if your instrument response is 
velocity
  (m/sec), then adding an extra zero with value zero will yield 
displacement.
  Conversely, if your instrument response is displacement and you want 
velocity
  as your physical unit, add an extra pole with value zero (but this is 
not
  what SAC would expect of the response).
        To use this option you specify the type to be POLEZERO and the 
subtype
  to be the name of the file.  This may be a file in the current 
directory or in
  some other directory if you specify the absolute or relative pathname. 
  It may
  also the the name of a global file contained in the "polezero" 
subdirectory
  of the "sacaux" directory.  By putting a file in this global 
directory, anyone
  on your system can easily use it.

  REFERENCES:
     Hutt, C. R., "Specifying and using channel response information", 
Appendix
     C, SEED Reference Manual, version 2.4, 2006; available online from
     <http://www.iris.edu/software/downloads/seed_tools/>.
     Nakanishi, K., "Computer code for the transfer function of seismic
     systems", Lawrence Livermore National Lab., UCID-18071, 1979.

  EXAMPLE:  suppose the file was named sro.pz and you want to remove the
  instrument response from station ABC.Z.

        u:  READ ABC.Z

        u:  TRANSFER FROM POLEZERO SUBTYPE SRO.PZ TO NONE

------

                                     George Helffrich
                                     george at geology.bristol.ac.uk




More information about the sac-help mailing list