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 notesKnudsen (http://knudsenengineering.com) Bathy 2000 (Odec) (http://oceandata.com) Edgetech Xstar (topside unit) (http://edgetech.com)
SIGNAL PROCESSINGAll 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.
KnudsenSIO Knudsen are all dual sweep frequency, hull mounted. Download Lee Ellett's pdf operation guide. 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 procs diskin header t2f f2t gains header2 plot end 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.
EdgetechThe 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 waterKnudsen, 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) Comments on Knudsen test results: 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). Comments on the Bathy data: 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.