Skip to main content
Engineering LibreTexts

6.1: The Convolution Transform and Its Inverse - the Convolution Integral

  • Page ID
    7656
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Suppose that we have two physically realistic functions of time, \(f_{1}(t)\) and \(f_{2}(t)\), that are zero for all time \(t\) < 0 and non-zero only for \(t \geq 0\). The convolution integral is defined (Meirovitch, 1967, pp. 16-17, 534) to be another function of time in terms of a definite integral involving \(f_{1}(t)\) and \(f_{2}(t)\):

    \[C I(t) \equiv \int_{r=0}^{t=t} f_{1}(\tau) f_{2}(t-\tau) d \tau \nonumber \]

    In this definite integral, \(\tau\) is the dummy variable of integration, and time \(t\) appears both in the upper limit of the integral and in argument (\(t-\tau\)) of the integrand. We can express the integral differently by making the change of integration variable \(\lambda=t-\tau\), so that \(\tau=t-\lambda\) and \(d \tau=-d \lambda\), since \(t\) is regarded as a constant within the integration:

    \[\int_{\tau=0}^{\tau=t} f_{1}(\tau) f_{2}(t-\tau) d \tau=\int_{\lambda=t}^{\lambda=0} f_{1}(t-\lambda) f_{2}(\lambda)(-d \lambda)=\int_{\lambda=0}^{\lambda=t} f_{1}(t-\lambda) f_{2}(\lambda) d \lambda \nonumber \]

    The final right-hand-side form results because exchanging the limits of a definite integral changes its sign. In the final right-hand-side integral, \(\lambda\) is just the dummy variable of integration, which might as well be \(\tau\), so we can write the convolution integral in either of the following forms:

    \[C I(t)=\int_{\tau=0}^{\tau=t} f_{1}(\tau) f_{2}(t-\tau) d \tau=\int_{\tau=0}^{\tau=t} f_{1}(t-\tau) f_{2}(\tau) d \tau\label{eqn:6.1} \]

    The Laplace transform \(L[C I(t)]\) is called the convolution transform. Let us suppose that the Laplace transforms of functions \(f_{1}(t)\) and \(f_{2}(t)\) exist: \(F_{1}(s)=L\left[f_{1}(t)\right]\) and \(F_{2}(s)=L\left[f_{2}(t)\right]\). Then, as is derived in Appendix A, Section 18.5, the product of these two transforms equals the convolution transform:

    \[F_{1}(s) \times F_{2}(s)=L[C I(t)]=L\left[\int_{\tau=0}^{\tau=t} f_{1}(\tau) f_{2}(t-\tau) d \tau\right]=L\left[\int_{\tau=0}^{\tau=t} f_{1}(t-\tau) f_{2}(\tau) d \tau\right]\label{eqn:6.2} \]

    It follows that the inverse transform of the product is the convolution integral:

    \[L^{-1}\left[F_{1}(s) \times F_{2}(s)\right]=C I(t)=\int_{t=0}^{t=t} f_{1}(\tau) f_{2}(t-\tau) d \tau=\int_{\tau=0}^{\tau=t} f_{1}(t-\tau) f_{2}(\tau) d \tau\label{eqn:6.3} \]

    For LTI systems in general, the convolution integral Equation \(\ref{eqn:6.3}\) will permit us to derive time response solutions for any physically realistic input function \(u(t)\).

    It is of interest to note that in MATLAB, the most common definition of convolution is a type of multiplication of two vectors. If the vectors are the coefficients of two polynomials, then MATLAB convolution amounts to the multiplication of the two polynomials. Consider, for example, the following product of two polynomials in s:

    \[F_{1}(s) \times F_{2}(s)=\left(2 s^{2}+3 s+5\right) \times(4 s+6)=8 s^{3}+24 s^{2}+38 s+30 \nonumber \]

    The following are MATLAB operations that execute this multiplication, using the conv command, and the results1:

    >> F1=[2 3 5];F2=[4 6];F3=conv(F1,F2)

    F3 = 8 24 38 30

    Similarly, MATLAB defines deconvolution as a type of division of two vectors. If the vectors are the coefficients of two polynomials, then deconvolution amounts to the division of one polynomial by the other. The MATLAB command is deconv.

    1See also the description at the end of Section 8.11 of the relationship between the convolution sum and multiplication of polynomials.


    This page titled 6.1: The Convolution Transform and Its Inverse - the Convolution Integral is shared under a CC BY-NC 4.0 license and was authored, remixed, and/or curated by William L. Hallauer Jr. (Virginia Tech Libraries' Open Education Initiative) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.