Driver to decode multibeam data from an Imagenex Model DT101 Xi or DT102 Xi Multibeam Sonar Profiling system.
These models are single instruments integrating the sonar, motion reference unit and sound velocity sensor into one sleek and compact unit.

Main differences between the two models are the operating frequency and the maximum number of beams per ping:

DT101 Xi: 240 kHz, 480 beams / ping
DT101 Xi

DT102 Xi: 675 kHz, 720 beams / ping

DT102 Xi

Driver Information


Imagenex DT101Xi/DT102Xi Multibeam Profiling Sonar (with UTC)

Interface Type UDP  Driver Class Type Freebase
UTC Driver (question) Yes and No Input / Output Input  Executable DrvQPSFreebaseUDP.exe
Related Systems
Related Pages

The driver expects UDP data packets using the D1P file format protocol which can be output by DT100, DT101, DT101Xi and DT102Xi sonars.

Each message consists of a fixed ping header followed by variable data packets containing the individual beam range/intensity values:

Message Sections

1. Ping Header

Contains overhead information such as total number of bytes in this ping, byte offsets and lengths for each section, ping timestamp, frequency, range, gain, etc. (tick) - Time
- Altitude
- SV at head
- Status info
2. Device List Contains information on all connected devices (i.e. sonar head, GPS, MRU, Gyro/Heading, Sound Velocity sensor, etc.). Includes the device name, transfer speed, rep-rate, mounting offsets, mounting angles and data latency
3. Profile Point Data Contains detected slant range, intensity value and status flags for each beam (tick)

- Multibeam data

4. Internal Sensor Data Contains values from optional sensors installed inside the sonar head (i.e. MRU, SV)
5. External Sensor Data Contains values from external sensors connected to the DT100 SIR timing box (i.e. GPS, MRU, Gyro/Heading, SV)
6. Sound Velocity Profile Contains a list of sound velocity vs. depth measurements for the survey area

7. Tide Measurements

Contains a list of tide measurements for the survey area

D1P is Imagenex' own proprietary format and is not explained in detail in this document.

Database Setup

  • In order to decode the multibeam profiling sonar data, add to your template setup a Multibeam Echosounder system and select driver "Imagenex DT101Xi/DT102Xi Multibeam Profiling Sonar (with UTC)".

    Fill in the correct UDP port and press Next to go to the next wizard page.

    • Select the correct node location for the sonar head.

    • Important are the roll, pitch and heading offset correction which should be established using a patch test (multibeam calibration) procedure.
      Note that the roll offset should not have been corrected here for the profile tilt angle which can be entered in the setup of the sonar. The driver is already correcting for this possible profile tilt angle.

    • Although the actual number of beams per ping depends on the sonar and its current settings (max. 480 for the DT101Xi and max. 720 for the DT102Xi), you should leave the Max. beams per ping value at 720.

    • It is expected that sonar data is not corrected for motion.

    • On the 3rd and last wizard page leave all settings at their defaults.
  • In order to decode the altitude and the sound velocity, add to your template setup an Underwater Sensor system and select driver "Imagenex DT101Xi/DT102Xi (Altitude & Sound Velocity)".

    Fill in the same UDP port number and press Next.

  • In order to decode additional information from the D1P header as generic observations, add a Miscellaneous system to your template setup and select driver "Imagenex DT101Xi/DT102Xi (System Data)".

    Fill in the same UDP port number and press Next.

    Several values from the ping header can be decoded as generic observation:

    Name 1) Slot ID 2) Type
    Status Byte 1 STATUS1 integer 3)

    Is sensor available (1) or not (0):
    Bit 0: reserved
    Bit 1: internal sensors
    Bit 2: external sensors
    Bit 3: sound velocity profile
    Bit 4: tide measurements

    Status Byte 2 STATUS2 integer 3)

    Is the beam data corrected (1) or not corrected (0) for:
    Bit 0: heave
    Bit 1: pitch
    Bit 2: roll
    Bit 3: yaw
    Bit 4: induced heave (lever arm offset)
    Bit 5: sound velocity at head
    Bit 6: ray bending
    Bit 7: tide

    Mode MODE integer 3) Combined Display Mode and Transducer Up/Down Mode:
    Altitude ALT float Same value as the range of the nadir beam
    Sound Velocity SV float Sv at the head, used for the range calculation for each beam

    1) The name can be any free text, with a maximum of 16 characters.

    2) Use the exact case-sensitive Slot ID as listed in the table.

    3) Decimal representation of bit-wise flags. For example when the STATUS1 decimal value is 12 then the binary representation is 00001100. This means that bit 0 and bit 1 are zero and bit 2 and bit 3 are one so this means external sensors and svp are available.


The driver has no user-interface, so you will need to use the I/O Alert Display and the Raw Multibeam Display to see if data is received and decoded.

Use an Alert Display to see if data is coming in at the I/O port:

Use a Raw Multibeam Display to visualize the uncorrected raw multibeam data:

Use a Generic Display to show additional values decoded from each ping header:

The reported altitude value is the same as the nadir beam range.