Convolution

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


 * $$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 $$O\{\}$$, having characterized its impulse response by $$o(t)$$:


 * $$x(t) \longrightarrow \begin{array}{ |c| }\hline O \{ \} \\ \hline\end{array} \longrightarrow y(t)$$


 * $$y(t)=O[x(t)]$$


 * $$y(t)=x(t)*o(t)$$

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


 * $$y(t)=\int_{-\infty}^{+\infty} x(\tau)o(t-\tau)d\tau$$

Discrete Convolution
In discrete time there is no continuous time $$x(t)$$ but finite samples $$x[n]$$.

So the integral can be rewritten as a sum:


 * $$(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 $$x=[1, 2, 3]$$ and $$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 $$N + M - 1$$ where $$M$$ is the length of $$x$$ and $$N$$ the length of $$y$$.