This file format is used by the BioSonics DT and DE series (4000, 5000 and 6000) echosounders. The file format is described in .dt4000/DT5000/DT6000 Data File Format Specification (version 6.5) and .dt4000/DT5000/DT6000 Transducer EEPROM Format Specification (revision 1.3). Both documents are available from http://www.biosonicsinc.com.
Echoview supports the 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.
Note: The Simrad EP500 software can also produce files with a .dt4 extension. These files are not supported by Echoview, however the EY500/EP500 .DG4 file with the same name contains the same data, and is supported by Echoview.
The discussion on this page includes the following:
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.
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.
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.
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.
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 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.
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:
|
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.
Echoview decodes (above threshold) "counts" from the data in the Biosonic 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 |
||
|
single beam |
20 log (counts) - SL - RS - C + PS + TVGSv + Calibration Offset |
20 log (counts) - SL - RS + PS + TVGTS + Calibration Offset |
|
|
split beam |
20 log (counts) - SL - RS - C + PS + TVGSv + Calibration Offset |
20 log (counts) - SL - RS + PS + TVGTS + Calibration Offset |
|
|
dual beam |
narrow beam |
20 log (counts) - SL - RS - C + PS + TVGSv + Calibration Offset |
20 log (counts) - SL - RS + PS + TVGTS + Calibration Offset |
|
wide beam |
20 log (counts) - SL - RSw - C + PS + TVGSv + Calibration Offset |
20 log (counts) - SL - RSw + PS + TVGTS + Calibration Offset |
|
counts = the decoded value evaluted from the underlying data
TVGSv = 20 log R + 2aR
TVGTS = 40 log R + 2aR
where
R is the range from the transducer
a is the absorption coefficient
C = 10 log ( c t y / 2 )
where
c = sound speed (m/s)
t = the pulse length (s)
y = the equivalent two-way beam angle (steradians),
![]()
b2 is the mean squared beam pattern factor, given by
![]()
where
qa is the major axis 3dB beam angle in degrees on the Calibration page of the Variable Properties dialog box.
qb is the minor axis 3dB beam angle in degrees 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 Calibration offset are displayed in the Calibration page of the Variable properties dialog box. A Calibration offset is used to achieve the accurate conversion of TS to Sv and vice versa, and may be used when physically calibrating an echosounder. You can have a different Calibiation offset for Sv and TS. By default Calibration offset is set to zero for BioSonics data. See also the Hydroacoustics forum topic: "Sv calibration constant" for BioSonics DTX data.
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. Myriax 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.
The values of SL, RS, Rsw and PS can be displayed in the Show Information dialog in Echoview, however they cannot be changed. If the values in the data files are not correct then a Calibration offset (dB) can be applied on the Calibration page of the Variable Properties dialog box, however the same correction is applied to the same variable in all files in the EV fileset.
Myriax recommends that BioSonics users check their calibrations in Echoview. If the wide beam of a dual beam echosounder is to be integrated then calibration should definitely be checked in Echoview as the wide-beam beam-parameters are not incorporated in the constant C. A small calibration correction would be expected.
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 Calibration offset (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 setting Calibration offset on the Calibration page of the Variable Propreties dialog box.
From 3.00 onwards 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 Calibration offset 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 |
|
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.
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:
raw_angle_minor
raw_angle_major
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
Echoview 3.00.79 and earlier misread some values from the .dt4 header file and this may have resulted in the following errors:
Phase aperture reversal
The phase aperture values in the .dt4 header file were misread. The two values were effectively reversed, yielding minor axis angle values that were incorrect by a factor equal to the ratio (major axis phase aperture/minor axis phase aperture) and major axis angle values that were incorrect by a factor equal to the ratio (minor axis phase aperture/major axis phase aperture). To check whether your data are affected:
Display an 'Angular position split beam pings' echogram.
On the Shortcut (right-click) menu, click Show Information.
Click the File tab.
If the values in the Major phase aperture (degrees) box and Minor phase aperture (degrees) box are not equal, then angle values in that data file will have been affected.
Parallax calculation error
The alongship (minor) and athwartship (major) element distance polarities were not read from the .dt4 file header. Where these values were not equal to zero, a constant error in the minor axis or major axis angle values equal to two times the angle parallax correction will have occurred. To check whether your data are affected:
Display an 'Angular position split beam pings' echogram.
On the Shortcut (right-click) menu, click Show Information.
Click the File tab.
If the values in the Minor-axis element distance polarity box or Major-axis element distance polarity box are non-zero, then the angle values in that data file will have been affected.
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.
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 ≤ T ≤ 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 ≤ D ≤ 1000.
S = Salinity (ppt) read from the BioSonics data file, such that 0 ≤ S ≤ 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.
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.
Raw Variables derived from BioSonics data files
Calibration settings for BioSonics data
Support for BioSonics model 102 tuples