---
title: LUT-Assisted Delay Shaping
url: https://www.emergentmind.com/topics/lut-assisted-delay-shaping
type: topic
---

# LUT-Assisted Delay Shaping

LUT-assisted delay shaping denotes a family of techniques in which lookup tables (LUTs) are used to control delay-dependent behavior, but the term is not tied to a single research lineage. In the cited literature, it appears in at least three technically distinct settings: power-amplifier digital predistortion (DPD), where spline-interpolated complex LUTs are combined with FIR filters or delay lines to shape nonlinear memory response; delay–Doppler waveform generation, where precomputed delay-domain pulse-shaping kernels are stored in LUT form and applied under circular or linear filtering models; and FPGA technology mapping, where LUT realizations are structurally decomposed to reshape logic-path delay on critical paths [1907.02350] [2311.06936] [2406.06241]. The common thread is not a shared signal model, but the use of LUT-mediated representations to make delay behavior explicit, controllable, and computationally efficient.

## 1. Terminological scope and cross-domain meaning

The cited literature suggests that “LUT-assisted delay shaping” is best understood as an umbrella description rather than a canonical method. In wideband RF linearization, LUT assistance refers to a complex envelope-indexed nonlinearity whose output is followed by either a common FIR filter or a bank of delayed branches, so that the effective predistorter memory response is shaped by post-LUT dynamics [1907.02350]. In delay–Doppler modulation, LUT assistance refers to storing pulse-shaping kernels indexed by delay, and in the ODDM case by both delay and Doppler, so that pulse-shaping along the delay dimension can be implemented without on-the-fly filter generation [2311.06936]. In delay-driven LUT mapping for logic synthesis, the term refers to decomposing Boolean functions into two-level LUT structures so that critical inputs traverse fewer LUT levels than non-critical inputs, thereby reshaping the propagation-delay profile [2406.06241].

A concise comparison is given below.

| Domain | LUT role | Delay-shaping objective |
|---|---|---|
| PA DPD | Complex spline-interpolated nonlinear mapping | Shape nonlinear memory response |
| Delay–Doppler pulse-shaping | Stored delay-domain shaping kernels | Control boundary behavior, OOB, and filtering along delay |
| FPGA LUT mapping | Structural realization of decomposed Boolean functions | Reduce critical-path logical depth |

This comparison suggests a useful unifying interpretation: LUTs serve as compact parameterizations of functions whose interaction with delay, memory, or path depth is the primary optimization target. A plausible implication is that the phrase should always be interpreted relative to its application domain, because the underlying state variables, constraints, and performance metrics differ substantially.

## 2. Power-amplifier predistortion: spline-LUT memory shaping

In the DPD setting, LUT-assisted delay shaping is explicitly a method for counteracting nonlinear distortion with memory in wideband power amplifiers. The purpose is to generate a counter-distortion with a tailored memory response for effects such as frequency-dependent AM-AM and AM-PM, envelope-dependent group delay, and bias or thermal effects. The basic mechanism combines a complex spline-interpolated LUT implementing a static input–output nonlinearity indexed by signal envelope with a delay-shaping element that supplies the memory response [1907.02350].

Two architectures are defined. The spline-based Hammerstein (SPH) approach uses the signal flow
$$x[n] \rightarrow \text{complex spline-interpolated LUT} \rightarrow h[k] \rightarrow y[n],$$
where the LUT is injection-based:
$$u[n] = x[n] + x[n] g_n^T c,$$
and the FIR filter shapes memory as
$$y[n] = \sum_{k=0}^{K-1} h[k]u[n-k].$$
The spline-based memory polynomial (SMP) approach replaces the common FIR with \(M\) delayed branches, each with its own complex spline-LUT:
$$u_m[n] = x[n-m] + x[n-m] g_{n-m}^T q_m,$$
$$y[n] = \sum_{m=0}^{M-1} u_m[n] = x[n] + \sum_{m=0}^{M-1} x[n-m] g_{n-m}^T q_m.$$
In SPH, memory shaping is global because the FIR \(h[k]\) controls the effective response after a single LUT. In SMP, memory shaping is delay-selective because each delay \(m\) has its own branch-specific complex control vector \(q_m\) [1907.02350].

The spline interpolation itself is defined over uniform envelope regions spanning \(0 \le |z[n]| \le A_{\max}\), with region index and local abscissa
$$i_n = \left\lfloor \frac{|z[n]|}{\Delta z} \right\rfloor + 1,\qquad
u_n = \frac{|z[n]|}{\Delta z} - (i_n - 1).$$
The basis vector is
$$g_n = [0 \ \ldots \ 0,\ u_n^T B_{P_{SP}},\ 0 \ \ldots \ 0]^T \in \mathbb{R}^{Q\times 1},$$
with \(Q = K + P_{SP}\), and the complex LUT output is injection-based:
$$s[n] = z[n] + z[n] g_n^T c.$$
Because \(g_n^T c\) is the deviation from unity, initializing \(c=0\) yields \(s[n]=z[n]\), which gives a unit baseline. The paper emphasizes that this reduces the dynamic range of LUT entries and decouples gain from memory shaping, leaving the FIR or delayed branches solely responsible for the memory response [1907.02350].

The relation to ordinary memory polynomial (MP) DPD is central. Ordinary MP is
$$y_{MP}[n] = \sum_{p=1}^{P_{MP}}\sum_{m=0}^{M_{MP}} a_{p,m}x[n-m]|x[n-m]|^{p-1}.$$
SMP replaces the monomials \(|x|^{p-1}\) with spline-interpolated LUTs \(g_{n-m}^T q_m\). According to the paper, this maintains amplitude and phase flexibility with fewer operations and no basis-orthogonalization, while keeping linearization capability very close to ordinary MP, particularly for SMP [1907.02350].

## 3. Gradient-adaptive estimation and implementation in DPD

The DPD paper derives per-sample complex gradient updates in an indirect learning architecture (ILA). With error
$$e[n] = x_{DPD}[n] - r[n], \qquad J = |e[n]|^2,$$
the SPH updates are
$$h_{n+1} = h_n + \mu_h[n] e_{SPH}[n] s_n^*,$$
$$c_{n+1} = c_n + \mu_c[n] e_{SPH}[n] \Sigma_n^T Z_n^* h_n^*,$$
where \(\Sigma_n\) stacks the spline basis vectors over memory and \(Z_n\) is a diagonal matrix of delayed input samples. The SMP branch-wise update is
$$q_{m,n+1} = q_{m,n} + \mu_{q_m}[n] e_{SMP}[n] z_{SMP}^*[n-m] g_{n-m}.$$
These are explicitly characterized as LMS-like complex gradient updates, and the paper states that no orthogonalization is needed [1907.02350].

The implementation details are closely tied to the injection-based formulation. Complex control points \(c\) and \(q_m\) encode both AM-AM and AM-PM. Uniform splines are used, and only \(P_{SP}+1\) control points contribute per region, so the main-path per-sample compute cost does not depend on total \(Q\). The basis has the partition-of-unity property \(g_n^T \mathbf{1}=1\) for classic B-splines, while the deviation form \(g_n^T c\) removes DC or overall gain impact from the LUT. Practical guidance in the paper includes initializing \(c\) and \(q_m\) to zero, initializing \(h\) to a causal lowpass or shaping filter, gradually increasing step sizes, monitoring error power, and clipping updates if needed [1907.02350].

The reported complexity reductions are explicit. For the numerical example \(P_{SP}=3\), \(M_{SPH}=4\), \(Q=7\), SPH requires 40 real multiplications per sample in the main path and 124 in learning. For \(P_{SP}=3\), \(M_{SMP}=4\), \(Q=7\), SMP requires 63 real multiplications per sample in the main path and 119 in learning. The MP reference with \(P_{MP}=11\), \(M_{MP}=4\) requires 112 real multiplications per sample in the main path and 2514 in learning. The corresponding reported reductions versus MP are \(-64.3\%\) for SPH and \(-43.7\%\) for SMP in the main path, and \(-95.0\%\) for SPH and \(-95.2\%\) for SMP in learning. The paper also gives FLOPs per sample for one experimental setting: 69 for SPH with \(P_{SP}=3, M_{SPH}=3\); 99 for SMP with \(P_{SP}=3, M_{SMP}=4\); and 255 for MP [1907.02350].

Experimentally, the methods are evaluated on multiple sub-6 GHz PA samples and a 28 GHz active antenna array with bandwidths up to 200 MHz. For a Mini-Circuits ZHL-4240 at 3.5 GHz, 100 MHz channel bandwidth, and \(+27\) dBm, the reported EVM values are 5.54 for SPH, 5.57 for SMP, and 5.47 for MP; the maximum adjacent-channel spectral density ranges are \(-36.30\) to \(-36.80\) dBm/MHz for SPH, \(-37.20\) to \(-37.80\) dBm/MHz for SMP, and \(-38.20\) dBm/MHz for MP. For a Skyworks PA at 3.65 GHz, 100 MHz, and \(+24\) dBm, EVM is 5.57 for SPH, 5.55 for SMP, and 5.54 for MP. In OTA measurements with an Anokiwave AWMF-0129 28 GHz active antenna array at EIRP \(+42.5\) dBm, no DPD gives about 26 dB ACLR and about 12% EVM; for 100 MHz, SPH gives 34.4 dB ACLR and 6.20% EVM, SMP gives 34.8 dB and 6.15%, and MP gives 35.2 dB and 6.00%; for 200 MHz, SPH gives 34.1 dB and 6.25%, SMP gives 34.4 dB and 6.20%, and MP gives 35.0 dB and 6.13% [1907.02350].

These results support a domain-specific meaning of LUT-assisted delay shaping: the LUT does not merely approximate a static nonlinearity; it is part of a composite structure in which memory response is deliberately assigned either to a post-LUT FIR or to delay-indexed LUT branches.

## 4. Delay–Doppler pulse-shaping with LUT-stored kernels

In delay–Doppler waveform design, LUT-assisted delay shaping refers to storing pulse-shaping kernels for filtering along the delay dimension. The underlying framework places symbols on a regular delay–Doppler grid \(D[l,k]\), maps them by an \(N\)-point IDFT along the Doppler dimension,
$$X[l,n] = \frac{1}{\sqrt{N}}\sum_{k=0}^{N-1} D[l,k] e^{j2\pi kn/N},$$
and serializes \(x[\kappa] = X[l,n]\) with \(\kappa = nM + l\). An oversampling factor \(L_{us}\) expands the delay dimension to \(M' = M L_{us}\), and pulse-shaping is applied along the expanded delay coordinate using a Nyquist filter \(p[l']\), such as RRC, optionally truncated to \(Q\) zero-crossings [2311.06936].

The generalized framework distinguishes circular pulse-shaping (C-PS) and linear pulse-shaping (L-PS). In C-PS, filtering is an \(M'\)-point circular convolution:
$$\tilde{X}^{C}[l',n] = X_e[l',n] \circ_{M'} p[l'],$$
with transmit block
$$x_{us}^{C}[\kappa'] = \sum_{n=0}^{N-1} \tilde{X}^{C}[\kappa' - nM', n].$$
In L-PS, filtering is non-cyclic:
$$\tilde{X}^{L}[l',n] = X_e[l',n] * p[l'],$$
followed by overlap-and-add:
$$x_{us}^{L}[\kappa'] = \sum_{n=0}^{N-1} \tilde{X}^{L}[\kappa' - nM', n].$$
The paper states that circular pulse-shaping has cyclic wrap-around within each \(M'\)-sample delay block, causing abrupt edges and high out-of-band (OOB) emission unless guards are added, whereas linear pulse-shaping preserves smooth pulse transients and thus yields lower OOB, at the cost of truncation-induced approximation error when \(Q\) is small or constellations are large [2311.06936].

Within this framework, ODDM is derived as a linear pulse-shaping technique. The delay-domain shaping filters become Doppler dependent:
$$p_k[\kappa'] = p[\kappa'] e^{j2\pi k\kappa'/(NM')},$$
and the discrete-time ODDM transmit signal is written as
$$x_{us}^{ODDM}[\kappa'] =
\sum_{n=0}^{N-1}\sum_{k=0}^{N-1}
\left(D_e[(\kappa'-nM'),k] * p_k[\kappa'-nM']\right)e^{j2\pi kn/N}.$$
The paper attributes the staircase behavior of the ODDM spectrum to these Doppler-dependent shaping filters, because the average power spectrum aggregates shifted copies of \(|P(e^{j\omega})|^2\) [2311.06936].

The LUT-assisted implementation is concrete. For C-PS OTFS, one precomputes a cyclic pulse LUT over \(l' = 0,\ldots,M'-1\), optionally including cyclic shifts or FFT-domain representations. For L-PS OTFS, one stores a truncated pulse LUT over \(l' = -Q',\ldots,Q'\), where \(Q' = QL_{us}\). For ODDM, one stores Doppler-modulated pulses \(p_k[l']\) for \(k=0,\ldots,N-1\) and \(l'=-Q',\ldots,Q'\). The transmitter then performs delay upsampling, accesses the relevant LUT entries by delay and, in ODDM, by Doppler, applies the corresponding circular or linear convolution, uses overlap-and-add across time-slots, and finally inserts the CP [2311.06936].

Zero-guard (ZG) insertion is part of the same delay-shaping framework. Setting
$$D^{ZG}[l,k]=0,\quad l \in \{0,\ldots,G-1\}\cup\{M-G,\ldots,M-1\},\ \forall k,$$
suppresses cyclic wrap-around of pulse transients into the data-bearing region and effectively introduces smooth ramps at delay-block boundaries. For \(M=64\), \(N=32\), \(L_{us}=2\), RRC roll-off 0.1, truncation \(Q=8\), EVA channel, \(f_c=5.9\) GHz, \(\Delta f=15\) kHz, \(v=500\) km/h, CP longer than channel spread, and MMSE equalization, inserting \(G=2\) zero-guards at both edges reduces OOB by up to approximately 20 dB for C-PS OTFS and improves BER by approximately 2 dB for 16-QAM and approximately 1 dB for 4-QAM at the same \(E_b/N_0\) across C-PS, L-PS, and ODDM. The efficiency becomes
$$\eta = 1 - \frac{2G}{M},$$
which is about 0.94 for \(M=64\) and \(G=2\) [2311.06936].

Here, “delay shaping” has a different meaning than in DPD. It concerns the shaping of delay-domain pulse transients, boundary conditions, and spectral containment rather than nonlinear memory inversion. The commonality lies in the use of precomputed LUT content to make delay-domain operations efficient and structured.

## 5. Delay-driven logic synthesis: Ashenhurst–Curtis decomposition for path-delay shaping

In FPGA technology mapping, LUT-assisted delay shaping refers to restructuring combinational logic so that the maximum arrival time at outputs is reduced under \(k\)-input LUT constraints. The mechanism described in the cited work is Ashenhurst–Curtis decomposition (ACD), performed on the fly during mapping. The central idea is to decompose a Boolean function into a two-level LUT network in which late-arriving inputs traverse one LUT level while other inputs may traverse two levels, thereby reducing critical-path depth without indiscriminate duplication [2406.06241].

The formal decomposition begins with a partition \(X = B \cup F\), giving the classical form
$$f(X) = g(B, h(F)).$$
The generalized form used in the paper introduces bound, shared, and free sets:
$$f(X_{bs}, X_{ss}, X_{fs}) = g\big(h(X_{bs}, X_{ss}), X_{ss}, X_{fs}\big),$$
where \(h\) may be a vector of \(M\) single-output BS functions and \(g\) is the composition function. For a partition \(X=B\cup F\), the Ashenhurst matrix has \(2^{N_B}\) rows and \(2^P\) columns, and if the number of distinct columns is \(\mu\), then the minimum number of BS functions satisfies
$$M \ge \lceil \log_2 \mu \rceil.$$
The paper gives LUT-feasibility conditions such as
$$P + M \le k,\qquad N_B \le k,$$
and, in its truth-table formulation, acceptance criteria stated as \(P + \lceil \log_2 \mu \rceil \le k\) and \(N-P \le k\) [2406.06241].

The delay model is a simplified unit-delay model for \(k\)-LUT mapping with \(d_{LUT}=1\) and interconnect ignored. For a mapped network,
$$D = \max_{p\in P}\left(\sum_{\ell\in p} d_{LUT}(\ell) + \sum_{e\in p} d_{wire}(e)\right),$$
but the evaluation itself uses the unit-delay abstraction. During on-the-fly ACD on a cut of size \(N>k\), the mapper identifies late leaves \(S\), forces them into the free set \(F\), and seeks a two-level implementation in which free-set inputs incur a delay increase of one level while other signals incur a delay increase of two levels. The propagation profile is therefore:
- inputs in \(F\): \(D \rightarrow D+1\);
- inputs in \(B\) and non-buffered shared inputs: \(D \rightarrow D+2\) [2406.06241].

The on-the-fly evaluation avoids full encoding during mapping. For each large cut \(C\) with \(k < |C| \le 11\), variables are reordered so that the late set \(S\) is least significant. The algorithm then tries free-set sizes \(P\) from \(\max(N-k, |S|)\) upward, enumerates supersets \(F \supseteq S\), computes \(\mu\) by scanning cofactors in the truth table, and accepts a solution if \(\mu \le 2^{k-P}\) and \(N-P \le k\). The area is estimated pessimistically as
$$\text{Area} \approx \lceil \log_2 \mu \rceil + 1,$$
with exact support-minimizing encoding deferred to the final cover. Candidate enumeration is reduced from \(3^\mu\) to \(2\cdot 3^{\mu-1}\) by symmetry, and for \(\mu > 8\) the method restricts to \(2^{\mu-1}\) candidates without don’t-cares to cap runtime [2406.06241].

The empirical results quantify the delay-shaping effect. On heavily optimized EPFL combinational benchmarks mapped to 6-LUTs, on-the-fly ACD reduces logical depth by 7.52% on average relative to standard delay-driven mapping with structural choices, with temporary increases of 8.13% in LUTs and 7.87% in edges. A second mapping round using the ACD result as structural choices yields an average delay improvement of 12.39% and an area reduction of 2.20%, with edges roughly unchanged. The paper also reports that the method improves 4 of the best delay results in the EPFL synthesis competition without using design-space exploration [2406.06241].

In this literature, the LUT is not a stored table of filter coefficients or nonlinear control points. It is the target implementation primitive itself, and “delay shaping” means steering critical signals through a shallower structural realization.

## 6. Comparative properties, trade-offs, and limitations

Across the three domains, LUT-assisted delay shaping is consistently a complexity-management strategy, but the relevant trade-offs are domain specific.

In DPD, the principal trade-off is between modeling flexibility and processing cost. The paper explicitly recommends SPH for modest memory effects, relaxed ACLR targets, and minimal complexity, and SMP when stronger delay-selective memory is present or when performance close to MP is required. It also states that SMP and SPH use single-envelope indexing \(|x|\), which may not capture some dynamic or cross-term effects addressed by GMP, and that extremely long-term memory may require larger \(M\) or augmented structures. For extreme linearization targets, MP or GMP may marginally outperform SMP, but at significantly higher complexity [1907.02350].

In delay–Doppler pulse-shaping, the trade-off is between boundary smoothness, OOB suppression, BER behavior, and implementation burden. Circular pulse-shaping is efficient and compatible with FFT-based implementations, but suffers from wrap-around and high OOB unless ZGs are inserted. Linear pulse-shaping preserves smooth transients and has inherently lower OOB, but requires overlap-and-add and pulse truncation. ODDM adds Doppler-dependent filtering, which produces the staircase PSD and increases LUT size to \(N \times L_p\), though the paper characterizes the resulting memory footprint as modest for \(N=32\) and \(L_p=33\), namely about 1056 complex entries [2311.06936].

In delay-driven logic synthesis, the dominant trade-offs are delay versus area and runtime versus decomposition flexibility. On-the-fly ACD is intentionally delay oriented; area can increase temporarily because additional BS LUTs are introduced, although area-recovery passes or remapping can recover and even improve area. The benefits are strongest when non-\(k\)-feasible cuts lie on or near the critical path. The paper also notes that strict two-level decompositions become harder as \(N\) grows or as more inputs are simultaneously late, unless more BS functions are allowed. Its delay model ignores interconnect, so placement- or congestion-aware variants are identified as a possible further improvement in correlation with post-place-and-route timing [2406.06241].

A recurring misconception would be to assume that the “delay” in all three cases denotes the same object. The cited works indicate otherwise. In DPD, delay is physical memory in a nonlinear dynamical system; in delay–Doppler modulation, it is a transform-domain axis along which pulse-shaping is applied; in FPGA mapping, it is logical path depth under LUT constraints. A plausible implication is that cross-domain transfer of terminology is useful only at the level of abstraction—compact LUT-mediated control of delay-sensitive structure—not at the level of algorithmic details or performance metrics.

Another common point is that each domain uses LUTs to avoid a more expensive direct representation. Spline-LUT DPD avoids high-order polynomial bases and basis orthogonalization; delay–Doppler LUT implementations avoid repeated generation and modulation of shaping kernels; and on-the-fly ACD avoids full encoding during evaluation by relying on multiplicity tests and delayed construction of support-minimized BS functions. This suggests a broader design principle: LUT assistance becomes especially effective when the expensive part of the problem can be isolated into a compact function representation whose delay behavior is then separately optimized [1907.02350] [2311.06936] [2406.06241].

Source: https://www.emergentmind.com/topics/lut-assisted-delay-shaping