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 2fM WR ( f ) 2M 2fM Bartlett t 1 , wR (t ) M 0, t M t M sin 2fM 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 2fM 1 WH ( f ) M 2fM 1 (2fM ) 2 The spectral representations of the boxcar, Bartlett (and Parzen) functions are: sin 2fM W ( f ) 2fM 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