PSN-L Email List Message

Subject: Seismic data filtering
From: Robert McClure bobmcclure90@.........
Date: Sun, 14 Jun 2009 21:31:56 -0400

Hi all,

  I am kind of a nut about preparing professional-looking event files,
and proper filtering is very important to me. I have given most of the
following discourse before, but I want to say it again.


  On most seismic events, it is necessary to filter the raw data in
order to suppress cultural noise  to get a better view of the ground
motions of the event. First off, the sensor itself filters the data,
and the amplifier filters the sensor output. The digitization process
can also filter (and distort) the data. We can never truly sense
ground motion, but we can hope to reproduce accurately enough the data
of interest.

  Sensors of the force-feedback type are best for high fidelity
detection of ground motion. Most amateurs are limited to the use of
open loop pendulum types, such as the horizontal Lehman sensor and
vertical sensors of the spring supported pendulum type. Open loop
sensors can only accurately reproduce signals appreciably higher than
the natural resonant frequency of the pendulum. A signal at the
resonant frequency of the pendulum is shifted 90 degrees leading in
phase, and its amplitude is proportional to the Q of the system. Q is
inversely proportional to the damping factor, D. The relationship is Q
=3D 0.5/D. Critical damping occurs when D=3D1 or Q=3D0.5. Usual practice is
to adjust damping to a value of about 0.6, just low enough to sense a
little overshoot on the return of a displaced pendulum to equilibrium.
If you use more damping, you have little idea of how much it is, and
if you use less damping, you may get ringing on seismic signals. At
frequencies below resonance, the response falls off rapidly at a rate
of 12 decibels per octave, and the phase shift heads toward 180
degrees leading.

  One can infer from the above that one should strive for a pendulum
period longer than the longest period one wishes to reproduce.
However, the difficulty of achieving this goal goes up as the square
of the period. Horizontal sensors cannot distinguish the difference
between horizontal ground acceleration and ground tilt, and the
response to tilt goes up as the square of the period. Most amateurs do
not have a site really stable in tilt. The same can be said for
temperature stability. Temperature fluctuations can cause the sensor
to change its alignment, producing the same problems as ground tilt

  All this said, we amateurs just have to do the best we can with what
we have, but my signal processing utilities can make a lot of
improvement in the recorded data.

  After the sensor comes the amplifier, which must also attenuate high
frequency signal components to avoid aliasing at the subsequent
sampling and digitization steps. Less low pass filtering is needed the
higher the sampling rate. It is best to sample at a high rate, and
then sample average n data points taken at the high rate to get a
final sample rate 1/n times the input sample rate. My Dataq
acquisition system does that automatically for me. Its A/D samples at
240 samples per second overall. If I record three channels, each is
being sampled at a rate of 80 samples per second. I usually set my
recorded rate at 5 samples per second per channel, so the Dataq
recorder averages 16 data samples for each data point recorded. This
process largely avoids any aliasing, effectively suppresses high
frequency noise, and gives me 14 bit resolution out my 12-bit A/D.

  Once we have logged data, we still must usually digitally filter it
to suppress unwanted frequency components, both low frequencies and
high frequencies. However, filtering done inappropriately can really
mess up the waveform of the signal we want to preserve. WinQuake is a
marvelous program, grateful thanks to Larry Cochrane, and we would be
in the Dark Ages without it. However, it offers so many choices on
filtering that the na=EFve user has ample opportunity to do bad things.
I do not believe in ever using more than 4 poles in the filters, for
example. The more poles you use, the sharper the cutoff, the more the
signal is time delayed and distorted, and more ringing may occur. I
also prefer not to use WinQuake's causal Butterworth filter, which is
the only IIR choice offered. I prefer to use only the filters
implemented in my "WQFilter.exe" application. My filters are not
causal (i.e., operating only on present and past data, as analog
filters do), but operate on past, present, and future data to yield
the present filtered data point. What I do to achieve this is to
filter the data series forward in time in the usual manner, and then
apply the filter to that result again, but backward in time. This
results in output data that is undistorted in time and phase. To use a
photographic analogy, it softens the noise in a grainy picture by
defocusing it rather than smearing it. Most often, I use a 2nd order
Butterworth run forward and backward through the recorded time series
to yield a 4-pole zero lag filter. Its response is 6 dB down at the
corner frequency, and falls at the rate of 24 dB per octave for
frequencies outside the passband. It suppresses unwanted frequencies,
without much ringing.

  WinQuake also features FFT filtering, which is also non-causal and
yields zero lag and no phase distortion. I have tested its spectral
response, and it matches the classical Butterworth response. If you
use FFT filtering, I recommend no more than 2 or 4 poles.

  I have also developed a special digital filter for extending the
useful bandwidth of an open loop sensor to lower frequencies. It is
essentially a mathematically correct "bass boost" amplifier that
corrects for the fall off of response of the sensor to frequencies
below the natural period, and can even correct for the gain error
caused by damping. To get the correct output, the sensor's natural
period must be accurately known. The damping factor must also be
known, but it is not so critical. My vertical sensor has a period of
4.4 seconds. I routinely apply this filter to its data, to emulate the
output of a 32-second sensor. My horizontal sensors are adjusted to 8
and 13 seconds, respectively, and I routinely extend their period to
32 seconds. I get heliplots that closely resemble those displayed at
the nearby LDEO Palisades web site, which uses the expensive STS-2
force feedback sensor, but of course I show reduced amplitude on very
long period waves, and a lot more cultural noise. I use DC-coupled
amplifiers in order not to attenuate further the low amplitude low
frequency signal components. Along with the longer period performance
comes greater sensitivity to tilt from moving around my site and from
wind. I can't get away from that. What is very bad and troublesome at
times is that any spurious spikes in the data show up in the filtered
output as large transients, like someone tapped a long period

  I have developed a utility program called "WQFilter.exe" which can
be used to apply all my filters to WinQuake event files. Should you
want to experiment, you can get the latest version from page "WinQuake
and SAC Utility Programs". You should use the "LONG PERIOD Plus HPF"
option. It applies the period extending filter, followed by a backward
Butterworth high pass filter set to the same period as the period
extending filter. This results in better rejection of low frequency
noise, and very importantly, it eliminates all phase and time
distortion from the filtered record. To preserve time and phase on the
high frequency end of the spectrum, the low-pass filter should filter
in both time directions.

  Since it is very difficult to build open loop vertical sensors
having more than a few seconds natural period, my period extending
filter is practically a must for amateur vertical sensors. I would
encourage amateurs to acquire or build vertical sensors. They are much
better than horizontal sensors for detecting P waves. They do not
respond to ground tilt, so their signals are ideal for digital period
extension filtering.

Bob McClure
Original July 2004
Revised August 2008, and June 2009

Public Seismic Network Mailing List (PSN-L)

[ Top ] [ Back ] [ Home Page ]