Non-linear Filter

Use the Non Linear Filter option (NLFILT GX) to apply a non-linear filter to a channel.

The option is available under the following menus & extensions:

  • Database Tools > Filters
  • Database Tools > Array Channels

Gravity and Terrain Correction:

  • Moving Platform Gravity > Navigation Corrections > De-Spike
  • Moving Platform Gravity > Filters > Non Liner Filter

Non-linear filters are very good for removing high amplitude and short wavelength noise from data. A non-linear filter can be followed by a linear low-pass filter to smooth any low-amplitude noise that may remain.

The non-linear filter is always applied before the linear filter.

Non Linear Filter dialog options

Channel to filter

Name of the input channel

Script Parameter: NLFILT.IN

Output channel

Name of the output channel (created if does not exist).

Script Parameter: NLFILT.OUT

Filter width

Maximum width of the noise in data points. Features that are wider than this width will not be changed. Default is 1.

Script Parameter: NLFILT.WIDTH

Filter tolerance

Only noise of greater amplitude than this tolerance will be changed. The default is 10% of the standard deviation.

Script Parameter: NLFILT.TOLERANCE

Application Notes

The non-linear filter is a low-pass filter that processes the data based on logic. Simply stated, if the half-wavelength of a feature is shorter than the specified width and its amplitude exceeds the specified tolerance, the feature is removed and replaced by interpolated values based on the surrounding data.

The filter is ideal for removing very short wavelength but high amplitude features from data. It is often thought of as a noise spike-rejection filter as it is a particularly effective way to remove spikes from the data. It can also be effective for removing short wavelength geological features, such as signal from surficial features.

The NLFILT GX uses a method similar to that described by Naudy and Dreyer (1968)1 to locate and remove data that is recognized as noise. The algorithm is 'non-linear' because it looks at each data point and decides if that data is noise or valid signal. If the point is noise, it is simply removed and replaced by an estimate based on surrounding data points, and parts of the data that are not considered noise are not modified at all. Linear filters, such as those used in BANDPASS, HIGHPASS and LOWPASS, lack such a decision capability and therefore modify all data.

The decision algorithm is based on the width of features in the data and the amplitude of those features relative to a local background. In order to be considered noise, a feature must be narrower than a specified width and of greater amplitude than a specified amplitude tolerance. The width must be specified in number of data points. For example, single spikes in the data will have a width if 3 points. The non-linear filter amplitude tolerance, if specified, uses the actual data units, for example, 5 gammas. If no tolerance value is specified, the default value is set to equal a percentage of the range of data in the grid or XYZ file.

Reference

  • H. Naudy and H. Dreyer, "Essai de filtrage nonlineare appliqué aux profils aéromagnétiques", Geophysical Prospecting, vol. 16, no. 2 (1968), pp. 171-178