Field Guide · algorithm

Also known as: adaptive filter, adaptive equalizer

An adaptive filter is a digital filter whose coefficients (taps) are not fixed but are continuously updated by an algorithm that minimises an error signal, letting it track a channel or interference that changes over time.1 Where a conventional FIR filter is designed once and left alone, an adaptive filter re-optimises itself sample by sample, which makes it the core building block of equalizers, echo cancellers, and adaptive noise/interference cancellers.

adjustablefilter w updatealgorithm x y error e desired d
The adaptive-filter loop: the difference between the filter output y and a desired signal d forms an error e that an update rule uses to nudge the taps w toward the optimum.

How it works

An adaptive filter has three parts: a tapped-delay-line filter with weight vector w, an error computation, and a coefficient-update rule.

  • The filter forms its output as a weighted sum of recent input samples, y = wᵀx — the same convolution an ordinary FIR filter performs.
  • An error e = d − y is computed against a desired response d. In training-based operation d is a known reference (a training/sync sequence); in decision-directed operation d is the receiver’s own hard symbol decision; in blind operation there is no explicit d at all and the algorithm instead enforces a statistical property of the wanted signal.
  • The update rule moves w to shrink the error. Most rules follow the gradient of a cost function — typically the mean-square error — so the taps descend toward the configuration that best matches the desired output.

Because the update runs every sample, the filter converges from an arbitrary start and then tracks slow changes in the channel (fading, Doppler, drift) rather than needing a fresh design.

Variants

The three classic algorithm families trade convergence speed against cost:

  • LMS (least mean squares) — a stochastic-gradient update, w += μ·e·x*. Cheap (O(N) per sample) and robust, but converges slowly and its speed depends on the input’s eigenvalue spread.
  • RLS (recursive least squares) — recursively tracks the inverse input-correlation matrix for much faster, spread-independent convergence at O(N²) cost and greater numerical fragility.
  • CMA (constant modulus algorithm) — a blind update that needs no reference, driving the output toward a constant envelope; the standard choice when no training sequence is available.

The same machinery, pointed at a different desired signal, also performs echo cancellation (model the echo path, subtract it), adaptive interference/noise cancellation (subtract a correlated noise reference), and system identification (the converged taps are an estimate of the unknown system).

In practice

Stability hinges on the step size or forgetting factor: too aggressive and the taps diverge or chatter; too gentle and the filter lags a moving channel. Practical designs also worry about tap count (enough to span the channel’s delay spread), fixed-point precision, and, in decision-directed mode, error propagation when early decisions are wrong.

Relevance to SDR

Adaptive filtering underlies channel equalization in nearly every high-rate digital radio: it collapses multipath-smeared constellations back to tight clusters and improves the effective SNR at the slicer. GSM receivers equalize with an MLSE or DFE; cable, DSL, and microwave links lean on LMS/RLS equalizers; and blind CMA equalizers rescue signals that carry no training sequence. In the land-mobile world GopherTrunk targets — P25, DMR, NXDN — the modest symbol rates and root-raised-cosine pulse shaping mean a matched filter plus timing/carrier recovery usually suffices, so full adaptive equalizers are more the exception than the rule; GopherTrunk relies on matched filtering and synchronisation rather than a general adaptive equalizer in its steady-state decode path.

Sources

  1. Adaptive filter — Wikipedia, overview of adaptive filter structures, the error-driven update loop, and applications. 

See also