Signal Processing Filters

A practical overview of the most widely used filters, organized from simple to advanced

Click any filter for detailed formulas, pros & cons, and real-world applications

FUNDAMENTAL Time-Domain
Moving Average Filter
Averages a sliding window of N samples to smooth noise
FIR
Exponential Moving Average (EMA)
Weighted average giving recent samples exponentially more influence
IIR Recursive
Median Filter
Selects the median of a sliding window, rejecting outliers
Nonlinear

Why Start Here

These filters require no knowledge of frequency analysis or z-transforms. They operate directly on sample values in the time domain. Despite their simplicity, they solve the majority of noise-reduction problems encountered in embedded systems, sensor fusion, and data visualization.
CLASSICAL Frequency-Domain
Butterworth Filter
Maximally flat magnitude response in the passband
IIR
Chebyshev Filter (Type I & II)
Sharper roll-off than Butterworth at the cost of passband ripple
IIR
Elliptic (Cauer) Filter
Sharpest possible transition band for a given filter order
IIR
Bessel Filter
Maximally flat group delay — preserves waveform shape
IIR

The Analog Heritage

These are the workhorses of analog and digital filter design, each optimizing a different property of the frequency response. Choosing among them is an exercise in trade-offs: flat passband vs. sharp roll-off vs. linear phase. They are typically designed in the s-domain (Laplace) and converted to digital form via the bilinear transform.
OPTIMAL &
ADAPTIVE Model-Based
Kalman Filter
Recursive Bayesian estimator — optimal for linear Gaussian systems
IIR Adaptive Recursive
Wiener Filter
Minimizes mean square error using signal and noise power spectra
FIR or IIR
LMS Adaptive Filter
Online gradient descent that tracks time-varying statistics
FIR Adaptive
Particle Filter
Sequential Monte Carlo for nonlinear, non-Gaussian estimation
Nonlinear Adaptive

Statistical Optimality

These filters use knowledge of the signal's statistical structure (or a dynamic model) to achieve performance that fixed-coefficient filters cannot match. The Kalman filter, in particular, is ubiquitous in navigation, control, and tracking. The Wiener filter is its frequency-domain counterpart. Adaptive filters like LMS learn online when statistics are unknown.
SPECIALIZED Purpose-Built
Savitzky-Golay Filter
Polynomial least-squares fit that preserves peaks and edges
FIR
Notch (Band-Stop) Filter
Surgically removes a narrow frequency band
IIR
Complementary Filter
Fuses high-frequency and low-frequency sensor data
IIR
Mahony Filter
Nonlinear complementary filter for attitude estimation on SO(3)
Nonlinear Recursive
Matched Filter
Maximizes SNR for detecting a known pulse shape in noise
FIR

The Right Tool

General-purpose filters are not always the best choice. These specialized designs solve specific problems more elegantly: removing power-line hum, fusing accelerometer and gyroscope data, detecting radar pulses, or smoothing spectroscopy data without distorting peak shapes.
DESIGN
PARADIGMS FIR vs IIR
Finite Impulse Response (FIR)
Non-recursive: output depends only on current and past inputs
FIR
Infinite Impulse Response (IIR)
Recursive: output feeds back, achieving steep roll-off with fewer coefficients
IIR Recursive

The Fundamental Choice

Every digital filter is either FIR or IIR. FIR filters are always stable and can have exactly linear phase, but require many taps for sharp cutoffs. IIR filters are computationally efficient but can be unstable and introduce phase distortion. Understanding this trade-off is the foundation of all digital filter design.

Cross-Cutting Design Principles

Considerations that cut across every tier and influence filter selection regardless of category

Statistical Consistency

Statistical consistency is about properly representing the statistical distribution of your input — often in parametric form — to your downstream consumer. What this really comes down to is your filter's ability to accurately represent probability.

This is a spectrum, not a binary property. At one end, the Kalman filter commits fully: it assumes unbiased Gaussian distributions and propagates exact covariances, so its output is only statistically consistent when those assumptions hold. At the other end, the particle filter can represent an arbitrarily complex likelihood function in theory, giving it the flexibility to remain consistent under non-Gaussian, multimodal, or heavily skewed distributions. In between, the complementary filter works well for the opposite reason entirely: it makes no claims about the statistical model of its input and does not claim to be analytically optimal. It simply cannot be statistically inconsistent, because it never promised consistency in the first place.

  • Kalman filter: Restricted to unbiased Gaussian probabilities — statistically consistent only when that assumption is met
  • Particle filter: Can define arbitrarily complex likelihood functions, so it can maintain consistency in a much wider range of scenarios
  • Complementary filter: Agnostic to the statistical model — no optimality claims, so no consistency guarantees to violate