Английская Википедия:Convolution
Шаблон:Short description Шаблон:About
In mathematics (in particular, functional analysis), convolution is a mathematical operation on two functions (Шаблон:Mvar and Шаблон:Mvar) that produces a third function (<math>f*g</math>). The term convolution refers to both the result function and to the process of computing it. It is defined as the integral of the product of the two functions after one is reflected about the y-axis and shifted. 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 (see commutativity). 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 (<math>f*g</math>) differs from cross-correlation (<math>f \star g</math>) only in that either Шаблон:Math or Шаблон:Math is reflected about the y-axis in convolution; thus it is a cross-correlation of Шаблон:Math and Шаблон:Math, or Шаблон:Math and Шаблон:Math.Шаблон:Efn-ua 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, geophysics, engineering, physics, computer vision and differential equations.[1]
The convolution can be defined for functions on Euclidean space and other groups (as algebraic structures).Шаблон:Citation needed For example, periodic functions, such as the discrete-time Fourier transform, can be defined on a circle and convolved by periodic convolution. (See row 18 at Шаблон:Section link.) 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.Шаблон:Citation needed
Computing the inverse of the convolution operation is known as deconvolution.
Definition
The convolution of Шаблон:Mvar and Шаблон:Mvar is written Шаблон:Math, denoting the operator with the symbol Шаблон:Math.Шаблон:Efn-ua 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:
- <math>(f * g)(t) := \int_{-\infty}^\infty f(\tau) g(t - \tau) \, d\tau.</math>
An equivalent definition is (see commutativity):
- <math>(f * g)(t) := \int_{-\infty}^\infty f(t - \tau) g(\tau)\, d\tau.</math>
While the symbol Шаблон:Mvar is used above, it need not represent the time domain. At each t, the convolution formula can be described as the area under the function Шаблон:Math weighted by the function Шаблон:Math shifted by the amount Шаблон:Mvar. As Шаблон:Mvar changes, the weighting function Шаблон:Math emphasizes different parts of the input function Шаблон:Math; If Шаблон:Mvar is a positive value, then Шаблон:Math is equal to Шаблон:Math that slides or is shifted along the <math>\tau</math>-axis toward the right (toward Шаблон:Math) by the amount of Шаблон:Mvar, while if Шаблон:Mvar is a negative value, then Шаблон:Math is equal to Шаблон:Math that slides or is shifted toward the left (toward Шаблон:Math) by the amount of Шаблон:Mvar.
For functions Шаблон:Mvar, Шаблон:Mvar supported on only Шаблон:Math (i.e., zero for negative arguments), the integration limits can be truncated, resulting in:
- <math>(f * g )(t) = \int_{0}^{t} f(\tau) g(t - \tau)\, d\tau \quad \ \text{for } f, g : [0, \infty) \to \mathbb{R}.</math>
For the multi-dimensional formulation of convolution, see domain of definition (below).
Notation
A common engineering notational convention is:[2]
- <math> f(t) * g(t) \mathrel{:=} \underbrace{\int_{-\infty}^\infty f(\tau) g(t - \tau)\, d\tau}_{(f * g )(t)},</math>
which has to be interpreted carefully to avoid confusion. For instance, Шаблон:Math is equivalent to Шаблон:Math, but Шаблон:Math is in fact equivalent to Шаблон:Math.[3]
Relations with other transforms
Given two functions <math> f(t) </math> and <math> g(t) </math> with bilateral Laplace transforms (two-sided Laplace transform)
- <math> F(s) = \int_{-\infty}^\infty e^{-su} \ f(u) \ \text{d}u </math>
and
- <math> G(s) = \int_{-\infty}^\infty e^{-sv} \ g(v) \ \text{d}v </math>
respectively, the convolution operation <math> (f * g)(t) </math> can be defined as the inverse Laplace transform of the product of <math> F(s) </math> and <math> G(s) </math>.[4][5] More precisely,
- <math>
\begin{align} F(s) \cdot G(s) &= \int_{-\infty}^\infty e^{-su} \ f(u) \ \text{d}u \cdot \int_{-\infty}^\infty e^{-sv} \ g(v) \ \text{d}v \\ &= \int_{-\infty}^\infty \int_{-\infty}^\infty e^{-s(u + v)} \ f(u) \ g(v) \ \text{d}u \ \text{d}v \end{align} </math>
Let <math> t = u + v </math> such that
- <math>
\begin{align} F(s) \cdot G(s) &= \int_{-\infty}^\infty \int_{-\infty}^\infty e^{-st} \ f(u) \ g(t - u) \ \text{d}u \ \text{d}t \\ &= \int_{-\infty}^\infty e^{-st} \underbrace{\int_{-\infty}^\infty f(u) \ g(t - u) \ \text{d}u}_{(f * g)(t)} \ \text{d}t \\ &= \int_{-\infty}^\infty e^{-st} (f * g)(t) \ \text{d}t \end{align} </math>
Note that <math> F(s) \cdot G(s) </math> is the bilateral Laplace transform of <math> (f * g)(t) </math>. A similar derivation can be done using the unilateral Laplace transform (one-sided Laplace transform).
The convolution operation also describes the output (in terms of the input) of an important class of operations known as linear time-invariant (LTI). 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 (amplitude and/or phase). In other words, the output transform is the pointwise product of the input transform with a third transform (known as a transfer function). 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 (not shown here) is the convolution of functions Шаблон:Mvar and Шаблон:Mvar. If Шаблон:Math is a unit impulse, the result of this process is simply Шаблон:Math. Formally:
|
|
In this example, the red-colored "pulse", <math>\ g(\tau),</math> is an even function <math>(\ g(-\tau) = g(\tau)\ ),</math> so convolution is equivalent to correlation. A snapshot of this "movie" shows functions <math>g(t - \tau)</math> and <math>f(\tau)</math> (in blue) for some value of parameter <math>t,</math> which is arbitrarily defined as the distance along the <math>\tau</math> axis from the point <math>\tau = 0</math> to the center of the red pulse. The amount of yellow is the area of the product <math>f(\tau) \cdot g(t - \tau),</math> computed by the convolution/correlation integral. The movie is created by continuously changing <math>t</math> and recomputing the integral. The result (shown in black) is a function of <math>t,</math> but is plotted on the same axis as <math>\tau,</math> for convenience and comparison. | Файл:Convolution of box signal with itself2.gif |
In this depiction, <math>f(\tau)</math> could represent the response of a resistor-capacitor circuit to a narrow pulse that occurs at <math>\tau = 0.</math> In other words, if <math>g(\tau) = \delta(\tau),</math> the result of convolution is just <math>f(t).</math> But when <math>g(\tau)</math> is the wider pulse (in red), the response is a "smeared" version of <math>f(t).</math> It begins at <math>t = -0.5,</math> because we defined <math>t</math> as the distance from the <math>\tau = 0</math> axis to the center of the wide pulse (instead of the leading edge). | Файл:Convolution of spiky function with box2.gif |
Historical developments
One 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.[6]
Also, an expression of the type:
- <math>\int f(u)\cdot g(x - u) \, du</math>
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.[7] 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 60s. Prior to that it was sometimes known as Faltung (which means folding in German), composition product, superposition integral, and Carson's integral.[8] Yet it appears as early as 1903, though the definition is rather unfamiliar in older uses.[9][10]
The operation:
- <math>\int_0^t \varphi(s)\psi(t - s) \, ds,\quad 0 \le t < \infty,</math>
is a particular case of composition products considered by the Italian mathematician Vito Volterra in 1913.[11]
Circular convolution
When a function Шаблон:Math is periodic, with period Шаблон:Mvar, then for functions, Шаблон:Mvar, such that Шаблон:Math exists, the convolution is also periodic and identical to:
- <math>(f * g_T)(t) \equiv \int_{t_0}^{t_0+T} \left[\sum_{k=-\infty}^\infty f(\tau + kT)\right] g_T(t - \tau)\, d\tau,</math>
where Шаблон:Math is an arbitrary choice. The summation is called a periodic summation of the function Шаблон:Mvar.
When Шаблон:Math is a periodic summation of another function, Шаблон:Mvar, then Шаблон:Math is known as a circular or cyclic convolution of Шаблон:Mvar and Шаблон:Mvar.
And if the periodic summation above is replaced by Шаблон:Math, the operation is called a periodic convolution of Шаблон:Math and Шаблон:Math.
Discrete convolution
For complex-valued functions Шаблон:Math defined on the set Z of integers, the discrete convolution of Шаблон:Mvar and Шаблон:Mvar is given by:[12]
- <math>(f * g)[n] = \sum_{m=-\infty}^\infty f[m] g[n - m],</math>
or equivalently (see commutativity) by:
- <math>(f * g)[n] = \sum_{m=-\infty}^\infty f[n-m] g[m].</math>
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 Шаблон:Mvar has finite support in the set <math>\{-M,-M+1,\dots,M-1,M\}</math> (representing, for instance, a finite impulse response), a finite summation may be used:[13]
- <math>(f* g)[n]=\sum_{m=-M}^M f[n-m]g[m].</math>
Circular discrete convolution
When a function Шаблон:Math is periodic, with period Шаблон:Mvar, then for functions, Шаблон:Mvar, such that Шаблон:Math exists, the convolution is also periodic and identical to:
- <math>(f * g_N)[n] \equiv \sum_{m=0}^{N-1} \left(\sum_{k=-\infty}^\infty {f}[m + kN]\right) g_N[n - m].</math>
The summation on Шаблон:Mvar is called a periodic summation of the function Шаблон:Mvar.
If Шаблон:Math is a periodic summation of another function, Шаблон:Mvar, then Шаблон:Math is known as a circular convolution of Шаблон:Mvar and Шаблон:Mvar.
When the non-zero durations of both Шаблон:Mvar and Шаблон:Mvar are limited to the interval Шаблон:Math, Шаблон:Math reduces to these common forms:
The notation (Шаблон:Math) for cyclic convolution denotes convolution over the cyclic group of [[modular arithmetic|integers modulo Шаблон:Math]].
Circular convolution arises most often in the context of fast convolution with a fast Fourier transform (FFT) algorithm.
Fast convolution algorithms
In 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 (Шаблон:Harvnb; Шаблон:Harvnb).
Шаблон:EquationNote requires Шаблон:Mvar arithmetic operations per output value and Шаблон:Math operations for Шаблон:Mvar 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(Шаблон:Mvar log Шаблон:Mvar) complexity.
The most common fast convolution algorithms use fast Fourier transform (FFT) 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,[14] use fast Fourier transforms in other rings. The Winograd method is used as an alternative to the FFT.[15] It significantly speeds up 1D,[16] 2D,[17] and 3D[18] 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.[19] 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.[20] 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.[21]
Domain of definition
The convolution of two complex-valued functions on Шаблон:Math is itself a complex-valued function on Шаблон:Math, defined by:
- <math>(f * g )(x) = \int_{\mathbf{R}^d} f(y)g(x-y)\,dy = \int_{\mathbf{R}^d} f(x-y)g(y)\,dy,</math>
and is well-defined only if Шаблон:Mvar and Шаблон:Mvar 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 Шаблон:Mvar at infinity can be easily offset by sufficiently rapid decay in Шаблон:Mvar. The question of existence thus may involve different conditions on Шаблон:Mvar and Шаблон:Mvar:
Compactly supported functions
If Шаблон:Mvar and Шаблон:Mvar are compactly supported continuous functions, then their convolution exists, and is also compactly supported and continuous Шаблон:Harv. More generally, if either function (say Шаблон:Mvar) is compactly supported and the other is locally integrable, then the convolution Шаблон:Math is well-defined and continuous.
Convolution of Шаблон:Mvar and Шаблон:Mvar is also well defined when both functions are locally square integrable on Шаблон:Math and supported on an interval of the form Шаблон:Math (or both supported on Шаблон:Math).
Integrable functions
The convolution of Шаблон:Mvar and Шаблон:Mvar exists if Шаблон:Mvar and Шаблон:Mvar are both Lebesgue integrable functions in [[Lp space|Шаблон:Math(Шаблон:Math)]], and in this case Шаблон:Math is also integrable Шаблон:Harv. This is a consequence of Tonelli's theorem. This is also true for functions in Шаблон:Math, under the discrete convolution, or more generally for the convolution on any group.
Likewise, if Шаблон:Math(Шаблон:Math) and Шаблон:Math(Шаблон:Math) where Шаблон:Math, then Шаблон:Math(Шаблон:Math), and
- <math>\|{f}* g\|_p\le \|f\|_1\|g\|_p.</math>
In the particular case Шаблон:Math, this shows that Шаблон:Math is a Banach algebra under the convolution (and equality of the two sides holds if Шаблон:Mvar and Шаблон:Mvar are non-negative almost everywhere).
More generally, Young's inequality implies that the convolution is a continuous bilinear map between suitable Шаблон:Math spaces. Specifically, if Шаблон:Math satisfy:
- <math>\frac{1}{p}+\frac{1}{q}=\frac{1}{r}+1,</math>
then
- <math>\left\Vert f*g\right\Vert_r\le\left\Vert f\right\Vert_p\left\Vert g\right\Vert_q,\quad f\in L^p,\ g\in L^q,</math>
so that the convolution is a continuous bilinear mapping from Шаблон:Math to Шаблон:Math. The Young inequality for convolution is also true in other contexts (circle group, convolution on Шаблон:Math). The preceding inequality is not sharp on the real line: when Шаблон:Math, there exists a constant Шаблон:Math such that:
- <math>\left\Vert f*g\right\Vert_r\le B_{p,q}\left\Vert f\right\Vert_p\left\Vert g\right\Vert_q,\quad f\in L^p,\ g\in L^q.</math>
The optimal value of Шаблон:Math was discovered in 1975[22] and independently in 1976,[23] see Brascamp–Lieb inequality.
A stronger estimate is true provided Шаблон:Math:
- <math>\|f* g\|_r\le C_{p,q}\|f\|_p\|g\|_{q,w}</math>
where <math>\|g\|_{q,w}</math> is the [[Lp space#Weak Lp|weak Шаблон:Math]] norm. Convolution also defines a bilinear continuous map <math>L^{p,w}\times L^{q,w}\to L^{r,w}</math> for <math>1< p,q,r<\infty</math>, owing to the weak Young inequality:[24]
- <math>\|f* g\|_{r,w}\le C_{p,q}\|f\|_{p,w}\|g\|_{r,w}.</math>
Functions of rapid decay
In addition to compactly supported functions and integrable functions, functions that have sufficiently rapid decay at infinity can also be convolved. An important feature of the convolution is that if f and g both decay rapidly, then f∗g also decays rapidly. In particular, if f and g are rapidly decreasing functions, then so is the convolution f∗g. Combined with the fact that convolution commutes with differentiation (see #Properties), it follows that the class of Schwartz functions is closed under convolution Шаблон:Harv.
Distributions
Шаблон:Main article If f is a smooth function that is compactly supported and g is a distribution, then f∗g is a smooth function defined by
- <math>\int_{\mathbb{R}^d} {f}(y)g(x-y)\,dy = (f*g)(x) \in C^\infty(\mathbb{R}^d) .</math>
More generally, it is possible to extend the definition of the convolution in a unique way with <math>\varphi</math> the same as f above, so that the associative law
- <math>f* (g* \varphi) = (f* g)* \varphi</math>
remains valid in the case where f is a distribution, and g a compactly supported distribution Шаблон:Harv.
Measures
The convolution of any two Borel measures μ and ν of bounded variation is the measure <math>\mu*\nu</math> defined by Шаблон:Harv
- <math>\int_{\mathbf{R}^d} f(x) \, d(\mu*\nu)(x) = \int_{\mathbf{R}^d}\int_{\mathbf{R}^d}f(x+y)\,d\mu(x)\,d\nu(y).</math>
In particular,
- <math>(\mu*\nu)(A) = \int_{\mathbf{R}^d\times\mathbf R^d}1_A(x+y)\, d(\mu\times\nu)(x,y),</math>
where <math>A\subset\mathbf R^d</math> is a measurable set and <math>1_A</math> is the indicator function of <math>A</math>.
This agrees with the convolution defined above when μ and ν are regarded as distributions, as well as the convolution of L1 functions when μ and ν are absolutely continuous with respect to the Lebesgue measure.
The convolution of measures also satisfies the following version of Young's inequality
- <math>\|\mu* \nu\|\le \|\mu\|\|\nu\| </math>
where the norm is the total variation of a measure. Because the space of measures of bounded variation is a Banach space, convolution of measures can be treated with standard methods of functional analysis that may not apply for the convolution of distributions.
Properties
Algebraic properties
Шаблон:See also The convolution defines a product on the linear space of integrable functions. This product satisfies the following algebraic properties, which formally mean that the space of integrable functions with the product given by convolution is a commutative associative algebra without identity Шаблон:Harv. Other linear spaces of functions, such as the space of continuous functions of compact support, are closed under the convolution, and so also form commutative associative algebras.
- Commutativity
- <math display="block">f * g = g * f </math> Proof: By definition: <math display="block">(f * g)(t) = \int^\infty_{-\infty} f(\tau)g(t - \tau)\, d\tau</math> Changing the variable of integration to <math>u = t - \tau</math> the result follows.
- Associativity
- <math display="block">f * (g * h) = (f * g) * h</math> Proof: This follows from using Fubini's theorem (i.e., double integrals can be evaluated as iterated integrals in either order).
- Distributivity
- <math display="block">f * (g + h) = (f * g) + (f * h)</math> Proof: This follows from linearity of the integral.
- Associativity with scalar multiplication
- <math display="block">a (f * g) = (a f) * g</math> for any real (or complex) number <math>a</math>.
- Multiplicative identity
- No algebra of functions possesses an identity for the convolution. The lack of identity is typically not a major inconvenience, since most collections of functions on which the convolution is performed can be convolved with a delta distribution (a unitary impulse, centered at zero) or, at the very least (as is the case of L1) admit approximations to the identity. The linear space of compactly supported distributions does, however, admit an identity under the convolution. Specifically, <math display="block">f * \delta = f</math> where δ is the delta distribution.
- Inverse element
- Some distributions S have an inverse element S−1 for the convolution which then must satisfy <math display="block">S^{-1} * S = \delta</math> from which an explicit formula for S−1 may be obtained.Шаблон:ParagraphThe set of invertible distributions forms an abelian group under the convolution.
- Complex conjugation
- <math display="block">\overline{f * g} = \overline{f} * \overline{g}</math>
- Relationship with differentiation
- <math display="block">(f * g)' = f' * g = f * g'</math> Proof:
- <math>
\begin{align} (f * g)' & = \frac{d}{dt} \int^\infty_{-\infty} f(\tau) g(t - \tau) \, d\tau \\ & =\int^\infty_{-\infty} f(\tau) \frac{\partial}{\partial t} g(t - \tau) \, d\tau \\ & =\int^\infty_{-\infty} f(\tau) g'(t - \tau) \, d\tau = f* g'. \end{align} </math>
- Relationship with integration
- If <math display="inline">F(t) = \int^t_{-\infty} f(\tau) d\tau,</math> and <math display="inline">G(t) = \int^t_{-\infty} g(\tau) \, d\tau,</math> then <math display="block">(F * g)(t) = (f * G)(t) = \int^t_{-\infty}(f * g)(\tau)\,d\tau.</math>
Integration
If f and g are integrable functions, then the integral of their convolution on the whole space is simply obtained as the product of their integrals:[25]
- <math>\int_{\mathbf{R}^d}(f * g)(x) \, dx=\left(\int_{\mathbf{R}^d}f(x) \, dx\right) \left(\int_{\mathbf{R}^d}g(x) \, dx\right).</math>
This follows from Fubini's theorem. The same result holds if f and g are only assumed to be nonnegative measurable functions, by Tonelli's theorem.
Differentiation
In the one-variable case,
- <math>\frac{d}{dx}(f * g) = \frac{df}{dx} * g = f * \frac{dg}{dx}</math>
where <math>\frac{d}{dx}</math> is the derivative. More generally, in the case of functions of several variables, an analogous formula holds with the partial derivative:
- <math>\frac{\partial}{\partial x_i}(f * g) = \frac{\partial f}{\partial x_i} * g = f * \frac{\partial g}{\partial x_i}.</math>
A particular consequence of this is that the convolution can be viewed as a "smoothing" operation: the convolution of f and g is differentiable as many times as f and g are in total.
These identities hold under the precise condition that f and g are absolutely integrable and at least one of them has an absolutely integrable (L1) weak derivative, as a consequence of Young's convolution inequality. For instance, when f is continuously differentiable with compact support, and g is an arbitrary locally integrable function,
- <math>\frac{d}{dx}(f* g) = \frac{df}{dx} * g.</math>
These identities also hold much more broadly in the sense of tempered distributions if one of f or g is a rapidly decreasing tempered distribution, a compactly supported tempered distribution or a Schwartz function and the other is a tempered distribution. On the other hand, two positive integrable and infinitely differentiable functions may have a nowhere continuous convolution.
In the discrete case, the difference operator D f(n) = f(n + 1) − f(n) satisfies an analogous relationship:
- <math>D(f * g) = (Df) * g = f * (Dg).</math>
Convolution theorem
The convolution theorem states that[26]
- <math> \mathcal{F}\{f * g\} = \mathcal{F}\{f\}\cdot \mathcal{F}\{g\}</math>
where <math> \mathcal{F}\{f\}</math> denotes the Fourier transform of <math>f</math>.
Convolution in other types of transformations
Versions of this theorem also hold for the Laplace transform, two-sided Laplace transform, Z-transform and Mellin transform.
Convolution on matrices
If <math>\mathcal W</math> is the Fourier transform matrix, then
- <math>\mathcal W\left(C^{(1)}x \ast C^{(2)}y\right) = \left(\mathcal W C^{(1)} \bull \mathcal W C^{(2)}\right)(x \otimes y) = \mathcal W C^{(1)}x \circ \mathcal W C^{(2)}y</math>,
where <math> \bull </math> is face-splitting product,[27][28][29][30][31] <math> \otimes </math> denotes Kronecker product, <math> \circ </math> denotes Hadamard product (this result is an evolving of count sketch properties[32]).
Translational equivariance
The convolution commutes with translations, meaning that
- <math>\tau_x (f * g) = (\tau_x f) * g = f * (\tau_x g)</math>
where τxf is the translation of the function f by x defined by
- <math>(\tau_x f)(y) = f(y - x).</math>
If f is a Schwartz function, then τxf is the convolution with a translated Dirac delta function τxf = f ∗ τx δ. So translation invariance of the convolution of Schwartz functions is a consequence of the associativity of convolution.
Furthermore, under certain conditions, convolution is the most general translation invariant operation. Informally speaking, the following holds
- Suppose that S is a bounded linear operator acting on functions which commutes with translations: S(τxf) = τx(Sf) for all x. Then S is given as convolution with a function (or distribution) gS; that is Sf = gS ∗ f.
Thus some translation invariant operations can be represented as convolution. Convolutions play an important role in the study of time-invariant systems, and especially LTI system theory. The representing function gS is the impulse response of the transformation S.
A more precise version of the theorem quoted above requires specifying the class of functions on which the convolution is defined, and also requires assuming in addition that S must be a continuous linear operator with respect to the appropriate topology. It is known, for instance, that every continuous translation invariant continuous linear operator on L1 is the convolution with a finite Borel measure. More generally, every continuous translation invariant continuous linear operator on Lp for 1 ≤ p < ∞ is the convolution with a tempered distribution whose Fourier transform is bounded. To wit, they are all given by bounded Fourier multipliers.
Convolutions on groups
If G is a suitable group endowed with a measure λ, and if f and g are real or complex valued integrable functions on G, then we can define their convolution by
- <math>(f * g)(x) = \int_G f(y) g\left(y^{-1}x\right)\,d\lambda(y).</math>
It is not commutative in general. In typical cases of interest G is a locally compact Hausdorff topological group and λ is a (left-) Haar measure. In that case, unless G is unimodular, the convolution defined in this way is not the same as <math display="inline">\int f\left(xy^{-1}\right)g(y) \, d\lambda(y)</math>. The preference of one over the other is made so that convolution with a fixed function g commutes with left translation in the group:
- <math>L_h(f* g) = (L_hf)* g.</math>
Furthermore, the convention is also required for consistency with the definition of the convolution of measures given below. However, with a right instead of a left Haar measure, the latter integral is preferred over the former.
On locally compact abelian groups, a version of the convolution theorem holds: the Fourier transform of a convolution is the pointwise product of the Fourier transforms. The circle group T with the Lebesgue measure is an immediate example. For a fixed g in L1(T), we have the following familiar operator acting on the Hilbert space L2(T):
- <math>T {f}(x) = \frac{1}{2 \pi} \int_{\mathbf{T}} {f}(y) g( x - y) \, dy.</math>
The operator T is compact. A direct calculation shows that its adjoint T* is convolution with
- <math>\bar{g}(-y).</math>
By the commutativity property cited above, T is normal: T* T = TT* . Also, T commutes with the translation operators. Consider the family S of operators consisting of all such convolutions and the translation operators. Then S is a commuting family of normal operators. According to spectral theory, there exists an orthonormal basis {hk} that simultaneously diagonalizes S. This characterizes convolutions on the circle. Specifically, we have
- <math>h_k (x) = e^{ikx}, \quad k \in \mathbb{Z},\;</math>
which are precisely the characters of T. Each convolution is a compact multiplication operator in this basis. This can be viewed as a version of the convolution theorem discussed above.
A discrete example is a finite cyclic group of order n. Convolution operators are here represented by circulant matrices, and can be diagonalized by the discrete Fourier transform.
A similar result holds for compact groups (not necessarily abelian): the matrix coefficients of finite-dimensional unitary representations form an orthonormal basis in L2 by the Peter–Weyl theorem, and an analog of the convolution theorem continues to hold, along with many other aspects of harmonic analysis that depend on the Fourier transform.
Convolution of measures
Let G be a (multiplicatively written) topological group. If μ and ν are finite Borel measures on G, then their convolution μ∗ν is defined as the pushforward measure of the group action and can be written as
- <math>(\mu * \nu)(E) = \iint 1_E(xy) \,d\mu(x) \,d\nu(y)</math>
for each measurable subset E of G. The convolution is also a finite measure, whose total variation satisfies
- <math>\|\mu * \nu\| \le \left\|\mu\right\| \left\|\nu\right\|.</math>
In the case when G is locally compact with (left-)Haar measure λ, and μ and ν are absolutely continuous with respect to a λ, so that each has a density function, then the convolution μ∗ν is also absolutely continuous, and its density function is just the convolution of the two separate density functions.
If μ and ν are probability measures on the topological group Шаблон:Nowrap then the convolution μ∗ν is the probability distribution of the sum X + Y of two independent random variables X and Y whose respective distributions are μ and ν.
Infimal convolution
In convex analysis, the infimal convolution of proper (not identically <math>+\infty</math>) convex functions <math>f_1,\dots,f_m</math> on <math>\mathbb R^n</math> is defined by:[33] <math display="block">(f_1*\cdots*f_m)(x)=\inf_x \{ f_1(x_1)+\cdots+f_m(x_m) | x_1+\cdots+x_m = x\}.</math> It can be shown that the infimal convolution of convex functions is convex. Furthermore, it satisfies an identity analogous to that of the Fourier transform of a traditional convolution, with the role of the Fourier transform is played instead by the Legendre transform: <math display="block">\varphi^*(x) = \sup_y ( x\cdot y - \varphi(y)).</math> We have: <math display="block">(f_1*\cdots *f_m)^*(x) = f_1^*(x) + \cdots + f_m^*(x).</math>
Bialgebras
Let (X, Δ, ∇, ε, η) be a bialgebra with comultiplication Δ, multiplication ∇, unit η, and counit ε. The convolution is a product defined on the endomorphism algebra End(X) as follows. Let φ, ψ ∈ End(X), that is, φ, ψ: X → X are functions that respect all algebraic structure of X, then the convolution φ∗ψ is defined as the composition
- <math>X \mathrel{\xrightarrow{\Delta}} X \otimes X \mathrel{\xrightarrow{\phi\otimes\psi}} X \otimes X \mathrel{\xrightarrow{\nabla}} X.</math>
The convolution appears notably in the definition of Hopf algebras Шаблон:Harv. A bialgebra is a Hopf algebra if and only if it has an antipode: an endomorphism S such that
- <math>S * \operatorname{id}_X = \operatorname{id}_X * S = \eta\circ\varepsilon.</math>
Applications
Convolution and related operations are found in many applications in science, engineering and mathematics.
- Convolutional neural networks apply multiple cascaded convolution kernels with applications in machine vision and artificial intelligence.[34][35] Though these are actually cross-correlations rather than convolutions in most cases.[36]
- In non-neural-network-based image processing
- In digital image processing convolutional filtering plays an important role in many important algorithms in edge detection and related processes (see Kernel (image processing))
- In optics, an out-of-focus photograph is a convolution of the sharp image with a lens function. The photographic term for this is bokeh.
- In image processing applications such as adding blurring.
- In digital data processing
- In analytical chemistry, Savitzky–Golay smoothing filters are used for the analysis of spectroscopic data. They can improve signal-to-noise ratio with minimal distortion of the spectra
- In statistics, a weighted moving average is a convolution.
- In acoustics, reverberation is the convolution of the original sound with echoes from objects surrounding the sound source.
- In digital signal processing, convolution is used to map the impulse response of a real room on a digital audio signal.
- In electronic music convolution is the imposition of a spectral or rhythmic structure on a sound. Often this envelope or structure is taken from another sound. The convolution of two signals is the filtering of one through the other.[37]
- In electrical engineering, the convolution of one function (the input signal) with a second function (the impulse response) gives the output of a linear time-invariant system (LTI). At any given moment, the output is an accumulated effect of all the prior values of the input function, with the most recent values typically having the most influence (expressed as a multiplicative factor). The impulse response function provides that factor as a function of the elapsed time since each input value occurred.
- In physics, wherever there is a linear system with a "superposition principle", a convolution operation makes an appearance. For instance, in spectroscopy line broadening due to the Doppler effect on its own gives a Gaussian spectral line shape and collision broadening alone gives a Lorentzian line shape. When both effects are operative, the line shape is a convolution of Gaussian and Lorentzian, a Voigt function.
- In time-resolved fluorescence spectroscopy, the excitation signal can be treated as a chain of delta pulses, and the measured fluorescence is a sum of exponential decays from each delta pulse.
- In computational fluid dynamics, the large eddy simulation (LES) turbulence model uses the convolution operation to lower the range of length scales necessary in computation thereby reducing computational cost.
- In probability theory, the probability distribution of the sum of two independent random variables is the convolution of their individual distributions.
- In kernel density estimation, a distribution is estimated from sample points by convolution with a kernel, such as an isotropic Gaussian.Шаблон:Sfn
- In radiotherapy treatment planning systems, most part of all modern codes of calculation applies a convolution-superposition algorithm.Шаблон:Clarify
- In structural reliability, the reliability index can be defined based on the convolution theorem.
- The definition of reliability index for limit state functions with nonnormal distributions can be established corresponding to the joint distribution function. In fact, the joint distribution function can be obtained using the convolution theory.Шаблон:Sfn
- In Smoothed-particle hydrodynamics, simulations of fluid dynamics are calculated using particles, each with surrounding kernels. For any given particle <math>i</math>, some physical quantity <math>A_i</math> is calculated as a convolution of <math>A_j</math> with a weighting function, where <math>j</math> denotes the neighbors of particle <math>i</math>: those that are located within its kernel. The convolution is approximated as a summation over each neighbor.[38]
- In Fractional calculus convolution is instrumental in various definitions of fractional integral and fractional derivative.
See also
- Analog signal processing
- Circulant matrix
- Convolution for optical broad-beam responses in scattering media
- Convolution power
- Convolution quotient
- Dirichlet convolution
- Generalized signal averaging
- List of convolutions of probability distributions
- LTI system theory#Impulse response and convolution
- Multidimensional discrete convolution
- Scaled correlation
- Titchmarsh convolution theorem
- Toeplitz matrix (convolutions can be considered a Toeplitz matrix operation where each row is a shifted copy of the convolution kernel)
- Wavelet transform
Notes
References
Further reading
- Шаблон:Citation.
- Шаблон:Citation
- Шаблон:Citation
- Dominguez-Torres, Alejandro (Nov 2, 2010). "Origin and history of convolution". 41 pgs. https://slideshare.net/Alexdfar/origin-adn-history-of-convolution. Cranfield, Bedford MK43 OAL, UK. Retrieved Mar 13, 2013.
- Шаблон:Citation
- Шаблон:Citation
- Шаблон:Citation.
- Шаблон:Citation.
- Шаблон:Citation.
- Шаблон:Citation.
- Шаблон:Citation.
- Шаблон:Narici Beckenstein Topological Vector Spaces
- Шаблон:Citation
- Шаблон:Citation.
- Шаблон:Schaefer Wolff Topological Vector Spaces
- Шаблон:Citation.
- Шаблон:Springer.
- Шаблон:Citation.
- Шаблон:Citation.
- Шаблон:Trèves François Topological vector spaces, distributions and kernels
- Шаблон:Citation
- Шаблон:Citation.
External links
Шаблон:Wiktionary Шаблон:Commons category
- Earliest Uses: The entry on Convolution has some historical information.
- Convolution, on The Data Analysis BriefBook
- https://jhu.edu/~signals/convolve/index.html Visual convolution Java Applet
- https://jhu.edu/~signals/discreteconv2/index.html Visual convolution Java Applet for discrete-time functions
- https://get-the-solution.net/projects/discret-convolution discret-convolution online calculator
- https://lpsa.swarthmore.edu/Convolution/CI.html Convolution demo and visualization in javascript
- https://phiresky.github.io/convolution-demo/ Another convolution demo in javascript
- Lectures on Image Processing: A collection of 18 lectures in pdf format from Vanderbilt University. Lecture 7 is on 2-D convolution., by Alan Peters
- * https://archive.org/details/Lectures_on_Image_Processing
- Convolution Kernel Mask Operation Interactive tutorial
- Convolution at MathWorld
- Freeverb3 Impulse Response Processor: Opensource zero latency impulse response processor with VST plugins
- Stanford University CS 178 interactive Flash demo showing how spatial convolution works.
- A video lecture on the subject of convolution given by Salman Khan
- Example of FFT convolution for pattern-recognition (image processing)
- Intuitive Guide to Convolution A blogpost about an intuitive interpretation of convolution.
Шаблон:Differentiable computing
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite book
- ↑ Шаблон:Cite book
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Dominguez-Torres, p 2
- ↑ Dominguez-Torres, p 4
- ↑ Шаблон:Citation
- ↑ Шаблон:Citation
- ↑ Шаблон:Citation
- ↑ According to [Lothar von Wolfersdorf (2000), "Einige Klassen quadratischer Integralgleichungen", Sitzungsberichte der Sächsischen Akademie der Wissenschaften zu Leipzig, Mathematisch-naturwissenschaftliche Klasse, volume 128, number 2, 6–7], the source is Volterra, Vito (1913), "Leçons sur les fonctions de linges". Gauthier-Villars, Paris 1913.
- ↑ Шаблон:Harvnb
- ↑ Шаблон:Cite book
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite book
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite book
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Harvnb
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Citation
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Zölzer, Udo, ed. (2002). DAFX:Digital Audio Effects, p.48–49. Шаблон:Isbn.
- ↑ Шаблон:Cite journal
- Английская Википедия
- Страницы с неработающими файловыми ссылками
- Functional analysis
- Image processing
- Fourier analysis
- Bilinear maps
- Feature detection (computer vision)
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Английской Википедии