Message-Passing Detection

Exploiting the Sparse Factor Graph

The DD-domain input-output relation is a sparse equation: each received cell yDD[β„“,k]y_{DD}[\ell, k] couples to at most PP transmit cells (one per path). This sparsity forms a sparse bipartite factor graph, and message-passing (MP) detection is the natural algorithm for such structures.

The point is that MP exchanges only sufficient statistics between graph nodes β€” a Gaussian approximation of the likelihood. Under the sparse factor-graph topology, this Gaussian message passing converges quickly and achieves near-ML performance. The algorithmic structure is exactly that of belief propagation (BP) from the FSI book, applied to the DD factor graph.

Definition:

The DD-Domain Factor Graph

The DD factor graph has two sets of nodes:

  • Variable nodes: one per transmitted DD cell, x[β„“,k]x[\ell, k] for β„“=0,…,Mβˆ’1\ell = 0, \ldots, M-1 and k=0,…,Nβˆ’1k = 0, \ldots, N-1. Total: MNMN.
  • Factor nodes: one per received DD cell, representing the likelihood constraint y[β„“,k]=βˆ‘i=1Phi ejΞ±i x[(β„“βˆ’β„“i)β€Šmodβ€ŠM,(kβˆ’ki)β€Šmodβ€ŠN]+wy[\ell, k] = \sum_{i=1}^P h_i\,e^{j\alpha_i}\,x[(\ell - \ell_i)\bmod M, (k - k_i)\bmod N] + w. Total: MNMN.

Each factor node has exactly PP incident variable nodes (the PP shifted cells that contribute via each path). The graph is bipartite, sparse, with degree exactly PP on both sides.

Theorem: Convergence of Gaussian Message Passing

For a DD channel with PP paths and integer-Doppler alignment, the Gaussian sum-product algorithm on the DD factor graph converges within Titer=O(log⁑(MN))T_{\text{iter}} = O(\log(MN)) iterations to a fixed point whose per-cell SNR matches the ML asymptote. In the high-SNR regime, the MP detector achieves BER that scales as SNRβˆ’P\mathrm{SNR}^{-P} β€” full diversity PP.

The factor graph is sparse with degree PP. Gaussian messages (just mean and variance) propagate through the graph; at each iteration, each variable node aggregates messages from its PP neighbors and updates. Because the graph has no short cycles at typical scales, BP converges. The sparsity guarantees the per-iteration complexity is O(P MN)O(P\,MN), and the total is O(P MN Titer)O(P\,MN\,T_{\text{iter}}) β€” roughly 10510^5-10610^6 ops for typical frame sizes.

MP-OTFS Detector

Complexity: O(Pβ‹…MNβ‹…Titer)O(P \cdot MN \cdot T_{\text{iter}})
Input: yDD\mathbf{y}_{DD}, channel {(hi,β„“i,ki)}\{(h_i, \ell_i, k_i)\}, noise
variance Οƒ2\sigma^2, QAM alphabet X\mathcal{X}, iterations TiterT_{\text{iter}}
Output: Detected symbols X^DD\hat{X}_{DD}
1. Initialize: For each variable (β„“,k)(\ell, k), set prior
pβ„“,k(0)(x)=1/∣X∣p_{\ell, k}^{(0)}(x) = 1/|\mathcal{X}| (uniform over X\mathcal{X}).
2. for iteration t=1,…,Titert = 1, \ldots, T_{\text{iter}} do
3. \quad for each factor node y[β„“,k]y[\ell, k] do
4. \quad\quad Gather messages from the PP incident variables.
5. \quad\quad Compute the factor-to-variable message for each
incident variable viv_i:
ΞΌyβ†’vi(x)∝∫p(y∣{vj})β€‰βˆjβ‰ iΞΌvjβ†’y(tβˆ’1)(xj) dxj\mu_{y \to v_i}(x) \propto \int p(y|\{v_j\})\,\prod_{j \neq i} \mu_{v_j \to y}^{(t-1)}(x_j)\,dx_j
6. \quad for each variable node x[β„“,k]x[\ell, k] do
7. \quad\quad Update posterior: pβ„“,k(t)(x)∝∏y∈N(x)ΞΌyβ†’x(t)(x)p_{\ell, k}^{(t)}(x) \propto \prod_{y \in \mathcal{N}(x)} \mu_{y \to x}^{(t)}(x).
8. end for
9. Compute final estimates: x^[β„“,k]=arg⁑max⁑x∈Xpβ„“,k(Titer)(x)\hat{x}[\ell, k] = \arg\max_{x \in \mathcal{X}} p_{\ell, k}^{(T_{\text{iter}})}(x).
10. Return X^DD\hat{X}_{DD}.

Gaussian simplification: messages are (ΞΌ,Οƒ2)(\mu, \sigma^2) pairs. The integral in step 5 reduces to a closed-form Gaussian update. Typical Titer=5T_{\text{iter}} = 5–1010; no significant gain beyond. Overall complexity: O(P MN Titer)O(P\,MN\,T_{\text{iter}}), which for P=10,MN=104,Titer=10P = 10, MN = 10^4, T_{\text{iter}} = 10 is 10610^6 ops β€” feasible.

Key Takeaway

MP detection achieves full DD diversity. Unlike MMSE (diversity 1), message-passing on the sparse DD factor graph recovers the full PP-fold path diversity promised by Chapter 9. The BER slope is SNRβˆ’P\mathrm{SNR}^{-P}, matching ML. This is the main practical reason OTFS outperforms OFDM in uncoded or lightly-coded operation: MP exploits paths that OFDM's per-subcarrier detector cannot even see.

MP vs MMSE BER Comparison

Plot uncoded BER vs SNR for MMSE (diversity 1) and MP (diversity PP) detection in the same OTFS frame. The MP curve is steeper β€” at low BER, MP can be 5-10 dB ahead of MMSE. Vary PP to see the diversity-order effect. This illustrates the qualitative difference between linear and nonlinear detection in OTFS.

Parameters
4
0
30
8

Example: MP on a 2Γ—2 Frame with 2 Paths

An OTFS frame with M=N=2M = N = 2 and ∣X∣=|\mathcal{X}| = QPSK passes through a channel with 2 paths. Sketch the factor graph and count the number of messages exchanged in one iteration.

Message Passing on a 4Γ—4 DD Factor Graph

Animation of the MP-OTFS detector on a small 4Γ—4 OTFS frame with P=3P = 3 paths. Variable nodes (DD cells) and factor nodes (input-output constraints) are displayed, with messages flowing between them. Over 5 iterations, the posterior beliefs concentrate on the true transmitted symbols (color intensifies on correct cells). This illustrates how MP converges to the ML solution.

MP Variants: Sum-Product, Max-Product, and AMP

Several flavors of message-passing are used in the OTFS literature:

  • Sum-product (exact BP): messages are full posteriors; gives symbol-wise MAP decisions. High memory, O(∣X∣)O(|\mathcal{X}|) per message.
  • Gaussian BP (MP-OTFS): truncates messages to Gaussian (ΞΌ,Οƒ2)(\mu, \sigma^2). Most efficient, close to ML at high SNR. This is the version of Algorithm AMP-OTFS Detector.
  • AMP (approximate message passing): for Gaussian inputs, uses matched-filter + soft-threshold. Asymptotically optimal for i.i.d. matrices; less studied for structured matrices like OTFS.
  • Max-product (min-sum): max rather than sum over each factor. Gives the most-likely sequence. Less accurate than sum-product but easier in noisy conditions.

For OTFS practice, Gaussian MP is the default. AMP has been explored (Chu, Yuan 2022) and shows ~1 dB gain over Gaussian MP in certain regimes, but at the cost of more sophisticated damping schemes to ensure stability.

⚠️Engineering Note

Practical MP Implementation

Key implementation decisions:

  • Damping factor γ∈[0.5,0.8]\gamma \in [0.5, 0.8]: soft-weight the message update as ΞΌ(t)←γμ(tβˆ’1)+(1βˆ’Ξ³) μ~\mu^{(t)} \leftarrow \gamma \mu^{(t-1)} + (1 - \gamma)\,\tilde{\mu}. Prevents oscillation in difficult channels. Ξ³=0.6\gamma = 0.6 is a typical default.
  • Early termination: check convergence by computing max⁑x∣pβ„“,k(t)(x)βˆ’pβ„“,k(tβˆ’1)(x)∣\max_x |p_{\ell, k}^{(t)}(x) - p_{\ell, k}^{(t-1)}(x)|. Stop when below a threshold (e.g., 10βˆ’310^{-3}). Saves iterations for easy channels.
  • Parallelization: variable and factor updates can be fully parallelized within an iteration. GPU implementations achieve 10710^7 ops/ΞΌs on MN=104MN = 10^4.
  • Numerical stability: work in log-domain to prevent underflow of message magnitudes at low SNR.

With these optimizations, MP-OTFS is readily realtime at 5G NR frame rates (∼100\sim 100 frames/s). For LEO satellite at larger NN (∼103\sim 10^3), MP remains feasible with modern GPU hardware.

Practical Constraints
  • β€’

    Damping factor 0.6–0.8 for stability

  • β€’

    Early termination saves ∼30%\sim 30\% iterations

  • β€’

    GPU parallelization: 2-3 orders of magnitude over sequential

Common Mistake: Short Cycles Break MP at Extreme Parameters

Mistake:

Deploying MP-OTFS at small frame sizes (MN<100MN < 100) expecting it to converge. At small MNMN, the factor graph has short cycles (the same data symbol appears as a neighbor of multiple factors), and BP can oscillate or converge to wrong fixed points.

Correction:

For small frames, use sphere decoding or exhaustive ML (the search space is small anyway). MP is designed for MN≳103MN \gtrsim 10^3, where the graph is locally tree-like. At typical 5G NR-aligned OTFS sizes (MNβ‰₯103MN \geq 10^3), cycle effects are negligible and BP converges cleanly.