Filtering Geophysical Data: Be careful!

advertisement
Filtering Geophysical Data: Be careful!




Filtering: basic concepts
Seismogram examples, high-low-bandpass filters
The crux with causality
Windowing seismic signals
 Various window functions
 Multitaper approach
 Wavelets (principle)
Scope: Understand the effects of filtering on time series
(seismograms). Get to know frequently used windowing
functions.
1
Filtering
Computational Geophysics and Data Analysis
Why filtering
1.
2.
3.
4.
Get rid of unwanted frequencies
Highlight signals of certain frequencies
Identify harmonic signals in the data
Correcting for phase or amplitude
characteristics of instruments
5. Prepare for down-sampling
6. Avoid aliasing effects
2
Filtering
Computational Geophysics and Data Analysis
Amplitude
A seismogram
Time (s)
Frequency (Hz)
3
Filtering
Computational Geophysics and Data Analysis
Digital Filtering
Often a recorded signal contains a lot of information that we
are not interested in (noise). To get rid of this noise we
can apply a filter in the frequency domain.
The most important filters are:
•
High pass: cuts out low frequencies
•
Low pass: cuts out high frequencies
•
Band pass: cuts out both high and low frequencies and
leaves a band of frequencies
•
Band reject: cuts out certain frequency band and leaves
all other frequencies
4
Filtering
Computational Geophysics and Data Analysis
Cutoff frequency
5
Filtering
Computational Geophysics and Data Analysis
Cut-off and slopes in spectra
6
Filtering
Computational Geophysics and Data Analysis
Digital Filtering
7
Filtering
Computational Geophysics and Data Analysis
Low-pass filtering
8
Filtering
Computational Geophysics and Data Analysis
Lowpass filtering
9
Filtering
Computational Geophysics and Data Analysis
High-pass filter
10
Filtering
Computational Geophysics and Data Analysis
Band-pass filter
11
Filtering
Computational Geophysics and Data Analysis
The simplemost filter
1
Filter Amplitude
The simplemost
filter gets rid of
all frequencies
above a certain
cut-off frequency
(low-pass), „boxcar“
0.8
0.6
0.4
0.2
0
-100
 1 if
H L ( )  
0 if
-50
0
Frequency (Hz)
50
100
  

  0 
12
Filtering
Computational Geophysics and Data Analysis
The simplemost filter
… and its brother
… (high-pass)
Filter Amplitude
1
0.8
0.6
0.4
0.2
0
-100
 1 if
H H ( )  1  H L ( )  
0 if
-50
0
Frequency (Hz)
50
100
  

  0 
13
Filtering
Computational Geophysics and Data Analysis
… let‘s look at the consequencse
1
f (t ) 
2

 F ( k )e

ik
dt
Filter Amplitude
1
0.8
0.6
0.4
0.2
0
-100
f
filt
1
(t ) 
2
H ( )
-50
0
Frequency (Hz)
50
100

ik
H
(

)
F
(

)
e
dt


… but what does H() look like in the
time domain … remember the
convolution theorem?
14
Filtering
Computational Geophysics and Data Analysis
… surprise …
h(t ) 
1
2

 H ( )e
 ik
dt
Filter Amplitude
1

0.8
0.6
H ( )
0.4
0.2
0
-100
-50
0
Frequency (Hz)
50
100
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-40
-30
-20
-10
0
10
20
30
40
15
Filtering
Computational Geophysics and Data Analysis
Zero phase and causal filters
Zero phase filters can be realised by
 Convolve first with a chosen filter
 Time reverse the original filter and convolve
again
 First operation multiplies by F(), the 2nd
operation is a multiplication by F*()
 The net multiplication is thus | F(w)|2
 These are also called two-pass filters
16
Filtering
Computational Geophysics and Data Analysis
The Butterworth Filter (Low-pass, 0-phase)
1
FL ( ) 
2n
1  ( / c )
Butterworth n=4, f0=20 Hz
1
0.8
0.8
Filter amplitude
Filter amplitude
Butterworth n=1, f0=20 Hz
1
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
80
0.6
0.4
0.2
0
0
100
20
1
0.8
0.8
0.6
0.4
0.2
0
0
Filtering
20
40
60
Frequency (Hz)
80
100
80
100
Butterworth n=16, f0=20 Hz
1
Filter amplitude
Filter amplitude
Butterworth n=9, f0=20 Hz
40
60
Frequency (Hz)
80
100
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
Computational Geophysics and Data Analysis
17
… effect on a spike …
Original function
Filtered with n=1, f0=20 Hz
1
0.2
Amplitude
Amplitude
0.8
0.6
0.4
0.1
0.05
0.2
0
0
0.15
1
2
3
4
5
0
0.2
0.4
0.6
Time (s)
Time (s)
0.2
0.15
0.15
0.1
0.05
0.8
1
0.1
0.05
0
0
0
1
Filtered with n=9, f0=20 Hz
0.2
Amplitude
Amplitude
Filtered with n=4, f0=20 Hz
0.8
0.2
0.4
0.6
Time (s)
0.8
1
0
0.2
0.4
0.6
Time (s)
18
Filtering
Computational Geophysics and Data Analysis
… on a seismogram …
… varying the order …
Original function
-6
x 10
1
Amplitude
Amplitude
5
0
40
45
50
55
Time (s)
60
65
40
Filtered with n=9, f0=1 Hz
-6
x 10
45
50
55
Time (s)
60
65
60
65
Filtered with n=16, f0=1 Hz
-6
x 10
2
1
Amplitude
Amplitude
0
-1
-5
2
Filtered with n=4, f0=1 Hz
-6
x 10
0
1
0
-1
-1
-2
40
-2
40
45
50
55
Time (s)
60
65
45
50
55
Time (s)
19
Filtering
Computational Geophysics and Data Analysis
… on a seismogram …
… varying the cut-off frequency…
Original function
-6
x 10
1
Amplitude
Amplitude
5
0
0
-1
-5
40
45
-6
x 10
50
55
Time (s)
60
65
40
Filtered with n=4, f0=0.666667 Hz
50
55
Time (s)
60
65
60
65
Filtered with n=4, f0=0.5 Hz
-6
1
Amplitude
0.5
0
-0.5
-1
40
45
x 10
1
Amplitude
Filtered with n=4, f0=1 Hz
-6
x 10
0.5
0
-0.5
-1
45
50
55
Time (s)
60
65
40
45
50
55
Time (s)
20
Filtering
Computational Geophysics and Data Analysis
The Butterworth Filter (High-Pass)
1
FH ( )  1 
1  ( / c ) 2 n
Butterworth n=4, f0=20 Hz
1
0.8
0.8
Filter amplitude
Filter amplitude
Butterworth n=1, f0=20 Hz
1
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
80
0.6
0.4
0.2
0
0
100
20
1
0.8
0.8
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
80
100
80
100
Butterworth n=16, f0=20 Hz
1
Filter amplitude
Filter amplitude
Butterworth n=9, f0=20 Hz
40
60
Frequency (Hz)
80
100
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
21
Filtering
Computational Geophysics and Data Analysis
… effect on a spike …
Original function
Filtered with n=1, f0=20 Hz
1
0.6
Amplitude
Amplitude
0.8
0.6
0.4
0.2
0
0
1
2
Time (s)
3
4
5
0
0.4
0.6
Time (s)
Filtered with n=4, f0=20 Hz
Filtered with n=9, f0=20 Hz
0.2
0.8
1
0.8
1
0.6
Amplitude
Amplitude
0.2
0
0.6
0.4
0.2
0
0
0.4
0.4
0.2
0
0.2
0.4
0.6
Time (s)
0.8
1
0
0.2
0.4
0.6
Time (s)
22
Filtering
Computational Geophysics and Data Analysis
… on a seismogram …
… varying the order …
Original function
-6
x 10
5
Amplitude
Amplitude
5
0
0
-5
-5
40
45
50
55
Time (s)
60
65
40
Filtered with n=9, f0=1 Hz
-6
x 10
50
55
Time (s)
60
65
60
65
Filtered with n=16, f0=1 Hz
-6
5
Amplitude
0
-5
40
45
x 10
5
Amplitude
Filtered with n=4, f0=1 Hz
-6
x 10
0
-5
45
50
55
Time (s)
60
65
40
45
50
55
Time (s)
23
Filtering
Computational Geophysics and Data Analysis
… on a seismogram …
… varying the cut-off frequency…
Original function
-6
x 10
4
Amplitude
Amplitude
5
0
-5
50
52
54
56
Time (s)
58
2
0
-2
-4
50
60
Filtered with n=4, f0=1.5 Hz
-6
x 10
4
4
2
2
0
-2
-4
50
52
54
56
Time (s)
58
60
58
60
Filtered with n=4, f0=2 Hz
-6
Amplitude
Amplitude
Filtered with n=4, f0=1 Hz
-6
x 10
x 10
0
-2
52
54
56
Time (s)
58
60
-4
50
52
54
56
Time (s)
24
Filtering
Computational Geophysics and Data Analysis
The Butterworth Filter (Band-Pass)
FBP ( )  1 
1
1  (  b ) /  
2n
Butterworth n=4, f0=20 Hz
1
0.8
0.8
Filter amplitude
Filter amplitude
Butterworth n=2, f0=20 Hz
1
  5Hz
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
80
0.6
0.4
0.2
0
0
100
20
1
0.8
0.8
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
80
100
80
100
Butterworth n=8, f0=20 Hz
1
Filter amplitude
Filter amplitude
Butterworth n=6, f0=20 Hz
40
60
Frequency (Hz)
80
100
0.6
0.4
0.2
0
0
20
40
60
Frequency (Hz)
25
Filtering
Computational Geophysics and Data Analysis
… effect on a spike …
Original function
Filtered with n=1, f0=20 Hz
1
0.1
Amplitude
Amplitude
0.8
0.6
0.4
0.2
0
0
0.05
0
-0.05
1
2
3
4
5
0
0.2
Time (s)
0.1
0.05
0.05
0
1
0.8
1
0
-0.05
-0.05
0
0.8
Filtered with n=9, f0=20 Hz
0.1
Amplitude
Amplitude
Filtered with n=4, f0=20 Hz
0.4
0.6
Time (s)
0.2
0.4
0.6
Time (s)
0.8
1
0
0.2
0.4
0.6
Time (s)
26
Filtering
Computational Geophysics and Data Analysis
… on a seismogram …
… varying the order …
Original function
-6
x 10
2
Amplitude
Amplitude
5
0
-5
1
0
-1
-2
40
45
50
55
Time (s)
60
65
40
Filtered with n=3, f0=1 Hz
-6
x 10
50
55
Time (s)
60
65
60
65
Filtered with n=4, f0=1 Hz
-6
2
Amplitude
1
0
-1
0
-2
-2
40
45
x 10
2
Amplitude
Filtered with n=2, f0=1 Hz
-6
x 10
45
50
55
Time (s)
60
65
40
45
50
55
Time (s)
27
Filtering
Computational Geophysics and Data Analysis
… on a seismogram …
… varying the cut-off frequency…
Original function
-6
x 10
Filtered with n=4, f0=2 Hz
-7
x 10
5
Amplitude
Amplitude
5
0
0
-5
-5
50
52
54
56
Time (s)
58
60
50
Filtered with n=4, f0=3 Hz
-7
x 10
58
60
58
60
5
Amplitude
Amplitude
54
56
Time (s)
Filtered with n=4, f0=4 Hz
-7
x 10
5
0
0
-5
-5
50
52
52
54
56
Time (s)
58
60
50
52
54
56
Time (s)
28
Filtering
Computational Geophysics and Data Analysis
Zero phase and causal filters
Original function
Filtered with n=1, f0=20 Hz
1
0.2
Amplitude
Amplitude
0.8
0.6
0.4
0.1
0.05
0.2
0
0
0.15
1
2
3
4
5
0
0.2
Time (s)
0.2
0.15
0.15
0.1
0.05
1
0.8
1
0.1
0.05
0
0
0
0.8
Filtered with n=9, f0=20 Hz
0.2
Amplitude
Amplitude
Filtered with n=4, f0=20 Hz
0.4
0.6
Time (s)
0.2
0.4
0.6
Time (s)
0.8
1
0
0.2
0.4
0.6
Time (s)
When the phase of a filter is set to zero (and simply the amplitude spectrum is
inverted) we obtain a zero-phase filter. It means a peak will not be shifted.
Such a filter is acausal. Why?
29
Filtering
Computational Geophysics and Data Analysis
0.5
0
0
Filter amplitude
Butterworth n=1, f0=20 Hz Butterworth n=4, f0=20 Hz
1
1
0.5
Filter amplitude
Filter amplitude
Filter amplitude
Butterworth Low-pass (20 Hz) on spike
0.5
0
50
100
0
50
100
Frequency (Hz)
Frequency (Hz)
Butterworth n=9, f0=20 Hz Butterworth n=16, f0=20 Hz
1
1
0.5
0
0
50
100
Frequency (Hz)
0
0
50
100
Frequency (Hz)
30
Filtering
Computational Geophysics and Data Analysis
(causal) Butterworth Low-pass (20 Hz) on spike
Original function
Filtered with n=1, f0=20 Hz
Amplitude
Amplitude
1
0.5
0
0
5
0.5
1
Time (s)
Time (s)
Filtered with n=4, f0=20 Hz Filtered with n=9, f0=20 Hz
0.2
0.2
0.1
0.1
0
0
Amplitude
Amplitude
0
0
0.2
0
0.5
Time (s)
1
0
0.5
Time (s)
1
31
Filtering
Computational Geophysics and Data Analysis
Butterworth Low-pass (20 Hz) on data
Original function
-6
x 10
1
Amplitude
5
Amplitude
Filtered with n=2, f0=0.5 Hz
-6
x 10
0
0.5
0
-0.5
-5
40
45
50
55
Time (s)
60
-1
40
65
Filtered with n=2, f0=2.5 Hz
-6
x 10
45
50
55
Time (s)
60
65
60
65
Filtered with n=2, f0=4.5 Hz
-6
x 10
2
Amplitude
Amplitude
2
1
0
-1
0
-2
-2
40
45
50
55
Time (s)
60
65
40
45
50
55
Time (s)
32
Filtering
Computational Geophysics and Data Analysis
Other windowing functions
 So far we only used the Butterworth filtering
window
 In general if we want to extract time windows
from (permanent) recordings we have other
options in the time domain.
 The key issues are
 Do you want to preserve the main maxima at the
expense of side maxima?
 Do you want to have as little side lobes as posible?
33
Filtering
Computational Geophysics and Data Analysis
Example
34
Filtering
Computational Geophysics and Data Analysis
Possible windows
Plain box car (arrow stands for Fourier transform):
1,
wR (t )  
0,
t  M

t  M
sin 2fM
WR ( f )  2M
2fM
Bartlett

t
1  ,
wR (t )   M
 0,

t  M

t  M 
 sin 2fM 

WB ( f )  M 
 fM 
2
35
Filtering
Computational Geophysics and Data Analysis
Possible windows
Hanning
t
1
(
1

cos
),

wH (t )   2
M

0,


t  M

t  M

sin 2fM
1
WH ( f )  M
2fM 1  (2fM ) 2
The spectral representations of the boxcar,
Bartlett (and Parzen) functions are:
 sin 2fM 

W ( f )  
 2fM 
n
n  1,2,4;
M T /2
36
Filtering
Computational Geophysics and Data Analysis
Examples
37
Filtering
Computational Geophysics and Data Analysis
Examples
38
Filtering
Computational Geophysics and Data Analysis
The Gabor transform: t-f misfits
phase information:
amplitude information:
• can be measured reliably
• ± linearly related to Earth structure
• physically interpretable
• hard to measure (earthquake
magnitude often unknown)
• non-linearly related to structure
û( , t) : G(u) 
1
2π



u( ) g(τ  t) e i dτ
[ t- representation of synthetics, u(t) ]
û 0 ( , t) : G(u 0 ) 
1
2π



u 0 ( ) g(τ  t) e i dτ
[ t- representation of data, u0(t) ]
39
Filtering
Computational Geophysics and Data Analysis
The Gabor time window
The Gaussian time windows is given by
40
Filtering
Computational Geophysics and Data Analysis
Example
41
Filtering
Computational Geophysics and Data Analysis
Multitaper
Goal: „obtaining a spectrum with little or no bias and small uncertainties“.
problem comes down to finding the right tapering to reduce the bias (i.e,
spectral leakage).
In principle we seek:
This section follows Prieto eet al., GJI, 2007. Ideas go back to a paper
by Thomson (1982).
42
Filtering
Computational Geophysics and Data Analysis
Multi-taper Principle
• Data sequence x is multiplied by a set of orthgonal
sequences (tapers)
• We get several single periodograms (spectra) that are
then averaged
• The averaging is not even, various weights apply
• Tapers are constructed to optimize resistance to spectral
leakage
• Weighting designed to generate smooth estimate with
less variance than with single tapers
43
Filtering
Computational Geophysics and Data Analysis
Spectrum estimates
We start with
with
To maintain total power.
44
Filtering
Computational Geophysics and Data Analysis
Condition for optimal tapers
N is the number of points, W is the resolution bandwith (frequency increment)
One seeks to maximize l the fraction of energy in the interval (–W,W). From
this equation one finds a‘s by an eigenvalue problem -> Slepian function
45
Filtering
Computational Geophysics and Data Analysis
Slepian functions
The tapers (Slepian
functions) in time and
frequency domains
46
Filtering
Computational Geophysics and Data Analysis
Final assembly
Slepian sequences (tapers)
Final averaging of spectra
47
Filtering
Computational Geophysics and Data Analysis
Example
Signal Corrupted with Zero-Mean Random Noise
8
6
4
2
0
-2
-4
-6
0
5
10
15
20
25
30
time (milliseconds)
35
40
45
50
48
Filtering
Computational Geophysics and Data Analysis
Classical Periodogram
Single-Sided Amplitude Spectrum of y(t)
1.4
1.2
1
|Y(f)|
0.8
0.6
0.4
0.2
0
0
50
100
150
200
250
300
Frequency (Hz)
350
400
450
500
49
Filtering
Computational Geophysics and Data Analysis
… and its power …
Single-Sided Power Spectrum of y(t)
1
10
0
10
-1
10
-2
|Y(f)|
10
-3
10
-4
10
-5
10
-6
10
0
50
100
150
200
250
300
Frequency (Hz)
350
400
450
500
50
Filtering
Computational Geophysics and Data Analysis
… multitaper spectrum …
Power Spectral Density
0
-20
Power/frequency (dB/Hz)
-40
-60
-80
-100
-120
-140
-160
0
50
100
150
200
250
300
Frequency (Hz)
350
400
450
500
51
Filtering
Computational Geophysics and Data Analysis
Wavelets – the principle
Motivation:
Time-frequency analysis
Multi-scale approach
„when do we hear what frequency?“
52
Filtering
Computational Geophysics and Data Analysis
Continuous vs. local basis functions
53
Filtering
Computational Geophysics and Data Analysis
54
Filtering
Computational Geophysics and Data Analysis
Some maths
A wavelet can be defined as
 (t )  a
a ,b
1 / 2
t b


 a 
With the transform pair:
1
W ( f )( a, b) 
a
f (t )  C 






 x b 
 f (t ) a dt
f ,  a,b  a,b (t )a 2 dadb
55
Filtering
Computational Geophysics and Data Analysis
56
Filtering
Computational Geophysics and Data Analysis
Resulting wavelet representation
57
Filtering
Computational Geophysics and Data Analysis
Shifting and scaling
58
Filtering
Computational Geophysics and Data Analysis
59
Filtering
Computational Geophysics and Data Analysis
Application to seismograms
http://users.math.uni-potsdam.de/~hols/DFG1114/projectseis.html
60
Filtering
Computational Geophysics and Data Analysis
Graphical comparison
61
Filtering
Computational Geophysics and Data Analysis
Summary
 Filtering is not necessarily straight forward, even the
fundamental operations (LP, HP, BP, etc) require some thinking
before application to data.
 The form of the filter decides upon the changes to the
waveforms of the time series you are filtering
 For seismological applications filtering might drastically
influence observables such as travel times or amplitudes
 „Windowing“ the signals in the right way is fundamental to
obtain the desired filtered sequence
62
Filtering
Computational Geophysics and Data Analysis
63
Filtering
Computational Geophysics and Data Analysis
Download