Recursive Least Squares (RLS) is an adaptive filtering algorithm that recursively computes the filter coefficients minimizing a weighted linear least squares cost function. Unlike the Least Mean Squares (LMS) algorithm, which relies on stochastic gradient descent, RLS utilizes all available input data to achieve an exact least squares solution at each iteration, resulting in an order-of-magnitude faster convergence rate.
Glossary
Recursive Least Squares (RLS)

What is Recursive Least Squares (RLS)?
An adaptive algorithm that recursively finds the filter coefficients minimizing a weighted linear least squares cost function, offering significantly faster convergence than gradient-based methods like LMS.
The algorithm maintains and updates an inverse correlation matrix of the input signal, making it computationally intensive—complexity scales with O(n²)—but highly effective for tracking time-varying systems. In digital predistortion, RLS is often used within an Indirect Learning Architecture to rapidly estimate postdistorter coefficients, though numerical stability techniques like QR-RLS or Tikhonov Regularization are required to prevent coefficient drift due to ill-conditioning.
Key Characteristics of RLS
Recursive Least Squares (RLS) is a deterministic, second-order adaptive algorithm that recursively minimizes a weighted linear least squares cost function. Unlike stochastic gradient methods, RLS leverages the full input correlation matrix to achieve an order-of-magnitude faster convergence rate.
Exponential Forgetting Factor
The forgetting factor (λ, typically 0.95 < λ < 1) assigns exponentially decreasing weights to older data, enabling the algorithm to track time-varying systems. A smaller λ provides faster tracking of non-stationary PA characteristics due to thermal drift, while a λ closer to 1 yields better steady-state accuracy in stationary conditions. This mechanism directly addresses coefficient drift in long-running DPD systems.
Matrix Inversion Lemma
RLS avoids the O(N³) computational cost of direct matrix inversion by applying the Woodbury matrix identity to recursively update the inverse of the input autocorrelation matrix. This reduces per-iteration complexity to O(N²), where N is the number of DPD coefficients. The recursion propagates both the gain vector and the inverse correlation matrix, maintaining numerical precision in sample-by-sample update modes.
Convergence Rate Superiority
RLS converges in approximately 2N iterations, where N is the filter order, compared to LMS which requires 10N–30N iterations. This is because RLS is a second-order method that whitens the input signal using the inverse correlation matrix, decorrelating the tap inputs. For wideband DPD with 50+ memory polynomial coefficients, this translates to convergence within microseconds rather than milliseconds.
QR-RLS Numerical Stability
Standard RLS suffers from covariance matrix ill-conditioning when the condition number grows large, leading to divergence. QR-RLS mitigates this by operating directly on the square-root of the covariance matrix using Givens rotations or Householder reflections. This doubles the dynamic range and guarantees positive-definiteness, making it the preferred variant for fixed-point FPGA implementations in closed-loop DPD systems.
Computational Cost Trade-off
The O(N²) complexity of RLS is significantly higher than the O(N) complexity of Least Mean Squares (LMS). For a predistorter with 100 coefficients, RLS requires approximately 10,000 multiply-accumulate operations per sample versus 100 for LMS. This computational burden often restricts RLS to burst training modes or offline coefficient estimation, rather than continuous sample-by-sample adaptation in resource-constrained FPGAs.
Regularization for Ill-Conditioned Inputs
When the input signal has low persistent excitation—common during silent intervals or narrowband transmissions—the autocorrelation matrix becomes singular. Tikhonov regularization adds a diagonal loading term (δI) to the initial covariance matrix, stabilizing the inversion. This prevents the gain vector from exploding and ensures robust coefficient updates during signal dropouts in open-loop DPD architectures.
RLS vs. LMS: Convergence and Complexity
Comparative analysis of Recursive Least Squares and Least Mean Squares algorithms for digital predistortion coefficient estimation, highlighting convergence speed, computational cost, and numerical stability.
| Feature | RLS | LMS | QR-RLS |
|---|---|---|---|
Convergence Rate | Fast (order of 2N iterations) | Slow (order of 10N+ iterations) | Fast (order of 2N iterations) |
Computational Complexity per Iteration | O(N²) | O(N) | O(N²) |
Sensitivity to Eigenvalue Spread | Insensitive | Highly sensitive | Insensitive |
Numerical Stability | Moderate | Stable | Excellent |
Misadjustment at Steady-State | Low | Higher | Low |
Memory Requirement | O(N²) | O(N) | O(N²) |
Suitable for Time-Varying Systems | |||
Requires Matrix Inversion |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Clear, technically precise answers to the most common questions about Recursive Least Squares for adaptive digital predistortion coefficient estimation.
The Recursive Least Squares (RLS) algorithm is an adaptive filtering method that recursively finds the coefficients minimizing a weighted linear least squares cost function, offering significantly faster convergence than gradient-based alternatives like LMS. Unlike stochastic gradient methods that rely on instantaneous error estimates, RLS computes the exact solution to the least squares problem at each time step by maintaining and updating an estimate of the inverse autocorrelation matrix of the input signal. The algorithm operates by iteratively applying the matrix inversion lemma to avoid explicit matrix inversion, updating the coefficient vector with a gain vector that weights the prediction error. For digital predistortion, this means RLS can rapidly identify the inverse nonlinear characteristic of a power amplifier, making it particularly suitable for tracking time-varying distortion caused by thermal memory effects, bias drift, and signal envelope fluctuations. The core recursion consists of computing the Kalman gain vector, updating the coefficient estimate, and recursively updating the inverse correlation matrix, all with O(n²) computational complexity per iteration.
Related Terms
Understanding RLS requires familiarity with the broader landscape of adaptive filtering and the specific estimation challenges in digital predistortion systems.
Least Mean Squares (LMS)
A stochastic gradient descent algorithm that updates filter coefficients based on the instantaneous estimate of the mean squared error gradient. Unlike RLS, LMS has a significantly lower computational complexity of O(N) per iteration.
- Convergence: Slower than RLS, especially for highly correlated input signals
- Sensitivity: Convergence rate is highly dependent on the eigenvalue spread of the input autocorrelation matrix
- Misadjustment: Introduces excess error due to gradient noise from instantaneous estimates
- Use Case: Preferred in resource-constrained embedded systems where simplicity outweighs convergence speed
QR-RLS
A numerically stable implementation of the RLS algorithm that uses QR decomposition via Givens rotations to solve the least squares problem directly on the data matrix. This avoids explicit computation of the inverse autocorrelation matrix.
- Stability: Eliminates the positive-definiteness loss that plagues standard RLS in finite-precision arithmetic
- Implementation: Well-suited for systolic array hardware architectures
- Complexity: Higher than standard RLS at O(N²) but essential for ill-conditioned problems
- Application: Critical for wideband DPD where the input correlation matrix may become nearly singular
Kalman Filtering
An optimal recursive estimator for the state of a dynamic system from noisy measurements. In DPD contexts, the Kalman filter provides a Bayesian framework for tracking time-varying PA nonlinearities.
- Relationship to RLS: RLS is a special case of the Kalman filter with a specific state-space formulation
- Process Noise: Explicitly models coefficient drift due to thermal effects and aging
- Advantage: Provides both coefficient estimates and their uncertainty covariance
- Trade-off: Requires knowledge of the process noise covariance matrix, which is often tuned heuristically
Condition Number
A measure of the sensitivity of a matrix to numerical errors, defined as the ratio of the largest to smallest singular values. A high condition number indicates ill-conditioning that can destabilize RLS coefficient estimation.
- Impact on RLS: The inverse autocorrelation matrix becomes highly sensitive to rounding errors when the condition number is large
- Causes: Highly correlated input signals, narrowband training data, or insufficient excitation
- Mitigation: Tikhonov regularization adds a diagonal loading term to improve conditioning
- Monitoring: Real-time condition number tracking is essential for adaptive DPD robustness
Coefficient Drift
The gradual deviation of predistorter coefficients from their optimal values over time due to environmental changes or numerical instability in the adaptation algorithm.
- Thermal Drift: PA characteristics shift as the transistor junction temperature changes during operation
- Aging Effects: Semiconductor degradation over months and years alters the nonlinear transfer function
- RLS Vulnerability: The forgetting factor λ creates a finite memory window; if excitation is insufficient, coefficients can drift toward zero
- Countermeasure: Periodic retraining or leaky LMS modifications that penalize coefficient magnitude
Tikhonov Regularization
A ridge regression technique that adds a penalty term proportional to the squared L2-norm of the coefficient vector to the least squares cost function. This stabilizes RLS solutions for ill-posed inverse problems.
- Mechanism: Adds a diagonal matrix δI to the autocorrelation matrix before inversion
- Effect: Biases the solution toward smaller coefficient magnitudes, trading some accuracy for stability
- Selection: The regularization parameter δ is chosen via cross-validation or the L-curve method
- DPD Application: Essential when the PA model order is high relative to the available training samples

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us