In signal processing, a nonlinear (or non-linear) filter is a filter whose output is not a linear function of its input. That is, if the filter outputs signals R and S for two input signals r and s separately, but does not always output αR + βS when the input is a linear combination αr + βs.
Both continuous-domain and discrete-domain filters may be nonlinear. A simple example of the former would be an electrical device whose output voltage R(t) at any moment is the square of the input voltage r(t); or which is the input clipped to a fixed range [a,b], namely R(t) = max(a, min(b, r(t))). An important example of the latter is the running-median filter, such that every output sample Ri is the median of the last three input samples ri, ri−1, ri−2. Like linear filters, nonlinear filters may be shift invariant or not.
Non-linear filters have many applications, especially in the removal of certain types of noise that are not additive. For example, the median filter is widely used to remove spike noise — that affects only a small percentage of the samples, possibly by very large amounts. Indeed all radio receivers use non-linear filters to convert kilo- to gigahertz signals to the audio frequency range; and all digital signal processing depends on non-linear filters (analog-to-digital converters) to transform analog signals to binary numbers.
However, nonlinear filters are considerably harder to use and design than linear ones, because the most powerful mathematical tools of signal analysis (such as the impulse response and the frequency response) cannot be used on them. Thus, for example, linear filters are often used to remove noise and distortion that was created by nonlinear processes, simply because the proper non-linear filter would be too hard to design and construct.
From the foregoing, we can know that the nonlinear filters have quite different behavior compared to linear filters. The most important characteristic is that, for nonlinear filters, the filter output or response of the filter does not obey the principles outlined earlier, particularly scaling and shift invariance. Furthermore, a nonlinear filter can produce results that vary in a non-intuitive manner.
In short, a nonlinear filter is a filter whose output is not a linear function of its input. That is, if the filter outputs signals R and S for two input signals r and s separately, but does not always output a*R + b*S when the input is a linear combination a*r + b*s.
Nonlinear filters have many applications, especially in the removal of certain types of noise that are not additive and the simplest nonlinear filter to consider is the median or rank-order filter. In the median filter, filter output depends on the ordering of input values, usually ranked from smallest to largest or vice versa and widely used to remove spike noise that affects only a small percentage of the samples, possibly by very large amounts. A filter support range with an odd number of values is used, making it easy to select the output.
Actually, all radio receivers use non-linear filters to convert kilo- to gigahertz signals to the audio frequency range; and all digital signal processing depends on nonlinear filter (ADC) to transform analog signal to binary numbers. However, it is very difficult to design good nonlinear filters, because the most useful mathematical tools of signal analysis, impulse response and frequency response, cannot be used on them.
Several principles defines a linear system. The first one is the basic definitions of linearity. If a system is defined to have an input as k[n] = a*k [n1] +b*k [n2], then the linear system response is q[n] = a*q [n1] +b*q [n2]. It is fundamental property to linear system design, and is known as superposition. So, a system is said to be nonlinear if this equation is not valid. That is to say, when the system is linear, the superposition principle can be applied. This important fact is the reason that the techniques of linear-system analysis have been so well developed.
Signals often get corrupted during transmission or processing; and a frequent goal in filter design is the restoration of the original signal, a process commonly called "noise removal". The simplest type of corruption is additive noise, when the desired signal S gets added with an unwanted signal N that has no known connection with S. If the noise N has a simple statistical description, such as Gaussian noise, then a Kalman filter will reduce N and restore S to the extent allowed by Shannon's theorem. In particular, if S and N do not overlap in the frequency domain, they can be completely separated by linear bandpass filters.
For almost any other form of noise, on the other hand, some sort of non-linear filter will be needed for maximum signal recovery. For multiplicative noise (that gets multiplied by the signal, instead of added to it), for example, it may suffice to convert the input to a logarithmic scale, apply a linear filter, and then convert the result to linear scale. In this example, the first and third steps are not linear.
Non-linear filters may also be useful when certain "nonlinear" features of the signal are more important than the overall information contents. In digital image processing, for example, one may wish to preserve the sharpness of silhouette edges of objects in photographs, or the connectivity of lines in scanned drawings. A linear noise-removal filter will usually blur those features; a non-linear filter may give more satisfactory results (even if the blurry image may be more "correct" in the information-theoretic sense).
Many nonlinear noise-removal filters operate in the time domain. They typically examine the input digital signal within a finite window surrounding each sample, and use some statistical inference model (implicitly or explicitly) to estimate the most likely value for the original signal at that point. The design of such filters is known as the filtering problem for a stochastic process in estimation theory and control theory.
Examples of nonlinear filters include:
Nonlinear filter also occupy a decisive position in the image processing functions. In a typical pipeline for real-time image processing, it is common to have many nonlinear filter included to form, shape, detect, and manipulate image information. Furthermore, each of these filter types can be parameterized to work one way under certain circumstances and another way under a different set of circumstance using adaptive filter rule generation. The goals vary from noise removal to feature abstraction. Filtering image data is a standard process used in almost all image processing systems. Nonlinear filters are the most utilized forms of filter construction. For example, if an image contains a low amount of noise but with relatively high magnitude, then a median filter may be more appropriate.
The Kushner–Stratonovich solution is a stochastic partial differential equation. In 1969, Moshe Zakai introduced a simplified dynamics for the unnormalized conditional law of the filter known as Zakai equation. It has been proved by Mireille Chaleyat-Maurel and Dominique Michel that the solution is infinite dimensional in general, and as such requires finite dimensional approximations. These may be heuristics-based such as the extended Kalman filter or the assumed density filters described by Peter S. Maybeck  or the projection filters introduced by Damiano Brigo, Bernard Hanzon and François Le Gland, some sub-families of which are shown to coincide with the assumed density filters.
Energy transfer filters
Energy transfer filters are a class of nonlinear dynamic filters that can be used to move energy in a designed manner. Energy can be moved to higher or lower frequency bands, spread over a designed range, or focused. Many energy transfer filter designs are possible, and these provide extra degrees of freedom in filter design that are just not possible using linear designs.
- Moving horizon estimation
- Particle filter
- Unscented Kalman filter section in Kalman filter
- Ruslan L. Stratonovich (1959), Optimum nonlinear systems which bring about a separation of a signal with constant parameters from noise. Radiofizika, volume 2,issue 6, pages 892–901.
- Ruslan L. Stratonovich (1959). On the theory of optimal non-linear filtering of random functions. Theory of Probability and its Applications, volume 4, pages 223–225.
- Ruslan L. Stratonovich (1960), Application of the Markov processes theory to optimal filtering. Radio Engineering and Electronic Physics, volume 5, issue 11, pages 1–19.
- Ruslan L. Stratonovich (1960), Conditional Markov Processes. Theory of Probability and its Applications, volume 5, pages 156–178.
- Kushner, Harold. (1967), Nonlinear filtering: The exact dynamical equations satisfied by the conditional mode. IEEE Transactions on Automatic Control, volume 12, issue 3,pages 262–267
- Moshe Zakai (1969), On the optimal filtering of diffusion processes. Zeitung Wahrsch., volume 11, pages 230–243. MR242552 Zbl 0164.19201 doi:10.1007/BF00536382
- Chaleyat-Maurel, Mireille and Dominique Michel (1984), Des resultats de non existence de filtre de dimension finie. Stochastics, volume 13, issue 1+2, pages 83–102.
- Peter S. Maybeck (1979), Stochastic models, estimation, and control. Volume 141, Series Mathematics in Science and Engineering, Academic Press
- Damiano Brigo, Bernard Hanzon, and François LeGland (1998) A Differential Geometric approach to nonlinear filtering: the Projection Filter, IEEE Transactions on Automatic Control, volume 43, issue 2, pages 247–252.
- Damiano Brigo, Bernard Hanzon, and François LeGland (1999), Approximate Nonlinear Filtering by Projection on Exponential Manifolds of Densities, Bernoulli, volume 5, issue 3, pages 495–534
- Billings S.A. "Nonlinear System Identification: NARMAX Methods in the Time, Frequency, and Spatio-Temporal Domains". Wiley, 2013