PSN-L Email List Message
Subject: My thoughts on seismic data filtering
From: "rem11560@............ firstname.lastname@example.org
Date: Sat, 28 Aug 2004 19:58:51 GMT
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
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 Basic
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.
MY THOUGHTS ON SEISMIC DATA FILTERING.
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 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 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 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 have do not 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 changes.
All this said, we amateurs just have to do the best we can with what we have.
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 naive 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 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: (1),
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 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 simple one pole R-C filter run forward and backward to yield the
2-pole zero lag filter. Its response is 6 dB down at the corner frequency, and
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 does
not ring at all.
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 find that
even the 2 pole low-pass option has a sharper cutoff than my 2 pole RC filter.
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 of
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 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 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 16-second
sensor. My horizontal sensors are adjusted to 14 and 8 seconds, respectively,
and I routinely extend their period to 24 seconds. I get heliplots that closely
resemble those displayed at the nearby LDEO Palisades web site, which uses
expensive Guralp force feedback sensors, 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 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 me.
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.
If anyone wants to reply, I beg you not to attach this original to your message.
It is overly long, so replies with the original attached will just fill up mine
and others mailboxes. The original can always be seen in the archives. Thank you.
The best thing to hit the Internet in years - NetZero HiSpeed!
Surf the Web up to FIVE TIMES FASTER!
Only $14.95/ month -visit www.netzero.com to sign up today!
Public Seismic Network Mailing List (PSN-L)
[ Top ]
[ Back ]
[ Home Page ]