# Convolution

A convolution between two signals, ${\displaystyle x(t)}$ and ${\displaystyle y(t)}$, is an operation defined as follows:

${\displaystyle x(t)*y(t)=\int _{-\infty }^{+\infty }x(\tau )y(t-\tau )d\tau }$

The process of convolution is very useful in the time domain analysis of systems, because we can fully describe a system by its impulse response. Let's consider the following system which operates on an input as ${\displaystyle O\{\}}$, having characterized its impulse response by ${\displaystyle o(t)}$:

${\displaystyle y(t)=O[x(t)]}$
${\displaystyle y(t)=x(t)*o(t)}$

Put into other words, the output of a system in an instant ${\displaystyle t}$ can be written as a linear combination of past and future instants of the input and its impulse response:

${\displaystyle y(t)=\int _{-\infty }^{+\infty }x(\tau )o(t-\tau )d\tau }$

## Discrete Convolution

In discrete time there is no continuous time ${\displaystyle x(t)}$ but finite samples ${\displaystyle x[n]}$.

So the integral can be rewritten as a sum

${\displaystyle (x*y)[m]=\sum _{n=-\infty }^{\infty }x[m-n]*y[n]}$

To understand the convolution of finite length signals better, let's look at an example with the signals ${\displaystyle x=[1,2,3]}$ and ${\displaystyle y=[6,9]}$.

[ 1] * [6 9] = ?

[ 6 12 18  0]    // [1 2 3] * 6
[ 0  9 18 27]    // [1 2 3] * 9
-------------
[ 6 21 36 27]    // sum of the above


Note that the length of the output signal has the length ${\displaystyle N+M-1}$ where ${\displaystyle M}$ is the length of ${\displaystyle x}$ and ${\displaystyle N}$ the length of ${\displaystyle y}$.