9.6: The Convolution Operation

In the list of properties of the Fourier transform, we defined the convolution of two functions, \(f(x)\) and \(g(x)\) to be the integral \[(f * g)(x)=\int_<-\infty>^ <\infty>f(t) g(x-t) d t .\label \] In some sense one is looking at a sum of the overlaps of one of the functions and all of the shifted versions of the other function. The German word for convolution is faltung, which means "folding" and in old texts this is referred to as the Faltung Theorem. In this section we will look into the convolution operation and its Fourier transform. Before we get too involved with the convolution operation, it should be noted that there are really two things you need to take away from this discussion. The rest is detail. First, the convolution of two functions is a new functions as defined by \(\eqref\) when dealing wit the Fourier transform. The second and most relevant is that the Fourier transform of the convolution of two functions is the product of the transforms of each function. The rest is all about the use and consequences of these two statements. In this section we will show how the convolution works and how it is useful.

Note
The convolution is commutative.

First, we note that the convolution is commutative: \(f * g=g * f\) . This is easily shown by replacing \(x-t\) with a new variable, \(y=x-t\) and \(d y=-d t\) . \[\begin (g * f)(x) &=\int_<-\infty>^ <\infty>g(t) f(x-t) d t\nonumber \\ &=-\int_<\infty>^ <-\infty>g(x-y) f(y) d y\nonumber \\ &=\int_<-\infty>^ <\infty>f(y) g(x-y) d y\nonumber \\ &=(f * g)(x) .\label \end \] The best way to understand the folding of the functions in the convolution is to take two functions and convolve them. The next example gives a graphical rendition followed by a direct computation of the convolution. The reader is encouraged to carry out these analyses for other functions.

Example \(\PageIndex\)
Graphical Convolution of the box function and a triangle function.
Solution

In order to understand the convolution operation, we need to apply it to specific functions. We will first do this graphically for the box function \[f(x)=\left\1,&|x|\leq 1, \\ 0,&|x|>1\end\right.\nonumber \] and the triangular function \[g(x)=\left\x,&0\leq x\leq 1, \\ 0,&\text\end\right.\nonumber \] as shown in Figure \(\PageIndex\). clipboard_e6a907b0041c2ac188a19c9537ce3c187.pngNext, we determine the contributions to the integrand. We consider the shifted and reflected function \(g(t-x)\) in Equation \(\eqref\) for various values of \(t\) . For \(t=0\) , we have \(g(x-0)=g(-x)\) . This function is a reflection of the triangle function, \(g(x)\) , as shown in Figure \(\PageIndex\). clipboard_ee5e7b1aae9b40ca5510f962174accdfb.pngWe then translate the triangle function performing horizontal shifts by \(t\) . In Figure \(\PageIndex\) we show such a shifted and reflected \(g(x)\) for \(t=2\) , or \(g(2-x)\) . clipboard_e7b2d44581f89c5223abcb20017d175b5.pngIn Figure \(\PageIndex\) we show several plots of other shifts, \(g(x-t)\) , superimposed on \(f(x)\) . The integrand is the product of \(f(t)\) and \(g(x-t)\) and the integral of the product \(f(t) g(x-t)\) is given by the sum of the shaded areas for each value of \(x\) . In the first plot of Figure \(\PageIndex\) the area is zero, as there is no overlap of the functions. Intermediate shift values are displayed in the other plots in Figure \(\PageIndex\). The value of the convolution at \(x\) is shown by the area under the product of the two functions for each value of \(x\) . clipboard_e25bd11f03e4c3d51e61ba834dde2d46e.pngPlots of the areas of the convolution of the box and triangle functions for several values of \(x\) are given in Figure \(\PageIndex\). We see that the value of the convolution integral builds up and then quickly drops to zero as a function of \(x\). In Figure \(\PageIndex\) the values of these areas is shown as a function of \(x\). clipboard_edb3d7b7a36c0efbbf1203b09197075c2.png

The plot of the convolution in Figure \(\PageIndex<5>\) is not easily determined using the graphical method. However, we can directly compute the convolution as shown in the next example.

Example \(\PageIndex\)
Analytically find the convolution of the box function and the triangle function.
Solution

The nonvanishing contributions to the convolution integral are when both \(f(t)\) and \(g(x-t)\) do not vanish. \(f(t)\) is nonzero for \(|t| \leq 1\) , or \(-1 \leq t \leq 1 . g(x-t)\) is nonzero for \(0 \leq x-t \leq 1\) , or \(x-1 \leq t \leq x\) . These two regions are shown in Figure \(\PageIndex<6>\). On this region, \(f(t) g(x-t)=x-t\) . clipboard_e76f9252116cc5b305c095843735c97a4.pngIsolating the intersection in Figure \(\PageIndex\), we see in Figure \(\PageIndex\) that there are three regions as shown by different shadings. These regions lead to a piecewise defined function with three different branches of nonzero values for \(-1 The values of the convolution can be determined through careful integration. The resulting integrals are given as \[\begin (f\ast g)(x)&=\int_<-\infty>^\infty f(t)g(x-t)dt\nonumber \\ &=\left\\int_^x (x-t)dt, &-1^x (x-t)dt, &0^1(x-t)dt,&1\right.\nonumber \\ &=\left\\frac(x+1)^2,&-1

Convolution Theorem for Fourier Transforms

In this section we compute the Fourier transform of the convolution integral and show that the Fourier transform of the convolution is the product of the transforms of each function, \[F[f * g]=\hat(k) \hat(k) .\label \] First, we use the definitions of the Fourier transform and the convolution to write the transform as \[\begin F[f * g] &=\int_<-\infty>^<\infty>(f * g)(x) e^ d x\nonumber \\ &=\int_<-\infty>^<\infty>\left(\int_<-\infty>^ <\infty>f(t) g(x-t) d t\right) e^ d x\nonumber \\ &=\int_<-\infty>^<\infty>\left(\int_<-\infty>^ <\infty>g(x-t) e^ d x\right) f(t) d t .\label \end \] We now substitute \(y=x-t\) on the inside integral and separate the integrals: \[\begin F[f * g] &=\int_<-\infty>^<\infty>\left(\int_<-\infty>^ <\infty>g(x-t) e^ d x\right) f(t) d t\nonumber \\ &=\int_<-\infty>^<\infty>\left(\int_<-\infty>^ <\infty>g(y) e^ d y\right) f(t) d t\nonumber \\ &=\int_<-\infty>^<\infty>\left(\int_<-\infty>^ <\infty>g(y) e^ d y\right) f(t) e^ d t\nonumber \\ &=\left(\int_<-\infty>^ <\infty>f(t) e^ d t\right)\left(\int_<-\infty>^ <\infty>g(y) e^ d y\right)\label \end \] We see that the two integrals are just the Fourier transforms of \(f\) and \(g\) . Therefore, the Fourier transform of a convolution is the product of the Fourier transforms of the functions involved: \[F[f * g]=\hat(k) \hat(k) \text <. >\nonumber \]

Example \(\PageIndex\)
Compute the convolution of the box function of height one and width two with itself.
Solution

clipboard_e9435ebac0bfcda0f3a28322f1be53600.png

Let \(\hat(k)\) be the Fourier transform of \(f(x)\) . Then, the Convolution Theorem says that \(F[f * f](k)=\hat^(k)\) , or \[(f * f)(x)=F^\left[\hat^(k)\right] .\nonumber \] For the box function, we have already found that \[\hat(k)=\frac \sin k .\nonumber \] So, we need to compute \[\begin (f * f)(x) &=F^\left[\frac \sin ^ k\right]\nonumber \\ &=\frac \int_<-\infty>^<\infty>\left(\frac \sin ^ k\right) e^ d k .\label \end \] One way to compute this integral is to extend the computation into the complex \(k\) -plane. We first need to rewrite the integrand. Thus, \[\begin (f * f)(x) &=\frac \int_<-\infty>^ <\infty>\frac \sin ^ k e^ d k\nonumber \\ &=\frac <\pi>\int_<-\infty>^ <\infty>\frac[1-\cos 2 k] e^ d k\nonumber \\ &=\frac <\pi>\int_<-\infty>^ <\infty>\frac\left[1-\frac\left(e^+e^\right)\right] e^ d k\nonumber \\ &=\frac <\pi>\int_<-\infty>^ <\infty>\frac\left[e^-\frac\left(e^+e^\right)\right] d k .\label \end \] We can compute the above integrals if we know how to compute the integral \[I(y)=\frac <\pi>\int_<-\infty>^ <\infty>\frac> d k .\nonumber \] Then, the result can be found in terms of \(I(y)\) as \[(f * f)(x)=I(x)-\frac[I(1-k)+I(1+k)] .\nonumber \] We consider the integral \[\oint_ \frac><\pi z^> d z\nonumber \] over the contour in Figure \(\PageIndex\). We can see that there is a double pole at \(z = 0\). The pole is on the real axis. So, we will need to cut out the pole as we seek the value of the principal value integral. Recall from Chapter 8 that \[\oint_\frac><\pi z^2>dz=\int_\frac><\pi z^2>dz+\int_^\frac><\pi z^2>dz+\int_\frac><\pi z^2>dz+\int_\epsilon^R\frac><\pi z^2>dz.\nonumber \] The integral \(\oint_> \frac><\pi z^> d z\) vanishes since there are no poles enclosed in the contour! The sum of the second and fourth integrals gives the integral we seek as \(\epsilon \rightarrow 0\) and \(R \rightarrow \infty\) . The integral over \(\Gamma_\) will vanish as \(R\) gets large according to Jordan’s Lemma provided \(y \int_<\mathcal_> f(z) d z=-\pi i \operatorname[f(z) ; z=0] .\nonumber \] Therefore, we find \[I(y)=P \int_<-\infty>^ <\infty>\frac><\pi z^> d z=\pi i \operatorname\left[\frac><\pi z^> ; z=0\right] .\nonumber \] A simple computation of the reside gives \(I(y)=-y\) , for \(y0\) , we need to close the contour in the lower half plane in order to apply Jordan’s Lemma. Carrying out the computation, one finds \(I(y)=y\) , for \(y>0\) . Thus, \[I(y)=\left\ -y, & y>0, \\ y, & y\right.\label \] We are now ready to finish the computation of the convolution. We have to combine the integrals \(I(y), I(y+1)\) , and \(I(y-1)\) , since \((f * f)(x)=I(x)-\) \(\frac[I(1-k)+I(1+k)]\) . This gives different results in four intervals: \[\begin (f * f)(x) &=x-\frac[(x-2)+(x+2)]=0, \quad x<-2,\nonumber \\ &=x-\frac[(x-2)-(x+2)]=2+x \quad-22 .\label \end \] A plot of this solution is the triangle function, \[(f * f)(x)=\left\ 0, & x2 \end\right.\label \] which was shown in the last example.

Example \(\PageIndex\)

Find the convolution of the box function of height one and width two with itself using a direct computation of the convolution integral.

Solution

The nonvanishing contributions to the convolution integral are when both \(f(t)\) and \(f(x-t)\) do not vanish. \(f(t)\) is nonzero for \(|t| \leq 1\) , or \(-1 \leq t \leq 1 . f(x-t)\) is nonzero for \(|x-t| \leq 1\) , or \(x-1 \leq t \leq x+1\) . These two regions are shown in Figure \(\PageIndex<10>\). On this region, \(f(t) g(x-t)=1\) . clipboard_ee1f94c0e08ef1fb63063cc73d8e9c75f.png clipboard_e0491afa61fae3c8cf02208dd45f25ec3.pngThus, the nonzero contributions to the convolution are \[(f * f)(x)=\left\ \int_^ d t, \quad 0 \leq x \leq 2, \\ \int_^ d t, \quad-2 \leq x \leq 0, \end=\left\ 2+x, & 0 \leq x \leq 2, \\ 2-x, & -2 \leq x \leq 0 . \end\right.\right.\nonumber \] Once again, we arrive at the triangle function.

In the last section we showed the graphical convolution. For completeness, we do the same for this example. In Figure \(\PageIndex<10>\) we show the results. We see that the convolution of two box functions is a triangle function.

Example \(\PageIndex\)
Show the graphical convolution of the box function of height one and width two with itself. Let’s consider a slightly more complicated example, the convolution of two Gaussian functions.
Example \(\PageIndex\)
Convolution of two Gaussian functions \(f(x)=e^\).
Solution

In this example we will compute the convolution of two Gaussian functions with different widths. Let \(f(x)=e^<-a x^>\) and \(g(x)=e^>\) . A direct evaluation of the integral would be to compute \[(f * g)(x)=\int_<-\infty>^ <\infty>f(t) g(x-t) d t=\int_<-\infty>^ <\infty>e^<-a t^-b(x-t)^> d t .\nonumber \] This integral can be rewritten as \[(f * g)(x)=e^> \int_<-\infty>^ <\infty>e^<-(a+b) t^+2 b x t> d t .\nonumber \] One could proceed to complete the square and finish carrying out the integration. However, we will use the Convolution Theorem to evaluate the convolution and leave the evaluation of this integral to Problem 12. Recalling the Fourier transform of a Gaussian from Example 9.5.1, we have \[\hat(k)=F[e^]=\sqrt<\frac<\pi>>e^\label \] and \[\hat(k)=F[e^]=\sqrt<\frac<\pi>>e^.\nonumber \] Denoting the convolution function by \(h(x) = (f ∗ g)(x)\), the Convolution Theorem gives \[\hat(k)=\hat(k)\hat(k)=\frac<\pi>>e^e^.\nonumber \] This is another Gaussian function, as seen by rewriting the Fourier transform of \(h(x)\) as \[\hat(k)=\frac<\pi>>e^\left(\frac+\frac\right)k^2>=\frac<\pi>>e^k^2>.\label \] In order to complete the evaluation of the convolution of these two Gaussian functions, we need to find the inverse transform of the Gaussian in Equation \(\eqref\). We can do this by looking at Equation \(\eqref\). We have first that \[F^\left[\sqrt<\frac<\pi>>e^\right]=e^.\nonumber \] Moving the constants, we then obtain \[F^[e^]=\sqrt<\frac<\pi>>e^.\nonumber \] We now make the substitution \(\alpha =\frac\), \[F^[e^]=\sqrt<\frac<4\pi\alpha>>e^.\nonumber \] This is in the form needed to invert \(\eqref\). Thus, for \(\alpha =\frac\) we find \[(f * g)(x)=h(x)=\sqrt<\frac<\pi>> e^ x^> .\nonumber \]

Application to Signal Analysis

There are many applications of the convolution operation. One of these areas is the study of analog signals. An analog signal is a continuous signal and may contain either a finite, or continuous, set of frequencies. Fourier transforms can be used to represent such signals as a sum over the frequency content of these signals. In this section we will describe how convolutions can be used in studying signal analysis. The first application is filtering. For a given signal there might be some noise in the signal, or some undesirable high frequencies. For example, a device used for recording an analog signal might naturally not be able to record high frequencies. Let \(f(t)\) denote the amplitude of a given analog signal and \(\hat(\omega)\) be the Fourier transform of this signal such the example provided in Figure \(\PageIndex\). Recall that the Fourier transform gives the frequency content of the signal. clipboard_ef71080320d20afbf93bf62ec9f193b0c.pngThere are many ways to filter out unwanted frequencies. The simplest would be to just drop all of the high (angular) frequencies. For example, for some cutoff frequency \(\omega_\) frequencies \(|\omega|>\omega_\) will be removed. The Fourier transform of the filtered signal would then be zero for \(|\omega|>\omega_\) . This could be accomplished by multiplying the Fourier transform of the signal by a function that vanishes for \(|\omega|>\omega_\) . For example, we could use the gate function \[p_<\omega_>(\omega)=\left\ 1, & |\omega| \leq \omega_ \\ 0, & |\omega|>\omega_ \end,\right.\label \] as shown in Figure \(\PageIndex\). clipboard_ec68afa9bc8d81753835cad1447c91ff8.pngIn general, we multiply the Fourier transform of the signal by some filtering function \(\hat(t)\) to get the Fourier transform of the filtered signal, \[\hat(\omega)=\hat(\omega) \hat(\omega) .\nonumber \] The new signal, \(g(t)\) is then the inverse Fourier transform of this product, giving the new signal as a convolution: \[g(t)=F^[\hat(\omega) \hat(\omega)]=\int_<-\infty>^ <\infty>h(t-\tau) f(\tau) d \tau .\label \] Such processes occur often in systems theory as well. One thinks of \(f(t)\) as the input signal into some filtering device which in turn produces the output, \(g(t)\) . The function \(h(t)\) is called the impulse response. This is because it is a response to the impulse function, \(\delta(t)\) . In this case, one has \[\int_<-\infty>^ <\infty>h(t-\tau) \delta(\tau) d \tau=h(t) .\nonumber \] Another application of the convolution is in windowing. This represents what happens when one measures a real signal. Real signals cannot be recorded for all values of time. Instead data is collected over a finite time interval. If the length of time the data is collected is \(T\) , then the resulting signal is zero outside this time interval. This can be modeled in the same way as with filtering, except the new signal will be the product of the old signal with the windowing function. The resulting Fourier transform of the new signal will be a convolution of the Fourier transforms of the original signal and the windowing function.

Example \(\PageIndex\): Finite Wave Train, Revisited

We return to the finite wave train in Example 9.5.6 given by \[h(t)=\left\ \cos \omega_ t, & |t| \leq a \\ 0, & |t|>a \end .\right.\nonumber \]

Solution

clipboard_e66bd3d82b59ff0f5efc3240b67ad323a.png

We can view this as a windowed version of \(f(t)=\cos \omega_<0>\) t obtained by multiplying \(f(t)\) by the gate function \[g_a(t)=\left\1,&|x|\leq a \\ 0,&|x|>a\end\right.\label \] This is shown in Figure \(\PageIndex\). Then, the Fourier transform is given as a convolution, \[\begin \hat(\omega) &=\left(\hat * \hat_\right)(\omega)\nonumber \\ &=\frac \int_<-\infty>^ <\infty>\hat(\omega-v) \hat_(v) d v .\label \end \] Note that the convolution in frequency space requires the extra factor of \(1 /(2 \pi)\) .

Note

The convolution in spectral space is defined with an extra factor of \(1 / 2 \pi\) so as to preserve the idea that the inverse Fourier transform of a convolution is the product of the corresponding signals.

We need the Fourier transforms of \(f\) and \(g_\) in order to finish the computation. The Fourier transform of the box function was found in Example 9.5.2 as \[\hat_(\omega)=\frac <\omega>\sin \omega a \text <. >\nonumber \] The Fourier transform of the cosine function, \(f(t)=\cos \omega_ t\) , is \[\begin \hat(\omega) &=\int_<-\infty>^ <\infty>\cos \left(\omega_ t\right) e^ d t\nonumber \\ &=\int_<-\infty>^ <\infty>\frac\left(e^ +e^ <-i \omega_t>\right) e^ d t\nonumber \\ &=\frac \int_<-\infty>^<\infty>\left(e^+e^\right) d t\nonumber \\ &=\pi\left[\delta\left(\omega+\omega_\right)+\delta\left(\omega-\omega_\right)\right]\label \end \] Note that we had earlier computed the inverse Fourier transform of this function in Example 9.5.5. Inserting these results in the convolution integral, we have \[\begin \hat(\omega) &=\frac \int_<-\infty>^ <\infty>\hat(\omega-v) \hat_(v) d v\nonumber \\ &=\frac \int_<-\infty>^ <\infty>\pi\left[\delta\left(\omega-v+\omega_\right)+\delta\left(\omega-v-\omega_\right)\right] \frac \sin v a d v\nonumber \\ &=\frac<\sin \left(\omega+\omega_\right) a><\omega+\omega_>+\frac<\sin \left(\omega-\omega_\right) a><\omega-\omega_> .\label \end \] This is the same result we had obtained in Example 9.5.6.

Parseval’s Equality

Note

The integral/sum of the (modulus) square of a function is the integral/sum of the (modulus) square of the transform.

As another example of the convolution theorem, we derive Parseval’s Equality (named after Marc-Antoine Parseval (1755-1836)): \[\int_<-\infty>^<\infty>|f(t)|^ d t=\frac \int_<-\infty>^<\infty>|\hat(\omega)|^ d \omega .\label \] This equality has a physical meaning for signals. The integral on the left side is a measure of the energy content of the signal in the time domain. The right side provides a measure of the energy content of the transform of the signal. Parseval’s equality, is simply a statement that the energy is invariant under the Fourier transform. Parseval’s equality is a special case of Plancherel’s formula (named after Michel Plancherel, 1885-1967). Let’s rewrite the Convolution Theorem in its inverse form \[F^[\hat(k) \hat(k)]=(f * g)(t) .\label \] Then, by the definition of the inverse Fourier transform, we have \[\int_<-\infty>^ <\infty>f(t-u) g(u) d u=\frac \int_<-\infty>^ <\infty>\hat(\omega) \hat(\omega) e^ d \omega .\nonumber \] Setting \(t=0\) , \[\int_<-\infty>^ <\infty>f(-u) g(u) d u=\frac \int_<-\infty>^ <\infty>\hat(\omega) \hat(\omega) d \omega .\label \] Now, let \(g(t)=\overline\) , or \(f(-t)=\overline\) . We note that the Fourier transform of \(g(t)\) is related to the Fourier transform of \(f(t)\) : \[\begin \hat(\omega) &=\int_<-\infty>^ <\infty>\overline e^ d t\nonumber \\ &=-\int_<\infty>^ <-\infty>\overline> d \tau\nonumber \\ &=\int_<-\infty>^ <\infty>f(\tau) e^ d \tau=\bar(\omega) .\label \end \] So, inserting this result into Equation \(\eqref\), we find that \[\int_<-\infty>^ <\infty>f(-u) \overline d u=\frac \int_<-\infty>^<\infty>|\hat(\omega)|^ d \omega\nonumber \] which yields Parseval’s Equality in the form \(\eqref\) after substituting \(t=-u\) on the left. As noted above, the forms in Equations \(\eqref\) and \(\eqref\) are often referred to as the Plancherel formula or Parseval formula. A more commonly defined Parseval equation is that given for Fourier series. For example, for a function \(f(x)\) defined on \([-\pi, \pi]\) , which has a Fourier series representation, we have \[\frac^>+\sum_^<\infty>\left(a_^+b_^\right)=\frac <\pi>\int_<-\pi>^<\pi>[f(x)]^ d x .\nonumber \] In general, there is a Parseval identity for functions that can be expanded in a complete sets of orthonormal functions, \(\left\<\phi_(x)\right\>, n=1,2, \ldots\) , which is given by \[\sum_^<\infty>^=\|f\|^ .\nonumber \] Here \(\|f\|^=\langle f, f\rangle\) . The Fourier series example is just a special case of this formula.

This page titled 9.6: The Convolution Operation is shared under a CC BY-NC-SA 3.0 license and was authored, remixed, and/or curated by Russell Herman via source content that was edited to the style and standards of the LibreTexts platform.

  1. Back to top
    • 9.5: Properties of the Fourier Transform
    • 9.7: The Laplace Transform