Impulse Noise Removal

The Impulse noise removal operator identifies and adjusts sample values that are significantly higher than those of surrounding samples at the same depth.

Based on the combination of settings applied, it can be used to adjust the value of samples that are affected by impulse noise such as interference from other sonars (which manifest as short ‘flecks’ on an echogram). Care is required to prevent it from adjusting good data.

The operator is based on the "impulsive noise (IN)" algorithm and definitions described in Ryan et al (2015).

Settings are specified on the Impulse Noise Removal page.

Echoview accepts operands of the following data type:

  • Complex power dB
  • Complex Sv
  • Complex TS
  • Power dB
  • Pulse compressed complex power dB
  • Pulse compressed complex Sv
  • Pulse compressed complex TS
  • Sv
  • TS


The Impulse Noise Removal Variable Properties dialog box pages include (common) variable pages and these operator pages:

Operands page

Impulse Noise Removal page




Exclude above

Specifies the exclude above line.

Exclude below

Specifies the exclude below line.

Exclude below threshold (dB at 1m)

Specifies a sample Sv or TS exclusion threshold. This setting excludes the impulse noise algorithm from samples with values that are

similar to no acoustic return. Any smoothed sample value below the threshold will remain unchanged.

The specified threshold value is the dB value at 1m for the Constant in the Constant + TVG curve algorithm as described for the Data generator operator.




Vertical window units

Specifies the Vertical window units as Samples or Meters.

Vertical window size (samples)

Specifies the Vertical window size of the Vertical smoothing window. The smoothing window is one ping wide,

Context Window



Horizontal size (pings)

Specifies the width in pings of the Context Window. The value must be between 3 and 9 pings.

The operator assumes that impulse noise occurs within a single ping, and a width of 3 is sufficient to test pings on either side. However, multiple adjacent pings may be affected by impulse noise. In that case, a width larger than 3 can test pings further out.




Threshold (dB)

Specifies the impulse noise threshold in decibels. The center sample of the Context Window is deemed to be dominated by impulse noise if it exceeds its neighbors by more than this value.

Noise sample replacement value

Specifies the replacement method used for samples identified as dominated by impulse noise.


The sample is replaced by the mean of the two neighbors used to identify it as noise.

No data

The sample is replaced by no data.

Impulse noise removal algorithm

The algorithm compares a single current sample to the adjacent samples at the same depth in a Window of specified width. The algorithm looks for the closest sample on each side that is more than the threshold less than the current sample. If it finds one on both sides then the current sample is impulse noise, and is replaced by the mean of the two samples found.


  • The operator algorithm may fail to identify noise in the set of start and end pings of the echogram. This is due to the handling of boundary pings with respect to the Context window. To address this issue, you can inspect the set of first and last pings and use regions and/or advanced operators to deal with manually identified noise.
  • In Ryan et al (2015), the Window width is three. The algorithm allows the width to be set by the user.
  • In Ryan et al (2015), impulse noise is replaced with "no data" values. The Impulse Noise Removal operator provides the option to instead replace them with the mean of the two samples used to make the noise identification.
  • Samples in adjacent pings may shift in depth under heave compensation and this may affect the impulse noise.
  • No data values within the Context Window are not candidates for the impulse noise comparison.
  • Impulse noise example.
  • In Ryan et al (2015), TS and complex data are not considered.
  • Complex and pulse compressed complex acoustic variables are largely handled in a manner similar to single frequency power, Sv or TS variables. When a new sample value is required, it is assumed that the complex phase for the sample is unchanged and the complex magnitude of the sample is calculated as for ComplexMagnitudeNew.
  • See also: The Data thresholding section on the Noise, background object and signal removal in Echoview page.
  • See also: The Effect of No data samples on the Wideband Frequency Response graph page.


Context Window for the two-sided impulse noise comparison

Impulse noise removal window

  1. Apply Exclusion lines.
  2. Smooth the echogram data as specified by the Vertical smoothing window.
  3. With each included sample:
    1. If the smoothed current sample value is less than Exclude below threshold, then the result is the original unsmoothed value.
    2. Otherwise evaluate the impulse noise comparison with smoothed samples on either side of the current smoothed sample vi,j:
      1. Impulse noise test
      2. If the comparison is false then the result is the original unsmoothed value.
      3. Otherwise the result is the specified replacement value.
  4. If the Mean replacement method is specified then the replacement value is the mean of the two neighbor values that identified the noise Impulse noise mean replacement value.
    1. If the window size is greater than 3 then k and m designate the nearest neighboring samples that differ from the current sample by more than the (Sample) Threshold.


Exclusion lines = The lines specified under Exclusion on the Impulse Noise Removal page in the Variable Properties dialog box of the virtual variable.
Vertical smoothing window =

The vertical smoothing window as specified under Smoothing on theImpulse Noise Removal page in the Variable Properties dialog box of the virtual variable.

Smoothed sample threshold =

The value specified as Exclude below threshold (dB at 1m) under Exclusion on theImpulse Noise Removal page in the Variable Properties dialog box of the virtual variable.

Context Window


Value for Horizontal window size (pings) under Context Window on theImpulse Noise Removal page in the Variable Properties dialog box of the virtual variable.

The current ping i is the center ping of the Context Window.



The value for the impulse noise threshold. It is specified as Threshold (dB) on theImpulse Noise Removal page in the Variable Properties dialog box of the virtual variable.

i =

Index for the current ping.

j = Index for the current sample.
n =

Offset from the center ping.

Impulse noise values for n

v =

Sv in dB re 1m-1


TS in dB re 1m2


Power in dB

Noise sample replacement value =

The value calculated using the specified Noise sample replacement value method on the Impulse Noise Removal page in the Variable Properties dialog box of the virtual variable.

Available methods are:

  • Mean
  • The mean sample value is calculated in the linear domain and then converted to dB.
  • No data

See also

About virtual variables
Background noise in Echoview
Background noise calculation on the Analysis page
Transient Noise Sample Removal operator
Attenuated Signal Removal operator
COM EvImpulseNoiseRemoval
Using a SoundSpeedProfile: Notes