[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