Multibeam Sonar

Multibeam Sonar Theory

Mutibeam sonars, like side-scan sonars, use swath technology. However, unlike side-scan sonars, multibeam sonars produce better depth (bathymetry) data than backscatter data. Although backscatter is also recorded, the imagery acquired is generally of a lower quality than that recorded from side-scan sonars.

Image from Tekmap Consulting.
Acoustic beam comparisons.

(Information derived from Acoustic Techniques for Seabed Classification (2005) by J D Penrose, P J W Siwabessy, A Gavrilov, I Parnum, L J Hamilton, A Bickers, B Brooke, D A Ryan and P Kennedy.)

Mulibeam units may be either mounted on the hull of a ship or mounted in a towfish. They are used to rapidly and accurately map large areas of the sea floor. They can also be used to classify seafloor sediments and locate schools of fish in the water column.

Humminbird 967c 3D

Ocean Ecology developed a multibeam sonar towfish based on the Humminbird 967c 3D unit.

Ocean Ecology’s towfish.

This unit has a traditional downward-looking sonar combined with a multibeam sonar.

Specifications of downward-looking sonar:

  • 455 kHz beamwidth at -3dB = 37°
  • 83 kHz beamwidth at -3dB = 52°
  • Transducer depth range: approximately 300 m at 83 kHz or 75 m at 455 kHz

Specifications of six multibeam sonar beams:

  • 455 kHz
    • Horizontal beamwidth at – 3dB = 11°
    • Vertical beamwidth at -3 dB = 11°
    • Transducer tilt angles from vertical = -25°, -15°, -5°, 5°, 15°, 25°
  • Transducer depth range: approximately 75 m

Power output of unit:

  • 1000 Watts (RMS)

Shown below is a diagram of the beam orientation and coverage for the 3D transducer at -10 dB.

Multibeam beam angles.

Creating Good Multibeam Images

Even with the best software for viewing and processing multibeam sonar data, it may be challenging (and frustrating) to get good multibeam imagery. Creating good multibeam images starts with setting up the equipment properly and operating the boat in a way that generates the best data. Some good suggestions are as follow:

  • The “Lower Range”, “3D Lower Range”, and “Max Depth” should all be set to the same value, preferably 75 m or less (maximum range of the 3D sonar).
  • The “Water Type” should be set to the correct value for the survey.
  • “Pings Per Second” should be set to a specific value (preferably 10 for maximum data resolution), and this value should be recorded.
  • The “2D Beam Select” should be set (preferably to 455 kHz), and this value should be recorded. The unit will generate 12 beams of data at 455 kHz, and only 6 beams of data at 83 kHz.
  • To achieve overlap between transects for mapping, the transects must be spaced apart at a distance no greater than the water depth (e.g., when working in water of depth 20 m, the transects should be 20 m apart). Maximum towfish altitude should be 75 m.
  • Avoid turns or tight bends during imaging. The best data results are achieved from long, straight, parallel transects.

Multibeam Image Processing

Multibeam sonar images generated by the Humminbird 967c 3D unit can be saved to an SD card in the form of one “.dat” file and a folder of the same name containing either two (6 beams) or four (12 beams) “.son” files. If your 967c 3D unit is updated to the most current software version (5.420), it is now possible to directly view (to a limited extent) the saved data using a program called HumViewer (version is 86 – release date 10-04-13 08:00). Shown below is some 967c 3D survey using the HumViewer software.

Survey data from a 967c 3D unit. Top left – 455 kHz 3D beam 3; top right – 455 kHz 3D beams on both sides; bottom right – 455 kHz 3D beam 4; bottom left – 2D trackplot.

Unfortunately, since the Humminbird “.dat” and “.son” files are in a proprietary format, it is necessary to convert them in order to carry out post-processing with the imagery.

I have developed a script for processing Humminbird multibeam data based on PyHum, a Python script written by Daniel Buscombe of the Grand Canyon Monitoring and Research Center. I have modified this script (download it here) to run in the OSGeo-Live environment and to read and convert the Humminbird 3D files.

OSGeo-Live is a self-contained bootable DVD, USB thumb drive or Virtual Machine based on Lubuntu, that allows you to try a wide variety of open source geospatial software without installing anything. It is composed entirely of free software, allowing it to be freely distributed, duplicated and passed around. Most importantly, OSGeo-Live can be used in a Windows environment.


To run the modified version of PyHum, try: -i ./R00001.DAT -s ./R00001/

(this script creates “.mat” [can be read and processed in both Matlab and Python] files of the raw and processed multibeam sonar data and makes waterfall plots of each of the sonar beams. It also generate “.mat” files of the raw data for each beam and plots of depth vs time and latitude vs longitude. As well, it runs a bottom picking routine and plots the depths of the multibeam swaths.)

The red line shows the bottom picking routine for one beam (14) from a multibeam sonar data set. Bottom picking is set for half-peak height on the trailing edge. This prevents the top of macrophytes (e.g., eelgrass in this image) from being selected as the sea floor.
Multibeam sonar multi-trace
A swath plot from a multibeam sonar data set.

To generate a contour plot from all the *multi.mat files in a folder, try:

python -i ./Multibeam/

(this script creates “.mat” and “.csv” files containing longitude, latitude, and depth for all the *multi.mat files in the folder, plots the depths of the multibeam swaths, and creates a contour plot from the swath data. The “.csv” file can be easily imported into programs like Surfer or ArcGIS for improved contouring with more options.)

A swath plot generated from several multibeam sonar transects. This is not the best example (but the only one that I have), as the transects were done in very shallow water and the swaths do not overlap.
A contour plot generated from the multibeam sonar transects shown above.