Convolution theorem

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In mathematics, the convolution theorem states that under suitable conditions the Fourier transform of a convolution of two functions (or signals) is the product of their Fourier transforms. More generally, convolution in one domain (e.g., time domain) equals point-wise multiplication in the other domain (e.g., frequency domain). Other versions of the convolution theorem are applicable to various Fourier-related transforms.

Functions of a continuous variable

[edit | edit source]

Consider two functions u(x) and v(x) with Fourier transforms U and V:

U(f){u}(f)=u(x)ei2πfxdx,fV(f){v}(f)=v(x)ei2πfxdx,f

where denotes the Fourier transform operator. The transform may be normalized in other ways, in which case constant scaling factors (typically 2π or 2π) will appear in the convolution theorem below. The convolution of u and v is defined by:

r(x)={u*v}(x)u(τ)v(xτ)dτ=u(xτ)v(τ)dτ.

In this context the asterisk denotes convolution, instead of standard multiplication. The tensor product symbol is sometimes used instead.

The convolution theorem states that:[1][2]: eq.8 

Applying the inverse Fourier transform 1, produces the corollary:[2]: eqs.7, 10 

Convolution theorem

The theorem also generally applies to multi-dimensional functions.

This theorem also holds for the Laplace transform, the two-sided Laplace transform and, when suitably modified, for the Mellin transform and Hartley transform (see Mellin inversion theorem). It can be extended to the Fourier transform of abstract harmonic analysis defined over locally compact abelian groups.

Periodic convolution (Fourier series coefficients)

[edit | edit source]

Consider P-periodic functions uP   and   vP, which can be expressed as periodic summations:

uP(x) m=u(xmP)   and   vP(x) m=v(xmP).

In practice the non-zero portion of components u and v are often limited to duration P, but nothing in the theorem requires that.

The Fourier series coefficients are:

U[k]{uP}[k]=1PPuP(x)ei2πkx/Pdx,k;integration over any interval of length PV[k]{vP}[k]=1PPvP(x)ei2πkx/Pdx,k

where denotes the Fourier series integral.

  • The product: uP(x)vP(x) is also P-periodic, and its Fourier series coefficients are given by the discrete convolution of the U and V sequences:
{uPvP}[k]={U*V}[k].
  • The convolution:
{uP*v}(x) uP(xτ)v(τ) dτPuP(xτ)vP(τ) dτ;integration over any interval of length P

is also P-periodic, and is called a periodic convolution.

The corresponding convolution theorem is:

Functions of a discrete variable (sequences)

[edit | edit source]

By a derivation similar to Eq.1, there is an analogous theorem for sequences, such as samples of two continuous functions, where now denotes the discrete-time Fourier transform (DTFT) operator. Consider two sequences u[n] and v[n] with transforms U and V:

U(f){u}(f)=n=u[n]ei2πfn,f,V(f){v}(f)=n=v[n]ei2πfn,f.

The § Discrete convolution of u and v is defined by:

r[n](u*v)[n]=m=u[m]v[nm]=m=u[nm]v[m].

The convolution theorem for discrete sequences is:[3][4]: p.60 (2.169) 

Periodic convolution

[edit | edit source]

U(f) and V(f), as defined above, are periodic, with a period of 1. Consider N-periodic sequences uN and vN:

uN[n] m=u[nmN]   and   vN[n] m=v[nmN],n.

These functions occur as the result of sampling U and V at intervals of 1/N and performing an inverse discrete Fourier transform (DFT) on N samples (see § Sampling the DTFT). The discrete convolution:

{uN*v}[n] m=uN[m]v[nm]m=0N1uN[m]vN[nm]

is also N-periodic, and is called a periodic convolution. Redefining the operator as the N-length DFT, the corresponding theorem is:[5][4]: p. 548 

And therefore:

Under the right conditions, it is possible for this N-length sequence to contain a distortion-free segment of a u*v convolution. But when the non-zero portion of the u(n) or v(n) sequence is equal or longer than N, some distortion is inevitable.  Such is the case when the V(k/N) sequence is obtained by directly sampling the DTFT of the infinitely long § Discrete Hilbert transform impulse response.[A]

For u and v sequences whose non-zero duration is less than or equal to N, a final simplification is:

Circular convolution

This form is often used to efficiently implement numerical convolution by computer. (see § Fast convolution algorithms and § Example)

As a partial reciprocal, it has been shown [6] that any linear transform that turns convolution into a product is the DFT (up to a permutation of coefficients).

Convolution theorem for inverse Fourier transform

[edit | edit source]

There is also a convolution theorem for the inverse Fourier transform:

Here, "" represents the Hadamard product, and "*" represents a convolution between the two matrices.

{u*v}={u}{v}{uv}={u}*{v}

so that

u*v=1{{u}{v}}uv=1{{u}*{v}}

Convolution theorem for tempered distributions

[edit | edit source]

The convolution theorem extends to tempered distributions. Here, v is an arbitrary tempered distribution:

{u*v}={u}{v}{αv}={α}*{v}.

But u=F{α} must be "rapidly decreasing" towards and + in order to guarantee the existence of both, convolution and multiplication product. Equivalently, if α=F1{u} is a smooth "slowly growing" ordinary function, it guarantees the existence of both, multiplication and convolution product.[7][8][9]

In particular, every compactly supported tempered distribution, such as the Dirac delta, is "rapidly decreasing". Equivalently, bandlimited functions, such as the function that is constantly 1 are smooth "slowly growing" ordinary functions. If, for example, vШ is the Dirac comb both equations yield the Poisson summation formula and if, furthermore, uδ is the Dirac delta then α1 is constantly one and these equations yield the Dirac comb identity.

See also

[edit | edit source]

Notes

[edit | edit source]
  1. ^ An example is the MATLAB function, hilbert(u,N).

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Further reading

[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Additional resources

[edit | edit source]

For a visual representation of the use of the convolution theorem in signal processing, see:

de:Faltung (Mathematik)#Faltungstheorem 2 fr:Produit de convolution