Convolution
In mathematics, convolution is a mathematical operation on two functions and that produces a third function, as the integral of the product of the two functions after one is reflected about the y-axis and shifted. The term convolution refers to both the resulting function and to the process of computing it. The integral is evaluated for all values of shift, producing the convolution function. The choice of which function is reflected and shifted before the integral does not change the integral result. Graphically, it expresses how the 'shape' of one function is modified by the other.
Some features of convolution are similar to cross-correlation: for real-valued functions, of a continuous or discrete variable, convolution differs from cross-correlation only in that either or is reflected about the y-axis in convolution; thus it is a cross-correlation of and, or and. For complex-valued functions, the cross-correlation operator is the adjoint of the convolution operator.
Convolution has applications that include probability, statistics, acoustics, spectroscopy, signal processing and image processing, computer vision and human vision, geophysics, engineering, physics, and differential equations.
The convolution can be defined for functions on Euclidean space and other groups. For example, periodic functions, such as the discrete-time Fourier transform, can be defined on a circle and convolved by periodic convolution. A discrete convolution can be defined for functions on the set of integers.
Generalizations of convolution have applications in the field of numerical analysis and numerical linear algebra, and in the design and implementation of finite impulse response filters in signal processing.
Computing the inverse of the convolution operation is known as deconvolution.
Definition
The convolution of and is written, denoting the operator with the symbol. It is defined as the integral of the product of the two functions after one is reflected about the y-axis and shifted. As such, it is a particular kind of integral transform:An equivalent definition is :
While the symbol is used above, it need not represent the time domain. At each, the convolution formula can be described as the area under the function weighted by the function shifted by the amount. As changes, the weighting function emphasizes different parts of the input function ; If is a positive value, then is equal to that slides or is shifted along the -axis toward the right by the amount of, while if is a negative value, then is equal to that slides or is shifted toward the left by the amount of.
For functions, supported on only , the integration limits can be truncated, resulting in:
For the multi-dimensional formulation of convolution, see domain of definition.
Notation
A common engineering notational convention is:which has to be interpreted carefully to avoid confusion. For instance, is equivalent to, but is in fact equivalent to.
Relations with other transforms
Given two functions and with bilateral Laplace transformsand
respectively, the convolution operation can be defined as the inverse Laplace transform of the product of and. More precisely,
Let, then
Note that is the bilateral Laplace transform of. A similar derivation can be done using the unilateral Laplace transform.
The convolution operation also describes the output of an important class of operations known as linear time-invariant. See LTI system theory for a derivation of convolution as the result of LTI constraints. In terms of the Fourier transforms of the input and output of an LTI operation, no new frequency components are created. The existing ones are only modified. In other words, the output transform is the pointwise product of the input transform with a third transform. See Convolution theorem for a derivation of that property of convolution. Conversely, convolution can be derived as the inverse Fourier transform of the pointwise product of two Fourier transforms.
Visual explanation
The resulting waveform is the convolution of functions and. If is a unit impulse, the result of this process is simply. Formally: Historical developmentsOne of the earliest uses of the convolution integral appeared in D'Alembert's derivation of Taylor's theorem in Recherches sur différents points importants du système du monde, published in 1754.Also, an expression of the type: is used by Sylvestre François Lacroix on page 505 of his book entitled Treatise on differences and series, which is the last of 3 volumes of the encyclopedic series: Traité du calcul différentiel et du calcul intégral, Chez Courcier, Paris, 1797–1800. Soon thereafter, convolution operations appear in the works of Pierre Simon Laplace, Jean-Baptiste Joseph Fourier, Siméon Denis Poisson, and others. The term itself did not come into wide use until the 1950s or 1960s. Prior to that it was sometimes known as Faltung, composition product, superposition integral, and Carson's integral. Yet it appears as early as 1903, though the definition is rather unfamiliar in older uses. The operation: is a particular case of composition products considered by the Italian mathematician Vito Volterra in 1913. Circular convolutionWhen a function is periodic, with period, then for functions,, such that exists, the convolution is also periodic and identical to:where is an arbitrary choice. The summation is called a periodic summation of the function. When is a periodic summation of another function,, then is known as a circular or cyclic convolution of and. And if the periodic summation above is replaced by, the operation is called a periodic convolution of and. Discrete convolutionFor complex-valued functions and defined on the set of integers, the discrete convolution of and is given by:or equivalently by: The convolution of two finite sequences is defined by extending the sequences to finitely supported functions on the set of integers. When the sequences are the coefficients of two polynomials, then the coefficients of the ordinary product of the two polynomials are the convolution of the original two sequences. This is known as the Cauchy product of the coefficients of the sequences. Thus, when is non-zero over a finite interval , a finite summation may be used: Circular discrete convolutionWhen a function is periodic, with period then for functions, such that exists, the convolution is also periodic and identical to:The summation on is called a periodic summation of the function If is a periodic summation of another function, then is known as a circular convolution of and When the non-zero durations of both and are limited to the interval reduces to these common forms: The notation for cyclic convolution denotes convolution over the cyclic group of integers modulo. Circular convolution arises most often in the context of fast convolution with a fast Fourier transform algorithm. Fast convolution algorithmsIn many situations, discrete convolutions can be converted to circular convolutions so that fast transforms with a convolution property can be used to implement the computation. For example, convolution of digit sequences is the kernel operation in multiplication of multi-digit numbers, which can therefore be efficiently implemented with transform techniques.requires arithmetic operations per output value and operations for outputs. That can be significantly reduced with any of several fast algorithms. Digital signal processing and other applications typically use fast convolution algorithms to reduce the cost of the convolution to O complexity. The most common fast convolution algorithms use fast Fourier transform algorithms via the circular convolution theorem. Specifically, the circular convolution of two finite-length sequences is found by taking an FFT of each sequence, multiplying pointwise, and then performing an inverse FFT. Convolutions of the type defined above are then efficiently implemented using that technique in conjunction with zero-extension and/or discarding portions of the output. Other fast convolution algorithms, such as the Schönhage–Strassen algorithm or the Mersenne transform, use fast Fourier transforms in other rings. The Winograd method is used as an alternative to the FFT. It significantly speeds up 1D, 2D, and 3D convolution. If one sequence is much longer than the other, zero-extension of the shorter sequence and fast circular convolution is not the most computationally efficient method available. Instead, decomposing the longer sequence into blocks and convolving each block allows for faster algorithms such as the overlap–save method and overlap–add method. A hybrid convolution method that combines block and FIR algorithms allows for a zero input-output latency that is useful for real-time convolution computations. Domain of definitionThe convolution of two complex-valued functions on is itself a complex-valued function on, defined by:and is well-defined only if and decay sufficiently rapidly at infinity in order for the integral to exist. Conditions for the existence of the convolution may be tricky, since a blow-up in at infinity can be easily offset by sufficiently rapid decay in. The question of existence thus may involve different conditions on and : Compactly supported functionsIf and are compactly supported continuous functions, then their convolution exists, and is also compactly supported and continuous. More generally, if either function is compactly supported and the other is locally integrable, then the convolution is well-defined and continuous.Convolution of and is also well defined when both functions are locally square integrable on and supported on an interval of the form . |