BioSonics data files

BioSonics .dt4 format (.dt4)

This file format is used by the BioSonics DT and DE series (4000, 5000 and 6000) echosounders. The file format is described in DT4 Data File Format Specification (version 2.3) and .dt4000/DT5000/DT6000 Transducer EEPROM Format Specification (revision 1.3). Both documents are available from https://www.biosonicsinc.com.

Echoview supports the reading of a wide range of calibration settings from the BioSonics data files. Some settings are calculated from instrument and environmental values in the data files.

The DT4 file format Position tuple is the source for the position GPS fix variable. The file may contain NMEA data from which Echoview can derive position GPS NMEA string variables and raw line depth variables and heading variables.

BioSonics VisualAquisition 6 software can output Transducer orientation tuple data in DT4 files. Echoview can derive heading, pitch and roll variables from such files. Two BioSonics algorithms are available. One algorithm for vertical-looking data and one algorithm for side-looking data. The algorithm used by Echoview is determined by the BioSonics categorization of the elevation angle of the beam axis. For more information about BioSonics transducer orientation data contact BioSonics.

Notes:

The discussion on this page includes the following:

Time handling

Time handling in .dt4 data files depends on the ping tuple version number.

Special time handling is required for .dt4 files because ping tuples are not tagged with date and time of day.

V1.0 raw ping tuples

Times for pings between TIME tuples are interpolated. If there are pings before the first TIME tuple, or after the last TIME tuple, then the times for those pings are extrapolated.

V2 ping tuples

The computer system time is included in each tuple. To determine the time for a ping Echoview uses the time from the first TIME tuple in a data file as a time reference and uses the difference between the system time for that tuple and the system time for any other tuple to determine the time of day for the other tuple.

Multiplexed dt4 files

Echoview can read multiplexed DT4 files. If Echoview detects pings before the first TIME tuple then the times for those pings are extrapolated using the next TIME tuple in the file.

File naming

The files must be named in such as way as an alphabetical (text) sorting of the file names will sort them into date/time order.  The BioSonics Visual acquisition software does not necessarily create files in a text sorted order.  Please ensure files are correctly named during logging for correct operation with Echoview.

Underlying data

Underlying data are the undecoded above threshold values from the Biosonics Sample field. Below threshold data are exported as 65,535. Below threshold data in the BioSonics Sample field have RLE (Run Length Encoded) values.

Calculations

The following algorithms are presented as a reference. You do not need to be familiar with this information in order to make use of your data.

Echoview reads the "V2" tuple types defined in these specifications. All tuple types are read except for "Nav string" and "transmitter test" tuples. Echoview also reads the following "V1" (obsolete) tuple types: "V1.0 header", "COORD", and "V1.0 Raw Ping".

Echoview derives the following items from the transducer EEPROM image stored in the channel descriptor tuple. Items used in the formulae (below) are scaled to standard units:

Item

Variable name in formulae

Units in formulae

source level

SL

dB(re 1µPa@1m)

receive sensitivity

RS

dB

wide source level

SLw

dB(re 1µPa@1m)

wide receive sensitivity

RSw

dB

minor-axis center separation

sep_minor

m

The corresponding polarity gives sign information.

major-axis center separation

sep_major

m

The corresponding polarity gives sign information.

minor-axis polarity

polarity_minor

Equal to +1 or -1.

major-axis polarity

polarity_major

Equal to +1 or -1.

minor-axis angle offset

offset_minor

degree

major-axis angle offset

offset_major

degree

major phase aperture

aperture_major

degree

minor phase aperture

aperture_minor

degree

and the following items from the header tuple if available:

Item

Variable name in formulae below

Power Setting

PS

Note: Echoview does not read or use the value for UserCalCorrection in .dt4 files.

Calculation of SV and TS

Echoview decodes (above threshold) "counts" from the data in the BioSonics Sample field recorded in the ping tuples, according to the algorithms presented in the above specification documents.

The data is divided into an Exponent (upper 4 bits) and a Mantissa (lower 12 bits).

SV values are calculated using the following formulae:

Transducer type

Formula for SV

Formula for TS

single beam

20 log (counts) - SL - RS - C + PS + TVGSv + CalibrationOffsetSv

20 log (counts) - SL - RS + PS + TVGTS + CalibrationOffsetTs

split beam

20 log (counts) - SL - RS - C + PS + TVGSv + CalibrationOffsetSv

20 log (counts) - SL - RS + PS + TVGTS + CalibrationOffsetTs

dual beam

narrow beam

20 log (counts) - SL - RS - C + PS + TVGSv + CalibrationOffsetSv

20 log (counts) - SL - RS + PS + TVGTS + CalibrationOffsetTs

wide beam

20 log (counts) - SL - RSw - C + PS + TVGSv + CalibrationOffsetSv

20 log (counts) - SL - RSw + PS + TVGTS + CalibrationOffsetTs

counts = the decoded value evaluated from the underlying data

TVGSv = 20 log R + 2αR

TVGTS = 40 log R + 2αR

where

R is the range from the transducer. TVG is applied when range is greater than 1 meter.

α is the absorption coefficient.

C = 10 log ( c τ ψ / 2 )

where

c = sound speed (m/s)

τ = the pulse length (s)

ψ = the equivalent two-way beam angle (steradians, linear value),

b2 is the mean squared beam pattern factor, given by

where

θa is the major axis 3dB beam angle in degrees on the Calibration page of the Variable Properties dialog box.

θb is the minor axis 3dB beam angle in degrees on the Calibration page of the Variable Properties dialog box.

SL is the SourceLevel in dB on the Calibration page of the Variable Properties dialog box.

RS is the Receive sensitivity in dB on the Calibration page of the Variable Properties dialog box.

Note: By default Echoview calculates a value for the calibration setting TwoWayBeamAngle (dB re 1 Steradian) using 3 dB beam angles read from the data file. Alternatively, you can specify a measured value for TwoWayBeamAngle in an ECS file which you add the fileset.

The absorption coefficient, sound speed, pulse length and CalibrationOffsetSv or CalibrationOffsetTs are displayed in the Calibration page of the Variable properties dialog box. CalibrationOffsetTs/CalibrationOffsetSv represent transducer constants used by the BioSonics equations for power to TS and power to Sv. They may be used when physically calibrating an echosounder. By default CalibrationOffsetSv and CalibrationOffsetTs are set to zero.

From Echoview version 7, the settings CalibrationOffsetSv and/or CalibrationOffsetTs are used and the setting CalibrationOffset is no longer used with BioSonics data. Pre-Echoview 7 EV files that used CalibrationOffset in the ECS file will require editing to correctly apply CalibrationOffsetSv and/or CalibrationOffsetTs instead.

Differences between Visual Analyzer and Echoview

Echoview supports the "20LogR" display used for echo-integration, and the "40LogR" display sometimes used for target strength work. 

The Echoview "20logR" display is a display of SV but the "20logR" display in BioSonics Visual Analyzer software is a display of SV - C. Visual Analyzer adds the C term during echo integration. Thus a comparison of the display of files in Visual Analyzer and Echoview will show a substantial difference, but a comparison of integration results should give good agreement.

SL and RS values are truncated to whole decibels in some versions of BioSonics Visual Analyzer when reading data files created with old versions of Visual Acquisition (contact BioSonics for software version numbers). For example, a value of 56.3 dB recorded in the data file were read in Visual Analyzer as 56.0 dB. Echoview reads and displays the more precise values from the data file. The truncating in Visual Analyzer can result in a difference between Echoview and Visual Analyzer of up to 0.9dB. Echoview Software is in correspondence with BioSonics to further clarify these differences. A calibration offset can be applied on the Calibration page of the Variable Properties dialog box to account for this difference. Contact Echoview support for more details.

Note:

Sv Calculation Warning for Echoview version 2.25 and earlier

Users who have used the reduced power setting on their echosounder should note that in Echoview 2.25 and earlier, the term PS (Power Setting) was not read from the data file. It was necessary to enter it as a CalibrationOffset (dB) on the Calibration page of the Variable Properties dialog box. Hence for Echoview version 2.25 and earlier, the algorithm term Calibration offsetPS is entered under the Echoview 2.25 setting CalibrationOffset on the Calibration page of the Variable Properties dialog box.

From Echoview version 3 to version 7, the PS term is correctly read and is assigned to the setting DT4PowerSetting on the Calibration page of the Variable Properties dialog box. In this case, the value for CalibrationOffset is set to zero by default (because it is not used).

 Let LC = 20 log (counts), then Sv is calculated as follows in Echoview:

Transducer type

versions 2.10.39 and earlier

versions 2.10.40 to 2.25

versions 3.00 and later

single beam

LC - SL - RS + TVG + Calibration offsetPS

LC - SL - RS - C + TVG + Calibration offsetPS

LC - SL - RS - C + PS + TVG + Calibration offset

split beam

LC - SL - RS + TVG + Calibration offsetPS

LC - SL - RS - C + TVG + Calibration offsetPS

LC - SL - RS - C + PS + TVG + Calibration offset

dual beam

narrow beam

LC - SL - RS + TVG + Calibration offsetPS

LC - SL - RS - C + TVG + Calibration offsetPS

LC - SL - RS - C + PS + TVG + Calibration offset

wide beam

LC - SLw - RSw - C + TVG + Calibration offsetPS

LC - SL - RSw - C + TVG + Calibration offsetPS

LC - SL - RSw - C + PS + TVG + Calibration offset

Calculation of R (the range from the transducer)

Each .dt4 file contains three values: InitialBlanking, SamplesPerPing and SamplePeriod.

The distance between two samples is calculated as

D = SoundSpeed * SamplePeriod * 1e-9 * 0.5

"1e-9" converts SamplePeriod from ns to seconds.
"0.5" adjusts for the return trip from the transducer to the target.
SoundSpeed is specified on the Calibration page of the Variable Properties dialog box.

The range of the first sample is calculated as:

R1 = InitialBlanking * D

The range of the last sample (RN) is calculated as:

RN = R1 + (SamplesPerPing - 1) * D

Each sample is considered to cover the range from ½ D above the sample range to ½ D below that range.

When Echoview displays the start and stop ranges of a ping, the start range of the ping will be ½ sample above R1, and the stop range of the ping will be ½ sample below RN.

Example:      SamplesPerPing = 1100, InitialBlanking = 27, SamplePeriod = 24000 and SoundSpeed = 1500.0

D = 0.018; R1 = 0.486; RN = 20.268; StartRange = 0.477; StopRange = 20.277

Note: Echoview cannot represent samples at a range of 0. Consequently, if InitialBlanking is 0, Echoview will discard the first sample and continue as if InitialBlanking were 1. This situation is rare in practice as the data so near to the transducer is generally of no interest and InitialBlanking has a non-zero value to avoid writing this data to disk.

Calculation of angles for split beam transducers

For split beam transducers, angle data are read from the "SPLIT BEAM PING" and converted to mechanical angles.

Echoview unpacks the counts to give the underlying1 angle data for samples, indicated by:

Note:1 DT4 Data File Format Specification: December, 2004. Section 5. Receiver EEPROM image. See also the table of Items.

The corresponding mechanical angles, angle_minor and angle_major in units of degrees are calculated as follows:

angle_minor = ((raw_angle_minor * aperture_minor) / 127) * polarity_minor + offset_minor

if angle_minor >   aperture_minor, then angle_minor = angle_minor - 2 * aperture_minor

if angle_minor < – aperture_minor, then angle_minor = angle_minor + 2 * aperture_minor

angle_major is obtained in a similar way.

A parallax correction in degrees is applied. The correction is range dependent. If the range is R in m, the corrections for the minor-axis and major-axis angles are given by:

parallax_minor = asin(sep_minor * cos(angle_minor) / R)

parallax_major = asin(sep_major * cos(angle_major) / R)

The corrections are subtracted from the angles:

angle_minor = angle_minor - parallax_minor

angle_major = angle_major - parallax_major

Angle calculation warning

Echoview 3.00.79 and earlier misread some values from the .dt4 header file and this may have resulted in the following errors:

Any exports or on screen processing results taken from affected data files will not be correct and should be recalculated as required. You do not have to reset any configuration settings before recalculating results from affected data files, Echoview 3.10 and 3.20 will read the required information from the .dt4 header file automatically.

Minor axis beam width and Major axis beam width were also misread (effectively reversed) but no errors occurred as a result.

Calculation of sound speed and absorption coefficient

Echoview calculates the sound speed and absorption coefficient from the Temperature, Salinity and Frequency values in BioSonics data files.

The sound speed algorithm (Medwin) is:

c = 1449.2 + 4.6*T - 5.5e-2*T*T + 2.9e-4*T*T*T + (1.34 - T/100) * (S - 35) + 1.6e-2*D

where

c = Speed of sound (m/s).

T = Temperature (C) read from the BioSonics data file, such that 0 &le; T &le; 35.

D = Depth (m). For calculations from BioSonics data it is assumed that D = 1.0 m and pH = 8.0. The algorithm itself is valid for 0 &le; D &le; 1000.

S = Salinity (ppt) read from the BioSonics data file, such that 0 &le; S &le; 45.

Echoview calculates absorption coefficient using the algorithm from Francois & Garrison. This algorithm takes the following inputs: Sound speed (Echoview calculation), Temperature, Salinity and Frequency (kHz) from the data file and Depth.

Support and feedback

While Echoview has been tested on a significant number of .dt4 files, the interpretation of these files is complex and there may be file format variants which we have not encountered during our testing. If you have a .dt4 file that is not correctly handled by Echoview, please send the file to support@echoview.com and we will make the necessary changes to Echoview.

See also

Raw Variables derived from BioSonics data files
Calibration settings for BioSonics data

Support for BioSonics model 102 tuples