BioSonics Sv, TS, range and angle calculations

Echoview reads BioSonics "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 specification documents.

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

  • If the Exponent is non-zero, counts is evaluated by adding 0x1000 to the Mantissa and then shifting the Mantissa left by (Exponent -1) bits.
  • If the exponent is zero, counts is equal to the Mantissa.

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)

Note: The term for C can use a SoundSpeed-Depth profile instead of SoundSpeed. See also: Using sound speed profile data.

τ = 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 ReceiveSensitivity 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.

Notes:

  • The values of SL, RS, Rsw and PS can be displayed in the Details dialog box, however they cannot be changed.  If the values in the data files are not correct then a CalibrationOffsetSv or CalibrationOffsetTs can be applied on the Calibration page of the Variable Properties dialog box. Be aware the same correction is applied to the same variable in all files in the EV fileset.
  • Echoview Software 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.
  • Samples within a ping with unspecified values are assigned the special data value -999 dB.

 

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:

  • 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.

Notes:

  • angle_minor is handled as the minor axis angle and offest_minor is handled as MinorAxisAngleOffset on the Calibration page of the Variable Properties dialog box.
  • angle_major is handled as the major axis angle and offset_major is handled as MajorAxisAngleOffset on the Calibration page of the Variable Properties dialog box.

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:

  • 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 and point to a sample.
  • Press CTRL+K.
  • On the Details dialog box, view the File pane.
  • If the values under Major phase aperture (degrees) and Minor phase aperture (degrees) 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 and point to a sample.
  • Press CTRL+K.
  • On the Details dialog box, view the File pane.
  • If the values under Minor-axis element distance polarity or Major-axis element distance polarity 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.

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 1975) 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 (1982). This algorithm takes the following inputs: Sound speed (Echoview calculation), Temperature, Salinity and Frequency (kHz) from the data file and Depth.

See also

BioSonics data files