Convolution operation(denoted as $\ast$) between two signals, $f(t)$ and $g(t)$ is

\[(f\ast g)(t) = \sum_a f(a) \cdot g(t-a)\]

In convolution the signal $g(t)$ is flipped and convolved(passed through) on the input signal $f(t)$. Using convolution we look for what will be the output of the filter, $g(t)$ when it’s input is $x(t)$.

Using correlation we check whether a signal $g(t)$ is present in a given noisy signal $x(t)$. One pratical application is template matching in computer vision. The correlation is given by

\[(f\ast g)(t) = \sum_t f(t) \cdot g(t-a)\]

TODO: Relationship between convolution and correlation using Numpy

TODO: Relationship between convolution, correlation and fft

Reference: