TOPICS
Search

Convolution


A convolution is an integral that expresses the amount of overlap of one function g as it is shifted over another function f. It therefore "blends" one function with another. For example, in synthesis imaging, the measured dirty map is a convolution of the "true" CLEAN map with the dirty beam (the Fourier transform of the sampling distribution). The convolution is sometimes also known by its German name, faltung ("folding").

Convolution is implemented in the Wolfram Language as Convolve[f, g, x, y] and DiscreteConvolve[f, g, n, m].

Abstractly, a convolution is defined as a product of functions f and g that are objects in the algebra of Schwartz functions in R^n. Convolution of two functions f and g over a finite range [0,t] is given by

 [f*g](t)=int_0^tf(tau)g(t-tau)dtau,
(1)

where the symbol [f*g](t) denotes convolution of f and g.

Convolution is more often taken over an infinite range,

f*g=int_(-infty)^inftyf(tau)g(t-tau)dtau
(2)
=int_(-infty)^inftyg(tau)f(t-tau)dtau
(3)

(Bracewell 1965, p. 25) with the variable (in this case t) implied, and also occasionally written as f tensor g.

Convolution of two rectangle functionsConvolution of two Gaussian functions

The animations above graphically illustrate the convolution of two boxcar functions (left) and two Gaussians (right). In the plots, the green curve shows the convolution of the blue and red curves as a function of t, the position indicated by the vertical green line. The gray region indicates the product g(tau)f(t-tau) as a function of t, so its area as a function of t is precisely the convolution. One feature to emphasize and which is not conveyed by these illustrations (since they both exclusively involve symmetric functions) is that the function g must be mirrored before lagging it across f and integrating.

The convolution of two boxcar functions f=Pi_(t_1,t_2)(t) and g=Pi_(u_1,u_2)(t) has the particularly simple form

 f*g=[(t-t_1-u_1)H(t-t_1-u_1)-(t-t_2-u_1)H(t-t_2-u_1) 
-(t-t_1-u_2)H(t-t_1-u_2)+(t-t_2-u_2)H(t-t_2-u_2)],
(4)

where H(x) is the Heaviside step function. Even more amazingly, the convolution of two Gaussians

f=e^(-(t-mu_1)^2/(2sigma_1^2))/(sigma_1sqrt(2pi))
(5)
g=e^(-(t-mu_2)^2/(2sigma_2^2))/(sigma_2sqrt(2pi))
(6)

is another Gaussian

 f*g=1/(sqrt(2pi(sigma_1^2+sigma_2^2)))e^(-[t-(mu_1+mu_2)]^2/[2(sigma_1^2+sigma_2^2)]).
(7)

Let f, g, and h be arbitrary functions and a a constant. Convolution satisfies the properties

f*g=g*f
(8)
f*(g*h)=(f*g)*h
(9)
f*(g+h)=(f*g)+(f*h)
(10)

(Bracewell 1965, p. 27), as well as

a(f*g)=(af)*g
(11)
=f*(ag)
(12)

(Bracewell 1965, p. 49).

Taking the derivative of a convolution gives

(f*g)^'=f^'*g
(13)
=f*g^'
(14)

(Bracewell 1965, p. 119).

The area under a convolution is the product of areas under the factors,

int_(-infty)^infty(f*g)dt=int_(-infty)^infty[int_(-infty)^inftyf(u)g(t-u)du]dt
(15)
=int_(-infty)^inftyf(u)[int_(-infty)^inftyg(t-u)dt]du
(16)
=[int_(-infty)^inftyf(u)du][int_(-infty)^inftyg(t)dt].
(17)

The horizontal function centroids of a convolution add

 <t>_(f*g)=<t>_f+<t>_g,
(18)

and provided that either f or g has its function centroids at its origin, the variances do as well

 <t^2>_(f*g)=<t^2>_f+<t^2>_g
(19)

(Bracewell 1965, p. 142), where

 <t^n>_f=(int_(-infty)^inftyt^nf(t)dt)/(int_(-infty)^inftyf(t)dt).
(20)

There is also a definition of the convolution which arises in probability theory and is given by

 F(t)*G(t)=intF(t-x)dG(x),
(21)

where intF(t-x)dG(x) is a Stieltjes integral.


See also

Autocorrelation, Cauchy Product, Convolution Theorem, Cross-Correlation, Recurrence Plot, Wiener-Khinchin Theorem Explore this topic in the MathWorld classroom

Explore with Wolfram|Alpha

References

Bracewell, R. "Convolution" and "Two-Dimensional Convolution." Ch. 3 in The Fourier Transform and Its Applications. New York: McGraw-Hill, pp. 25-50 and 243-244, 1965.Hirschman, I. I. and Widder, D. V. The Convolution Transform. Princeton, NJ: Princeton University Press, 1955.Morse, P. M. and Feshbach, H. Methods of Theoretical Physics, Part I. New York: McGraw-Hill, pp. 464-465, 1953.Press, W. H.; Flannery, B. P.; Teukolsky, S. A.; and Vetterling, W. T. "Convolution and Deconvolution Using the FFT." §13.1 in Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed. Cambridge, England: Cambridge University Press, pp. 531-537, 1992.Weisstein, E. W. "Books about Convolution." http://www.ericweisstein.com/encyclopedias/books/Convolution.html.

Referenced on Wolfram|Alpha

Convolution

Cite this as:

Weisstein, Eric W. "Convolution." From MathWorld--A Wolfram Web Resource. https://mathworld.wolfram.com/Convolution.html

Subject classifications