0
\(k=0,\;y[k]=0\)

Sum of \(x[n]h[k-n]\) equals \(y[k]\).

Convolution: definition & properties

Definition

\(y[k]=\sum_{n=-\infty}^{\infty} x[n]h[k-n]\)

Graphically: reverse/shift \(h\), multiply sample-by-sample with \(x\), then sum all products to get one output sample \(y[k]\).

Changing \(k\) moves the overlap window and traces the output sequence.

Key properties

  • Commutative: \(x*h=h*x\) — swapping inputs gives the same sequence.
  • Shift (delta): \(x[n]*\delta[n-k_0]=x[n-k_0]\) — a shifted impulse shifts the signal.
  • Identity: \(x[n]*\delta[n]=x[n]\) — the impulse is the neutral element.
  • Length hint: \(\mathrm{len}(y)=\mathrm{len}(x)+\mathrm{len}(h)-1\) for finite-length sequences.

Try it

Mini FAQ

Why do we flip/reverse h?

In discrete convolution we evaluate \(h[k-n]\), so \(h\) is first reversed to \(h[-n]\) and then shifted by \(k\). This gives the sliding overlap against \(x[n]\) used to compute each output sample.

What does the slider t/k represent?

The slider controls \(k\), the output index for one value \(y[k]=\sum_n x[n]h[k-n]\). Moving it shifts the overlap window and traces \(y[k]\) sample-by-sample.

Linear vs circular convolution (discrete)

Linear convolution keeps full overlap without wrap-around. Circular convolution wraps indices modulo \(N\); FFT multiplication is circular unless you zero-pad to recover the linear result.

Next steps

This demo visualizes graphical convolution. Use the Calculator for arbitrary signals or Training for guided exercises.