Chesapeake Times, Vol 14 | July 2023
Empirical Gain Normalization (EGN)
The EGN algorithm is a black-box statistical approach to normalizing the backscatter intensity of mapping sonars. It is black-box, because the algorithm works with the observed amplitude values exclusively and makes limited assumptions about internal mechanics of the sonar system. It is statistical, because the correction tables are built empirically. This allows the algorithm to adapt to a wide range of sonar designs and configurations.
EGN has been available in SonarWiz since 2007. Originally, EGN was used for sidescan only, when SonarWiz added the bathymetry module, CTI wrote a new EGN library to support bathymetric sonars. In SonarWiz 7, the engineers combined the sidescan and the bathymetry code bases into a single EGN library.
Today, CTI is working on a new version of EGN that we hope will produce even better results. The new EGN user interface will allow updating EGN tables after they have been created and allow users to move EGN tables between projects. More on these ideas below.
Beam Angle Correction and EGN
One of the goals of the EGN rewrite is to remove the need for the Beam Angle Correction (BAC) algorithm. BAC is an older style of beam pattern correction that predates EGN. Although EGN should completely replace BAC and has many advantages over BAC, there exist – frustratingly – some datasets where BAC just works better (see Figure 1). Figuring out why this is the case has taken some detective work.
Figure 1: Beam Angle Correction (BAC) performs better at nadir than Empirical Gain Normalization (EGN).
It turns out that the problem is the result of a bug, and a bug fix done years ago. First the bug. In the original algorithm, the EGN tables were stored using across-track distance and range from the transducer. In this format, neighboring samples on the seabed are neighboring bins in the table. Interpolating the value of a sample that falls between the nodes of the table is a simple matter of bilinear interpolation. When the algorithm was adapted for bathymetry, however, the table format was changed to store beam angle versus slant range. A flat seabed in this format results in a steep U-shaped profile in the tables (see Figure 2). In this format, neighboring samples on the seafloor are NOT neighbors in the table and you cannot use bilinear interpolation to look up sample values that fall between nodes, but we did. This is the bug. What should have been done, is account for the curvature of the seabed profile projected onto the tables. This old version was returning the wrong numbers.
Occasionally, customers were seeing along-track stripes in their data resulting from the incorrect table interpolation. To reduce this problem, CTI introduced smoothing to the tables. In most cases this completely eliminates the stripe artifacts due to incorrect lookup values, but it does reduce the sensitivity of the table in areas where the energy field of the sonar is changing rapidly, such as at the edges of the main lobes in sidescan sonar configurations. It is this reduction in angular sensitivity that caused EGN to be less effective at nadir than BAC on some data sets.
Figure 2: EGN table of average amplitudes by beam angle and range.
In the latest version of EGN (2), the interpolation algorithm has been corrected to account for the geometry of the seafloor as represented in a beam angle and range table. This reduces the need for table smoothing and increases the sensitivity and accuracy of amplitude corrections. The result is that EGN 2 produces results nearly identical to BAC on difficult data sets and works even better than EGN 1 on regional data sets where BAC is not suitable (see Figure 3).
Figure 3: Beam Angle Correction (BAC) compared to Empirical Gain Normalization (EGN) 2. The EGN 2 correction is significantly better than EGN 1 shown in Figure 1.
Managing EGN tables
The more data you collect, the better EGN performs. There is no reason an EGN table created on one survey project can’t be carried over to another survey project that is using the same sonar equipment. Some customers have figured out that you can copy the EGN tables from one SonarWiz project to another and reuse a good set of tables for multiple projects. But there is no way to update an existing table with new data. Or, for that matter, to remove a bad line from a table that is introducing problems.
In the next release of EGN our plan is to introduce support for importing EGN tables from an existing SonarWiz project. In addition, this change will allow the user to append new data to an existing EGN table and remove data from an existing table. An advantage is for power used can then build up extremely accurate signatures of their equipment over time. As more data is added to the tables, the better the signature of the sonar becomes, and the better the corrections available.
CTI is always trying to improve SonarWiz. We would be interested in hearing from users about these changes. Do you continue to use BAC instead of EGN? Are there other gain functions you would be interested in seeing implemented in a future version of SonarWiz? Send us your comments to: <firstname.lastname@example.org>