 GEPH316 Seismic Data Processing Field Data Workshop 2000 9 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.
• ns is the number of sample points in the spectrum.
• d1 is the frequency interval between points in the spectrum.
• 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.*
```

Comments on this information may be mailed to B.Robinson@lancaster.ac.uk