Convolution theorem

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

In mathematics, the convolution theorem states that under suitable conditions the Fourier transform of a convolution is the pointwise product of Fourier transforms. In other words, convolution in one domain (e.g., time domain) equals point-wise multiplication in the other domain (e.g., frequency domain). Versions of the convolution theorem are true for various Fourier-related transforms. Let \ f and \ g be two functions with convolution \ f*g . (Note that the asterisk denotes convolution in this context, and not multiplication. The tensor product symbol \otimes is sometimes used instead.) Let \ \mathcal{F} denote the Fourier transform operator, so \ \mathcal{F}\{f\} and \ \mathcal{F}\{g\} are the Fourier transforms of \ f and \ g, respectively. Then

\mathcal{F}\{f*g\} = \mathcal{F}\{f\} \cdot \mathcal{F}\{g\}

where \cdot denotes point-wise multiplication. It also works the other way around:

\mathcal{F}\{f \cdot g\}= \mathcal{F}\{f\}*\mathcal{F}\{g\}

By applying the inverse Fourier transform \mathcal{F}^{-1}, we can write:

f*g= \mathcal{F}^{-1}\big\{\mathcal{F}\{f\}\cdot\mathcal{F}\{g\}\big\}

Note that the relationships above are only valid for the form of the Fourier transform shown in the Proof section below. The transform may be normalised in other ways, in which case constant scaling factors (typically \ 2\pi or \ \sqrt{2\pi}) will appear in the relationships above.

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.

This formulation is especially useful for implementing a numerical convolution on a computer: The standard convolution algorithm has quadratic computational complexity. With the help of the convolution theorem and the fast Fourier transform, the complexity of the convolution can be reduced to O(n log n). This can be exploited to construct fast multiplication algorithms.

Proof[edit]

The proof here is shown for a particular normalization of the Fourier transform. As mentioned above, if the transform is normalized differently, then constant scaling factors will appear in the derivation.

Let f, g belong to L1(Rn). Let F be the Fourier transform of f and G be the Fourier transform of g:

F(\nu) = \mathcal{F}\{f\} = \int_{\mathbb{R}^n} f(x) e^{-2 \pi i x\cdot\nu} \, \mathrm{d}x
G(\nu) = \mathcal{F}\{g\} = \int_{\mathbb{R}^n}g(x) e^{-2 \pi i x\cdot\nu} \, \mathrm{d}x,

where the dot between x and ν indicates the inner product of Rn. Let h be the convolution of f and g

h(z) = \int\limits_{\mathbb{R}^n} f(x) g(z-x)\, \mathrm{d} x.

Now notice that

 \int\!\!\int |f(x)g(z-x)|\,dz\,dx=\int |f(x)| \int |g(z-x)|\,dz\,dx = \int |f(x)|\,\|g\|_1\,dx=\|f\|_1 \|g\|_1.

Hence by Fubini's theorem we have that h\in L^1(\mathbb{R}^n) so its Fourier transform H is defined by the integral formula


\begin{align}
  H(\nu) = \mathcal{F}\{h\} &= \int_{\mathbb{R}^n} h(z) e^{-2 \pi i z\cdot\nu}\, dz \\
                            &= \int_{\mathbb{R}^n} \int_{\mathbb{R}^n} f(x) g(z-x)\, dx\, e^{-2 \pi i z\cdot \nu}\, dz.
\end{align}

Observe that  |f(x)g(z-x)e^{-2\pi i z\cdot\nu}|=|f(x)g(z-x)| and hence by the argument above we may apply Fubini's theorem again (i.e. interchange the order of integration):

H(\nu) = \int_{\mathbb{R}^n} f(x)\left(\int_{\mathbb{R}^n} g(z-x)e^{-2 \pi i z\cdot \nu}\,dz\right)\,dx.

Substitute y=z-x; then dy = dz, so:

H(\nu) = \int_{\mathbb{R}^n} f(x) \left( \int_{\mathbb{R}^n} g(y) e^{-2 \pi i (y+x)\cdot\nu}\,dy \right) \,dx
=\int_{\mathbb{R}^n} f(x)e^{-2\pi i x\cdot \nu} \left( \int_{\mathbb{R}^n} g(y) e^{-2 \pi i y\cdot\nu}\,dy \right) \,dx
=\int_{\mathbb{R}^n} f(x)e^{-2\pi i x\cdot \nu}\,dx \int_{\mathbb{R}^n} g(y) e^{-2 \pi i y\cdot\nu}\,dy.

These two integrals are the definitions of F(\nu) and G(\nu), so:

H(\nu) = F(\nu) \cdot G(\nu),

QED.

Functions of discrete variable sequences[edit]

By similar arguments, it can be shown that the discrete convolution of sequences x and y is given by:

x * y = \scriptstyle{DTFT}^{-1} \displaystyle \big[ \scriptstyle{DTFT}\displaystyle \{x\}\cdot \ \scriptstyle{DTFT}\displaystyle \{y\} \big],

where DTFT represents the discrete-time Fourier transform.

An important special case is the circular convolution of x and y defined by x_N * y, where x_N is a periodic summation:

x_N[n]\ \stackrel{\text{def}}{=} \sum_{m=-\infty}^{\infty} x[n-mN].

It can then be shown that:


\begin{align}
x_N * y & = \scriptstyle{DTFT}^{-1} \displaystyle \big[ \scriptstyle{DTFT}\displaystyle \{x_N\} \cdot \scriptstyle{DTFT}\displaystyle \{y\} \big] \\
& = \scriptstyle{DFT}^{-1} \displaystyle \big[ \scriptstyle{DFT}\displaystyle \{x_N\}\cdot \scriptstyle{DFT}\displaystyle \{y_N\} \big],
\end{align}

where DFT represents the discrete Fourier transform.

The proof follows from DTFT#Periodic_data, which indicates that \scriptstyle{DTFT}\displaystyle \{x_N\} can be written as:

\scriptstyle{DTFT}\displaystyle \{x_N\}(f) = \frac{1}{N} \sum_{k=-\infty}^{\infty} \left(\scriptstyle{DFT}\displaystyle\{x_N\}[k]\right)\cdot \delta\left(f-k/N\right)

The product with \scriptstyle{DTFT}\displaystyle \{y\}(f) is thereby reduced to a discrete-frequency function:

\scriptstyle{DTFT}\displaystyle \{x_N\}\cdot \scriptstyle{DTFT}\displaystyle \{y\} = \frac{1}{N} \sum_{k=-\infty}^{\infty} \scriptstyle{DFT}\displaystyle\{x_N\}[k]\cdot \underbrace{\scriptstyle{DTFT}\displaystyle \{y\}(k/N)}_{\scriptstyle{DFT}\displaystyle\{y_N\}[k]}\cdot \delta\left(f-k/N\right) (also using Sampling the DTFT).

The inverse DTFT is:


\begin{align}
(x_N * y)[n] & = \int_{0}^{1} \frac{1}{N} \sum_{k=-\infty}^{\infty} \scriptstyle{DFT}\displaystyle\{x_N\}[k]\cdot \scriptstyle{DFT}\displaystyle\{y_N\}[k]\cdot \delta\left(f-k/N\right)\cdot e^{i 2 \pi f n} df \\
& = \frac{1}{N} \sum_{k=-\infty}^{\infty} \scriptstyle{DFT}\displaystyle\{x_N\}[k]\cdot \scriptstyle{DFT}\displaystyle\{y_N\}[k]\cdot \int_{0}^{1} \delta\left(f-k/N\right)\cdot e^{i 2 \pi f n} df \\
& = \frac{1}{N} \sum_{k=0}^{N-1} \scriptstyle{DFT}\displaystyle\{x_N\}[k]\cdot \scriptstyle{DFT}\displaystyle\{y_N\}[k]\cdot e^{i 2 \pi \frac{n}{N} k} \\
& = \scriptstyle{DFT}^{-1} \displaystyle \big[ \scriptstyle{DFT}\displaystyle \{x_N\}\cdot \scriptstyle{DFT}\displaystyle \{y_N\} \big],
\end{align}

QED.

References[edit]

Additional resources[edit]

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