(f∗g)(t) = ∫ f(τ)·g(t−τ) dτ
Convolution is the engine behind every linear filter: image blur, audio echo, smoothing, edge detection. This page shows it visually — the blue input signal stays fixed while the orange kernel is flipped and slid across it. At each position the overlap is multiplied and summed, and that single number becomes the next point of the green output curve.
Continuous: (f∗g)(t) = ∫ f(τ)·g(t−τ) dτ
Discrete: (f∗g)[n] = Σ f[k]·g[n−k]
Convolution in the time domain equals simple multiplication in the frequency domain (the Convolution Theorem). That is why the Fast Fourier Transform makes large convolutions — and the Gaussian blur in your photo app — astonishingly fast.
What is convolution? Convolution combines two functions by sliding one over the other, multiplying overlapping values and summing the result at every shift. The output measures how much the two overlap as one is displaced.
What is the convolution formula? Continuous: (f∗g)(t) = ∫ f(τ)·g(t−τ) dτ. Discrete: (f∗g)[n] = Σ f[k]·g[n−k]. The kernel is flipped and slid, and the product area is accumulated.
Why is the kernel flipped? The g(t−τ) term reverses the kernel in time. Flipping makes convolution commutative and gives LTI systems their defining property: output = input ∗ impulse response.
It is what an LTI system outputs for a single unit impulse. Since any signal is a sum of shifted, scaled impulses, convolving with the impulse response fully describes the system — that is what the kernel represents.
Every linear filter is a convolution. A box or Gaussian kernel averages neighbours to blur or smooth; an exponential kernel produces echo and decay. Choosing the kernel chooses the filter.
It sets how many samples the kernel spans. Wider kernels average over more of the signal — stronger smoothing or longer echo; narrow kernels keep sharp features. Width trades detail for smoothness.
A box (moving-average) kernel weights every sample in its window equally and can leave hard edges. A Gaussian weights the centre most and tapers smoothly, giving cleaner, artefact-free smoothing.
It is one-sided and decaying. Convolving with it copies each input sample forward in time with shrinking amplitude — the echo and reverb tails of audio, and the decay of RC circuits.
Yes: f∗g = g∗f. It is also associative and distributive, which lets engineers cascade and reorder filters freely.
It samples the signal and kernel on a discrete grid, flips the kernel, and slides it sample by sample. At each shift it multiplies overlapping samples, sums them, and plots that as the next output point — the discrete convolution sum, animated.
This simulation visualises convolution — a mathematical operation at the heart of every linear filter. The blue input signal stays fixed while the orange kernel is flipped and slid across it; at each position the overlapping values are multiplied and summed to produce one point of the green output curve, building up (f*g)(t) in real time. By changing the kernel type and width you can directly observe how smoothing, blurring, or echo effects emerge from the same fundamental arithmetic.
Convolution is used in audio processing (reverb and equalisation), image processing (Gaussian blur, sharpening, edge detection), communications (channel modelling), and neural networks (convolutional layers). It was formalised in the 18th and 19th centuries through the work of mathematicians such as Laplace and Cauchy, and became central to engineering once sampling theory and digital signal processing matured in the 20th century.
Convolution is a mathematical operation that combines two functions — a signal f and a kernel g — by sliding one over the other, multiplying their overlapping values, and summing the products at every shift. The result (f*g)(t) describes how much the two functions overlap when one is displaced by t. It is the defining operation of linear time-invariant (LTI) systems.
Select an input signal (square pulse, spike train, noisy signal, or step edge) and a kernel type (box, Gaussian, or exponential) from the drop-down menus in the control panel. Use the Kernel width slider to widen or narrow the filter, and the Speed slider to slow the sweep down for closer inspection. Press Pause at any moment to freeze the animation and examine the exact overlap at a given shift position.
The formula (f*g)(t) = integral f(tau) * g(t - tau) d-tau contains the term g(t - tau), which reverses the kernel in time before it is displaced by t. This flip is not a visual trick — it is what makes convolution commutative (f*g = g*f) and is the reason an LTI system's output is fully described by convolving the input with the system's impulse response.
The impulse response h(t) is the output a system produces when its input is a single unit impulse (a Dirac delta, or a single spike in discrete systems). Because any arbitrary signal can be decomposed as a sum of scaled, time-shifted impulses, the output for any input is simply the convolution of that input with the impulse response. This means knowing h fully characterises any LTI system — microphones, amplifiers, rooms, and digital filters alike.
Convolution is ubiquitous: photo-editing software applies it for Gaussian blur, sharpening, and edge detection; audio workstations use it for reverb (convolving dry audio with a room's impulse response); wireless communications engineers model channel distortion with it; radiologists use it in CT and MRI reconstruction; and deep-learning frameworks build convolutional neural network layers directly on discrete 2-D convolution. Even the smoothing filter in your smartwatch's accelerometer is a convolution.
Yes — this is the Convolution Theorem. If F and G are the Fourier transforms of f and g, then the Fourier transform of f*g is simply F times G (pointwise multiplication). This is why the Fast Fourier Transform (FFT) makes large convolutions dramatically faster: instead of O(N^2) multiply-add operations in the time domain, FFT-based convolution takes only O(N log N) steps. The Gaussian blur in your photo app and the FIR filters in audio hardware exploit this fact.
Not necessarily. A wider kernel averages or integrates over more of the signal, which reduces noise and smooths edges — but it also smears fine detail and delays causal filters (like the exponential echo kernel) by more samples. Choosing kernel width is a trade-off between noise suppression and resolution. In image processing, over-blurring destroys texture; in audio, excessive reverb tails reduce intelligibility. The right width depends entirely on the application.
The integral form of convolution appeared in 18th-century analysis, with contributions from Euler, Laplace, and Cauchy in the context of differential equations and integral transforms. The Fourier transform connection was established by Joseph Fourier in the early 19th century. The engineering application to linear filters was systematised by Oliver Heaviside in the late 1800s and later by Claude Shannon and Norbert Wiener in the mid-20th century as part of information theory and cybernetics.
Cross-correlation (f star g)(t) = integral f(tau) * g(t + tau) d-tau is almost identical to convolution but without the kernel flip. When f = g (autocorrelation) it measures self-similarity at different lags. In template matching and pattern recognition, cross-correlation locates where a template best fits a signal. Convolution and cross-correlation differ only in the sign of the shift; for symmetric kernels (like a Gaussian) they produce identical results. Related simulations include Fourier Transform, Low-Pass / High-Pass Filtering, and Impulse Response.
In a CNN, each convolutional layer applies a small 2-D kernel (e.g. 3x3 or 5x5 pixels) to an input feature map using the discrete convolution sum. The kernel weights are not hand-designed — they are learned from data via backpropagation. Stacking many such layers lets the network learn hierarchical features: edges in layer 1, textures in layer 2, object parts in layer 3, and so on. The same mathematical operation that blurs a photo or echoes a sound is therefore also the engine behind image classifiers, object detectors, and speech recognition systems.
Active research directions include: depthwise separable convolutions (used in MobileNet) to reduce CNN computation on mobile devices; graph convolution networks that extend convolution to irregular, non-Euclidean data such as social graphs and molecular structures; learnable or adaptive filter banks that change kernel shape during inference; and quantum convolution algorithms that may offer super-polynomial speedups over classical FFT for certain problem sizes. In signal processing, sparse-approximation methods (compressed sensing) exploit convolution structure to recover signals from far fewer measurements than the Nyquist rate traditionally demands.