PSN-L Email List Message

Subject: My thoughts on seismic data filtering
From: "rem11560@............
Date: Sat, 28 Aug 2004 19:58:51 GMT

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 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. 

  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.


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)

[ Top ] [ Back ] [ Home Page ]