
GEPH316 Seismic Data Processing
Field Data Workshop 2000 
14 FK Filtering 
Velocity selection
 Filtering can be used to separate out a particular seismic event, which is shown on the seismic section, using apparent velocity as the selection criterion.
 Each straightline event, like a direct wave, refracted wave or surface wave, has a particular apparent velocity.
 The gradient V_{app} = dx/dt of the arrivals on the seismic section gives the apparent velocity.
 The filtering can be applied to the FK spectrum to separate out a particular seismic event, which is shown as a sloping linear trend of peaks on the FK spectrum, as V_{app} = df/dk.
 However, a reflection event shows as a curved hyperbola on the original section.
 The instantaneous gradient of the arrivals gives the apparent arrival velocity at the surface, so the reflection event has a range of apparent velocities from infinity, at x=0 for vertical arrivals with horizontal wavefronts, down to the limiting stacking velocity, where the arrivals run parallel to a direct or refracted event.
 In the case of the first reflection, they will become asymptotic to the direct wave with an apparent velocity of V_{1}.
 The apparent velocity, as the waves arrive at a group of geophones, is also related to the dip moveout of the event. Hence a velocity filter, as applied to the FK spectrum, is also known as
 apparent velocity filter
 fan filter
 dip filter
 slope filter
 fk filter
 PieSlice filter
 This type of velocity selection filter really relates only to straight line seismic events and is different from the discrimination based on the NMO stacking velocity, which is applied in commonmidpoint stacking.
Dip/slope filtering
 The seismic unix package supplies the sudipfilt dip/slope filter which uses the FK spectrum to separate out events with different apparent velocities.
 Investigate the parameters of sudipfilt using:
sudipfilt
 The fundamental parameter is the slope of the velocity which is desired to be removed or kept. The slope is given by slope=dt/dx=1/V_{app} in seconds per metre.
 This means that a typical velocity of V=1000 m s^{1} will be given as a parameter value of 1/1000, so slope=0.001 s m^{1}.
 The filter usually behaves rather like a bandpass frequency filter, but needs an array of the slope values rather than frequency limits.
 Typically, the slopes are given for 4 points to define the velocity passband.
 It uses a matching array of amplitude values to define the style of the filter:
 velocity bandpass
 velocity bandstop
 low velocity pass
 high velocity pass
 Linear interpolation and constant extrapolation are used to
determine amplitudes for slopes between and beyond those specified. Therefore, there are flat sections and straight line ramps, rather than the bellshaped tapers of good quality frequency filters.
Removing low velocity surface waves
 Use the following sequence to produce a clean copy of the S05 shot to work with.
 Use lowpass antialias filtering at 150Hz, resampling at 400Hz/0.0025ms and tapering the 10% end of the time series.
This is necessary to give the correct wavenumber scale on the FK spectrum. Plot the shot and the FK spectrum.
suwind <line >s05 key=sx min=05 max=05
sufilter < s05 f=120,140,160,180 amps=1.,1.,0.,0.  suresamp dt=0.0025 nt=100  suramp tmax=0.225 > s05.filter
suxwigb <s05.filter title='Cleaned shot at 05m' windowtitle='Cleaned shot at 05m' label1='Time (ms)' label2='Trace number' &
suspecfk < s05.clean > s05.fk
suxwigb < s05.fk title="S05 FK spectrum" windowtitle='S05 FK spectrum' label1="Frequency Hz" label2="Wavenumber cycles/m" &
 The major problem with shallow seismic surveys is the surface waves. These have a low velocity and in this case they appear to travel at around V_{s} = 240 m s^{1}, as determined in the previous FK spectrum section.
 The surface wave velocity V_{s} = 240 m s^{1} is equivalent to a slope = 1/V_{s} = 1/ 240 m s^{1} = 0.0042 s m^{1}.
 There should be no other events travelling with such low velocities or any lower apparent velocities down to zero, so it is safe to remove the surface waves using FK filtering.
 The next velocity of interest above this is the refracted wave velocity V_{1} = 2000 m s^{1}, slope = 0.0005 s m^{1}. This velocity is derived from the plusminus refraction spreadsheet, included in the handout.
 Therefore, the high velocity passband must start with infinitely high velocities with a slope = 0.000 s m^{1} and include the slope of about 0.0036 s m^{1}. The low velocity stopband can have the lower limit of 0.004 s m^{1}, it must include a slope of 0.0042 s m^{1} and then continue to even lower velocities.
 This can be performed using the slope sequence slopes=0.000, 0.0036, 0.004, 0.005 with the matching amplitude sequence amps=1.0, 1.0, 0.0, 0.0 applied to the dip filter, where the cutoff comes at slope=0.0038 s m^{1} which is a velocity=263 m s^{1}, in between the direct waves and surface waves.
 Try the following dip filter command sequence to see if it correctly removes most of the surface waves.
sudipfilt < s05.filter > s05.dip slopes=0.003,0.0036,0.004,0.005 amps=1.,1.,0.,0.
suxwigb < s05.dip title='Velocity filtered cutoff below v=263m/s' windowtitle='Velocity filtered cutoff below v=263m/s' label1='Time (ms)' label2='Trace numbers' &
 Describe the quality of the removal of the surface waves.
 Has the filter removed all of the surface waves?
 Has the filter left the direct waves?
 Has the filter left the refracted waves?
 Can you see any reflected waves?
 You can print a copy of the dipfiltered data for your report using the following command.
supswigp < s05.dip title='Velocity filtered cutoff at v=263m/s' label1='Time (ms)' label2='Trace numbers'  lp d mono
Wavenumber aliasing problems
 During the previous work on the FK spectrum of the shot S05 we noticed that there appeared to be a ridge alignment of spectral peaks starting from about F=20 and K=0, near the central origin, running off the right hand side of the FK spectrum and then continuing again on the left hand side with the same alignment, trend and slope.
 This reappearance of the event on the opposite side of the spectrum corresponds to spatial aliasing and can be just as much a problem as frequency aliasing.
 The FK filtering only removes a radial fan of velocities on the FK spectrum from the origin to the side of the spectrum. The spatial aliasing causes problems by completely failing to remove the second aliased part of the velocity event, which does not fall into the radial fan.
 This is one reason why the removal of surface waves was not perfect.
Bias to avoid wavenumber aliasing
 The seismic unix sudipfilt command employs a very clever trick to deal with this problem.
 The program synthetically 'rotates' the complete seismic section, according to a specified bias slope velocity, so that events with that velocity would lie horizontal. This is done by shifting each trace with a 'static' time correction of t=x/v, where v is the slope velocity. Events which used to have this velocity will now be horizontal, with an infinite apparent velocity.
 The data section is Fourier transformed to give the FK spectrum.
 This causes the event, which is to be removed, now to lie along the vertical k=0 wavenumber axis of the FK spectrum, rather than sloping across the spectrum and getting aliased.
 Now that there is no danger of the event being aliased, the velocity/slope filter can be applied, but now as a symmetrically centred fan around the k=0 axis.
 After the undesired slope events have been removed, the FK spectrum is inverse Fourier transformed back into the timespace domain to give the velocity filtered section and then the section rotation is reversed, using the bias parameter again, back to normal.
 Fortunately, the program automatically recalculates all the velocity/slope parameters from the bias parameter, which should just be the central slope which it is desired to remove or enhance.
 Reapply the previous FK filter , with the bias set to the surface wave slope/velocity.
sudipfilt < s05.filter > s05.dip slopes=0.003,0.0036,0.004,0.005 amps=1.,1.,0.,0. bias=0.0038
suxwigb < s05.dip title='Lowvelocity cutoff at v=263m/s with antialias bias' windowtitle='Lowvelocity cutoff at v=263m/s with antialias bias' label1='Time (ms)' label2='Trace numbers' &
 Describe the quality of the removal of the surface waves, by comparing this with the previous plot. Note in particular the leading ends of traces 1012 and the events around 100ms.
 Has this biassed filter better removed all of the surface waves?
 Can you see any more possible reflection events than before applying the bias correction?
 You can print a copy of the dipfiltered data for your report using the following command.
supswigp < s05.dip title='Lowvelocity cutoff at v=286m/s with antialias bias' label1='Time (ms)' label2='Trace numbers'  lp d mono
 Apply the inverse of the previous FK filter , to inspect the surface waves that have been removed. This is produced by simply reversing the amplitude parameter series.
sudipfilt < s05.filter > s05.dip slopes=0.003,0.0036,0.004,0.005 amps=0.,0.,1.,1. bias=0.0038
suxwigb < s05.dip title='Lowvelocity pass below v=263m/s with antialias bias' windowtitle='Lowvelocity pass below v=263m/s with antialias bias' label1='Time (ms)' label2='Trace numbers' &
 Inspect the family of surface waves that has been removed.
 Have the surface waves been removed?
 Are any other waves removed, such as direct waves? If so, why?
 You can print a copy of the dipfiltered data for your report using the following command.
supswigp < s05.dip title='Lowvelocity pass below v=263m/s with antialias bias' label1='Time (ms)' label2='Trace numbers'  lp d mono
Removing the direct waves
 The direct waves are not required on a seismic reflection section.
 The direct wave velocity V_{1} = 350 m s^{1} , slope= 0.0028 s m^{1}. This velocity is derived from the plusminus refraction spreadsheet, included in the handout.
 The velocity filter cutoff can be raised to include both the surface waves and the direct waves.
 It should not include the refracted waves with velocity V_{2} in the range 2.0 km s^{1}, from the plusminus refraction spreadsheet, included in the handout.
 A suitably safe cutoff velocity below the refracted waves would be V_{c} = 1.0 km s^{1} , slope= 0.001 s m^{1}.
sudipfilt < s05.filter slopes=0.0,0.0009,0.0011,0.0015 amps=1.,1.,0.,0. bias=0.0010  suxwigb title='Lowvelocity pass below v=1000m/s with antialias bias' windowtitle='Lowvelocity pass below v=1000m/s with antialias bias' label1='Time (ms)' label2='Trace numbers' &
 This appears to give quite a reasonable effect. Note that the filter is starting to lose some of the refracted arrivals close to the shot.
 If you wish to attempt other forms of FK filtering, you could try to separate out the refracted waves which have a velocity around 2.0 km s^{1} from the plusminus spreadsheets.
 Remove all the unwanted graphical windows.
zap xwigb
FK filtering the whole line
 Design one dip filter to remove only the surface waves.
 FK filter the whole line to remove the surface waves.
 A possible filter process is given below. Check that you understand what it is doing.
 Plot its effect on the line, with the surface waves removed.
sudipfilt < line.static > line.velfilter slopes=0.003,0.0036,0.004,0.005 amps=1.,1.,0.,0. bias=0.0038
suxmovie < line.velfilter title='Line with velocity cutoff at v=263m/s' windowtitle='Line with velocity cutoff at v=263m/s' label1='Time (ms)' label2='Trace number' &
 Compare the result with the line before FK filtering has removed the surface waves.
suxmovie < line.static title='Line without velocity filtering' windowtitle='Line without velocity filtering' label1='Time (ms)' label2='Trace number' &
 Use the mouse to arrange the two graphical windows side by side. Then expand the plots to compare a few shot spreads at the same end of each picture.
 How much of the surface wave energy has been removed?
 How much of the surface wave energy remains?
 Are the reflection events any more visible?
 You can print a copy of the dipfiltered data for your report using the following command.
supsmovie < line.velfilter title='Line with velocity cutoff at v=263m/s' label1='Time (ms)' label2='Trace number'  lp d mono
 This dip filtered data looks much worse than the simple frequency filtered, static corrected data, so we will replace it with that data.
 Remove the unwanted graphics windows and delete the unwanted files.
zap xmovie
ls
cp line.static line.velfilter
rm s05.*
ls
Comments on this information may be mailed to
B.Robinson@lancaster.ac.uk
Copyright © Brian Robinson 2000. All rights reserved.
Last updated on 28/03/2000 by BR.