Look-Up Table (LUT) Indexing is a memoryless predistortion technique where the instantaneous magnitude of the complex baseband input signal directly addresses a pre-computed table of complex gain correction factors. The indexed value is applied to the input sample to compensate for the power amplifier's AM/AM and AM/PM nonlinearities, providing a computationally efficient linearization method for narrowband applications.
Glossary
Look-Up Table (LUT) Indexing

What is Look-Up Table (LUT) Indexing?
A method of implementing a memoryless predistorter by using the instantaneous input signal magnitude as an index to retrieve a complex gain correction factor from a pre-computed table.
The LUT is populated during a calibration phase using extracted amplifier characteristics, mapping each input magnitude to its ideal inverse gain. While highly efficient for FPGAs due to simple addressing logic, this method assumes a memoryless system and cannot correct dynamic memory effects. Adaptive variants update table entries in real-time using feedback to track amplifier drift due to temperature or aging.
Frequently Asked Questions
Core questions about implementing memoryless predistorters using magnitude-indexed look-up tables for real-time power amplifier linearization.
LUT indexing is a memoryless predistortion technique that uses the instantaneous magnitude of the complex baseband input signal as an address pointer to retrieve a pre-computed complex gain correction factor from a look-up table. The input IQ sample's envelope magnitude |x(n)| is quantized into discrete bins, each mapping to a specific complex-valued gain entry. This retrieved gain multiplies the original input sample to produce the predistorted output. The approach assumes the power amplifier's nonlinearity is static and memoryless, meaning the distortion depends only on the current input amplitude, not its history. LUT indexing is computationally efficient—requiring only magnitude calculation, table lookup, and complex multiplication—making it ideal for FPGA and ASIC implementations where deterministic latency and minimal resource utilization are critical.
Key Characteristics of LUT Indexing
Look-Up Table indexing forms the computational backbone of memoryless digital predistortion, mapping instantaneous input magnitude to complex gain correction factors for real-time amplifier linearization.
Magnitude-Based Addressing
The instantaneous envelope magnitude |x(n)| of the complex baseband input signal serves as the direct index into the LUT. This one-dimensional mapping eliminates complex address calculations:
- Uniform spacing: Table entries are evenly distributed across the input magnitude range
- Non-uniform spacing: Entries are concentrated in regions of rapid gain variation (e.g., compression knee) for improved resolution
- Address calculation: Index = floor(|x(n)| / step_size) for uniform tables
The magnitude-only addressing scheme assumes the PA's nonlinearity is memoryless and depends solely on instantaneous input power, making it suitable for narrowband applications where memory effects are negligible.
Complex Gain Storage
Each LUT entry stores a complex-valued gain correction factor G(|x|) = G_I + jG_Q that multiplies the input sample to produce the predistorted output:
- Gain magnitude: Compensates for AM-AM distortion (gain compression/expansion)
- Gain phase: Compensates for AM-PM distortion (phase shift vs. input power)
- Storage format: Typically 16-32 bits for I and Q components in fixed-point FPGA implementations
The predistorted output is computed as: y(n) = x(n) × G(|x(n)|) where G is retrieved from the table at the index corresponding to |x(n)|.
Interpolation Between Entries
To avoid quantization artifacts from finite table resolution, interpolation smooths the transition between adjacent LUT entries:
- Linear interpolation: Computes G as a weighted average of two neighboring entries based on the fractional address
- Cubic interpolation: Uses four neighboring points for smoother correction, at higher computational cost
- No interpolation: Direct nearest-neighbor lookup, fastest but introduces stair-step distortion
Interpolation significantly reduces quantization noise in the predistorted signal, improving ACLR by 3-5 dB compared to un-interpolated lookup at the same table size.
Table Size vs. Linearity Trade-off
The number of LUT entries directly impacts both linearization performance and hardware resource utilization:
- Small tables (64-128 entries): Minimal BRAM usage, faster adaptation, but coarser correction
- Medium tables (256-512 entries): Good balance for most narrowband applications
- Large tables (1024+ entries): Finer gain resolution, better ACLR, but increased memory footprint and slower coefficient updates
Typical FPGA implementations use 256-512 entries with linear interpolation, achieving ACLR improvements of 15-20 dB for memoryless PA characteristics while consuming minimal block RAM resources.
Adaptive Table Update Mechanisms
LUT coefficients must adapt to track PA characteristic drift due to temperature, aging, and frequency changes:
- Direct learning: Compares PA output to desired linear output, updates LUT entries using LMS or RLS algorithms
- Indirect learning: First identifies PA model, then inverts it to populate the LUT
- Selective updating: Only entries that were recently addressed are updated, reducing computation
- Gain-based update rule: G_new = G_old - μ × e(n) × x*(n) / |x(n)|² where e(n) is the linearization error
Adaptation convergence time depends on the step size μ and signal statistics, typically requiring 10³-10⁴ samples per entry for stable convergence.
Limitations for Wideband Signals
LUT indexing assumes a memoryless nonlinearity, which breaks down for wideband signals where PA memory effects become significant:
- Bandwidth threshold: Memory effects become non-negligible when signal bandwidth exceeds ~1% of the carrier frequency
- Spectral regrowth asymmetry: Memoryless LUT cannot correct asymmetric IMD skirts caused by electrical and thermal memory
- Mitigation approaches: Combine LUT with a linear FIR filter (Hammerstein structure) or migrate to memory polynomial DPD
For 5G NR signals with 100 MHz bandwidth at sub-6 GHz, pure LUT-based predistortion typically achieves only 5-10 dB ACLR improvement versus 15-20 dB for memory-capable models.
LUT Indexing vs. Memory Polynomial DPD
Comparison of memoryless look-up table indexing against memory polynomial-based digital predistortion for power amplifier linearization
| Feature | LUT Indexing | Memory Polynomial DPD | Generalized Memory Polynomial |
|---|---|---|---|
Memory Effect Compensation | |||
Computational Complexity | Low (O(1) lookup) | Medium (O(M×K)) | High (O(M×K + cross-terms)) |
Coefficient Count | 256-4096 entries | M×K coefficients | M×K + M×M×K cross-terms |
Adaptation Speed | Fast (direct update) | Moderate (LS/RLS solve) | Slow (large matrix inversion) |
Linearization Bandwidth | Narrowband (< 20 MHz) | Wideband (20-100 MHz) | Ultra-wideband (> 100 MHz) |
ACLR Improvement | 8-12 dB | 15-20 dB | 18-25 dB |
Hardware Resource Usage | Minimal (BRAM/registers) | Moderate (DSP slices + BRAM) | High (significant DSP + memory) |
Sensitivity to PA Aging | High (requires full table update) | Moderate (coefficient retraining) | Low (robust to parameter drift) |
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 concepts and implementation techniques related to Look-Up Table indexing for memoryless digital predistortion, covering table construction, adaptation, and performance optimization.
Memoryless Predistorter
A predistorter whose output depends only on the instantaneous input sample, not on past values. LUT indexing is the primary implementation method for this class. The complex gain correction factor is a function of the instantaneous envelope magnitude: F(|x(n)|). This contrasts with models incorporating memory depth, which require tapped delay lines. Memoryless predistortion is effective for PAs where thermal and electrical memory effects are negligible, such as certain Class A amplifiers operating well below compression.
Complex Gain LUT
A table storing complex-valued correction factors indexed by quantized input magnitude. Each entry contains an in-phase (I) and quadrature (Q) component that multiplies the input signal to pre-compensate for PA nonlinearity. The table implements the function G(|x|) = A(|x|) * e^(j*Φ(|x|)), where A is amplitude correction and Φ is phase correction. Typical table sizes range from 64 to 1024 entries, balancing correction resolution against memory footprint in FPGA block RAM.
Magnitude Quantization
The process of mapping a continuous input envelope value to a discrete table index. The input magnitude range is divided into uniform or non-uniform intervals. Uniform quantization uses equal step sizes: index = floor(|x| / Δ). Non-uniform quantization allocates more entries to regions of rapid gain variation (near compression) and fewer to linear regions. Quantization error introduces residual nonlinearity, making optimal bin allocation critical for meeting stringent ACPR requirements.
Interpolation Techniques
Methods to reduce quantization error by estimating correction factors between table entries:
- Nearest-neighbor: Simplest, uses closest entry; introduces stair-step distortion
- Linear interpolation: Computes weighted average of two adjacent entries; smooths response
- Cubic interpolation: Uses four surrounding points for higher accuracy at increased computational cost
- Complex gain interpolation: Interpolates I and Q components separately, preserving phase continuity Interpolation enables smaller tables to achieve equivalent linearization performance.
Adaptive LUT Update
Mechanisms for dynamically updating table entries to track time-varying PA characteristics due to temperature drift, aging, or channel frequency changes. Common strategies include:
- Linear interpolation update: Adjusts two adjacent entries proportionally based on the index error
- Secant method: Iteratively refines individual entries using gradient information
- Least mean squares (LMS) per-bin: Applies LMS adaptation independently to each active bin
- Bulk table reload: Periodically recomputes the entire LUT from an extracted model Adaptation convergence speed must exceed the rate of PA characteristic change.
Multiport LUT Architectures
Advanced LUT structures for multi-band or MIMO transmitters where multiple signals require simultaneous predistortion:
- Dual-port LUT: Single table with two read ports for concurrent dual-band correction
- Banked LUT: Multiple independent tables, each dedicated to a transmit chain or frequency band
- 3D LUT: Indexed by magnitude and an additional dimension such as frequency offset or envelope derivative
- Hierarchical LUT: Coarse table for rapid lookup with fine-resolution secondary table for critical regions These architectures exploit FPGA dual-port BRAM capabilities for efficient implementation.

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