Back to SIOSEIS Examples.          Go to the list of seismic processes.          Go to SIOSEIS introduction.

```Notes on sub-bottom profilers, 6 July 2005, Paul Henkart
Added Knudsen/Bathy plots on 7 August 2005

From Benthos.com.  Types of Sub-Bottom Profilers:
1)  Passive systems:  Just listen, do not transmit.
2)  Active CW:  Emit a continuous wave.  Use Doppler shift to
determine range.
3)  Active pulse:  Emit a short burst or ping.

Systems discussed in these notes
Knudsen (http://knudsenengineering.com)
Bathy 2000 (Odec) (http://oceandata.com)
Edgetech Xstar (topside unit)  (http://edgetech.com)

SIGNAL PROCESSING
All chirp (swept) systems probably use the same general
signal processing procedures:
1)  Correlate (match filter) to compress and remove the source
signature.
2)  Complex baseband.
3)  Display as instantaneous amplitude which is phaseless and
contains positives only.

Basebanding is:
1)  Divide the signal into two streams (each with half the energy).
2)  Multiply each stream by a sine wave (multiplying in the time
domain is convolving or filtering in the frequency domain).  One
sine wave is phase shifted by 90 degrees (or is a cosine wave).
3)  Sampled with analog to digital converters.
(Basebanding in other fields "downshift" the frequencies so
that the data can be sampled with a lower sample rate, but this
does not seem to be the case with sub-bottom profilers.)

Hilbert transform = quadrature: 90 degree phase shift.

Analytic trace = complex trace:  The positive time domain trace where
the odd samples are the Hilbert transform of the even samples.

Instantaneous amplitude = envelope:  The complex modulus.
SQRT(r**2 + I**2) where r is the real and I is the imaginary of
the complex trace.

Alistar Harding has written up his analysis of the chirp used on
the ARSRP project and on the Edgetech L-source.

Knudsen
SIO Knudsen are all dual sweep frequency, hull mounted.

L = low = 3-6kHz (center is 4.5kHz) (Nyquist sample interval = 83.3 ms)
H = high = 10.5-13.5kHz (center is 12kHz) (Nyquist sample interval = 41.6 ms)

Low frequency is used for sub-bottom profiling and to "get out of the
way of SeaBeam" since it operates at 12kHz.

Transmit    Sampling       Sample
Length      Frequency      Interval
------      ---------      --------
3ms         25510.2048     39
Healy    3ms                        40
6ms         22222.22222    45
Healy    6ms                        40
12ms        18518.51852    54
Healy    12ms                       50
24ms        14836.79525    67.4, truncated to 67
Healy    24ms                       60

LF 12ms, range=1000m caused 26666 samples with sample interval of 50us
LF 24ms, range=100m caused 4096 samples with sample interval of 60us
LF 24ms, range=200m caused 8192 samples with sample interval of 60us
LF ???????????????? caused 32478 samples with sample interval of 70us
LF 24ms, range=1000 caused 22222 samples with sample interval of 60us
HF 12ms, range 1000m caused 23980 samples with sample interval of 55us
(HF 3ms & 12ms, range 1000 is not available)
(LF 3ms, range 1000 is not available)
Knudsen SEG-Y output is at the carrier stage after Step 1 of
the above signal processing steps.  It's just after correlation, so
the waveform could be called correlates.  No basebanding has been
done, so the signal phase is intact, however simply displaying the
data will result in plots with poor signal to noise.  The data should
be converted to the analytic form and then converted to instantaneous
amplitude (envelope).
Hull mounted systems may have a visible periodic variation in
the data caused by the ship heaving.  This effect can be removed
by running a "swell filter" as described in a sioseis example
web page.
A sample sioseis script to plot Knudsen data is:
sioseis << eof
diskin
fgmt 2235 lgmt 2245 allno no
ipath L001_001.sgy end
end
prout
fno 0 lno 9999999 ftr 0 ltr 9999 end
end
agc
winlen .05 end
end
header    # save the number of samples
i120 = i58
fno 0 lno 9999999 ftr 0 ltr 999 end
end
#  fft made number of samples a power of two
header2   # restore the original number of samples
i58 = i120
fno 0 lno 9999999 ftr 0 ltr 999 end
end
gains
type 7 end  # complex modulus
end
t2f
end
end
f2t
type analytic end
end
plot
colors gray opath siofil wiggle 0  ann gmtint anninc 1
trpin 300 def .001 tlines .01 nibs 2859  vscale 25  nsecs 0 end
end
end
eof
sio2sun siofil sunfil.ras
open -a /Applications/GraphicConverter\ US/GraphicConverter.app sunfil.ras

Plot of the enevlope.
Plot of the raw correlates.

Edgetech
The Edgetech chirp is on a fish that is towed.  The data
are transmitted to the surface and digitized and recorded on
an Edgetech Xstar or Triton topside unit.  The XSTAR data
format violates the SEG-Y standard in many places.  Neal
Driscoll uses a dual transducer Xstar system.
List of Edgetech chirp pulses.
The Edgetech Xstar records the data in analytic form,
which is converted to envelope data by Sioseis process Xstar.
Process Xstar also applies a recorded amplitude scalar.
The Xstar looses pings whenever any recording parameters
are changed.  Sioseis' process XSTAR will create dead traces
when missing pings are detected.  Process XSTAR also stacks
the traces of a multi-trace system.
Remember that deep towed systems are not towed at a constant
and the data must be corrected to a constant depth, usually sea
level, in order to be useful.  Driscoll's system does not have
a depth sensor and calculating the fish's depth must be done
some other way (e.g. example 1 or example 2).
The output Edgetech Xstar data format is pseudo-SEG-Y.
Edgetech refused to follow the standard and places many SEG-Y
trace header variables in the wrong location.  The Triton topside
unit is correct, only the Edgetech topside unit is wrong.
I generally process Xstar in two steps: 1) reformat to SEG-Y
and convert to envelope and 2) plot.
sioseis << eof
procs diskin xstar diskoa end
diskin
format edgetech ipath Camp_Rich.7.raw end
end
xstar
type 2 dummies 2 end
end
diskoa
opath data1 end
end
end
eof

sioseis << eof
procs diskin plot end
diskin
fno 59500 lno 61500 allno no
ipath data1 end
end
plot
stime 0 dptr 1 opath siofil
colors gray ann shotno taginc 1000
nibs 2859 trpin 300 def .005
vscale 80 nsecs .05 tlines .01 .05 .1 wiggle 0
end
end
end
eof
sio2sun siofil sunfil.ras
open -a /Applications/GraphicConverter\ US/GraphicConverter.app sunfil.ras

Plot

Bathy 2000 (ODEC)
Brochure says available frequencies at purchase are:
3.5, 7, 12, 16, 18, 22, 34 kHz.
b2000p.htm says "Single / Dual Channel Operation: 3.5/12kHz, 12/200kHz."
Brochure says "Sweep Bandwidth Pulse Amplitude Shaping"
Brochure says "Linear FM Mode   1 kHz, 2 kHz., 5kHz.
specs.pdf says:
200uSec thru 100mSec FM and CW pulse
5.0 kHz FM sweep bandwidth
Cosine, Hamming, and Blackman pulse shaping windows.
theory.pdf says:
"typically operated with a center frequency of 3.5 KHz with a
swept FM signal which can be programmed up to a 4KHz frequency
sweep."
Nice pdf flow diagram.

The bathy2000 output is of the envelope (positive numbers only).
Their "SEG-Y" is byte swapped and has a trailer, so SIOSEIS process
DISKIN parameter    format odec    must be given.

I generally process Bathy2000 data in three steps:
1) reformat to SEG-Y
2) determine the plot start time
3) plot.
Bathy200 data contains a different deep water delay on every
ping so SIOSEIS plot parameter STIME must be used to supress the
automatic insertion of a space whenever the delay changes.
sioseis << eof
procs diskin diskoa end
diskin
ipath y0421-03.dat format odec end
end
diskoa
opath y0421-03.segy end
end
end
eof

Use plot parameter nsecs 0 and do not give parameter stime to
determine a good stime and nsecs.

rm siofil sunfil.ras
sioseis << eof
procs diskin plot end
diskin
fno 3000 lno 4000 allno no
ipath y0901_01.segy end
end
plot
stime 4.0 nsecs 1
#  nsecs 0
colors gray dptr 1 wiggle 0
ann gmtint anninc 5
nibs 2859 vscale 10 tlines  .05 .1
def .03 trpin 300 opath siofil
end
end
end
eof
sio2sun siofil sunfil.ras
open -a /Applications/GraphicConverter\ US/GraphicConverter.app sunfil.r
as

Plot with stime 4.1 nsecs .4

Knudsen/Bathy Healy test on 7 August 2005 in shallow water
Knudsen, 3ms chirp, 50m range Plot (1710.png)
Knudsen, 3ms chirp, 100m range Plot (1730.png)
Knudsen, 6ms chirp, 100m range Plot (1910.png)
Knudsen, 12ms chirp, 100m range Plot (1950.png)
Knudsen, 24ms chirp, 100m range Plot (2010.png)
Knudsen, 24ms chirp, 100m range Plot (2010a.png)(with expanded horizontal scale).
Bathy2000, 25ms chirp Plot (0807-03.png)
Bathy2000, 5ms chirp Plot (0807-04.png)

1)  Increasing the display window range increases the number of
samples in the SEG-Y trace.  No other affect.
2)  Increasing the pulse length decreases the ping rate and thus
the horizontal scale.
3)  Increasing the pulse length from 6 to 12 or to 24 also changed
the sample interval and number of samples in the SEG-Y data.
The time window remains constant.  The ping rate also decreased
resulting in lower spatial resolution.
4)  The long pulses (12 and 24) are poor because of the shallow
water depth and spatial aliasing caused by too low a ping rate.
5)  Healy's draft is 8.5m.  Knudsen data are corrected to a datum of
sea level.  (Use the water bottom multiple).

1)  We don't understand why the data look poor.  We'd like to do
more tests.  Might have overdriven (too much power).  Also need
to figure out why there are small time shifts in the data -
check if the deep water delay is a multiple of the sample
interval.

Notes on Knudsen operational parameters:
Power: Controls the transmit (transducer output) power level.  Changes
the duty cycle of the switchmode transmitter output stage.  High
power produces the strongest echoes but produces more ringing
and reverberations in shallow water.  Using high gain and high
power may saturate the reveiver.
Gain:  Controls the analog receive gain.  Use less in shallow, more
in deep water.
AGC:   Automatic Gain Control adjusts every amplitude on every ping
so that the average amplitude within a sliding window are equal.
AGC is done in the analog part of the system and affects the
recorded data as well as the displayed data.  See TVG.
This AGC is rarely used even though the manual suggests using
it when the bottom tracking algorithm is having trouble.
TVG:   Time Varying Gain.  Set via the "sounder" pull down menu.
Applies a linear gain function from the picked water bottom.
Affects the display and KEB files only.
SHOULD ALWAYS BE USED WITH THE LOW FREQUENCY CHIRP.
Pulse Type:  The length of the output chirp signal.  The longer the
chirp, the more the power (thus penetration).  A longer pulse
is needed in deep water.  The correlation process introduces
edge effects, resulting in lower time resolution, which can
be seen in lower amplitude (weaker) returns.  The edge effects
could not be seen in the 3ms or 6ms examples.  The Pulse Type
also controls the outgoing ping rate, affecting the spatial
resolution.
Processing Gain:  Controls the signal amplitude on the display and in
the KEB files, but not the SEG-Y files.  Each step is a
factor of two (left shift of one bit).  The Knudsen manual
says "0 is best for most" cases.
Range: The size of the data window, both on the display and in the
binary KEB and SEG-Y files.  Data outside the data window
are ignored.  When using SEG-Y recording, a 500m range is
recommended.
Phase: The depth of the center of the data window whose width is
"range".  When using SEG-Y recording the phase must be
adjusted according to the slope of the water bottom.
Auto-Phase:  The data window ("range" wide, centered at"phase") can
be automatically changed depending on the depth automatically
detected.  Unfortunately, this mode creates many SEG-Y files
and requires signficant operator intervention, so it never
used when SEG-Y data are output.
Velocity: The velocity to convert the measured two-way travel-time
to depth.  The accuracy of the depth displayed is only as
good as the velocity used to convert time to depth.

100m of sub-bottom penetration is not uncommon.  If water bottom
is in the middle of the data window, then the range of the data window
must be at least 200m or data will be lost.
```
Back to SIOSEIS Examples.          Go to the list of seismic processes.          Go to SIOSEIS introduction.