QR-RLS (QR Decomposition-based Recursive Least Squares) is an adaptive filtering algorithm that recursively finds the coefficients minimizing a weighted linear least squares cost function. Unlike the standard RLS algorithm, which explicitly computes the inverse correlation matrix and is susceptible to numerical instability, QR-RLS operates directly on the data matrix using Givens rotations or Householder reflections to maintain an orthogonal triangular factorization. This approach eliminates the need for matrix inversion, providing superior numerical stability and robustness to ill-conditioning in coefficient estimation for digital predistortion.
Glossary
QR-RLS

What is QR-RLS?
QR-RLS is a numerically robust implementation of the Recursive Least Squares algorithm that uses QR decomposition to solve the least squares problem, preventing instability from ill-conditioned input data.
The algorithm solves the least squares problem by transforming the weighted data matrix into an upper triangular form, from which the optimal predistorter coefficients can be extracted via back substitution. QR-RLS achieves the same fast convergence rate as conventional RLS—significantly outperforming LMS-based methods—while avoiding the catastrophic divergence that can occur when the condition number of the input correlation matrix becomes large. This makes it particularly suitable for closed-loop DPD systems operating with highly correlated wideband signals or in fixed-point hardware implementations where numerical precision is constrained.
Key Features of QR-RLS
QR-RLS addresses the core instability of standard RLS by operating on the data matrix directly using orthogonal transformations, ensuring reliable coefficient extraction even with ill-conditioned input signals.
QR Decomposition Core
Instead of updating the inverse correlation matrix, QR-RLS maintains the Cholesky factor (upper triangular matrix R) of the data matrix. It applies Givens rotations to annihilate new data elements, directly solving the least squares problem without explicitly computing the inverse. This avoids squaring the condition number, a primary source of numerical instability in standard RLS.
Givens Rotation Mechanism
QR-RLS uses Givens rotations—orthogonal plane rotations—to zero out elements in the incoming data row. Key properties:
- Orthogonality preservation: Rotations are numerically stable and preserve the norm of the matrix.
- Systolic array compatibility: The regular, localized data flow maps efficiently to parallel hardware architectures.
- Each rotation eliminates one element below the diagonal of R, maintaining the upper triangular structure.
Inverse QR-RLS Variant
The Inverse QR-RLS algorithm propagates the inverse Cholesky factor R⁻¹ directly, extracting the weight vector without back-substitution. This variant:
- Computes the Kalman gain vector directly from stored rotations.
- Eliminates the final triangular solve step, reducing latency.
- Is particularly suited for sample-by-sample update architectures where immediate coefficient availability is critical.
Ill-Conditioning Immunity
Standard RLS fails catastrophically when the input correlation matrix has a high condition number—common with narrowband or highly correlated training signals. QR-RLS operates on the square root of the data matrix, effectively halving the condition number sensitivity. This makes it the preferred choice for:
- Multi-carrier DPD with closely spaced tones.
- Wideband signals where sample correlation is high.
- Long training sequences where numerical drift accumulates.
Forgetting Factor Integration
QR-RLS incorporates an exponential forgetting factor λ (typically 0.97–0.999) to track time-varying PA characteristics. Implementation approach:
- Each existing row of R is multiplied by √λ before processing new data.
- This exponentially down-weights older observations, enabling thermal memory tracking.
- The square-root formulation ensures the forgetting operation remains numerically stable, unlike direct covariance matrix aging in standard RLS.
Hardware Mapping Efficiency
The QR-RLS algorithm maps naturally to systolic array architectures on FPGAs. The triangular array of processing elements:
- Boundary cells compute rotation parameters.
- Internal cells apply rotations to propagate updates.
- Data flows in a pipelined, rhythmic pattern with no global communication. This enables high-throughput, fixed-point implementations suitable for real-time closed-loop DPD in 5G massive MIMO systems.
Frequently Asked Questions
Clear, technically precise answers to the most common questions about QR decomposition-based Recursive Least Squares for digital predistortion coefficient estimation.
QR-RLS is a numerically stable implementation of the Recursive Least Squares (RLS) algorithm that uses QR decomposition to solve the least squares problem for adaptive digital predistortion (DPD) coefficient estimation. Instead of directly updating the inverse correlation matrix as in standard RLS, QR-RLS operates on the incoming data matrix by decomposing it into an orthogonal matrix Q and an upper triangular matrix R. The algorithm then solves the system Rw = Q^H d through back-substitution to obtain the predistorter coefficient vector w. This approach avoids the explicit computation of the inverse correlation matrix, which is the primary source of numerical instability in conventional RLS when the input signal is ill-conditioned. QR-RLS can be implemented using Givens rotations or Householder reflections to update the triangular factor R recursively, making it suitable for sample-by-sample or block-based adaptation in FPGA and ASIC implementations. The method maintains the fast convergence properties of RLS—typically an order of magnitude faster than LMS—while providing robustness to finite-precision arithmetic errors that plague direct matrix inversion techniques.
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.
QR-RLS vs. Standard RLS vs. LMS
Comparative analysis of QR decomposition-based Recursive Least Squares, standard Recursive Least Squares, and Least Mean Squares algorithms for digital predistortion coefficient estimation.
| Feature | QR-RLS | Standard RLS | LMS |
|---|---|---|---|
Numerical Stability | Excellent (orthogonal triangularization) | Moderate (susceptible to round-off) | High (inherently robust) |
Condition Number Sensitivity | Low (operates on R matrix) | High (covariance matrix inversion) | Very Low (no matrix inversion) |
Convergence Rate (samples) | Fast (10-50) | Fast (10-50) | Slow (100-1000+) |
Computational Complexity per Iteration | O(N²) (Givens rotations) | O(N²) (matrix inversion) | O(N) (scalar update) |
Misadjustment at Steady-State | Low | Low | Higher (gradient noise) |
Suitable for Ill-Conditioned Signals | |||
Hardware Implementation Complexity | High (CORDIC/systolic arrays) | Moderate (matrix ops) | Low (multiply-accumulate) |
Memory Requirements | O(N²) | O(N²) | O(N) |
Related Terms
Explore the core algorithms and architectural patterns that enable numerically stable, real-time coefficient estimation for digital predistortion systems.
Recursive Least Squares (RLS)
The foundational adaptive filtering algorithm that QR-RLS numerically stabilizes. RLS recursively finds coefficients that minimize a weighted linear least squares cost function, offering an order of magnitude faster convergence than LMS algorithms.
- Utilizes the matrix inversion lemma to avoid explicit matrix inversion
- Susceptible to numerical instability and divergence due to covariance matrix ill-conditioning
- Forms the theoretical basis for the QR-decomposition-based implementation
Least Mean Squares (LMS)
A stochastic gradient descent algorithm that updates filter coefficients based on the instantaneous estimate of the mean squared error gradient. While computationally simpler than RLS, it suffers from slow convergence when the input signal is highly correlated.
- Computational complexity: O(N) per iteration vs. O(N²) for RLS
- Convergence rate depends on eigenvalue spread of the input autocorrelation matrix
- Often used as a baseline comparison for QR-RLS performance in DPD applications
Condition Number
A measure of a matrix's sensitivity to numerical errors, defined as the ratio of the largest to smallest singular value. A high condition number indicates ill-conditioning, which can cause standard RLS to diverge.
- QR-RLS directly addresses this by operating on the square root of the data matrix
- Doubling the condition number roughly halves the numerical precision
- Critical in DPD where input signals often exhibit high correlation and wide dynamic range
Coefficient Drift
The gradual deviation of predistorter coefficients from their optimal values due to temperature changes, component aging, or numerical instability. QR-RLS's robust numerical properties make it inherently resistant to drift caused by finite-precision arithmetic.
- Long-term thermal memory effects can slowly shift the PA's optimal linearization point
- Accumulated round-off error in standard RLS can masquerade as physical drift
- QR decomposition maintains orthogonality in the data matrix, preventing error accumulation
Tikhonov Regularization
A ridge regression technique that adds a penalty term to the least squares cost function to stabilize solutions for ill-posed inverse problems. Often combined with QR-RLS when the data matrix is rank-deficient.
- Adds a diagonal loading term λI to the normal equations
- Prevents overfitting to measurement noise in the observation path
- The regularization parameter λ trades bias for variance in the coefficient estimate
Normalized Mean Squared Error (NMSE)
The standard metric for evaluating DPD linearization performance, representing the mean squared error between the ideal and linearized output normalized by the input signal power.
- Expressed in dB: NMSE = 10 log₁₀(E[|y_ideal - y_linearized|²] / E[|y_ideal|²])
- QR-RLS typically achieves NMSE values below -40 dB for well-conditioned signals
- Used alongside ACPR and EVM for complete linearization quality assessment

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