Orthogonal Matching Pursuit (OMP) is a greedy sparse approximation algorithm that constructs a signal representation by iteratively selecting basis functions from an overcomplete dictionary that have the highest correlation with the current residual. At each iteration, the algorithm identifies the single most correlated atom, adds it to the support set, and then solves a least squares problem to update all coefficients, ensuring the residual is always orthogonal to the selected basis functions.
Glossary
Orthogonal Matching Pursuit (OMP)

What is Orthogonal Matching Pursuit (OMP)?
A greedy algorithm for sparse approximation that iteratively selects the most correlated basis function from a dictionary to build a compact, low-complexity predistorter model.
In digital predistortion, OMP is applied to prune a large set of candidate basis functions—such as those from a full Volterra series or generalized memory polynomial—down to a compact subset that captures the dominant nonlinear and memory effects. This produces a sparse coefficient vector that dramatically reduces the computational complexity of the predistorter while maintaining linearization performance, making it ideal for FPGA and ASIC implementations where multiplier resources are constrained.
Key Features of OMP for DPD
Orthogonal Matching Pursuit (OMP) is a greedy algorithm that iteratively selects the most significant basis functions from a large dictionary to construct a compact, low-complexity digital predistorter model with minimal coefficients.
Greedy Atom Selection
At each iteration, OMP selects the dictionary atom (basis function) that has the highest absolute correlation with the current residual error. This greedy approach ensures that the most impactful distortion-causing terms are identified first, building the model in order of significance. The residual is then updated by projecting the signal onto the orthogonal complement of the selected atoms, guaranteeing that no atom is selected twice.
Sparsity-Constrained Modeling
OMP enforces sparsity by limiting the number of active coefficients to a predefined value K. This directly addresses the curse of dimensionality in Volterra and GMP models, where the full basis function set can contain hundreds of terms. By retaining only K critical terms, OMP produces a predistorter with dramatically reduced computational complexity, making it ideal for FPGA and ASIC implementations where multiply-accumulate operations are at a premium.
Orthogonal Projection for Coefficient Refinement
After selecting a new atom, OMP recomputes all coefficients by solving a least squares problem on the subspace spanned by the selected atoms. This orthogonal projection step ensures that the residual is always orthogonal to the chosen basis functions, leading to optimal coefficient values for the current support set. This avoids the suboptimal coefficient estimates that plague simpler matching pursuit variants.
Stopping Criteria and Model Selection
OMP terminates based on one of three criteria:
- Sparsity target: A fixed number of coefficients
Kis reached - Error threshold: The residual power falls below a specified noise floor
- Correlation threshold: No remaining atom exceeds a minimum correlation value
This flexibility allows engineers to balance linearization accuracy against computational budget for a given hardware platform.
Numerical Stability via QR Decomposition
Efficient OMP implementations use QR decomposition to maintain an orthonormal basis for the selected subspace. As each new atom is added, its component orthogonal to the existing basis is computed via Gram-Schmidt orthogonalization, and the QR factors are updated incrementally. This avoids solving ill-conditioned normal equations and provides superior numerical stability when the dictionary contains highly correlated basis functions.
Dictionary Design for PA Nonlinearities
The performance of OMP depends critically on the dictionary construction. For DPD applications, dictionaries typically include:
- Memory polynomial terms:
x(n-m)|x(n-m)|^p - GMP cross-terms:
x(n-m)|x(n-m-l)|^p - Envelope memory terms:
x(n)|x(n-m)|^p
A well-designed dictionary must be overcomplete—containing more candidate functions than strictly necessary—to give OMP the freedom to select the most parsimonious representation of the PA's nonlinear dynamics.
OMP vs. Other Coefficient Estimation Methods
Comparison of Orthogonal Matching Pursuit against alternative coefficient estimation algorithms for sparse behavioral model extraction in digital predistortion applications.
| Feature | Orthogonal Matching Pursuit | Least Squares (LS) | Recursive Least Squares (RLS) | Ridge Regression |
|---|---|---|---|---|
Sparsity enforcement | ||||
Computational complexity | O(K·M·N) | O(N³) | O(N²) | O(N³) |
Numerical stability | High | Moderate | Moderate | High |
Real-time adaptation | ||||
Overfitting resistance | High | Low | Low | Moderate |
Model order selection | Automatic | Manual | Manual | Manual |
Typical coefficient count | 5-15 | 50-200+ | 50-200+ | 50-200+ |
Convergence speed | N/A (batch) | N/A (batch) | 10-50 iterations | N/A (batch) |
Frequently Asked Questions
Clear, technically precise answers to the most common questions about applying Orthogonal Matching Pursuit to digital predistortion and sparse behavioral modeling.
Orthogonal Matching Pursuit (OMP) is a greedy sparse approximation algorithm that iteratively selects the most correlated basis function from a dictionary to build a compact, low-complexity predistorter model. In the context of digital predistortion, OMP addresses the fundamental challenge of Volterra kernel pruning by identifying a small subset of critical distortion terms from a large candidate pool. The algorithm begins with an empty model and a residual equal to the observed power amplifier output. At each iteration, it computes the correlation between every dictionary atom and the current residual, selects the atom with the highest absolute correlation, adds it to the support set, and then solves a least squares problem on the selected subset to update all coefficients and the residual. This orthogonal projection step ensures that no atom is selected twice and that the residual is always orthogonal to the chosen subspace, guaranteeing convergence in at most the number of dictionary elements. For FPGA-based DPD implementations, OMP is particularly valuable because it directly minimizes the number of active basis functions, reducing the coefficient vector size and the associated multiply-accumulate operations required in real-time linearization hardware.
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
Key concepts that form the mathematical and algorithmic foundation for using Orthogonal Matching Pursuit in digital predistortion model building.
Basis Function Orthogonalization
A numerical conditioning process that transforms correlated polynomial basis functions into an orthogonal set. This is a critical preprocessing step for OMP because the algorithm's greedy selection relies on the magnitude of correlation between the residual and dictionary atoms. Without orthogonalization, highly correlated basis functions can confuse the selection step, leading to ill-conditioned intermediate matrices and suboptimal atom choices. Techniques like Gram-Schmidt or QR decomposition are applied to the candidate dictionary before OMP executes.
Volterra Kernel Pruning
A complexity reduction technique that removes insignificant kernels from a full Volterra series model based on a significance metric. OMP serves as the primary algorithmic engine for this pruning process. Instead of testing all possible kernel combinations, OMP iteratively selects the most salient Volterra kernels from a massive candidate pool. This directly addresses the 'curse of dimensionality' inherent in Volterra models, yielding a sparse set of kernels that capture the dominant nonlinear memory effects without the prohibitive computational cost of the full series.
Least Squares (LS) Estimation
A batch coefficient extraction algorithm that minimizes the sum of squared errors between the power amplifier output and the model's prediction. OMP is intrinsically linked to LS estimation: after each greedy selection of a new basis function, OMP solves a least squares problem on the currently selected support set to update all coefficients. This orthogonal projection step ensures the residual is always orthogonal to the chosen atoms, preventing the re-selection of the same atom and guaranteeing convergence in at most M iterations for an M-sparse signal.
Model Order Reduction
The systematic process of decreasing the number of coefficients in a behavioral model to minimize computational load while preserving linearization performance. OMP is a direct model order reduction algorithm because it explicitly trades off model fidelity against sparsity (the number of coefficients). The stopping criterion—often based on the residual error norm falling below a threshold or reaching a target sparsity level (K) —directly controls the final model order. This allows an FPGA designer to specify a hard upper bound on the number of multipliers required.
Cross-Term Management
The systematic selection or pruning of cross-terms in a behavioral model to balance linearization accuracy against computational complexity. In a Generalized Memory Polynomial (GMP), the number of lagging and leading envelope cross-terms explodes combinatorially. OMP is ideally suited for cross-term management because it treats every candidate cross-term as an independent dictionary atom. The algorithm naturally selects only the cross-terms with the highest correlation to the residual distortion, automatically building a sparse GMP structure without manual engineering of which cross-terms to include.
Ridge Regression
A regularized least squares estimation technique that adds an L2 penalty on coefficient magnitude to the cost function. While standard OMP uses unregularized LS for the coefficient update step, a variant known as Regularized OMP incorporates ridge regression to prevent overfitting when the selected support set becomes large or the data matrix is ill-conditioned. The regularization parameter (λ) shrinks the coefficients toward zero, improving the robustness of the extracted sparse DPD model, especially when modeling noisy power amplifier measurements.

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