Filtering algorithms
What Are Filtering Algorithms?
Filtering algorithms are computational procedures that process a sequence of measurements or signal samples to produce a refined estimate of an underlying quantity, removing noise, extracting features, or predicting future states. They range from simple finite impulse response convolutions to recursive Bayesian estimators that track dynamic systems in real time. The term covers both deterministic algorithms, which process signals based on frequency or morphological criteria, and statistical algorithms, which model uncertainty explicitly and update probabilistic beliefs as new observations arrive.
The field draws on digital signal processing, probability theory, control theory, and numerical analysis. Early filtering algorithms emerged from radar tracking and telecommunications in the 1940s and 1950s; the introduction of the Kalman filter in 1960 and the LMS adaptive algorithm in the same year established two distinct lineages that still structure the field today.
Linear Recursive Filters
Linear recursive filtering algorithms compute each output sample as a weighted sum of current and past input samples plus past output samples. The computations follow a difference equation whose coefficients encode the filter's frequency response. FIR algorithms use only past inputs, guaranteeing stability and linear phase but requiring more coefficients for sharp transitions. IIR algorithms include feedback terms, achieving steep frequency selectivity with fewer operations at the cost of potential instability and phase nonlinearity. The Parks-McClellan algorithm, based on the Chebyshev equiripple criterion and Remez exchange, is the standard method for designing optimal FIR filters and is available in most signal processing toolboxes. IEEE Xplore contains the foundational 1972 paper by Parks and McClellan that established this design approach.
Adaptive Filtering Algorithms
Adaptive algorithms modify their coefficients iteratively based on an error signal derived from the difference between the filter output and a desired response. The least mean squares (LMS) algorithm updates each coefficient by a small step in the direction that reduces the instantaneous squared error. Its simplicity and low memory requirements made it the dominant algorithm in acoustic echo cancellation, channel equalization, and noise suppression for decades. The recursive least squares (RLS) algorithm minimizes the cumulative weighted squared error over all past samples, converging faster than LMS at the cost of O(N^2) computations per step, where N is the filter length. Both algorithms, along with their variants for constrained and regularized settings, are detailed in the adaptive filtering literature on IEEE Xplore.
Bayesian and Sequential Filtering
Bayesian filtering algorithms frame estimation as the recursive update of a probability distribution over the system state. When the system dynamics and measurement model are both linear and the noise is Gaussian, the Kalman filter computes the exact posterior distribution in closed form, yielding a minimum mean-square-error estimate at each step. The extended Kalman filter applies local linearization to handle mild nonlinearities. For strongly nonlinear or non-Gaussian systems, particle filters represent the posterior distribution with a weighted set of random samples (particles) that are propagated and reweighted at each time step using sequential Monte Carlo methods. The PMC review of particle filters provides a hands-on introduction covering resampling strategies, degeneracy, and computational tradeoffs.
Sigma-point filters, including the unscented Kalman filter (UKF), offer a middle ground by propagating a small, deterministically chosen set of sigma points through the nonlinear model, approximating the posterior moments more accurately than linearization without the full cost of particle methods.
Applications
Filtering algorithms have applications in a wide range of fields, including:
- Target tracking and localization in radar and sonar systems
- State estimation in autonomous vehicles and robotics
- Channel equalization in digital communications
- Noise reduction in audio and speech processing systems
- Biomedical signal processing for heart rate and neural activity monitoring
- Financial time series smoothing and trend extraction