Recursive Least Squares (RLS) is an adaptive filtering algorithm that recursively finds the coefficients minimizing a weighted linear least squares cost function of the error signal. Unlike the Least Mean Squares (LMS) algorithm, RLS converges significantly faster by utilizing all available input data from the start of the process, making it ideal for tracking time-varying systems like power amplifier behavior.
Glossary
Recursive Least Squares (RLS)

What is Recursive Least Squares (RLS)?
An adaptive algorithm that recursively updates predistorter coefficients by minimizing a weighted linear least squares cost function, offering faster convergence than simpler gradient-based methods.
The algorithm updates its inverse correlation matrix estimate at each iteration using the matrix inversion lemma, achieving rapid convergence at the cost of higher computational complexity—$O(N^2)$ versus $O(N)$ for LMS. A forgetting factor exponentially weights past data, enabling the predistorter to track dynamic changes in amplifier nonlinearity due to thermal drift or signal statistics.
Key Characteristics of RLS
Recursive Least Squares (RLS) is a deterministic, high-performance adaptive filtering algorithm that provides rapid convergence for time-varying systems. Unlike stochastic gradient methods, RLS minimizes a deterministic weighted least squares cost function at every iteration.
Exponential Forgetting Factor
The forgetting factor (λ) is the critical tuning parameter that weights recent data more heavily than past observations. A value close to 1 (e.g., 0.999) provides a long memory suitable for quasi-static channels, while a smaller value (e.g., 0.95) enables rapid tracking of fast-changing power amplifier thermal dynamics. The effective memory window is approximately 1/(1-λ) samples, allowing engineers to explicitly trade steady-state misadjustment against tracking agility.
Matrix Inversion Lemma Efficiency
RLS avoids explicit matrix inversion at each step by applying the Woodbury matrix identity to recursively update the inverse of the input autocorrelation matrix. This reduces the computational complexity from O(N³) for direct inversion to O(N²) per iteration, where N is the number of predistorter coefficients. For a memory polynomial with 50 basis functions, this transforms an impractical real-time operation into a feasible one for FPGA-based DPD implementations.
Deterministic Convergence Guarantee
Unlike Least Mean Squares (LMS) algorithms that converge stochastically, RLS minimizes the exact cumulative squared error up to the current time instant. This deterministic cost function ensures:
- Convergence in approximately 2N iterations, independent of the input signal's eigenvalue spread
- Insensitivity to the conditioning of the basis function matrix
- Superior performance when linearizing wideband signals where the input correlation matrix is ill-conditioned
Initialization and Regularization
The inverse correlation matrix is typically initialized as P(0) = δ⁻¹I, where δ is a small positive constant. This diagonal loading acts as implicit regularization, preventing numerical instability during the first few iterations when the data matrix is rank-deficient. For online DPD training, this initialization ensures the algorithm remains stable even before sufficient signal samples have been collected to fully excite all Volterra kernel dimensions.
Computational Trade-offs vs. LMS
While RLS converges an order of magnitude faster than LMS, it incurs significantly higher computational cost:
- LMS: O(N) multiplications per iteration
- RLS: O(N²) multiplications per iteration For a Generalized Memory Polynomial (GMP) with 200 coefficients, RLS requires approximately 40,000 operations per sample. This often necessitates QR-decomposition (QRD-RLS) systolic array implementations in hardware to parallelize the computation and maintain throughput for 5G NR wideband signals.
Application in Indirect Learning Architecture
In the Indirect Learning Architecture (ILA) for DPD, RLS is employed to identify the postdistorter coefficients by minimizing the error between the attenuated PA output and the predistorter input. The algorithm's fast convergence is particularly advantageous during burst-mode transmission or when the PA characteristics shift rapidly due to thermal memory effects. Once converged, the postdistorter coefficients are copied directly to the predistorter block.
RLS vs. LMS: Convergence and Complexity
Performance and computational trade-offs between Recursive Least Squares and Least Mean Squares for real-time coefficient estimation.
| Feature | Recursive Least Squares (RLS) | Least Mean Squares (LMS) | Normalized LMS (NLMS) |
|---|---|---|---|
Convergence Speed | Very Fast (order of 2M iterations) | Slow (signal-dependent) | Moderate (improved over LMS) |
Steady-State Misadjustment | Low | Higher (gradient noise) | Moderate |
Computational Complexity per Iteration | O(M²) | O(M) | O(M) |
Sensitivity to Eigenvalue Spread | Insensitive | Highly Sensitive | Reduced Sensitivity |
Numerical Stability | Requires monitoring (potential divergence) | Inherently stable | Inherently stable |
Forgetting Factor Mechanism | |||
Memory Requirement | High (stores inverse correlation matrix) | Minimal | Minimal |
Typical DPD Application | Rapid initial acquisition, tracking fast-changing PA dynamics | Steady-state tracking in stable thermal conditions | Tracking with variable input power levels |
Frequently Asked Questions
Explore the core mechanics and practical considerations of the Recursive Least Squares algorithm for adaptive digital predistortion coefficient estimation.
The Recursive Least Squares (RLS) algorithm is an adaptive filtering technique that recursively updates predistorter coefficients by minimizing a weighted linear least squares cost function. Unlike batch methods that process an entire data block, RLS computes a new coefficient vector with each incoming sample. It works by iteratively updating the inverse of the input signal's autocorrelation matrix using the matrix inversion lemma, which avoids costly full matrix inversions. A forgetting factor (λ, typically 0.95–0.999) exponentially weights past data, giving more importance to recent samples. This allows the algorithm to track time-varying power amplifier nonlinearities caused by temperature drift, aging, or changing signal statistics. The update consists of three core steps: computing the Kalman gain vector, calculating the a priori estimation error, and updating the coefficient vector. RLS converges in approximately 2M iterations, where M is the number of coefficients, making it an order of magnitude faster than gradient-based methods like LMS.
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.
Related Terms
Core algorithms and mathematical techniques that form the basis for adaptive coefficient estimation in digital predistortion systems.
Basis Function Orthogonalization
A numerical conditioning process that transforms correlated polynomial basis functions into an orthogonal set before coefficient estimation. This dramatically improves the convergence speed and stability of adaptive algorithms. Benefits for RLS:
- Reduces eigenvalue spread of the input correlation matrix
- Accelerates initial convergence from hundreds to tens of samples
- Prevents numerical instability caused by correlated regressors
- Enables the use of simpler, lower-precision arithmetic in hardware implementations
Orthogonal Matching Pursuit (OMP)
A greedy sparse approximation algorithm that iteratively selects the most correlated basis function from a large dictionary to build a compact predistorter model. While RLS estimates all coefficients simultaneously, OMP takes a fundamentally different approach. Key distinctions:
- Builds the model one term at a time based on correlation
- Produces sparse models with far fewer coefficients than full RLS solutions
- Reduces computational complexity for the running predistorter
- Often used offline to determine which terms to include before online RLS adaptation
Coefficient Vector
A one-dimensional array containing the complex-valued weights for each basis function in the predistorter model. This vector fully defines the linearization transfer characteristic and is the direct output of the RLS algorithm. Implementation considerations:
- Stored as I/Q pairs in hardware memory
- Updated sample-by-sample in online RLS implementations
- Length directly determines predistorter computational complexity
- Must be protected from corruption during transmission to prevent spectral regrowth spikes

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