PSN-L Email List Message

Subject: RE: My thoughts on seismic data filtering
From: "Steve Hammond" shammon1@.............
Date: Sat, 28 Aug 2004 13:10:23 -0700

Nice write-up Bob, Thanks-- Steve Hammond

-----Original Message-----
From: psn-l-request@..............
[mailto:psn-l-request@................. Behalf Of rem11560@...........
Sent: Saturday, August 28, 2004 12:59 PM
To: psn-l@..............
Subject: My thoughts on seismic data filtering

Hi all,

  I am a retired defense R&D engineer, with experience in many things, such
as electro-optics, lidar, ring laser rate sensors, inertial navigation,
electronic surveillance, computer programming, and digital data acquisition
and processing.

  I have no professional experience in seismology or seismometry. For the
past three years, I have pursued the hobby of amateur seismography, building
sensors of my own design, and becoming somewhat adept at writing Visual
applications for use in seismometry. I did not even know of the existence
of the Public Seismic Network until John Lahr urged me to participate,
noting that the group was always willing to help new members. I got started
with Dataq A/D's, not even knowing that there were other options, such as
WinSDR and WinQuake to build a system around, so I had to code most of my
logging, data processing, and display software. When I progressed to the
point where I wanted to submit event files to Seismicnet, I had to write my
own application to convert Dataq files, to PSN Type 4 format. So, with the
above background and caveats, I would like to offer the following discourse
on the subject of filtering seismic signals. I hope it stimulates some
discussion. I like to read the letters from the PSN List.

  On most seismic events, it is necessary to filter the raw data in order to
suppress cultural noise and microseisms 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 lagging 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 = 0.5/D. Critical damping occurs when D=1 or Q=0.5. Usual
practice is to adjust damping to a value of about 0.7, just low enough to
sense a little overshoot on the return of a displaced pendulum to
If you use more damping, you have little idea of how much it is, and if you
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
and the phase shift heads toward 180 degrees lagging.

  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
of achieving this goal goes up as the square of the period. Horizontal
cannot distinguish the difference between horizontal ground acceleration and
ground tilt, and the response to tilt goes up as the square of the period.
amateurs have do not site really stable in tilt. The same can be said for
temperature stability. Temperature fluctuations can cause the sensor to
its alignment, producing the same problems as ground tilt changes.

  All this said, we amateurs just have to do the best we can with what we

  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
rate. It is best to sample at a high rate, and then sample average n data
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
being sampled at a rate of 80 samples per second. I usually set my recorded
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
effectively suppresses high frequency noise, and gives me 14 bit resolution
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
However, it offers so many choices on filtering that the naive user has
opportunity to do bad things. I do not believe in ever using more than 4
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
I also do not prefer the Butterworth filter, which is the only IIR choice
offered. I have coded for my own use a selection of low-pass filter types:
2-pole simple poles; (2), 4-pole simple poles; (3), 4-pole Bessel; and (4),
4-pole Butterworth. My filters are not causal (i.e., operating only on
and past data, as analog filters do), but operate on past, present, and
data to yield the present filtered data point. What I do to achieve this is
filter the data series forward in time in the usual manner, and then apply
filter to that result again, but backward in time. This results in output
that is undistorted in time and phase. To use a photographic analogy, it
the noise in a grainy picture by defocusing it rather than smearing it. Most
often, I use a simple one pole R-C filter run forward and backward to yield
2-pole zero lag filter. Its response is 6 dB down at the corner frequency,
falls at the rate of 12 dB per octave for period shorter than the corner, a
fairly soft roll-off compared to the Butterworth in WinQuake. It suppresses
high frequencies, but not so much that you don't know they are there. It
not ring at all.

  WinQuake also features FFT filtering, which is also non-causal and yields
lag and no phase distortion. I have tested its spectral response, and find
even the 2 pole low-pass option has a sharper cutoff than my 2 pole RC
If you use FFT filtering, I recommend no more than 2 to 4 poles.

  I have also developed a special filter for extending the useful bandwidth
an open loop sensor to lower frequencies. It is essentially a mathematically
correct "bass boost" amplifier that compensates for the fall off of response
of the sensor to frequencies below the natural period, and can even correct
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
but that is not so critical. My vertical sensor has a period of 5.0 seconds.
I routinely apply this filter to its data, to emulate the output of a
sensor. My horizontal sensors are adjusted to 14 and 8 seconds,
and I routinely extend their period to 24 seconds. I get heliplots that
resemble those displayed at the nearby LDEO Palisades web site, which uses
expensive Guralp force feedback sensors, but of course I show reduced
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
from that. What is very bad and troublesome at times is that any spurious
in the data show up in the filtered output as large transients, like someone
tapped a long period pendulum.

  As I have mentioned to the list before, I have written a utility program
called WQFilter 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
Since it is very difficult to build open loop vertical sensors having more
a few seconds natural period, my period extending filter is practically a
for amateur vertical sensors. I would encourage amateurs to acquire or build
vertical sensors. They are much better than horizontal sensors for detecting
waves. They do not respond to ground tilt, so their signals are ideal for
period extension filtering.

  If anyone wants to reply, I beg you not to attach this original to your
It is overly long, so replies with the original attached will just fill up
and others mailboxes. The original can always be seen in the archives. Thank


Bob McClure


The best thing to hit the Internet in years - NetZero HiSpeed!
Surf the Web up to FIVE TIMES FASTER!
Only $14.95/ month -visit to sign up today!

Public Seismic Network Mailing List (PSN-L)


Public Seismic Network Mailing List (PSN-L)

[ Top ] [ Back ] [ Home Page ]