Convolution in the time domain

We have introduced convolution as a combination of weighted and time-shifted copies of a signal, where the pattern of time-shifts and weights is explicitly given by another signal (e.g. the impulse response of a room). This is a time-domain explanation. Mathematically it can be written as:

\[ y(n) = f(n) \ast g(n) = \sum\limits_{k=0}^{n} {f(k)g(n-k)} \]

The star symbol '*' denotes convolution, in this case between the signals f and g. The numbers n and k are integers counting from 0 to the signal lengths. If we for simplicity assume that the length of both functions are N = 3, the output elements of y will be:

  • n = 0: y(0) = f(0)g(0)
  • n = 1: y(1) = f(0)g(1) + f(1)g(0)
  • n = 2: y(2) = f(0)g(2) + f(1)g(1) + f(2)g(0)
  • n = 3: y(3) = f(1)g(2) + f(2)g(1)
  • n = 4: y(4) = f(2)g(2)

If you look closely at the list above you will see that the operations is symmetric. You can interchange f and g and get the exact same result. The convolution formula can be read as if one signal is reversed (the negative k in n-k) and shifted through the other. For each time shift overlapping samples from the two signals are multiplied and accumulated. The figure below should illustrate this:

A graphical explanation of convolution in the time domain