Gaussian filter
Encyclopedia
In electronics
and signal processing
, a Gaussian filter is a filter
whose impulse response
is a Gaussian function. Gaussian filters are designed to give 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
. Mathematically, a Gaussian filter modifies the input signal by convolution
with a Gaussian function; this transformation is also known as the Weierstrass transform
.
or with the standard deviation
as parameter
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.
; see scale space implementation for details.
Filtering involves convolution. The filter function is said to be the kernel of an integral transform. The Gaussian kernel is continuous. Most commonly, the discrete equivalent is the sampled Gaussian kernel that is produced by sampling points from the continuous Gaussian. An alternate method is to use the discrete Gaussian kernel which has superior characteristics for some purposes. Unlike the sample Gaussian kernel, the discrete Gaussian kernel is the solution to the discrete diffusion equation.
Since the Fourier transform
of the Gaussian function yields a Gaussian function, the signal (preferably after being divided into overlapping windowed blocks) can be transformed with a Fast Fourier transform
, multiplied with a Gaussian function and transformed back. This is the standard procedure of applying an arbitrary finite impulse response
filter, with the only difference that the Fourier transform of the filter window is explicitly known.
Due to the central limit theorem
, 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
, and, for example, four iterations of a moving average yields a cubic B-spline as filter window which approximates the Gaussian quite well.
Borrowing the terms from statistics, the standard deviation
of a filter can be interpreted as a measure of its size. The cut-off frequency of the filter can be considered as the ratio between the sample rate and the standard deviation
A simple moving average corresponds to a uniform probability distribution and thus its filter width of size has standard deviation . Thus the application of successive moving averages with sizes yield a standard deviation of
(Note that standard deviations do not sum up, but variance
s do.)
A gaussian kernel requires values, eg. for a of 3 it needs a kernel of length 17. A running mean filter of 5 points will have a sigma of . Running it three times will give a of 2.42. It remains to be seen where the advantage is over using a gaussian rather than a poor approximation.
When applied in two dimensions, this formula produces a Gaussian surface that has a maximum at the origin, whose contour
s are concentric circles with the origin as center. A two dimensional convolution
matrix
is precomputed from the formula and convolved with two dimensional data. Each element in the resultant matrix new value is set to a weighted average of that elements neighborhood. The focal element receives the heaviest weight (having the highest Gaussian value) and neighboring elements receive smaller weights as their distance to the focal element increases. In Image processing, each element in the matrix represents a pixel attribute such as brightness or a color intensity, and the overall effect is called Gaussian blur
.
The Gaussian filter is non-causal which means the filter window is symmetric about the origin. This is usually of no consequence for most applications. In real-time systems, a delay is incurred because incoming samples need to fill the filter window before the filter can be applied to the signal.
Electronics
Electronics is the branch of science, engineering and technology that deals with electrical circuits involving active electrical components such as vacuum tubes, transistors, diodes and integrated circuits, and associated passive interconnection technologies...
and signal processing
Signal processing
Signal processing is an area of systems engineering, electrical engineering and applied mathematics that deals with operations on or analysis of signals, in either discrete or continuous time...
, a Gaussian filter is a filter
Filter (signal processing)
In signal processing, a filter is a device or process that removes from a signal some unwanted component or feature. Filtering is a class of signal processing, the defining feature of filters being the complete or partial suppression of some aspect of the signal...
whose impulse response
Impulse response
In signal processing, the impulse response, or impulse response function , of a dynamic system is its output when presented with a brief input signal, called an impulse. More generally, an impulse response refers to the reaction of any dynamic system in response to some external change...
is a Gaussian function. Gaussian filters are designed to give 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
Group delay
Group delay is a measure of the time delay of the amplitude envelopes of the various sinusoidal components of a signal through a device under test, and is a function of frequency for each component...
. Mathematically, a Gaussian filter modifies the input signal by convolution
Convolution
In mathematics and, in particular, functional analysis, convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions. Convolution is similar to cross-correlation...
with a Gaussian function; this transformation is also known as the Weierstrass transform
Weierstrass transform
In mathematics, the Weierstrass transform of a function f : R → R, named after Karl Weierstrass, is the function F defined by...
.
Definition
The one-dimensional Gaussian filter has an impulse response given byor with the standard deviation
Standard deviation
Standard deviation is a widely used measure of variability or diversity used in statistics and probability theory. It shows how much variation or "dispersion" there is from the average...
as parameter
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
Standard deviation
Standard deviation is a widely used measure of variability or diversity used in statistics and probability theory. It shows how much variation or "dispersion" there is from the average...
of the Gaussian distribution.
Digital implementation
The Gaussian function is non-zero for and would theoretically require an infinite window length. However, since it decays rapidly, it is often reasonable to truncate the filter window and implement the filter directly for narrow windows, in effect by using a simple rectangular window function. In other cases, the truncation may introduce significant errors. Better results can be achieved by instead using a different window functionWindow function
In signal processing, a window function is a mathematical function that is zero-valued outside of some chosen interval. For instance, a function that is constant inside the interval and zero elsewhere is called a rectangular window, which describes the shape of its graphical representation...
; see scale space implementation for details.
Filtering involves convolution. The filter function is said to be the kernel of an integral transform. The Gaussian kernel is continuous. Most commonly, the discrete equivalent is the sampled Gaussian kernel that is produced by sampling points from the continuous Gaussian. An alternate method is to use the discrete Gaussian kernel which has superior characteristics for some purposes. Unlike the sample Gaussian kernel, the discrete Gaussian kernel is the solution to the discrete diffusion equation.
Since the Fourier transform
Fourier transform
In mathematics, Fourier analysis is a subject area which grew from the study of Fourier series. The subject began with the study of the way general functions may be represented by sums of simpler trigonometric functions...
of the Gaussian function yields a Gaussian function, the signal (preferably after being divided into overlapping windowed blocks) can be transformed with a Fast Fourier transform
Fast Fourier transform
A fast Fourier transform is an efficient algorithm to compute the discrete Fourier transform and its inverse. "The FFT has been called the most important numerical algorithm of our lifetime ." There are many distinct FFT algorithms involving a wide range of mathematics, from simple...
, multiplied with a Gaussian function and transformed back. This is the standard procedure of applying an arbitrary finite impulse response
Finite impulse response
A finite impulse response filter is a type of a signal processing filter whose impulse response is of finite duration, because it settles to zero in finite time. This is in contrast to infinite impulse response filters, which have internal feedback and may continue to respond indefinitely...
filter, with the only difference that the Fourier transform of the filter window is explicitly known.
Due to the central limit theorem
Central limit theorem
In probability theory, the central limit theorem states conditions under which the mean of a sufficiently large number of independent random variables, each with finite mean and variance, will be approximately normally distributed. The central limit theorem has a number of variants. In its common...
, 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
Convolution
In mathematics and, in particular, functional analysis, convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions. Convolution is similar to cross-correlation...
with the constant B-spline
B-spline
In the mathematical subfield of numerical analysis, a B-spline is a spline function that has minimal support with respect to a given degree, smoothness, and domain partition. B-splines were investigated as early as the nineteenth century by Nikolai Lobachevsky...
, and, for example, four iterations of a moving average yields a cubic B-spline as filter window which approximates the Gaussian quite well.
Borrowing the terms from statistics, the standard deviation
Standard deviation
Standard deviation is a widely used measure of variability or diversity used in statistics and probability theory. It shows how much variation or "dispersion" there is from the average...
of a filter can be interpreted as a measure of its size. The cut-off frequency of the filter can be considered as the ratio between the sample rate and the standard deviation
A simple moving average corresponds to a uniform probability distribution and thus its filter width of size has standard deviation . Thus the application of successive moving averages with sizes yield a standard deviation of
- .
(Note that standard deviations do not sum up, but variance
Variance
In probability theory and statistics, the variance is a measure of how far a set of numbers is spread out. It is one of several descriptors of a probability distribution, describing how far the numbers lie from the mean . In particular, the variance is one of the moments of a distribution...
s do.)
A gaussian kernel requires values, eg. for a of 3 it needs a kernel of length 17. A running mean filter of 5 points will have a sigma of . Running it three times will give a of 2.42. It remains to be seen where the advantage is over using a gaussian rather than a poor approximation.
When applied in two dimensions, this formula produces a Gaussian surface that has a maximum at the origin, whose contour
Contour
Contour may refer to:* an outline or silhouette* a contour line on a contour map, or the corresponding line on the ground or sea bed* Contour , a phonetic sound* Pitch contour , a melody shape...
s are concentric circles with the origin as center. A two dimensional convolution
Convolution
In mathematics and, in particular, functional analysis, convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions. Convolution is similar to cross-correlation...
matrix
Matrix (mathematics)
In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...
is precomputed from the formula and convolved with two dimensional data. Each element in the resultant matrix new value is set to a weighted average of that elements neighborhood. The focal element receives the heaviest weight (having the highest Gaussian value) and neighboring elements receive smaller weights as their distance to the focal element increases. In Image processing, each element in the matrix represents a pixel attribute such as brightness or a color intensity, and the overall effect is called Gaussian blur
Gaussian blur
A Gaussian blur is the result of blurring an image by a Gaussian function. It is a widely used effect in graphics software, typically to reduce image noise and reduce detail...
.
The Gaussian filter is non-causal which means the filter window is symmetric about the origin. This is usually of no consequence for most applications. In real-time systems, a delay is incurred because incoming samples need to fill the filter window before the filter can be applied to the signal.
Communications applications
- It is used in GSM since it applies GMSK modulation
- the Gaussian filter is also used in GFSKGFSKGaussian Frequency-Shift Keying is a type of Frequency Shift Keying modulation that uses a Gaussian filter to smooth positive/negative frequency deviations, which represent a binary 1 or 0. It is used by DECT, Bluetooth, Cypress WirelessUSB, Nordic Semiconductor, Texas Instruments LPRF, z-wave and...
.
See also
- Butterworth filterButterworth filterThe Butterworth filter is a type of signal processing filter designed to have as flat a frequency response as possible in the passband so that it is also termed a maximally flat magnitude filter...
- Comb filterComb filterIn signal processing, a comb filter adds a delayed version of a signal to itself, causing constructive and destructive interference. The frequency response of a comb filter consists of a series of regularly spaced spikes, giving the appearance of a comb....
- Chebyshev filterChebyshev filterChebyshev filters are analog or digital filters having a steeper roll-off and more passband ripple or stopband ripple than Butterworth filters...
- Discrete Gaussian kernel
- Elliptic filterElliptic filterAn elliptic filter is a signal processing filter with equalized ripple behavior in both the passband and the stopband...
- Gaussian blurGaussian blurA Gaussian blur is the result of blurring an image by a Gaussian function. It is a widely used effect in graphics software, typically to reduce image noise and reduce detail...
- Gaussian PyramidGaussian PyramidA Gaussian pyramid is a technique used in image processing, especially in texture synthesis. The technique involves creating a series of images which are weighted down using a Gaussian average and scaled down...
- Scale-space
- Scale-space implementation