Most decorrelation algorithms are linear, but there are also non-linear decorrelation algorithms.
Many data compression algorithms incorporate a decorrelation stage. For example, many transform coders first apply a fixed linear transformation that would, on average, have the effect of decorrelating a typical signal of the class to be coded, prior to any later processing. This is typically a Karhunen–Loève transform, or a simplified approximation such as the discrete cosine transform.
By comparison, sub-band coders do not generally have an explicit decorrelation step, but instead exploit the already-existing reduced correlation within each of the sub-bands of the signal, due to the relative flatness of each sub-band of the power spectrum in many classes of signals.
Linear predictive coders can be modelled as an attempt to decorrelate signals by subtracting the best possible linear prediction from the input signal, leaving a whitened residual signal.
Decorrelation techniques can also be used for many other purposes, such as reducing crosstalk in a multi-channel signal, or in the design of echo cancellers.
In image processing decorrelation techniques can be used to enhance or stretch, colour differences found in each pixel of an image. This is generally termed as 'decorrelation stretching'.1
The concept of decorrelation can be applied in many other fields. In neuroscience, decorrelation is used in the analysis of the neural networks in the human visual system. In cryptography, it is used in cipher design (see Decorrelation theory) and in the design of hardware random number generators.
Alley, Ronald E. (August 15, 1996). "Algorithm Theoretical Basis Document for Decorrelation Stretch" (PDF). eospso.gsfc.nasa.gov. Jet Propulsion Laboratory. Retrieved February 1, 2025. https://eospso.gsfc.nasa.gov/sites/default/files/atbd/ASTER_ATBD_99-2010.pdf ↩