|
GEPH316 Seismic Data Processing
Field Data Workshop 2000 |
14 F-K 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 straight-line event, like a direct wave, refracted wave or surface wave, has a particular apparent velocity.
- The gradient Vapp = dx/dt of the arrivals on the seismic section gives the apparent velocity.
- The filtering can be applied to the F-K spectrum to separate out a particular seismic event, which is shown as a sloping linear trend of peaks on the F-K spectrum, as Vapp = 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 V1.
- 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 F-K spectrum, is also known as
- apparent velocity filter
- fan filter
- dip filter
- slope filter
- f-k filter
- Pie-Slice 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 common-midpoint stacking.
Dip/slope filtering
- The seismic unix package supplies the sudipfilt dip/slope filter which uses the F-K 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/Vapp 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 band-pass 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 pass-band.
- It uses a matching array of amplitude values to define the style of the filter:
- velocity band-pass
- velocity band-stop
- 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 bell-shaped 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 low-pass anti-alias 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 F-K spectrum. Plot the shot and the F-K 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 F-K spectrum" windowtitle='S05 F-K 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 Vs = 240 m s-1, as determined in the previous F-K spectrum section.
- The surface wave velocity Vs = 240 m s-1 is equivalent to a slope = 1/Vs = 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 F-K filtering.
- The next velocity of interest above this is the refracted wave velocity V1 = 2000 m s-1, slope = 0.0005 s m-1. This velocity is derived from the plus-minus refraction spreadsheet, included in the handout.
- Therefore, the high velocity pass-band 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 stop-band 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 cut-off 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 cut-off below v=263m/s' windowtitle='Velocity filtered cut-off 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 dip-filtered data for your report using the following command.
supswigp < s05.dip title='Velocity filtered cut-off at v=263m/s' label1='Time (ms)' label2='Trace numbers' | lp -d mono
Wavenumber aliasing problems
- During the previous work on the F-K 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 F-K 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 F-K filtering only removes a radial fan of velocities on the F-K 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 F-K spectrum.
- This causes the event, which is to be removed, now to lie along the vertical k=0 wavenumber axis of the F-K 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 F-K spectrum is inverse Fourier transformed back into the time-space 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 F-K 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='Low-velocity cut-off at v=263m/s with anti-alias bias' windowtitle='Low-velocity cut-off at v=263m/s with anti-alias 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 10-12 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 dip-filtered data for your report using the following command.
supswigp < s05.dip title='Low-velocity cut-off at v=286m/s with anti-alias bias' label1='Time (ms)' label2='Trace numbers' | lp -d mono
- Apply the inverse of the previous F-K 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='Low-velocity pass below v=263m/s with anti-alias bias' windowtitle='Low-velocity pass below v=263m/s with anti-alias 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 dip-filtered data for your report using the following command.
supswigp < s05.dip title='Low-velocity pass below v=263m/s with anti-alias 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 V1 = 350 m s-1 , slope= 0.0028 s m-1. This velocity is derived from the plus-minus refraction spreadsheet, included in the handout.
- The velocity filter cut-off can be raised to include both the surface waves and the direct waves.
- It should not include the refracted waves with velocity V2 in the range 2.0 km s-1, from the plus-minus refraction spreadsheet, included in the handout.
- A suitably safe cut-off velocity below the refracted waves would be Vc = 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='Low-velocity pass below v=1000m/s with anti-alias bias' windowtitle='Low-velocity pass below v=1000m/s with anti-alias 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 F-K filtering, you could try to separate out the refracted waves which have a velocity around 2.0 km s-1 from the plus-minus spreadsheets.
- Remove all the unwanted graphical windows.
zap xwigb
F-K filtering the whole line
- Design one dip filter to remove only the surface waves.
- F-K 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 cut-off at v=263m/s' windowtitle='Line with velocity cut-off at v=263m/s' label1='Time (ms)' label2='Trace number' &
- Compare the result with the line before F-K 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 dip-filtered data for your report using the following command.
supsmovie < line.velfilter title='Line with velocity cut-off 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.