Convolution
Convolution Integral and Sum
Convolution is how you find the output of a linear time-invariant (LTI) system when you know two things: the input signal and the system's impulse response. The impulse response is simply what the system outputs when you feed it the shortest possible "spike" input.
For continuous-time systems, the convolution integral is:
where is the input signal and is the impulse response. That "spike" input is modeled as the Dirac delta function , an idealized pulse with infinite height, zero width, and an area of 1.
For discrete-time systems, the convolution sum does the same job:
Here the "spike" input is the Kronecker delta , which equals 1 at and 0 everywhere else.
In both cases, the idea is the same: you're building the output sample-by-sample (or point-by-point) by sliding the flipped impulse response across the input and summing up the overlapping products.

System Response and Impulse Response
If you know a system's impulse response (or ), you know everything about how that LTI system behaves. Any input you throw at it can be broken into a collection of scaled, shifted impulses, and the output is the sum of the corresponding scaled, shifted impulse responses. That's exactly what the convolution operation computes.
This is why impulse responses matter so much in practice. Filters, equalizers, and control systems are all characterized by their impulse responses. Measure or design , and you can predict the output for any input.
Steps to compute convolution (graphical method):
-
Write out and .
-
Flip to get .
-
Shift the flipped version by to get .
-
Multiply and together.
-
Integrate (or sum, for discrete-time) the product over all .
-
Repeat for each value of you need.

Correlation
Cross-Correlation and Auto-Correlation
While convolution asks "what does this system output?", correlation asks "how similar are these two signals?"
Cross-correlation measures the similarity between two signals as you slide one past the other in time. The continuous-time cross-correlation of and is:
The variable is the lag, the time-shift applied to one signal. Where peaks tells you the lag at which the two signals line up best. This is exactly how radar and sonar systems estimate the distance to a target: they transmit a pulse, receive the echo, and cross-correlate to find the time delay.
Auto-correlation is the cross-correlation of a signal with itself:
Auto-correlation always peaks at (a signal is most similar to itself with no shift). Its real usefulness is in revealing repeating patterns. If a signal has a periodic component, the auto-correlation will show peaks at lags equal to the period. Applications include pitch detection in audio and identifying cyclic behavior in data.
Properties of Correlation
A few properties make correlation easier to work with:
- Time-shifting: If you shift one of the input signals by some amount , the cross-correlation function shifts by the same amount. The shape doesn't change, only where the peak lands.
- Symmetry: Cross-correlation is not symmetric in general: . Swapping which signal you shift is the same as flipping the lag axis. Auto-correlation, however, is symmetric: .
- Duality with convolution: Cross-correlation of and equals the convolution of with the time-reversed version of . This means you can compute correlation using the same fast algorithms built for convolution, including the Fast Fourier Transform (FFT). In the frequency domain, cross-correlation becomes , where is the complex conjugate of .
Convolution vs. Correlation at a glance: Convolution flips one signal then slides; correlation just slides. Convolution finds a system's output; correlation measures similarity between signals. They're closely related mathematically but answer different questions.