In electronics and signal processing, mainly in digital signal processing, a Gaussian filter is a filter whose impulse response is a Gaussian function (or an approximation to it, since a true Gaussian response would have infinite impulse response).
Gaussian filters have the properties of having no overshoot to a step function input while minimizing the rise and fall time.
This behavior is closely connected to the fact that the Gaussian filter has the minimum possible group delay.
A Gaussian filter will have the best combination of suppression of high frequencies while also minimizing spatial spread, being the critical point of the uncertainty principle.
These properties are important in areas such as oscilloscopes[1] and digital telecommunication systems.
These equations can also be expressed with the standard deviation as parameter and the frequency response is given by By writing
In two dimensions, it is the product of two such Gaussians, one per direction: where x is the distance from the origin in the horizontal axis, y is the distance from the origin in the vertical axis, and σ is the standard deviation of the Gaussian distribution.
The ability of the filter to simulate a true Gaussian function depends on how many terms are taken from the series.
Since only half the poles are located in the left half plane, selecting only those poles to build the transfer function also serves to square root the equation, as is seen above.
A 3rd order Gaussian filter with a -3.010 dB cutoff attenuation at
= 1 requires the use of terms k=0 to k=3 in the Taylor series to produce the squared Gaussian function.
into the coefficients, factoring using a root finding algorithm, and building the polynomials using only the left half plane poles yields the transfer function for a third order Gaussian filter with the required -3.010 dB cutoff attenuation[7][8]..
[9] To work around this, tables have been developed and published that preserve the desirable Gaussian group delay response and the lower and mid frequencies, but switches to a higher steepness Chebyshev attenuation at the higher frequencies.
Better results can be achieved by instead using a different window function; see scale space implementation for details.
An alternate method is to use the discrete Gaussian kernel[10] which has superior characteristics for some purposes.
This is the standard procedure of applying an arbitrary finite impulse response filter, with the only difference being that the Fourier transform of the filter window is explicitly known.
Due to the central limit theorem (from statistics), the Gaussian can be approximated by several runs of a very simple filter such as the moving average.
The simple moving average corresponds to convolution with the constant B-spline (a rectangular pulse).
For example, four iterations of a moving average yield a cubic B-spline as a filter window, which approximates the Gaussian quite well.
A moving average is quite cheap to compute, so levels can be cascaded quite easily.
In the discrete case, the filter's standard deviations (in the time and frequency domains) are related by where the standard deviations are expressed in a number of samples and N is the total number of samples.
The standard deviation of a filter can be interpreted as a measure of its size.
is measured in samples, the cut-off frequency (in physical units) can be calculated with where
The response value of the Gaussian filter at this cut-off frequency equals exp(−0.5) ≈ 0.607.
However, it is more common to define the cut-off frequency as the half power point: where the filter response is reduced to 0.5 (−3 dB) in the power spectrum, or 1/√2 ≈ 0.707 in the amplitude spectrum (see e.g. Butterworth filter).
For an arbitrary cut-off value 1/c for the response of the filter, the cut-off frequency is given by For c = 2 the constant before the standard deviation in the frequency domain in the last equation equals approximately 1.1774, which is half the Full Width at Half Maximum (FWHM) (see Gaussian function).
A simple moving average corresponds to a uniform probability distribution and thus its filter width of size
In Image processing, each element in the matrix represents a pixel attribute such as brightness or color intensity, and the overall effect is called Gaussian blur.
This is usually of no consequence for applications where the filter bandwidth is much larger than the signal.
While no amount of delay can make a theoretical Gaussian filter causal (because the Gaussian function is non-zero everywhere), the Gaussian function converges to zero so rapidly that a causal approximation can achieve any required tolerance with a modest delay, even to the accuracy of floating point representation.