Convolution
What Is Convolution?
Convolution is a mathematical operation on two functions that produces a third function expressing how the shape of one is modified by the other. In signal processing and systems theory, it describes the output of a linear time-invariant (LTI) system: given an input signal and a system's impulse response, the output is their convolution. The operation is defined as the integral (for continuous signals) or sum (for discrete signals) of the product of one function with the time-reversed and shifted version of the other. Its centrality to LTI system analysis makes convolution one of the most broadly used mathematical tools in electrical engineering, communications, and image processing.
Discrete Convolution
Discrete convolution operates on sequences rather than continuous functions, making it directly applicable to digital signal processing. For two finite-length sequences x[n] of length N and h[n] of length M, the convolution y[n] has length N + M - 1 and is computed as the sum of products y[n] = sum over k of x[k] times h[n-k]. Linear convolution corresponds to the mathematical definition; circular (or cyclic) convolution wraps the result modulo a period length and arises naturally in the context of discrete Fourier transform (DFT) computation. The distinction matters in practice: finite impulse response (FIR) digital filter design relies on linear convolution, while the overlap-add and overlap-save methods use circular convolution via the DFT to implement linear convolution efficiently on long data streams. The IEEE Signal Processing Society maintains standards and resources covering discrete convolution in filter design and spectral analysis.
Fast Convolution Algorithms
Direct computation of a length-N convolution requires O(N squared) multiply-accumulate operations, which becomes impractical for long sequences or high-dimensional data. The convolution theorem states that convolution in the time domain corresponds to pointwise multiplication in the frequency domain; this property, combined with the fast Fourier transform (FFT), reduces the computational cost to O(N log N). The FFT was formalized by Cooley and Tukey in 1965, though equivalent algorithms had appeared in Gauss's unpublished work in 1805. For short filters convolved with long signals, the overlap-add method divides the input into blocks, convolves each block with the filter using FFT-based multiplication, and adds overlapping output segments, achieving the full O(N log N) complexity. The Winograd small FFT algorithm further reduces multiplication counts for specific lengths at the cost of more complex control flow. In deep learning, fast convolution using FFT or Winograd transforms accelerates convolutional neural network inference on hardware accelerators.
Deconvolution
Deconvolution is the inverse problem: given the output of a convolution and knowledge (or an estimate) of one of the two input functions, recover the other. In signal processing, deconvolution recovers a source signal from a measured signal that has been blurred by a channel or instrument impulse response. In image processing, deconvolution sharpens images blurred by a known or estimated point spread function (PSF). The problem is generally ill-posed: small amounts of noise in the measured output produce large errors in the recovered signal when the transfer function has small values (zeros or near-zeros) in its frequency response. Regularization methods, including Tikhonov regularization and the Richardson-Lucy algorithm, constrain the solution to suppress noise amplification. The NIST Digital Library of Mathematical Functions provides precise definitions and identities for the integral transforms underlying continuous convolution and deconvolution.
Applications
Convolution has applications in a wide range of disciplines, including:
- Digital communications: channel equalization and matched filtering using convolution with estimated channel impulse responses
- Image and video processing: spatial filtering for edge detection, blurring, and sharpening through 2D kernel convolution
- Deep learning: convolutional neural networks using learned filter banks applied via 2D or 3D convolution to images and volumetric data
- Acoustics: computing room impulse responses and applying them in reverberation and acoustic modeling
- Radar and sonar: pulse compression through matched filtering, implemented as convolution with a time-reversed copy of the transmitted waveform