Multiple Suppression Filter

Chesapeake Times, Vol 17 | April 2024

SonarWiz 8 introduces a new Reflection Filter to the Sub-Bottom Module that automatically detects secondary reflections SBP data and suppresses them. The filter works in four steps:

  1. Predict the most common multiples based on the shape and depth of the seafloor return.
  2. At each prediction, search for a local maxima to more accurately lock onto the multiple.
  3. Compute a match score for each reflection based on the shape and density of the echo
  4. If the shape score exceeds a user-defined threshold, suppress the multiple using neighboring sample values.

The algorithm uses image processing techniques rather than deconvolution of the wavelets. This requires less knowledge about the waveform to function properly, however it is only effective against multiples that can be pre-determined from the geometry. Still, these are the most common multiples observed in shallow water.

Predicting Multiple Locations

In open water, the primary acoustic reflectors of a SBP system are the reflection off the seabed (Bottom Reflection) and the reflection off of the sea surface (Surface Reflection). The bottom reflection must travel from the source to the seafloor and back again; that is, twice the source altitude, A. The surface reflection must travel from the source to the sea surface and back again, or twice the depth of the fish, D. Under some conditions, the seafloor and the sea surface act like an echo chamber, and the acoustic wave can bounce several times between these two surfaces. The louder the echo the more likely the profiler will detect the echoes in subsequent pings. Figure 1 shows several types of primary and secondary reflections, all of which are combinations of the water depth D or altitude A of the source.

Figure 1: Primary and Secondary Reflections (image courtesy of EdgeTech) 

The first step of the algorithm is to predict the possible locations of secondary reflections based on the depth and shape of the primary reflection. Due to uncertainty in the geometry of the source the secondary reflection predictions may not exactly match the real values. This can be seen in Figure 2 where the red secondary reflections do not exactly match the multiple artifacts in the image. Still, they are close.

Figure 2: Primary (blue) and secondary (red) reflections predicted for the displayed profile.

Finding Reflection Candidates

Once the depth predictions are made, the algorithm does a local maxima search to try and lock onto a reflector that matches the prediction. There is enough uncertainty in the depth of the source that multiples may not fall exactly where the prediction is made. The maxima search looks for a reflection nearby. If a multiple is there, it should be strong (dense) and follow the predicted shape. If a multiple is not present at the predicted location, the maximum search will return a low-density line with random shape. At this stage we have a candidate reflection. Figure 3 shows two examples of the prediction locking onto a real multiple reflection.

Figure 3: The predicted depth of the multiple is shown as a blue line, the local maxima (darkest sample) is shown in red. The green line is the smoothed best guess at where the multiple is located

Filtering Candidates

The reflections detected at the previous stage are called candidates. They are not the final reflections yet. If there are no actual reflections in the vicinity of the prediction, then noise will dominate the local maxima and the resulting candidate will be weak and irregularly shaped. In order to filter out these poor candidates, a two-factor score is computed. The first factor compares the shape of the candidate to the prediction and the second factor compares the density (darkness) of the candidate compared to its surroundings. These factors are combined into a single metric where 0 indicates poor shape matching (with the predicted shape) and low density lines and 100 indicates strong shape matching (with the predicted shape)) and high density (dark) lines.

The user can set a Threshold value between 0 and 100. At high threshold values, only the strongest and best matched multiple candidates are accepted, at low threshold values, weak and sometimes questionable matches are accepted for suppression. Figure 4 shows the predicted multiples compared to the accepted multiples after matching and filtering have been done. Only two multiples were accepted in the end.

Figure 4: Upper plot shows predicted multiple candidates. Lower plot shows only the accepted candidates after filtering by threshold.

Suppressing Multiple Samples

Once a candidate multiple has been identified and accepted, it is removed from the trace. The algorithm uses a moving window that replaces the dark samples of the multiple with the distance-weighted mean of neighboring samples. This algorithm tends to blend well with surrounding data. Figure 5 shows a cartoon of the moving window computing the distance-weighted pixel values across the samples of the multiple.

Figure 5 – In the cartoon above, the sample values are represented by filled circles. In the left-hand column three dark samples represent the multiple to be removed. Moving from left to right, the cartoon shows how the dark samples of the multiple are replaced by the distance-weighted mean values of their neighbors

In Figure 6, you can see an example of the algorithm applied across a power change (darker area). It adapts well and suppresses the multiple smoothly across the transition boundary.

Figure 6 Before and After multiple suppression has been applied. Note that the algorithm works across the dark boundary on the right-side of the profile.


The Reflection Filter is found on the Image tab of the SBP Digitizer Window and also on the Gain Settings window. The only parameter the user needs to adjust is the Threshold setting. This controls the filter that matches predicted multiples with actual multiples. Lower values will attempt to remove fainter reflections, higher values will only attempt to remove strong reflections.

Figure 7 Reflection Filter is found on the Image Options tab of the SBP Digitizer.

It should be noted that this filter can only remove filters it predicts to be present. It will not work if the reflections are not multiples of the sea floor or sea surface and it does not remove reverberation. Fortunately, it is easy to test the filter on your sub-bottom data. Give it a try and let us know what you think.