You are on page 1of 63

Contents

1. Environment Set-up ................................................................................. 5


Setting the Unix environment .................................................................. 5
Using the scratch file area ........................................................................ 6
Copying the raw seismic data file ............................................................. 6
Summary - setting everything up ............................................................. 7
2. SU Package .............................................................................................. 7
CWP/SU Seismic Unix philosophy ............................................................ 7
Piping files through SU commands ........................................................... 8
SU on-line help......................................................................................... 9
3. Survey Description ................................................................................. 10
Survey data format ................................................................................ 10
Survey data description ......................................................................... 11
Building the data file .............................................................................. 11
4. Viewing Seismic Data ............................................................................. 12
Inspecting the data ................................................................................ 12
Viewing all the line ................................................................................ 13
Viewing part of a window ...................................................................... 13
Printing all the line ................................................................................. 14
Extracting one shot ................................................................................ 14
Viewing one shot ................................................................................... 14
Inspecting the shots ............................................................................... 15
Removing unwanted graphics windows ................................................. 15
5. Reducing Data Quality ........................................................................... 16
Resampling the traces ............................................................................ 16
Resampling the traces ............................................................................ 17
6. Trace Header ......................................................................................... 17
Defining geometry and trace headers .................................................... 17
Viewing a trace header .......................................................................... 18
Changing trace headers .......................................................................... 18
Viewing trace header words .................................................................. 19
Labelling the whole section .................................................................... 19
7. Removing Noisy Traces .......................................................................... 19
Noisy traces ........................................................................................... 19
Killing noisy traces ................................................................................. 20
8. Frequency spectra .................................................................................. 20
Frequency noise in the data ................................................................... 20
Frequency spectra for one shot .............................................................. 21
Examining the frequency spectra ........................................................... 22
Resampling the traces ............................................................................ 22
Frequency spectra of different waves .................................................... 23
Better frequency spectra by tapering ..................................................... 23
9. Frequncy Filter Design............................................................................ 25
Frequency filter design........................................................................... 25
Spike series ............................................................................................ 25
Normal filter .......................................................................................... 26
Butterworth filter .................................................................................. 28
10. Frequency Filtering Data ..................................................................... 30
Frequency filtering ................................................................................. 30
Low-pass filtering................................................................................... 30
High-pass filtering .................................................................................. 31
Filtering the complete line ..................................................................... 32
11. Statics ................................................................................................. 34
Preliminary statics ................................................................................. 34
Datum statics ......................................................................................... 34
Inspecting the data ................................................................................ 34
Correlating the data ............................................................................... 35
Shifting the shots ................................................................................... 35
Building the static corrected line ............................................................ 36
12. F-K spectra .......................................................................................... 38
Spatial spectra ....................................................................................... 38
F-K Fourier spectra ................................................................................. 38
F-K Fourier spectrum for one shot .......................................................... 38
Apparent velocity .................................................................................. 39
Reflection events ................................................................................... 40
13. F-K filtering ......................................................................................... 41
Velocity selection ................................................................................... 41
Dip/slope filtering .................................................................................. 41
Removing low velocity surface waves .................................................... 42
Wavenumber aliasing problems ............................................................. 43
Bias to avoid wavenumber aliasing ........................................................ 43
Removing the direct waves .................................................................... 44
F-K filtering the whole line ..................................................................... 45
14. Gathers ............................................................................................... 46
Types of gather ...................................................................................... 46
Common-shotpoint gather ..................................................................... 46
Common-receiver gather ....................................................................... 47
Sorting traces ......................................................................................... 47
Common-offset gather ........................................................................... 48
Common-midpoint gather...................................................................... 49
15. Velocity Analysis ................................................................................. 51
Fold of gathers ....................................................................................... 51
Velocity spectra for synthetic data ......................................................... 51
Velocity spectra for field data ................................................................ 52
Editing the velocity file........................................................................... 53
16. NMO ................................................................................................... 54
NMO correction of one gather ............................................................... 54
17. Residual statics ................................................................................... 55
Residual statics ...................................................................................... 55
18. Stacking .............................................................................................. 56
Stacking NMO corrected gathers ............................................................ 56
Stacking the line..................................................................................... 56
19. AGC correction .................................................................................... 58
AGC correction of final section ............................................................... 58
20. Summary ............................................................................................ 60
Summary: the complete processing sequence ........................................ 60
Setting the environment ........................................................................ 60
Viewing the data .................................................................................... 60
Resampling the traces ............................................................................ 61
CDP header labels .................................................................................. 61
Killing noisy traces ................................................................................. 61
Frequency spectra .................................................................................. 61
Frequency filtering ................................................................................. 62
Static corrections ................................................................................... 62
F-K filtering ............................................................................................ 63
1. Environment Set-up
Setting the Unix environment

 The CWP/SU seismic data processing package is rather large, both in


source and compiled form. Therefore, the source and binaries are kept
in the filestore of Brian Robinson and accessed from there during the
practical.
 In order to achieve transparent access, two Unix C shell environment
features must be set.
 First, the environment variable CWPROOT is set to point at the CWP
directory.
 Second, your default program search path is extended to include the
CWP binaries.
 Simply copy the following text onto your Xterm window and execute it.
setenv CWPROOT /home/ufs1/51/robinsob/cwp
set path=($path /home/ufs1/51/robinsob/cwp/bin)

 If you want these environment changes to be permanently active each


time you log in to Unix, you will have to add these two lines to the end
of your .cshrc file which sets up your c shell resources. You can do this
using with the following lines, finishing with the ctrl+d key, which means
end of data. Warning: make sure there are 2 right arrowheads in the cat
command.

cat >> .cshrc


setenv CWPROOT /home/ufs1/51/robinsob/cwp
set path=($path /home/ufs1/51/robinsob/cwp/bin)

Using the scratch file area

 The seismic data file and the various processed files produced are each
around 2 Mbytes in size. In order to avoid problems with filestore quota,
it is recommended to run all the workshop in your scratch file area,
which does not count against your quota. The files can be erased at the
end of the practical, or they will be erased automatically by the system
within a few days.
 Used the following command to move from your login home directory to
your scratch directory.

cd $scratch

Copying the raw seismic data file

 Each student needs their own copy of the raw seismic data to work on.
 Use the following copy command to copy the seismic field data file into
your own scratch area. The name of the data file is simply line.
 Note that the end of the command line consists of a space followed by a
full stop.
cp
/home/ufs1/51/robinsob/geophysics/seismic/geometrics/
refl000303/line .

Summary - setting everything up

 You can use the following 4 lines to set up quickly your X terminal
session for this practical and any future sessions.

setenv CWPROOT /home/ufs1/51/robinsob/cwp


set path=($path /home/ufs1/51/robinsob/cwp/bin)
cd $scratch
cp
/home/ufs1/51/robinsob/geophysics/seismic/geometrics/
refl000303/line .

2. SU Package
CWP/SU Seismic Unix philosophy

 The CWP/SU package is a seismic data processing package, designed for research work. It
originated at the Center for Wave Phenomena CWP at Colorado School of Mines, Colorado,
USA.
 The package has been called Seismic Unix SU to emphasise the structure and philosophy of
the software, which is very similar to that of the Unix open operating system.
o It works on a standard file format, the SEG-Y standard produced by the Society for
Exploration Geophysicists.
o It consists of numerous small, simple, single-purpose individual tools, rather than
one immense, unwieldy program that is difficult to learn. You only need to learn
about those tools you need.
o The power of the package arises from being able to pipe the information output by
one command into the input of the next command, just as in Unix filters.
o The toolset is easily extensible, either by programming new commands or by calling
the existing commands from simple macros.
o Most operating values are specified by means of parameter words.
o There is extensive on-line help direct from Colorado and most commands are self-
documenting.
o SU is in the public domain and is available for downloading from CWP.
 SU makes extensive use of X windows facilities for terminal graphics display and Postscript
facilities for printing.
 SU can be run on most Unix systems, with suitable configuration.

Piping files through SU commands

 Unix uses the concept of pipes and filters to explain the flow of data from one command to
the next.
 The input pipe is denoted by the left arrowhead < and is used to pipe information from a
disk file into a command as:
 sucommand <inputfile

If no input pipe is supplied, input will be expected from the keyboard and the command will
hang until input is given. Keyboard input can be terminated using Ctrl+D or Ctrl+C.

 The output pipe is denoted by the right arrowhead > and is used to pipe information from a
command into a disk file as:
 sucommand >outputfile

If no output pipe is supplied, output will be directed to the screen and lots of unpleasant
information may be printed. Output can be terminated using Ctrl+C. In desparation, try
Ctrl+Z or Ctrl+X !

 The input and output pipes may used together in a command as:
 sucommand <inputfile >outputfile
 The append pipe is denoted by two right arrowheads >> and is used to pipe information
onto the end of an existing disk file using a command as:
 sucommand >>oldoutputfile
 The input and output pipes require physical disk files, which take up space and may need
clearing up at the end of the operation. It is possible to avoid creating unnecessary physical
files by piping the output from one command directly into the input of the next command
using the general pipe vertical line symbol | as:
 sucommand1 <inputfile | sucommand2 >outputfile
 Some commands do not produce a physical file. For example, the suwigb plotting command
takes in a file, but displays the output in an X windows plot. Therefore it is often used as a
sink for the end of a command chain as:
 sucommand1 <inputfile | sucommand2 | suxwigb
 Most commands require a variety of parameters. Usually the parameters take the form of a
keyword, an equals sign and the value, for example
 sucommand1 <inputfile param1=5 param2='text info'
Do not leave spaces on either side of the equals sign or the parameter may not have the
effect intended.

SU on-line help

 Seismic Unix provides a variety of on-line help facilities.


 Most of the SU commands are self-documenting. Just by typing the command name alone,
the command gives a simple explanation of what it is for, the parameters it needs and how
to use it. Try:
 suxwigb

 There is an extensive on-line help tutorial information direct from the Internet Web site in
Colorado. One example of their help pages is stored locally.
 Locally, the following SU information is available rapidly.
o suhelp lists the names of the programs in the distributed version of the package.
o suname is a program that lists the names and a one-line description of all the
programs and libraries.
o sudoc is a utility that lists the self-documentation of all programs in the package. Try:
o sudoc suxwigb
o
o sufind is a program that searches the self-documentations for a given string. If you
cannot remember the name of a command, or if you do not know whether a
particular type of command exists, you can used the sufind command to search for
information. Try both of these now:
o sufind
o sufind filter
 SU programs that manipulate the trace headers in the seismic data use specific names called
"keywords" to identify the header fields. The sukeyword program enables the user to list
the definition file for the keywords. For example,
 % sukeyword fldr
 ...skipping
 int tracr; /* trace sequence number within reel */
 int fldr; /* field record number */
 int tracf; /* trace number within field record */
 int ep; /* energy source point number */
 int cdp; /* CDP ensemble number */
 ...
 Beware that the physical units applied to the header words can vary. For example, the
sampling interval header word dt is stored in the seismic data in the form of microseconds
e.g. dt=250, but some commands require it as a parameter in the form of seconds e.g.
dt=0.00025.
3. Survey Description
Survey data format

Most seismographs will record seismic data files in one of the SEG data formats such as SEG-Y. The
binary data files from the Geometrics ES1225 Seismograph data format are converted into the
international SEG-Y format for data processing. It is important to know the number format of the
data file, whether it is

 integer,
 floating point or
 compound format.
Other important survey parameters are

 trace length
 sample interval
 number of channels.

If these are not known and used correctly, the data files will give wrong velocity information and
may not be usable at all.

Survey data description

 The seismic reflection survey on March 3rd 2000 consisted of 25 shot points, running at 1m
intervals from 0m to 24m.
 For each shot, the 12 geophones were placed at 2m intervals, the first at an offset distance
of 14m from the shot. For example, for the shot at 0m, the geophones ran from 14m to 36m.
 At most of the geophone points, 4 Hz geophones were used. For trace 6, a 100 Hz geophone
was used (only one 100 Hz geophone was available).
 At most of the shot points, 2 sledgehammer blows were used. At the shot points 06m and
07m, 1 Buffalo gun shot was used.
 The seismic arrivals were digitised at a sampling interval dt=250us to give seismic traces
1000 points long with a total time of 250ms.
 The data was digitised with 8 bit accuracy, giving values from -127 to + 127.
 The total number of data traces in the line is 25 shots * 12 geophones = 300 traces.
 In addition to the main seismic line, there were two reversed shots at 14m and 36m into
geophones from 14m to 36m, stored in separate data files. The reversed shots were for use
as a reversed refraction line with the plus-minus method to give some velocity and depth
information.
 This gave a total of 27 shot files.

Building the data file

 The individual seismic data files, each containing 1 shot and 12 geophone traces, were
stored on PC floppy disks using a portable PC.
 The binary files were transferred from the PC floppy disks to the Unix system using an FTP
file transfer facility.
 The binary data files, in the Geometrics ES1225 Seismograph data format, were converted
into the international SEG-Y seismic data file format, using the seismic11.for Fortran
program written by Brian Robinson.
 The SEG-Y seismic data file format is very easy to manipulate, as each geophone trace has its
own individual header containing information on the shot and geophone positions etc.
 The 25 SEG-Y reflection files were packed together into one big seismic line file using the
Unix cat command e.g.

cat s00.seg >> line


cat s01.seg >> line
...
4. Viewing Seismic Data
Inspecting the data

It is important to spend time on a detailed examination of the raw data to identify obvious
reflections, other arrivals, specific problems and coherent noise. Wrong identification of events can
lead to the wrong choice of processing steps and an incorrect final seismic section. This inspection
requires a graphical display of the data.
The viewing of data usually is performed after the data is reduced and the line geometry is
defined. Here it is used earlier in order to give a good introduction to the SU package and to
the field data.

Viewing all the line

 It is possible to view the complete seismic line of 25 shots in one picture using the CWP/SU
package.
 The SU package has plotting facilities built on top of the normal X window plotting facilities,
such as the xwigb wiggle trace plot, the ximage and the xmovie image plot commands.
 The suximage command plots a shaded image of all the data, similar to a remote sensing
image.
 Use the following suximage command to get a quick look at all the data.

suximage <line &

 This plot is rather dense but it shows all the data and it gives an impression of any variations
along the line.
 You have a print out of the suximage in the practical handout, so you can refer to it
throughout the workshop.
 Most of the CWP/SU package is 'self-documenting'. Type the name of the suximage
command to find out more information about how it works.

suximage

 The plotting commands have options to label the picture axes and provide the title for the
plot.
 Use the following suximage command to get a labelled plot of all the data.

suximage <line title='Line in raw form' label1='Time (s)' label2='Trace


number' &

 Compare the suximage output with the following suxmovie command picture.

suxmovie <line title='Line in raw form' label1='Time (s)' label2='Trace


number' &

Viewing part of a window

 Once a plot has been displayed, it is often desirable to view part of the picture in enlarged
detail by zooming in. This can be performed locally at the X terminal using the mouse
facilities.
o Point the mouse cursor at the top left corner of the suximage plot.
o Hold the left mouse button down.
o Wipe across to halfway down the right hand side of the plot.
o Release the mouse button.
 The terminal should automatically redisplay the selected area of the plot. This is very useful
to inspect the early direct waves and refracted waves without using any further SU
commands.
 To redisplay the complete picture afterwards, just single-click in the middle of the picture.
 Bring the suximage plot of the whole line to the front and then use this redisplay facility to
look at just shots 5 and 6 = traces 61 to 84 at the left side of line.

Printing all the line

 The SU package has postscript ps printing facilities which use very similiar commands to the
normal X window plotting facilities.
 The suxwigb wiggle trace plot becomes the fast crude supswigb or the slower but neater
supswigp.
 The suximage plot becomes supsimage.
 The suxmovie plot becomes supsmovie.
 If you want a printed copy of the raw line for your report, use the following supsimage
command sequence to print the whole line.
 The lp command sends the file to the printer. The -d mono option specifies the mono
black/white postscript printer.

supsimage <line title='Line in raw form' label1='Time (s)' label2='Trace


number' > line.ps
lp -d mono line.ps

Extracting one shot

 It is useful to be able to extract single seismic shots from the complete seismic line of 25
shots using the suwind windowing command.
 Each seismic trace has various parameters in the header of the trace, so we may use the
shot x position parameter sx to select the desired data. The values of the desired sx value lie
between the identical minimum and maximum values of 05.
 Run the following command to make a working file s05 containing just the traces for the
hammer shot at 05m.

suwind <line >s05 key=sx min=05 max=05


ls

 Run the following command to make a working file s06 containing just the traces for the
shotgun shot at 06m.

suwind <line >s06 key=sx min=06 max=06


ls

Viewing one shot

 For plotting data, the suxwigb command is the most generally useful plotting command to
produce a variable area wiggle trace plot of the data.
 Use the following command to plot just the 12 traces of data from the shot at 05m.

suxwigb <s05 title='Normal hammer shot at 05m' label1='Time (s)'


label2='Trace number' &
 You have a print out of this suxwigb picture of shot 05m in the practical handout, so you can
refer to it throughout the workshop. If you want another print out you can use the following:

supswigp <s05 title='Normal hammer shot at 05m' label1='Time (s)'


label2='Trace number' > s05.ps
lp -d mono s05.ps

 Use the following command to plot just the 12 traces of data from the shot at 06m.

suxwigb <s06 title='Buffalo gun shot at 06m' label1='Time (s)'


label2='Trace number' &

Inspecting the shots

 It is important to inspect the raw seismic data to identify various arrivals before doing any
data processing.
 Arrange the S05 and S06 seismic sections side by side, to occupy half of the screen each.
 Carefully inspect all the traces on both sections to see the following features and answer the
questions:
o What is the first arrival? Note that it does not go through the origin. Why is this?
Estimate the apparent velocity by expanding the useful part of the section so that
you can read off the time scales for trace 1 and trace 12 which are 22m apart.
o Compare this information with the plus-minus interpretation spreadsheet
information.
o What are the broad rolling waves in the lower half of each section? Estimate the
apparent velocity. Why are these waves smaller on section S06 than the first arrivals?
What was different about the shot?
o What is the very narrow, sharp arrival running across the middle of the section?
Estimate the apparent velocity. Why are these waves smaller on section S06?
o Why does trace number 6 appear different on both sections? This was the 100 Hz
geophone. What effects has it had on the traces? Is it passing any frequencies below
100 Hz? Note that some of the first arrivals appear to be earlier on this trace. This
may be more obvious in the ximage of the whole line.
o Can you identify any hyperbolic reflected arrivals running through the top of the
section, after the first arrivals? How many reflection events can you identify?
o Look at trace 12 on both sections. Can you identify the shape of a single seismic
wavelet by viewing the leading first arrivals? Note how the following reflection event
interferes with the tail of the leading wavelet.

Removing unwanted graphics windows

 To get rid of unwanted graphical X windows you may click the close box in the top left
corner of the window that you want to discard.
 The SU package has a simple command to get rid of multiple unwanted graphical X windows
of particular types. Simply zap the type of window that you want to discard.
 Use the following commands to get rid of any remaining xwigb and xmovie windows. Then
check which files are left in your directory.
zap xwigb
zap xmovie
zap ximage
ls

5. Reducing Data Quality


Resampling the traces

Seismic data files are large and require a lot of computer processing time. It is beneficial to reduce
the quantity of data as early in the processing sequence as possible, provided that no useful
information is lost. Often the ends of the traces will not contain any useful reflections and so may be
discarded. Sometimes the data is sampled more frequently than is necessary, so the extra
interleaved data values may be removed. In general, it is sufficient to have about 8 points per cycle
for the highest useful frequency.

Resampling the traces

 The suresamp command can be used to resample the trace time series. The command is
very flexible in specifying the type of resampling. It can discard unwanted points, from the
start, end or middle of the trace, and interpolate extra points if required. Try to understand
the resampling possibilities by typing the name of the command.

suresamp

 The easiest form of resampling is to specify the new sampling interval dt in seconds and
number of time points nt that are required. Use the following command to resample shot 10,
so that a better spectrum may be produced directly.
 The number of points in the trace is being halved from dt=0.00025s to dt=0.0005s, so the
number of points required in the trace will drop from nt=1000 to nt=500. This reduces the
sampling frequency fs from 4kHz to 2kHz, and the Nyquist frequency fN from 2kHz to 1kHz.
 Also, the last 50ms of the 250ms long data contains no useful information, so reduce nt=400.
 This resampling will remove 60% of the data points, the file size and the processing time.
Test this on the data for shot s05.

suresamp <s05 >s05.resamp dt=0.0005 nt=400

 Plot the old and new time series and observe the slightly more jagged shape to the wavelets,
due to the fewer points.

suxwigb <s05 &


suxwigb <s05.resamp &

 Resample the whole line and keep the old file.

suresamp <line >line.resamp dt=0.0005 nt=400

6. Trace Header
Defining geometry and trace headers
It is important that all traces in the seismic data file are correctly labelled in terms of shot positions,
geophone positions, offset distances and cdp points in order that all subsequent processing steps
are performed correctly.

Viewing a trace header

 It is useful to be able to view the header parameter information associated with a trace
using the interactive suedit header editing command. Each trace has its own header. Inspect
the trace headers for shot 05m using the following lines, entered one at a time, and try to
understand what some of the parameters mean.

suedit <s05
?
( just a carriage return)
p
q

 The header for the last trace in the group is shown first, in this case trace 12.
 The question mark ? gives some help on the suedit command.
 When carriage return is pressed, the header for the previous trace is displayed.
 p gives a crude tabulated plot of the start of the trace.
 Write down the main parameters for shot 05, such as sx, gx, offset, dt, ns, etc.
 Do the parameters appear to have the correct values? Note that the offset distance is
measured as (gx-sx) from the shot sx forwards to the geophone gx.
 The letter q quits the suedit command as for the Unix more command.
 If you are not sure what the header words mean, use the sukeyword command to get more
information, as in the following example.

sukeyword cdp

Changing trace headers

 The sushw header command can be used to set new header words, using the stepping trace
number in the calculations. This is very useful if a mistake was made when creating the
headers in the field.
 The suchw header command can be used to change or create new header words, based on
existing header work values. Type the suchw command to investigate the calculation
formula.

suchw

 In the case of our data, the words sx, gx and offset have their correct values. However, the
cdp header word needs to be calculated to specify the cdp position for each trace. It can be
calculated as the average of the shot and geophone positions, sx and gx. Check that you
understand the a, b, c and d coefficients which give the expression of the formula as
cdp=(0+1*sx+1*gx)/2.
 Use the following command to create the cdp header word values.
suchw <s05 >s05.cdp key1=cdp key2=sx key3=gx a=0 b=1 c=1 d=2

Viewing trace header words

 It is useful to be able to view certain header parameters associated with all the traces in a
section, using the sugethw get header words command. It will display the values of the
selected keywords.
 Using the following command to display the shot and geophone positions for a set of traces.

sugethw <s05.cdp key=sx,gx,cdp,offset

Labelling the whole section

 Convert the whole of line to contain correct cdp points, replace the old line with the new
cdp labelled line, then remove the unwanted files.

suchw <line.resamp >line.cdp key1=cdp key2=sx key3=gx a=0 b=1 c=1 d=2
ls
rm line.resamp
rm s05.cdp
ls

7. Removing Noisy Traces


Noisy traces

Noisy traces usually result from noise at a particular geophone location, which may be due to a bad
connection or a bad geophone at a particular receiver location that was not noticed in the field. It is
best to set the whole of these traces to zero, even if there are signs of a reflection present, as the
Signal/Noise ratio is bad and will damage the final stacked data.

If a particular geophone is noisy on many shots, all the traces in the line may be resorted in
ascending order of geophone location. Then all the noisy traces will be grouped together and
can be killed easily. Then the original order of the traces can be obtained by resorting in
ascending order of shot location.

Killing noisy traces

 The sukill command can be used to kill one or more traces in a section. Try to understand
the trace killing options by typing the name of the command.

sukill

 Redisplay the whole seismic line and inspect it for very noisy traces. The suximage and
suxwigb plots offer different ways of looking for the noise. Select and enlarge noisy regions
using the mouse to determine the trace numbers to kill.

suximage <line.cdp title='Line with noisy traces' label1='Time (s)'


label2='Trace number' &
suxwigb <line.cdp title='Line with noisy traces' label1='Time (s)'
label2='Trace number' &

 It appears that trace 90 is particularly noisy and should be removed. Use the sukill command
to remove it. Then plot the new version of the line to check that the correct trace was
removed.

sukill <line.cdp >line.kill min=90 nkill=1


suximage <line.kill title='Line without noisy trace' label1='Time (s)'
label2='Trace number' &
suxwigb <line.kill title='Line without noisy trace' label1='Time (s)'
label2='Trace number' &

 Check traces 155 and 156 for noise levels.


 Although these and some of the other traces show a little noise, probably they are not
sufficiently bad to justify killing them totally.
 When all the correct traces have been killed, replace the original version of the line with the
new version.

mv line.kill line.cdp
ls

8. Frequency spectra
Frequency noise in the data
 One of the first considerations with seismic data is the frequency content of the traces.
Certain noise types have different frequency content from the main desired wavelets.
 Display again the whole original line and inspect all the data to see if any of the shots
contains any strange noise effects, sometimes showing up as dark and light 'speckles' on the
traces or high frequency air waves.

suximage <line title='Line in raw form' label1='Time (s)' label2='Trace


number' &

 In the case of our line, there appears to be some high frequency air waves on the data from
the shot at 05m. Extract this single shot and inspect the traces using a wiggle plot.

suwind <line >s05 key=sx min=05 max=05


suxwigb <s05 title='Noisy shot at 05m' label1='Time (s)' label2='Trace
number' &

Frequency spectra for one shot

 One of the first considerations with seismic data is to inspect the frequency content of the
traces. This can be calculated using the suspecfx frequency spectrum command, which
computes the f frequency amplitude spectrum for each trace x position. Use the suspecfx
command to understand the Fourier Transform details and then used the second command
to display the amplitude spectra for all the traces in the s05 shot.

suspecfx
suspecfx < s05 | suxwigb title='s05 spectrum' label1='Frequency (Hz)'
label2='Trace number' &

 If you feed the spectral density trace through the ASCII converter there is useful information
on the first line of the output from suascii.
o ns is the number of sample points in the spectrum.
o d1 is the frequency interval between points in the spectrum.
o The Fourier transform program may have increased the number of data points from
1000 to some easily factorised number, such as 1024, for efficiency of calculation.

suspecfx <s05 | suascii > s05.spec


more s05.spec

 The seismic arrivals were digitised at a sampling interval dt=250us=0.25ms=0.00025s to give


seismic traces 1000 points long with a total recording time of 250ms=0.25s.
 Calculate the sampling frequency fs in Hz for this data, using the dt sampling interval value.
 Calculate the Nyquist frequency fN in Hz for this data. Does the spectrum plot end at this
Nyquist frequency?
 This spectrum is rather cramped at the low frequency end because of the high Nyquist
frequency. What could be done to lower the Nyquist frequency? Do we need all the data
points?
Examining the frequency spectra

 Why are there some high frequency spikes on the spectrum for some of the traces? At
what range of frequencies do they occur? Can you explain these features by looking at the
time series for these traces?
 For the present, use the X windows mouse and redraw facility to select the low frequency 10%
end of the 12 spectra from 0 to 200 Hz and inspect it in more detail.
 Notice that each spectrum appears very cramped at the low frequency end. Perform the
following calculations to explain the reason for this.
 Use the trace total time length L=0.25s of the trace to calculate the expected frequency
sampling interval df for the spectrum.
 The suspecfx command may increase the number of points in each trace towards a factor of
2n, which is 210 = 1024 in this case, to make the Fast Fourier Transform work faster. It prints
out the spectral sampling frequency interval d1 in Hz as it does the calculation. Inspect the
Unix response that suspecfx produced. Remember df.dt =1/N and N.dt=L. Here the padding
with 24 extra zeros has extended the trace total time length from L=0.250s towards L=0.256s.
 The suspecfx command uses the sufft Fast Fourier Transform command to compute the
Fourier Transform of the data. Then it uses the suamp complex number trace component
command to give just the amplitude of the complex Fourier Transform. The suamp
command can also be used to give the real, imaginary or phase of a complex number trace.
The following sequence should produce the same resulting spectrum as the suspecfx
command used earlier.

sufft < s05 | suamp > s05.amp mode=amp


suxwigb < s05.amp &
This may print the information:

sufft: d1=3.968254 f1=0.0


and you can inspect the amplitude trace header parameters using:

suascii < s05.amp | more

Resampling the traces

 The suresamp command can be used to resample the trace time series. The command is
very flexible in specifying the type of resampling. It can discard unwanted points, from the
start, end or middle of the trace, and interpolate extra points if required. Try to understand
the resampling possibilities by typing the name of the command.

suresamp

 The easiest form of resampling is to specify the new sampling interval dt in seconds and
number of time points nt that are required. Use the following command to resample shot 05,
so that a better spectrum may be produced directly. The trace is being 'decimated' from
dt=0.00025s to dt=0.0025s, so the number of points required in the trace will drop from
nt=1000 to nt=100.

suresamp <s05 >s05.resamp dt=0.0025 nt=100


 Plot the new time series and observe the slightly more jagged shape to the wavelets, due to
the many fewer points.

suxwigb <s05.resamp &

Frequency spectra of different waves

 Use the suspecfx command again to display the spectrum for each trace from the resampled
s05 shot.

suspecfx < s05.resamp | suxwigb title='s05 resampled spectrum'


label1='Frequency (Hz)' label2='Trace number' &

 Find one of the 12 spectra, such as spectrum 7, which has several separate peaks. What are
the centre frequencies of the main spectral peaks?
 Look at the time series plot for the trace which produced this spectrum, in the handout or
the s05 wiggle plot window. Measure the periods of the successive direct wave, refracted
wave and surface wave wavelets, if you can distinguish them. Convert these periods into
frequencies and compare them with the frequencies of the spectral peaks. Which type of
waves are all the separate spectral peak frequencies caused by?

Better frequency spectra by tapering

 Inspect the spectrum ffor the traces, especially trace 10. Why are they so full of 'side lobes'
around the main spectral peaks? Remember which Fourier Transform Pair produces a lot of
side lobes. (Note: This data set may not be particularly bad.)
 In this case, the seismic arrivals at the end of trace 10 etc. have been sharply truncated into
a step by the end of the digitised time series. This is equivalent to multiplication by a boxcar
function in the time domain at the end of the traces, which produces a lot of sinc function
side lobes as convolution effects in the frequency domain.
 This problem can be alleviated by gently tapering the trace down to zero amplitude before
the end of the trace.
 The tapering can be done using a cosine bell taper function or by using a simple linear ramp,
provided by the SU command suramp. Examine the parameters of this command.

suramp

 Apply a ramp to the trailing 10% end of the traces, from 225ms to 250ms, and plot the
tapered traces. As the leading ends of the traces are flat and zero, they do not need any
tapering. Then recompute and display the smoother spectra.

suramp < s05.resamp > s05.taper tmax=0.225


suxwigb < s05.taper title='s05 shot' &
suspecfx < s05.taper | suxwigb title='s05 spectrum' &
 Note that there should be many fewer sidelobes on the new spectra for trace 10. This
tapering procedure is very important when you are searching for true harmonics in periodic
signals.
 You will probably want a printed copy of this spectrum for your final report.

suspecfx < s05.taper | supswigp > s05spec.plot title='s05 spectrum, data


resampled and tapered' label1='Frequency (Hz)' label2='Trace number'
lp -d mono s05spec.plot
lpstat -d mono

 Produce a similar spectrum for shot 06. Compare this spectrum with the shot 05 spectrum
and explain the reasons for the differences.

suresamp <s06 >s06.resamp dt=0.0025 nt=100


suramp < s06.resamp > s06.taper tmax=0.225
suxwigb < s06.taper title='s06 shot' &
suspecfx < s06.taper | suxwigb title='s06 spectrum' &

 Clear up any graphics windows and files that you no longer need, once the plot has printed.

zap xwigb
ls -l
rm s05.*
9. Frequncy Filter Design

Frequency filter design

 In this exercise we explore the effect of frequency filtering on the character of a seismic
signal, using spike test data. If you feel uncomfortable with the ideas of Fourier analysis, it is
useful to experiment with various forms of filters and discover by experiment what filtering
does to various time series.
 Although the filters alter the frequency content of the signals, sometimes they are
applied in the time-domain to the time series.
 In order to inspect the behaviour of a filter, it is necessary to have a Dirac delta spike
data series to pass into the filter to determine its time-domain impulse response.
 The frequency transfer function behaviour of the filter may be observed by looking at the
spectrum in the frequency-domain, by Fourier transforming the impulse response.

Spike series

 In order to test the response of filters, it is useful to be able to produce a set of time series
containing spikes at various points in the series.
 The seismic unix command to make spikes is suspike. It creates a full set of times series with
a dummy value for a common offset and up to 4 spikes at specified trace numbers and time
point numbers.
 Inspect the suspike command documentation.

suspike

 Now produce and plot the default time series produced by suspike.

suspike | suxwigb title="Default spikes" label1="Time (s)" label2="Trace


numbers" &

 The following suspike command will produce a set of time series with parameters similar to
the shots in our seismic data.
 There are 12 traces, the sampling interval is 2.5ms and 100 points gives a total time of
250ms.
 Spikes are place on traces ix=1, 4, 7 and 10 with the respective time point numbers 1, 20, 40
and 60 out of the time length of 100 points. Because 100 points are equivalent to 250ms,
the spikes should appear at the time positions of 0.000s, 0.050s, 0.100s and 0.150s.

suspike > spike ntr=12 dt=0.0025 nt=100 ix1=1 it1=1 ix2=4 it2=20 ix3=7
it3=40 ix4=10 it4=60
suxwigb < spike title="Spike series" label1="Time (s)" label2="Trace
numbers" &

 If the spikes are correct delta functions, their spectra should be white. Check this with the
following command. Note that the suwigb command may make the spectra of the spike
traces look particularly black in this case! This is really showing a flat 'white' spectrum but
the graphics fill in the area under the spectrum as black.

suspecfx < spike | suxwigb title="Spike spectra" label1="Frequency (Hz)"


label2="Trace numbers" &

 Use the following lines if you want a print of the spike traces and their spectra.

supswigp < spike title="Spike traces" label1="Time (s)" label2="Trace


number" | lp -d mono
suspecfx < spike | supswigp title="Spike spectra" label1="Frequency (Hz)"
label2="Trace number" | lp -d mono

 Use the following line to remove the unwanted graphical windows.

zap xwigb

Normal filter

 The main command for frequency filtering data in the time-domain is the sufilter filtering
command, which is sufficiently flexible to behave as a
o band-pass filter,
o band-stop filter,
o low-pass filter,
o high-pass filter or
o notch filter.
 This filter is defined in the frequency domain to have a flat pass-band with gently tapered
ends. Each tapered end is defined by an upper and a lower frequency.
 Inspect the description of the sufilter command by typing:

sufilter

 This is a zero-phase filter, so it should not alter the phase characteristics of the data at all.
This is a very valuable property as seismic arrival times will be perfectly preserved.
 The frequency cut-offs are not vertical but are gently tapered, according to a bell-shaped
sine-square function.
 The filter is defined by an array of frequencies in Hz, at which the filter characteristics
change, and the matching array of amplitudes, which are required at those frequencies.
 Typically, the amplitudes are 1.0 in the pass band and 0.0 in the stop band. Try the following
example of the application of the filter to pass a band of frequencies from 20Hz to 50Hz:

sufilter < spike f=10,20,50,60 amps=0.,1.,1.,0. > spike.filter


suxwigb < spike.filter title="Filter bandpass 20Hz to 50Hz" label1="Time
(s)" label2="Trace numbers" &

 Inspect the output from the band-pass filter. Measure the dominant period in the wavelets
and thus determine the central dominant frequency of the pass band. Does it match the
requested pass band?
 What is the phase character of the wavelets?
o This version of the filter will default to the desirable zero-phase behaviour, so it
should produce a perfectly symmetrical wavelet, centred on the time positions of
the original spikes at 0.000s, 0.050s, 0.100s and 0.150s. However, this produces data
before time zero and is a non-physical filter.
 How many side-lobes can be seen on either side of the central peak of the wavelets?
o There may appear to be a lot of side-lobes but they decay a lot more quickly than
those of an infinitely long sinc function.
o A sinc function would have side-lobe amplitudes +1, -1/3, +1/5, -1/7, +1/9, -1/11, etc.
and would be produced if the filter had vertical frequency cut-offs.
 Why are there some side-lobes at the very end of the first trace?
o This tell-tale behaviour would not occur if the filter had been applied in the time
domain, because the end of the trace would be quite separate from the start of the
trace.
o This undesireable effect occurs if the trace has been
 Fourier transformed into the frequency domain,
 the filter shaping applied by multiplying by the filter spectrum, and then
been
 inverse Fourier transformed back into the time domain.
o This process is actually more computationally efficient and accurate than performing
an expensive and extended convolution operation in the time-domain.
o To make it even more efficient, the package artificially lengthened the time-series
before applying the process and then removed the extension at the end. This is the
reason why the tail of the trace does not perfectly match on the the start of the
trace.
 Convert the filter output into amplitude spectra using the following command:

suspecfx < spike.filter | suxwigb title="Filter spectra bandpass 20Hz to


50Hz" label1="Frequency (Hz)" label2="Trace numbers" &

 Why is the spectrum of the first trace so unpleasant?


o Only part of the first wavelet is present at the start of the trace and it is disrupted at
time zero. The tail end of the trace does not match correctly onto the start of the
trace.
o The step change between the start and the end will disrupt the spectrum.
 Inspect the bell-shaped taper on each end of the spectra. Note that the pass-band does not
have vertical edges, like a boxcar function, which would have created a sinc function
behaviour in the time-domain.
 Expand one of the spectra in the range 0 to 80 Hz and examine the frequency behaviour of
the filter. The perfect passband seems to run from about 23Hz to about 47Hz.
 If the amplitude of the spectrum is 1.0 at 35Hz in the centre of the pass-band, what is the
amplitude at 10Hz, 20Hz, 50Hz and 60Hz?
o Typically, the pass-band of a filter is defined by the frequencies at which the
amplitude is 2-0.5 = 0.707 of the maximum. This is also 3 decibels, since decibels are a
logarithmic scale and 6 decibels is a factor of 2 so 3 decibels is a factor of 2-0.5.
o Here the pass-band was requested to run from 20Hz to 50Hz, although the taper has
started just before these points.
o Similarly, the end of the taper has a value a little greater than zero at the 10Hz and
60Hz points.
 Use the following lines if you want a print of the filter output and the spectra.

supswigp < spike.filter title="Filter bandpass 10,20,50,60 Hz" label1="Time


(s)" label2="Trace number" | lp -d mono
suspecfx < spike.filter | supswigp title="Filter bandpass 10,20,50,60 Hz"
label1="Frequency (Hz)" label2="Trace number" | lp -d mono
Butterworth filter

 The Butterworth filter is a long-established type of filter that is often used in electronics and
geophysical data processing. It has the well known and satisfactory characteristics of a very
flat pass-band and is often used as an anti-alias filter. Sometimes it is called a maximally flat
filter.
 The seismic unix package has a Butterworth filter provided by the subfilter command. Check
its properties and parameters using:

subfilt

 It is as flexible as the sufilter command but requires its parameters to be specified in a


different format.
 Apply the Butterworth filter to the spike series, using the same 20Hz to 50Hz pass-band and
10Hz tapers as used with the normal filter.

subfilt < spike > spike.bfilt fstoplo=10 fpasslo=20 fpasshi=50 fstophi=60


verbose=1
suxwigb < spike.bfilt title="Butterworth bandpass 20Hz to 50Hz"
label1="Time (s)" label2="Trace numbers" &

 Compare the Butterworth filter output to that of the normal filter, if the xwigb window is
still available. Note that the outermost sidelobes appear to be a little larger.
 Inspect the Butterworth filter output on the first trace. Are there any side-lobes at the very
end of the first trace with this filter? If not, why not?
o This tell-tale behaviour does not occur because the filter has been applied in the
time domain.
o The end of the trace is quite separate and unaffected by the start of the trace, unlike
the normal filter's behaviour.
 Convert the Butterworth filter output into amplitude spectra using the following command:

suspecfx < spike.bfilt | suxwigb title="Butterworth spectra bandpass 20Hz


to 50Hz" label1="Frequency (Hz)" label2="Trace numbers" &

 Why are the first two spectra disturbed?


o Neither the first or the second trace have complete wavelets in the time domain.
 How does the pass-band shape differ from that for the normal filter?
o The centre part of the pass band is not as flat and appears to have some 'ripples'.
o The taper parts at the edges of the pass band appear to be steeper and made up of
short straight line segments, whereas the normal filter tapers appear to be broader
and smoother.
o Both of these features will produce a worse behaviour in the time-domain.
 Use the following lines if you want a print of the Butterworth filter output and the spectra.

supswigp < spike.bfilt title="Butterworth bandpass 10,20,50,60 Hz"


label1="Time (s)" label2="Trace number" | lp -d mono
suspecfx < spike.bfilt | supswigp title="Butterworth bandpass 10,20,50,60
Hz" label1="Frequency (Hz)" label2="Trace number" | lp -d mono

 Use the following lines to remove the unwanted graphical windows and spike files.
zap xwigb
rm spike.*
10. Frequency Filtering Data
Frequency filtering

 In this exercise we explore the effect of frequency filtering on the real seismic data. If you
feel uncomfortable with the ideas of Fourier analysis, it is useful to experiment with various
forms of filters and discover by experiment what filtering does to the actual seismic data.

Low-pass filtering

 For this section, the shot at 05m provides a suitable set of test traces. A copy of the section
is included in the handout. Separate out the seismic shot s05 and inspect the character of
the noise in the data traces.

suwind < line > s05 key=sx min=05 max=05


suxwigb < s05 title="s05" label1="Time (s)" label2="Trace numbers" &

 Which traces are most noisy and what is the character of the noise?
 Are there some unwanted parts of the real seismic arrivals that have a different frequency
character from the desired seismic arrivals?
 What frequencies are present in the useful data and what frequencies are present in the
noise? Produce the spectra to check your conclusions.

suspecfx < s05 | suxwigb title="s05 spectra" label1="Frequency (Hz)"


label2="Trace numbers" &

 Most of the sharp noise seems to occur above about 200Hz, so apply the following low-pass
filter to try to cut out the high frequency noise. The point half-way down the filter taper
slope will be 205 Hz.

sufilter < s05 > s05.low1 f=190,200,210,220 amps=1.,1.,0.,0.


suxwigb < s05.low1 title="s05 low-pass filtered at 205 Hz" label1="Time
(s)" label2="Trace numbers" &

 You should be able to see the low frequency seismic arrivals more clearly on the low-pass
filtered traces. Write a short description of the improvement in the appearance and clarity
of the traces.
 It is often difficult to visualise the full character of the noise that has been removed. It is best
to apply the reverse of the filter to the data, which should just leave the noise, in order to
see exactly what has been removed. In this case apply the following high-pass filter to see all
the high frequency noise.

sufilter < s05 > s05.high1 f=190,200,210,220 amps=0.,0.,1.,1.


suxwigb < s05.high1 title="s05 high-pass filtered at 205 Hz" label1="Time
(s)" label2="Trace numbers" &

 On the high-pass filtered traces you should be able to see the high frequency noise that has
been removed.
 Note that a small proportion of the refracted wave energy has been removed as well.
 Why has the refracted wave energy only been removed from the first few traces?
o Consider the implications of the variation of frequency absorption with distance. The
high frequency content of the direct waves will rapidly be attenuated with distance.
 Look at the strong high frequency arrival at about 0.100s on trace 11. It is the strongest of a
series of pulses stretching back towards time zero at zero distance (the axis of the box).
 Measure the first arrival time of this pulse on trace 12, which is 36m from the shot point.
What is the velocity of this arrival? What is this seismic event?
-1
o The velocity should be roughly 36m/0.105s = 343ms .
-1
o This is the velocity of sound in air, which is 330ms , so this is likely to be the air-
wave generated by the sound of the sledge-hammer hitting the aluminium plate.
o Such an air wave is quite common in hammer seismics and it has a frequency of
about 300Hz. It can be removed from seismic traces using a high-cut filter with a cut-
off frequency of about 200Hz.
 Inspect the high-frequency noise spectra to check your conclusions.

suspecfx < s05.high1 | suxwigb title="s05 spectra high-pass filtered at 200


Hz" label1="Frequency (Hz)" label2="Trace numbers" &

 See whether the air wave can be observed more clearly on the traces using a high-cut filter
with a cut-off frequency of about 300Hz.

sufilter < s05 > s05.air f=270,290,310,330 amps=0.,0.,1.,1.


suxwigb < s05.air title="s05 air wave high-pass filtered at 300 Hz"
label1="Time (s)" label2="Trace numbers" &

 Use the following lines if you want a series of print-outs of the filtered traces.

supswigp < s05.low1 title="s05 low-pass filtered at 200 Hz" label1="Time


(s)" label2="Trace numbers" | lp -d mono
supswigp < s05.high1 title="s05 high-pass filtered at 200 Hz" label1="Time
(s)" label2="Trace numbers" | lp -d mono
supswigp < s05.air title="s05 air wave high-pass filtered at 300 Hz"
label1="Time (s)" label2="Trace numbers" | lp -d mono

 Clear away the unwanted xwigb graphical windows.

zap xwigb

High-pass filtering

 Produce and examine the complete s05 spectrum.

suspecfx < s05 | suxwigb title="s05 spectra" label1="Frequency (Hz)"


label2="Trace numbers" &

 What frequency are the surface waves? What frequency limit could be used to cut off the
lower frequency surface waves but not damage the higher frequency direct wave content?
o You may find that the frequency limit will vary from trace to trace.
o Probably a value around 60Hz is the best average discrimination frequency.
 Design a high-pass filter to kill the surface waves, similiar to the one below which has a cut-
off at 55 Hz half-way down the filter taper. Apply it to the s05 shot and inspect the resulting
wiggle trace.

sufilter < s05 > s05.high2 f=40,50,60,70 amps=0.,0.,1.,1.


suxwigb < s05.high2 title="s05 high-pass filtered at 55 Hz" label1="Time
(s)" label2="Trace numbers" &

 Have you reduced the later surface waves?


 Have you created unwanted effects, particularly on traces 10 to 12? What might have
caused these unwanted effects?
 In order to investigate the problems, design the complementary low-pass filter to show the
surface waves that have been removed. Apply it to the s05 shot and inspect the resulting
wiggle trace.

sufilter < s05 > s05.low2 f=40,50,60,70 amps=1.,1.,0.,0.


suxwigb < s05.low2 title="s05 low-pass filtered at 55 Hz" label1="Time
(s)" label2="Trace numbers" &

 Is it now possible to decide what might have caused these unwanted effects?
o Because the surface waves stray off the end of each of the later traces, the
frequency domain filtering tends to affect the start of the traces as well.
 Carefully inspect this picture, which is predominantly of surface waves. The later parts of the
traces appear to be very smooth oscillations.
 Are there any 'unsmooth' oscillations or additional peaks at the front ends of the surface
waves? What may be causing these effects?
o Some traces appear to have extended or double troughs.
o Some traces appear to have leading extended or double peaks.
o This position on the traces is suitable for a refracted or reflected arrival. Hence it
may be dangerous to remove all these surface and other waves by using a low-cut
filter.
o On large scale seismic sections, this should be less of a problem because of the scale
and frequency band of the reflections.

 Use the following lines if you want a series of print-outs of the filtered traces.

supswigp s05.high2 title="s05 high-pass filtered at 45 Hz" label1="Time


(s)" label2="Trace numbers" | lp -d mono
supswigp s05.low2 title="s05 low-pass filtered at 45 Hz" label1="Time
(s)" label2="Trace numbers" | lp -d mono

 Clear away the unwanted xwigb graphical windows.

zap xwigb

Filtering the complete line

 What filtering is it safe to apply to all the traces in the line in order to remove high
frequency noise?
 Apply the following band-pass filter, with cut-offs below 60Hz and above 300Hz half-way
down the taper, to the complete seismic line to reduce unwanted high frequency noise.
 Inspect the output section.

subfilt < line.cdp > line.filter fstoplo=50 fpasslo=70 fpasshi=240


fstophi=260 verbose=1
suxwigb < line.filter title="Line band-pass filtered betwen 60 and 250 Hz"
label1="Time (s)" label2="Trace numbers" &

 Remove the old windows and unwanted files using:

zap xwigb
rm s05.*
rm line.cdp
ls
11. Statics
Preliminary statics

 It is important to apply static time corrections to the seismic section to correct for
o the varying height/depth of the geophones and shotpoints.
o the varying thickness of the weathered zone.
 For shallow reflection surveys, it is unusual to correct for the varying thickness of the
weathered zone because discovering this thickness is usually part of the target for the
seismic survey.
 For this survey, the ground surface was a gently sloping plane, which does not require any
correction, provided that all times and depths are relative to the dipping ground surface.
 However, shots 06 and 07 used the buffalo gun source with the shot at about 1m below the
ground surface, so the total travel time for all the traces is reduced for these shots.

Datum statics

 To correct for the vertical positions of the shots and geophones, the SU package uses the
sustatics command.
 This uses the vertical z position in the trace headers to correct for the vertical positions of
the shots and geophones.
 Use the sustatics command to understand the preliminary static correction details.

sustatics

 If we knew the depths of the buffalo gun shots, their depth parameter in the trace headers
for shots s06 and s07 could be included and used for the static corrections, using the surface
layer velocity.
 We did not record the exact depth of the shots, so a different method is required.

Inspecting the data

 Extract a file containing the shots s05 - s08, where s05 and s08 are normal hammer shots
and s06 and s07 are the buffalo gun shots.
 Plot the shots s05 - s08 as a wiggle section.

suwind < line.filter > s0508 key=sx min=05 max=08


suxwigb < s0508 title="s05 to s08" label1="Time (s)" label2="Trace numbers"
&

 Inspect the 4 shots and notice the earlier arrivals of the traces for shots s06 and s07.
 Use the mouse to select the top 0.050s of the traces and try to measure the average time
shift between the hammer arrivals and the shotgun arrivals.
 In particular, measure the start time of the first troughs for geophone 1 (at offset 14m) for
the 4 shots.
 Average the time shift differences between the hammer shots and shotgun shots.
 Because the depth of layers changes across this area, the time differences will vary from left
to right and an average difference must be taken.
 The following work assumes that the average time shift is about 2.45ms = 0.00245s.

Correlating the data

 One method to determine the average time shift is to use cross-correlation of traces.
 Use the suxcor command to understand the cross-correlation details.

suxcor

 Extract a file containing the first trace for normal hammer shot 05, which will provide a
reference trace.

suwind < s05 > s05.01 key=offset min=14 max=14

 Extract a file containing the first geophone traces for the four shots 05 - 08, which will
provide the test traces.

suwind < s0508 > s0508.01 key=offset min=14 max=14

 Now perform the cross-correlation of the reference trace with the first geophone traces for
the four shots and plot the correlations.

suxcor < s0508.01 > s0508.corr sufile=s05.01


suxwigb < s0508.corr title="S05 - S08 correlations" label1="Time (s)"
label2="Trace numbers" &

 The correlations will have a total length of 0.4s due to the length of 0.2s for both the
reference and the test traces.
 The zero lag correlation occurs around 0.2s.
 The correlation wavelet is longer than the original wavelet, but its highest peak now occurs
in the centre of the correlation.
 Measure the time shifts between these largest peaks to determine the static shift required.
Note that there appears to be a linear trend across the four shots.
 It appears that the static shift required for shot S06 is about 3.5ms and for shot S07 is about
2.0ms.

Shifting the shots

 To make all the shots compatible, it is necessary to move the buried shotgun shots up to the
ground surface to be comparable to the hammer shots.
 This requires the addition of extra time/data points to the front of the shots 06 and 07, so
that all the arrivals are shifted later in time.
 Separate out and display the data for shots 06 and 07.
suwind < line.filter > s06 key=sx min=06 max=06
suwind < line.filter > s07 key=sx min=07 max=07
suxwigb < s06 title="s06 original" label1="Time (s)" label2="Trace numbers"
&
suxwigb < s07 title="s07 original" label1="Time (s)" label2="Trace numbers"
&

 Resample all these traces so that the starting time for shot S06 is 3.5ms earlier at -3.5ms, but
keep the number of points fixed at 400 and the sampling interval fixed at 0.5ms. Similarly,
the starting time for shot S06 is 2.0ms earlier at -2.0ms.
 Then display the data panels before and after the resampling.

suresamp < s06 > s06.static nt=400 dt=0.0005 tmin=-0.0035


suresamp < s07 > s07.static nt=400 dt=0.0005 tmin=-0.002
suxwigb < s06.static title="s06 static shifted" label1="Time (s)"
label2="Trace numbers" &
suxwigb < s07.static title="s07 static shifted" label1="Time (s)"
label2="Trace numbers" &

 Arrange the two data panels side by side, occupying half of the screen each.
 Notice that the resampled data has extra data points added at the front. It is not clear why
they are noisy.
 The time scale reflects the original arrival times, but this effect will be lost when all the data
is recombined.

Building the static corrected line

 Move the hammer shots s00 - s05 at the left end of the line into the new static corrected
line called line.static, using the suwind window command.

suwind < line.filter > line.static key=sx min=00 max=05

 Move the static corrected buffalo gun shots s06 - s07 onto the back of the new static
corrected line, using the normal Unix cat command.

cat < s06.static >> line.static


cat < s07.static >> line.static

 Move the remaining hammer shots s08 - s24 at the right end of the line onto the back of the
new static corrected line, using the suwind window command.

suwind < line.filter >> line.static key=sx min=08 max=24

 View the new static corrected line to see whether the shots s06 - s07 match the rest of the
line better than previously.

suxwigb < line.filter title="Line before statics correction" label1="Time


(s)" label2="Trace numbers" &
suxwigb < line.static title="Line after statics correction" label1="Time
(s)" label2="Trace numbers" &

 Remove the old windows and unwanted files using:


zap xwigb
rm s0508
rm s06*
rm s07*
ls
12. F-K spectra
Spatial spectra

 It is possible to produce two-dimensional Fourier transforms of two-dimensional data sets,


such as rectangular aeromagnetic and gravity maps. This is useful for inspecting the spatial
frequencies in the north and east directions. Image processing techniques can be used for
filtering certain spatial wavelengths in the data or for passing structures with certain
geographical orientations.
 Wavenumber k is the number of wave cycles per unit distance. This linear wavenumber is
the spatial equivalent of frequency f and it is the reciprocal of the wavelength . In addition,
the angular wavenumber is given by = 2 k and is the spatial equivalent of angular
frequency .
 Just as there is a Nyquist frequency, there will be a Nyquist wavenumber, with similar
aliasing and folding problems.

F-K Fourier spectra

 A special case of the two-dimensional Fourier transform is the F-K spectrum of a seismic
section, where the section has travel time t as the vertical coordinate and distance x as the
horizontal coordinate. The transform of time t gives an F frequency spectrum and the
transform of distance x gives a K wavenumber spectrum.
 Apparent wavenumber kapp is the number of wave cycles per unit distance, reaching the
geophones at the ground surface in the direction of the seismic spread. It is the reciprocal of
the apparent wavelength along the spread direction and relates to the apparent velocity
Vapp recorded at a spread of geophones. It is useful to separate particular seismic arrivals.
 A vertically arriving reflection event would have an infinite apparent wavelength and an
apparent wavenumber of zero. Horizontally travelling surface waves will have a short
wavelength and a long period T, which will show on the F-K spectrum as a large
wavenumber k and a low frequency f.
 On an F-K spectrum, a radial line through the origin represents a constant apparent velocity,
which is the gradient of the line given as Vapp = df/dk, or back in the time and space domains
as Vapp = dx/dt. The line may leave the right hand side of the spectrum at the Nyquist
wavenumber and contine from the left hand side with the same gradient.
 A velocity filter can be designed pass a radial fan of apparent velocities on the F-K spectrum.

F-K Fourier spectrum for one shot

 The Seismic Unix package has a variety of facilities for creating and manipulating F-K spectra.
The suspecfk spectrum command computes the F-K spectrum for the complete section of
traces. Use the suspecfk command to understand the F-K spectrum details.

suspecfk
 If you no longer have a copy of the s05 shot, use the following command sequence to
recreate it from the original line file.

suwind <line >s05 key=sx min=05 max=05


suxwigb <s05 title='Shot at 05m' label1='Time (s)' label2='Trace number' &

 Use the following sequence to display the F-K spectrum for all the traces in the s05 shot,
after low-pass anti-alias filtering at 150Hz, resampling at 400Hz/0.0025ms and tapering the
10% end of the time series.
 The headers in the s05 file are incorrectly set to show 1m between traces. The suchw
command relabels the d2 parameter to show 2m between traces. This is necessary to give
the correct wavenumber scale on the F-K spectrum.

sufilter < s05 f=120,140,160,180 amps=1.,1.,0.,0. | suresamp dt=0.0025


nt=100 | suramp tmax=0.225 > s05.temp
suchw < s05.temp > s05.clean key1=d2 a=2 b=0
suspecfk < s05.clean > s05.fk
suxwigb < s05.fk title="S05 F-K spectrum" label1="Frequency Hz"
label2="Wavenumber cycles/m" &

 You can print a copy of the F-K spectrum for your report using the following command.

supswigp < s05.fk title="S05 F-K spectrum" label1="Frequency Hz"


label2="Wavenumber cycles/m" | lp -d mono

Apparent velocity

 Inspect the features of the F-K spectrum. What are the Nyquist frequency and the Nyquist
wavenumber?
o The Nyquist frequency is 200Hz, half the sampling frequency of 400Hz.
-1
o The Nyquist wavenumber is shown as kN=0.25m which is now based on the reset
distance of 2m between geophones.
 Notice that there appears to be a ridge alignment of spectral peaks starting from about F=30
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. This corresponds to a
single event on the seismic section.
 Try to calculate the apparent velocity of the event, using Vapp = df/dk to identify the type of
arrival.
o Starting at the centre at around 30Hz on the middle trace and moving to the 12th
trace at around 40Hz gives df=10Hz.
-1
o The centre trace has a wavenumber of 0.0m and the 12th trace has a wavenumber
of approximately +0.25-1 to give dk=0.25-1.
-1 -1
o This gives an apparent velocity of Vapp = df/dk = 10Hz/0.2m = 50ms . This velocity
-1
ought to be about 250ms .
o If it is measured from the origin at 0Hz on the middle trace and moving to the 12th
trace at around 40Hz gives df=40Hz. This gives an apparent velocity of Vapp = df/dk =
40Hz/0.2m-1 = 200ms-1 which is about right.
 What type of seismic event has been picked out?
o An event this slow is unlikely to be a P-wave and is probably the surface waves.
o This can be checked by measuring the velocity of the surface waves on shot S05.
o Starting at the origin at 14m and 50ms on the first trace and moving to the 12th
trace at 36m and around 100ms gives an apparent velocity of Vapp = 22m/0.05s =
440ms-1.

Reflection events

 Any vertically travelling reflection event will have an infinite apparent wavelength and a zero
apparent wavenumber. If the reflection event has a band of frequencies, it should plot along
the frequency axis at K=0.
 Is there any evidence of such a reflection event on this F-K spectrum?
 What is the band of frequencies in the reflection event?

 Remove the old windows and unwanted files using:

zap xwigb
rm s05.*
ls
13. 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
o apparent velocity filter
o fan filter
o dip filter
o slope filter
o f-k filter
o 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:
o velocity band-pass
o velocity band-stop
o low velocity pass
o 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.


o Has the filter removed all of the surface waves?
o Has the filter left the direct waves?
o Has the filter left the refracted waves?
o 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.
o Has this biassed filter better removed all of the surface waves?
o 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.


o Have the surface waves been removed?
o 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.
o How much of the surface wave energy has been removed?
o How much of the surface wave energy remains?
o 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
14. Gathers
Types of gather

 A gather is a collection of seismic traces made according to some trace header parameter. It
is defined as a side-by-side display of seismic traces which have some acquisition parameter
in common.
 Useful forms of gathers include:
o A common-shotpoint gather: This is the collection of all the data from one shot. This
gather sequence is how the data is usually shot and is the representation in shot
section files S05 and S06 that have been used so far.
o A common-receiver gather: This would be the complete set of data that was
received at one geophone. It would be useful for studying problems arising from
one particular geophone, such as incorrect damping or noise.
o A common-offset or common-range gather: This displays the succession of data
traces which have the same offset distance between the shot point and geophone.
It would use one trace per shot section and is useful give a quick look at the
variations in layering along a line.
o A common-midpoint CMP or common-depthpoint CDP gather: This displays all the
data for the same reflection midpoint, often after correction for normal moveout
and statics. It is the essential gather for NMO correction and stacking. This CDP
gather will appear similar to a common-shotpoint gather, but should have less
variability as all the traces refer to a common midpoint.

Common-shotpoint gather

 The seismic unix command used to extract a particular set of seismic traces is the windowing
command suwind. For example, it is used to extract single seismic shots from the complete
seismic line. Type the command to inspect its parameters:

suwind

 Repeat the process, previously performed in the viewing section, to create the shotpoint
gather S05 for the shot at 05 metres.
 Each seismic trace has various parameters in the header of the trace, so we may use the
shot x position parameter sx to select the desired data. The values of the desired sx value lie
between the identical minimum and maximum values of 05.
 Run the following command to make the common-shotpoint gather file s05, containing just
the traces for the shot at 05m, and then display the gather.

suwind < line.velfilter > s05 key=sx min=05 max=05


suxwigb < s05 title='Shot gather sx=05' windowtitle='Shot gather sx=05'
label1='Time (ms)' label2='Trace numbers' &

 This shotpoint gather S05 should look like a filtered version of the raw data that appears on
the screen of the Geometrics ES1225 as it is being collected.
Common-receiver gather

 We may use the geophone x position parameter gx to select the desired data. In order to get
a full set of arrivals at a geophone, we may choose the detector at the distance of 36m,
which received arrivals from the far shot at sx=00m to the near shot at sx=22m.
 Run the following command sequence to make the common-receiver gather file g36,
containing just the traces for the geophone at 36m, and then display the gather.

suwind < line.velfilter > g36 key=gx min=36 max=36


suxwigb < g36 title='Geophone gather gx=36' windowtitle='Geophone gather
gx=36' label1='Time (ms)' label2='Trace numbers = (sx+2)/2' &

 The appearance of the data seems to be back to front, because the longest offset from shot
sx=00m to the geophone gx=36m gives the first trace and the shortest offset from shot
sx=22m gives the last trace.
 This is because the traces are displayed in the order that they occur in the whole line, in the
sequence of shooting.
 However, because of reciprocity, it could be regarded as identical to the result of a reversed
shot at sx=36m and a line of geophones running from gx=22m back to 00m at the left end of
a reversed line. Think through this carefully until you understand it!
 Compare the display with the copy of the reversed shot at 36m in the handout. The pictures
should look very similar, apart from different offset distance to the geophones.

Sorting traces

 To change the sequence of traces into the usual appearance, we need to reverse the order
of the traces.
 The seismic unix command susort allows the sequence of a set of traces to be rearranged.
Type the command to inspect its parameters:

susort

 The easiest sorting parameter here is the offset distance between the shot and the
geophone, which the seismic unix set header word command sushw has previously
calculated as offset=gx-sx.
 Sort the traces according to increasing offset distance and display the result using:

susort < g36 > g36.sort offset


suxwigb < g36.sort title='Resorted geophone gather gx=36'
windowtitle='Resorted geophone gather gx=36' label1='Time (ms)'
label2='Trace numbers = (offset-12)/2' &

 This now looks like a normal shot section, but remember that it has been produced by
multiple shots and just one geophone. Any abnormalities which occur on all the traces will
have been caused by the geophone, as different shots, temporal noise and recorder
channels were involved in creating each separate trace.
 Remove the unwanted graphics windows and data files.

zap xwigb
rm g36.*
Common-offset gather

 The most interesting type of gather is a common-offset gather. It gives a crude simple
approximation to a fully stacked reflection line.
 The process can be viewed as a synthetic seismic experiment which maintains a fixed
separation between the source and receiver as they are moved as a pair along the seismic
line. This is the actual technique commonly used in Ground Probing Radar experiments.
 Keeping the offset separation rigidly fixed means that any changes in the appearance of the
traces are due to real geological variations along the line.
 The key decision is to choose the optimum offset distance between the shot and receiver at
which the effects of deeper reflecting interfaces may best be observed, with minimum
interference from other arrivals.
 Inspect the printouts for the sections in the handout. At what distances are possible
reflection events most clearly visible?
 Although the reflections are not obvious anywhere, the following comments may be made.
o After the F-K velocity filtering, any reflection events will be much clearer.
o The near traces 1-3 will have near vertical reflections. The first might be at about the
intercept time of the refracted arrival.
o The middle 3 traces 4-6 have a later leading refraction event with reflection events
following close behind.
o The final 6 traces 7-12 have wide-angle asymptotic reflections. The leading
refraction event should be quite late.
 It is difficult to decide which are the best offset distances, so a selection can be tested.
 Use the following commands to select and plot the common-offset gathers with offsets of
14m, 20m, 34m and 36m:

suwind < line.velfilter > offset14 key=offset min=14 max=14


suwind < line.velfilter > offset20 key=offset min=20 max=20
suwind < line.velfilter > offset34 key=offset min=34 max=34
suwind < line.velfilter > offset36 key=offset min=36 max=36
suxwigb < offset14 title='Offset gather at 14m' windowtitle='Offset gather
at 14m' label1='Time (ms)' label2='Trace numbers' &
suxwigb < offset20 title='Offset gather at 20m' windowtitle='Offset gather
at 20m' label1='Time (ms)' label2='Trace numbers' &
suxwigb < offset34 title='Offset gather at 34m' windowtitle='Offset gather
at 34m' label1='Time (ms)' label2='Trace numbers' &
suxwigb < offset36 title='Offset gather at 36m' windowtitle='Offset gather
at 36m' label1='Time (ms)' label2='Trace numbers' &

 Inspect the common-offset plots, especially for 34 and 36m.


o Do they show an undulating refraction event at a time of about 0.03s?
o Do they show any undulating reflection events at a time of about 0.04s?
o Do they show any deeper undulating reflection events?
o Do they show any deeper air wave events?
o Do they show any deeper surface wave events?
o Do the undulating reflection events behave similarly on several plots, with slightly
later arrival times on the larger offset plots?
o Which of the plots displays the reflection events most clearly?
 Use the following line to try the suxmovie presentation of the data.
suxmovie < offset36 title='Offset gather at 36m' windowtitle='Offset gather
at 36m' label1='Time (ms)' label2='Trace numbers' &

 Inspect portions of the xmovie plot. Does the xmovie presentation show more subtle
reflection features?
 Use the following lines if you want sample print-outs of the offset gathered sections.

supswigp < offset36 title='Offset gather at 36m' label1='Time (ms)'


label2='Trace numbers' | lp -d mono
supsmovie < offset36 title='Offset gather at 36m' label1='Time (ms)'
label2='Trace numbers' | lp -d mono

 Remove the unwanted graphics windows.

zap xmovie
zap xwigb

Common-midpoint gather

 Common-midpoint gathers CMP (also called common-depth point CDP) are required for
velocity analyses, Normal Moveout Correction NMO and for stacking.
 The whole line can be sorted so that it is in order of increasing CDP points and also so that
the traces are in the order of increasing offset for each CDP point.
 Sort the complete line with the two stages and then inspect the headers using sugethw.

susort < line.velfilter cdp offset > line.sorted


sugethw < line.sorted key=sx,gx,offset,cdp | more

 Now plot the complete line.

suxmovie < line.sorted title='Line sorted into CDP gathers'


windowtitle='Line sorted into CDP gathers' label1='Time (ms)' label2='Trace
numbers' &

 Use the mouse to expand portions of the line to inspect it.


 In the centre of the line, the traces should be in groups of 12 which look like normal seismic
shot sections. However, they are CDP gather sections with traces all relating to the same
CDP position. The traces have offsets which increase by 2m each time. For each trace, the
shot position sx moves 1m to the left and the geophone postion gx moves 1m to the right.
 At the ends of the line, the traces should form increasingly smaller groups. For example at
the left hand end of the line, the first CDP point will be at cdp=07m with the shot at sx=00m
and the geophone at gx=14m. There will only be one trace giving information on this CDP
point. This is called single-fold data.
 As you move further into the line, the number of traces for each CDP point will increase by
one each time until the full 12-fold data is reached in the central region of the line.
 Similarly at the right hand end of the line the CDP gathers gradually decrease from 12-fold
back to single-fold at the end of the line. Therefore, the quality of the final processed and
stacked data will not be as good at the end of the lines as it is in the centre.
 Use the following to pick out the typical CDP gather at cdp=20m, plot it and inspect it.

suwind < line.sorted > cdp20 key=cdp min=20 max=20


suxwigb < cdp20 title='CDP gather at 20m' windowtitle='CDP gather at 20m'
label1='Time (ms)' label2='Trace numbers' &

 Although this looks like a normal shot gather, it is a CDP gather with the shots and
geophones spaces symmetrically around the single central CDP point.
 Use the following line if you want a print-out of the CDP gathered section.

supswigp < cdp20 title='CDP gather at 20m' label1='Time (ms)' label2='Trace


numbers' | lp -d mono

 Remove the unwanted graphical windows and files.

zap xmovie
zap xwigb
rm g*
rm off*
rm c*
rm line.velfilter
ls
15. Velocity Analysis
Fold of gathers

 A gather is a collection of seismic traces made according to some trace header parameter.
 To perform velocity analyses, the data should be gathered according to cdp point number
and sorted according to increasing offset distance.
 The seismic line was cdp gathered and sorted in the previous section.
 Now inspect the cdp and offset header word values using the seismic unix sugethw
command, which shows all the numbers in the headers of the line. The information is piped
through the more command to throttle back the output.

sugethw < line.sorted key=tracl,sx,gx,cdp,offset | more

 Note the number of traces in each gather, which will give the fold of the gather, as shown in
the CDP gather diagram included in the practical handout.
o The CDP point at cdp=07m, halfway between sx=00 and gx=14, has only 1 trace, so
the data is single-fold.
o The CDP point at cdp=08m has 2 traces, so the data is 2-fold. One trace comes from
sx=00 and gx=16 and one from sx=01 and gx=15.
o Eventually, CDP point at cdp=18m has 12 traces and has reached the maximum of
12-fold.
o The 12-fold data continues through the central region of the line from cdp=18m as
far as cdp=31m, halfway between sx=24 and gx= 38.
o Finally, the right hand end of the line decays back down to single-fold at CDP point
cdp=42m, halfway between sx=24 and gx= 60.

Velocity spectra for synthetic data

 Get a copy of the velocity analysis shell script called velan. Lancaster Unix users can use the
command line below. Non-Lancaster web-readers can get velan file from here.
 Get a copy of the synthetic seismogram shell script called synthesise and the model file
model00deg. Lancaster Unix users can use the command line below. Non-Lancaster web-
readers can get synthesise and model00degfiles from here.

cp /home/ufs1/51/robinsob/geophysics/seismic/geometrics/refl000303/velan .
cp
/home/ufs1/51/robinsob/geophysics/seismic/geometrics/refl000303/synthesise .
cp
/home/ufs1/51/robinsob/geophysics/seismic/geometrics/refl000303/model00deg .

 Run the synthetic seismogram shell script called synthesiseusing the following commands. It
should produce a model velocity section and a synthetic seismogram section, showing 5 reflecting
horizons with velocity increasing with depth.

synthesise

 In the following command, the parameters for the velocity analysis are:
o use the cdp gathered data in file line.sorted
o start at cdp 1
o finish at cdp 1
o step every 1 cdp points
o each gather is 20 fold

velan synth.seg 1 1 1 20

 Enlarge the synthetic seismogram window and put it exactly alongside the velocity spectrum
window.
 At each stage in the velocity analysis, the shell command will perform as follows:
o Display a coloured velocity spectrum contour plot for the particular CDP gather
point, with arrival time in seconds down the vertical axis and test stacking velocities
in ms-1 along the horizontal axis. The contured parameter is the coherent strength
of NMO stacked arrivals for the particular test velocity and arrival time.
o The velocity spectrum should show a line of isolated peaks stretching downwards
from near the top left corner. The peaks will only be strong if there are
corresponding moveout hyperbolae at those particular depths and velocities. In the
case of this data, the V1 velocity is about 500 ms-1, so there should be a peak with
this velocity near the top of the spectrum, opposite the first reflection on the
synthetic window.
o Starting from the top, the operator should put the mouse pointer over a peak in the
spectrum and then press lower case letter s to digitise the point.
o Select the 5 peaks moving down through the spectrum.
o The operator should press upper case letter Q to quit picking the velocities for the
particular CDP point.
o Display a graph of the picked stacking velocities against arrival time.
o Check that the operator is happy with the picked velocities. Enter y (Yes) to continue
or n (No) to reject the picked velocities for that CDP point and try again.
 The results of the velocity analysis are stored in the file stkvel.nmo.

Velocity spectra for field data

 It is best to use the full 12-fold gathers from CDP point 18m onwards for velocity analyses
and the last point with 12-fold data is CDP point 31m.
 To cover the line fairly quickly, perform the velocity analysis at CDP points from 20m to 30m
in steps of 5m to give 3 velocity analyses.
 In the following command, the parameters for the velocity analysis are:
o use the cdp gathered data in file line.sorted
o start at cdp 20
o finish at cdp 30
o step every 5 cdp points
o each gather is 12 fold

velan line.sorted 20 30 5 12

 At each stage in the velocity analysis, the shell command will perform as follows:
o Display a coloured velocity spectrum contour plot for the particular CDP gather
point, with arrival time in seconds down the vertical axis and test stacking velocities
in ms-1 along the horizontal axis. The contured parameter is the coherent strength
of NMO stacked arrivals for the particular test velocity and arrival time.
o The velocity spectrum should show a line of isolated peaks stretching downwards
from near the top left corner. The peaks will only be strong if there are
corresponding moveout hyperbolae at those particular depths and velocities. In the
case of this data, the V1 velocity is about 350 ms-1, so there should be a peak with
this velocity near the top of the spectrum.
o Starting from the top, the operator should put the mouse pointer over a peak in the
spectrum and then press lower case letter s to digitise the point.
o Select about 4 peaks moving down through the spectrum. For this velocity spectrum,
the stacking velocity does not seem to rise much above 350 to 1000 ms-1, although
the second layer should have an interval velocity of about 2000 ms-1,
o The operator should press upper case letter Q to quit picking the velocities for the
particular CDP point.
o Display a graph of the picked stacking velocities against arrival time.
o Check that the operator is happy with the picked velocities. Enter y (Yes) to continue
or n (No) to reject the picked velocities for that CDP point and try again.
o Continue by displaying the velocity spectrum for the next CDP point until all the
chosen distances have been treated.
 The results of the velocity analysis are stored in the file stkvel.nmo.

Editing the velocity file

 Inspect the contents of the velocity pick file using:

more stkvel.nmo

 This shows for each cdp point in turn, the array of picked NMO time and velocity points.
 Most of them appear to be in the range of 350 to 1000 m-1
 Use the ue Microemacs text editor to clean up the file, so all the cdp points are on one line.

ue stkvel.nmo

 When you have finished, the file should look similar to the following.
 Use Escape + z to save the file and exit from the editor.

cdp=20,25,30
tnmo=0.001467,0.01907,0.05035,0.1031
vnmo=408.1,931.4,847.7,1287
tnmo=0.0009777,0.03324,0.04009,0.07137,0.1501
vnmo=418.6,1005,983.7,1224,1538
tnmo=0.0009777,0.03275,0.06893,0.1383
vnmo=408.1,962.8,1015,1528

 This file format is ready to be used in the NMO correction of the reflection data, in the next
section.
16. NMO
NMO correction of one gather

 Investigate the seismic unix NMO normal moveout correction command sunmo to see how
it operates.

sunmo

 It is easiest to see the effects of NMO correction by working on a single gathered section for
one CDP point.
 Get a clean copy of the gather for the CDP point cdp=20m, sorted into offset order.
 Display the gather for the CDP point cdp=20m, for comparison later with the NMO corrected
version.

suwind < line.sorted > cdp20 key=cdp min=20 max=20


suxwigb < cdp20 title='CDP gather at 20m' windowtitle='CDP gather at 12m'
label1='Time (s)' label2='Trace = (Offset-12)/2 m' &

 Now try NMO correction on a single gather cdp20, using the velocity picks in the file
stkvel.nmo and display the corrected section.

sunmo < cdp20 > cdp20.nmo par=stkvel.nmo


suxwigb < cdp20.nmo title='NMO corrected gather at cdp=20m'
windowtitle='NMO corrected gather at cdp=20m' label1='Time (s)'
label2='Trace = (Offset-12)/2 m' &

 The NMO corrected section should have flattened the events which were dipping in the
original section.
 It will only do this correctly for reflection hyperbola which have the correct curvature for
the particular stacking velocities and times in the parameter file.
 The NMO corrected section will have blanked out areas in the top right hand corner. These
areas have been muted because they would contain false events due to the processing
involved in the NMO correction. Consult the book by Yilmaz for a fuller explanation of the
reasons for this.
17. Residual statics
Residual statics

 After normal moveout corrections, it will be easy to see any residual 'jitter' between
adjacent traces due to any remaining uncorrected statics errors, because the NMO
correction should make all the reflections horizontal.
 The remaining uncorrected statics errors may be due to errors at the shot points and at the
geophone points.
 These errors can be determined and separated using the SU package suresstat command,
which performs a surface consistent source and receiver statics calculation.
 Use the suresstat command to understand the residual static determination details.

suresstat

 The residual static errors should be removed before stacking all the gathered traces in order
to produce the highest quality stack.
18. Stacking
Stacking NMO corrected gathers

 In the previous section, the line was corrected for NMO normal moveout. The effects of
offset distance have been removed.
 The traces in each of the CDP point gathers should now show horizontal events for
reflections, so that each trace now corresponds to the single trace model.
 The traces in each of the CDP gathers should now be identical samplings of the reflecting
interfaces, but with different sets of random and geological noise, corresponding to the
different shot and geophone positions, and the different ray paths for the increasing offsets.
 The traces for each of the CDP gathers can be combined to form the desired single trace,
with the signal to noise ratio improved by n0.5, where n is the number of traces in the gather
and thus the fold of the data.

Stacking the line

 Seismic unix provides the sustack command for stacking traces which share a particular
parameter. Check the operation of the command using:

sustack

 The sustack command performs a crude summation stack of the data, without any
corrections unless requested.
 The main trace selection parameter is the value of the cdp keyword and the line has already
been sorted according to this parameter.
 Because the fold of the data varies between the early, middle and later gathers, the stacked
traces will not all have similar amplitudes. Therefore, it is useful to normalise the power in
the traces using the normpow=1.0 parameter.
 Now stack the appropriate data traces in the line and do a wiggle plot of the line. Because
the number of traces is greatly reduced, a wiggle plot should be satisfactory for showing the
variations along the line.

sustack < line.nmo > line.stack key=cdp normpow=1.0


suxwigb < line.stack title='Final stacked line' windowtitle='Final stacked
line' label1='Time (s)' label2='Trace = CDP position - 6 (m)' &

 Note that the fold of the plot will vary along the line, so the quality of the data will vary,
with the 11 traces at each of the line being of reduced quality.
 The first event may have been produced either from the first reflection or from the
refraction event. The undulations should show the depth behaviour of the main boundary
between the first and second layers.
 Try to interpret the physical behaviour of the boundary.
 The subleties of the reflecting interfaces are not emphasised by the wiggle plot. More
features can be seen on the xmovie plot.

suxmovie < line.stack title='Final stacked line' windowtitle='Final stacked


line' label1='Time (s)' label2='Trace = CDP position - 6 (m)' &
 It appears possible to seem some evidence of later reflection events on this xmovie display.
 The two versions of the line may be printed using the following commands.

supswigp < line.stack title='Final stacked line' label1='Time (s)'


label2='Trace = CDP position - 6 (m)' | lp -d mono
supsmovie < line.stack title='Final stacked line' label1='Time (s)'
label2='Trace = CDP position - 6 (m)' | lp -d mono

 Remove the unwanted graphical windows and files.

zap xmovie
zap xwigb
ls
19. AGC correction
AGC correction of final section

 Investigate the seismic unix Automatic Gain Correction AGC command sugain to see how it
operates.

sugain

 For comparison, redisplay the final stacked line as the xmovie plot.

suxmovie < line.stack title='Final stacked line' windowtitle='Final stacked


line' label1='Time (s)' label2='Trace = CDP position - 6 (m)' &

 Prof Jon Claerbout has designed a standard AGC function, which we can test on our data.

sugain < line.stack > line.gain jon=1


suxmovie < line.gain title='AGC line with jon=1' windowtitle='AGC line with
jon=1' label1='Time (s)' label2="Trace = CDP position - 6 (m)" &

 Compare the plots before and after the AGC is applied.


 It appears that the AGC enhances the tail end of our seismic section to see later seismic
events, but perhaps it is a little too strong.
 The following AGC may be applied. It uses an automatic gain amplification with a time
window of 0.05s, which makes each 0.05s section of each trace have the same maximum
amplitude.

sugain < line.stack > line.gain agc=1 wagc=0.05


suxmovie < line.gain title='AGC line with agc=1 wagc=0.05' windowtitle='AGC
line with agc=1 wagc=0.05' label1='Time (s)' label2="Trace = CDP position -
6 (m)" &

 Compare the plots before and after the AGC is applied.


 It appears that the AGC enhances the tail end of our seismic section to see later seismic
events, with a better balance than the Jon Claerbout gain.
 You can plot the data in wiggle trace format using the following command.

suxwigb < line.gain title='AGC line with agc=1 wagc=0.05' windowtitle='AGC


line with agc=1 wagc=0.05' label1='Time (s)' label2="Trace = CDP position -
6 (m)" &

 You can produce printed copies of this line in wiggle and movie format using:

supswigp < line.gain title='AGC line with agc=1 wagc=0.05' windowtitle='AGC


line with agc=1 wagc=0.05' label1='Time (s)' label2="Trace = CDP position -
6 (m)" | lp -d mono
supsmovie < line.gain title='AGC line with agc=1 wagc=0.05'
windowtitle='AGC line with agc=1 wagc=0.05' label1='Time (s)' label2="Trace
= CDP position - 6 (m)" | lp -d mono

 Remove the unwanted graphical windows and files.

zap xmovie
zap xwigb
ls
20. Summary
Summary: the complete processing sequence

 This page is provided to enable the complete processing sequence, applied to the seismic
line, to be repeated quickly and easily.
 The steps may be applied in their totality or individually, depending on the stage reached in
the processing.

Setting the environment

 You can use the following 4 lines to set up quickly the environment your X terminal session
for this practical.

setenv CWPROOT /home/ufs1/51/robinsob/cwp


set path=($path /home/ufs1/51/robinsob/cwp/bin)
cd $scratch
cp /home/ufs1/51/robinsob/geophysics/seismic/geometrics/refl000303/line .

Viewing the data

 Use the following suximage command to get a labelled plot of the whole line of data.
 Use the following supsmovie command sequence to print the whole line.

suximage < line title='Line in raw form' label1='Time (s)' label2='Trace


number' &
supsimage < line title='Line in raw form' label1='Time (s)' label2='Trace
number' | lp -d mono

 Use the following suwind commands to make working files s05 containing just the traces for
the hammer shot at 05m and s06 containing just the traces for the Buffalo gun shot at 06m.
 Use the following suxwigb commands to plot the shots at 05m and 06m.
 Use the following supswigp command sequences to print the shots.

suwind <line >s05 key=sx min=05 max=05


suwind <line >s06 key=sx min=06 max=06

suxwigb <s05 title='Normal hammer shot at 05m' label1='Time (s)'


label2='Trace number' &
suxwigb <s06 title='Buffalo gun shot at 06m' label1='Time (s)'
label2='Trace number' &

supswigp <s05 title='Normal hammer shot at 05m' label1='Time (s)'


label2='Trace number' > s05.ps
supswigp <s06 title='Buffalo gun shot at 06m' label1='Time (s)'
label2='Trace number' > s06.ps
lp -d mono s05.ps
lp -d mono s06.ps
Resampling the traces

 Resample the whole line and keep the old file.

suresamp <line >line.resamp dt=0.0005 nt=400

CDP header labels

 Use the following suchw command to create the correct cdp point header values.

suchw line.cdp key1=cdp key2=sx key3=gx a=0 b=1 c=1 d=2

Killing noisy traces

 It appears that trace 90 is particularly noisy and should be removed. Use the sukill command
to remove it. Then plot the new version of the line to check that the correct trace was
removed.
 When all the correct traces have been killed, replace the original version of the line with the
new version.

sukill <line.cdp >line.kill min=90 nkill=1


suximage < line.kill title='Line without noisy trace' label1='Time (s)'
label2='Trace number' &
suxwigb < line.kill title='Line without noisy trace' label1='Time (s)'
label2='Trace number' &
mv line.kill line.cdp

Frequency spectra

 One of the first considerations with seismic data is to inspect the frequency content of the
traces. This can be calculated using the suspecfx frequency spectrum command, which
computes the f frequency amplitude spectrum for each trace x position.
 The easiest form of resampling is to specify the new sampling interval dt in seconds and
number of time points nt that are required. Use the following command to resample shot 05,
so that a better spectrum may be produced directly. The trace is being 'decimated' from
dt=0.00025s to dt=0.0025s, so the number of points required in the trace will drop from
nt=1000 to nt=100.
 Apply a ramp to the trailing 10% end of the traces, from 225ms to 250ms, and plot the
tapered traces. As the leading ends of the traces are flat and zero, they do not need any
tapering. Then recompute and display the smoother spectra.

suresamp < s05 > s05.resamp dt=0.0025 nt=100


suramp < s05.resamp > s05.taper tmax=0.225
suxwigb < s05.taper title='s05 shot' &
suspecfx < s05.taper | suxwigb title='s05 spectrum' &

 Produce a similar spectrum for shot 06. Compare this spectrum with the shot 05 spectrum
and explain the reasons for the differences.
suresamp < s06 > s06.resamp dt=0.0025 nt=100
suramp < s06.resamp > s06.taper tmax=0.225
suxwigb < s06.taper title='s06 shot' &
suspecfx < s06.taper | suxwigb title='s06 spectrum' &

Frequency filtering

 Apply the following band-pass filter, with cut-offs below 60Hz and above 300Hz half-way
down the taper, to the complete seismic line to reduce unwanted high frequency noise.

subfilt < line.cdp > line.filter fstoplo=50 fpasslo=70 fpasshi=240


fstophi=260 verbose=1
suxwigb < line.filter title="Line band-pass filtered betwen 60 and 250 Hz"
label1="Time (s)" label2="Trace numbers" &

Static corrections

 Separate out the data for shots 06 and 07.


 Resample all these traces so that the starting time is 2.45ms earlier at -2.45ms, but keep the
number of points fixed at 400 and the sampling interval fixed at 0.5ms.
 Then display the data panels before and after the resampling.

suwind < line.filter > s06 key=sx min=06 max=06


suwind < line.filter > s07 key=sx min=07 max=07
suxwigb < s06 title="s06 original" label1="Time (s)" label2="Trace numbers"
&
suxwigb < s07 title="s07 original" label1="Time (s)" label2="Trace numbers"
&

suresamp < s06 > s06.static nt=400 dt=0.0005 tmin=-0.0035


suresamp < s07 > s07.static nt=400 dt=0.0005 tmin=-0.002
suxwigb < s06.static title="s06 static shifted" label1="Time (s)"
label2="Trace numbers" &
suxwigb < s07.static title="s07 static shifted" label1="Time (s)"
label2="Trace numbers"

 Move the hammer shots s00 - s05 at the left end of the line into the new static corrected
line called line.static, using the suwind window command.
 Move the static corrected buffalo gun shots s06 - s07 onto the back of the new static
corrected line, using the normal Unix cat command.
 Move the remaining hammer shots s08 - s24 at the right end of the line onto the back of the
new static corrected line, using the suwind window command.
 View the new static corrected line to see whether the shots s06 - s07 match the rest of the
line better than previously.

suwind < line.filter > line.static key=sx min=00 max=05


cat < s06.static >> line.static
cat < s07.static >> line.static
suwind < line.filter >> line.static key=sx min=08 max=24

suxwigb < line.filter title="Line before statics correction" label1="Time


(s)" label2="Trace numbers" &
suxwigb < line.static title="Line after statics correction" label1="Time
(s)" label2="Trace numbers" &

F-K filtering

You might also like