Project-from-Continuous Solutions

The Simplest Idea That Works

Since the continuous-phase algorithms of Chapters 5–7 are mature, the simplest discrete-phase heuristic is: solve the continuous problem, then project each element's phase to its nearest grid point. This inherits all the continuous machinery and adds only a rounding step. For single-user problems, it is asymptotically optimal: as NN \to \infty, the fraction of elements at the nearest grid point converges to one, and the discrete-phase solution approaches the continuous one. For multi-user, it is typically within 0.50.5-1 dB1\text{ dB} of the optimal discrete solution. This section formalizes the approach and its near-optimality.

Definition:

Nearest-Level Projection

The nearest-level projection operator PΘB:[0,2π)ΘB\mathcal{P}_{\Theta_B}: [0, 2\pi) \to \Theta_B maps a continuous phase to the nearest discrete level:

PΘB(θ)=argminϑΘBθϑmod 2π=Δθround(θ/Δθ)mod2π.\mathcal{P}_{\Theta_B}(\theta) = \arg\min_{\vartheta \in \Theta_B} |\theta - \vartheta|_{\text{mod } 2\pi} = \Delta\theta \cdot \text{round}(\theta / \Delta\theta) \bmod 2\pi.

Applied element-wise, ϕdisc=(ejPΘB(θ1),,ejPΘB(θN))\boldsymbol{\phi}^{\text{disc}} = \big(e^{j\mathcal{P}_{\Theta_B}(\theta_1^\star)}, \ldots, e^{j\mathcal{P}_{\Theta_B}(\theta_N^\star)}\big). The projection is the Euclidean-distance-closest point on MB\mathcal{M}_B to the continuous optimum.

Project-from-Continuous Discrete-Phase RIS

Complexity: O(TAOCcontinuous)O(T_{\text{AO}} \cdot C_{\text{continuous}}) + O(N)O(N) for projection + O(CWMMSE)O(C_{\text{WMMSE}}) optional refine
Input: channels, bit-depth BB, tolerance ϵ\epsilon.
Output: discrete-phase Φdisc\boldsymbol{\Phi}^{\text{disc}} and precoder Wdisc\mathbf{W}^{\text{disc}}.
1. Step 1 — Continuous AO: solve the continuous-phase joint problem via Chapter 5's AO.
Outputs (W,Φ)(\mathbf{W}^\star, \boldsymbol{\Phi}^\star) with ϕn=1|\phi_n^\star| = 1, θn[0,2π)\theta_n^\star \in [0, 2\pi).
2. Step 2 — Nearest-level projection:
For each nn: θ~nΔθround(θn/Δθ)\tilde\theta_n \leftarrow \Delta\theta \cdot \text{round}(\theta_n^\star / \Delta\theta).
Set Φdisc=diag(ejθ~n)\boldsymbol{\Phi}^{\text{disc}} = \text{diag}(e^{j\tilde\theta_n}).
3. Step 3 — Refine precoder (optional): with Φdisc\boldsymbol{\Phi}^{\text{disc}} fixed, re-optimize W\mathbf{W} via WMMSE.
Output Wdisc\mathbf{W}^{\text{disc}}.
4. return (Wdisc,Φdisc)(\mathbf{W}^{\text{disc}}, \boldsymbol{\Phi}^{\text{disc}}).

Step 3 is optional but often worth it: fixing Φdisc\boldsymbol{\Phi}^{\text{disc}} and re-running WMMSE recovers a bit of the projection loss by optimally matching the active beamformer to the quantized channel. Adds one extra WMMSE call per coherence block — negligible cost.

Theorem: Projection Loss for Single-User Problems

For the single-user matched-filter problem, the projection achieves SNR

SNRdisc=sinc2 ⁣(π2B)SNRcont,\text{SNR}^{\text{disc}} = \text{sinc}^2\!\left(\frac{\pi}{2^B}\right) \cdot \text{SNR}^{\text{cont}},

where SNRcont\text{SNR}^{\text{cont}} is the continuous-phase coherent optimum. Tabulated:

BB ηB\eta_B SNR loss (dB)
1 0.405 3.92
2 0.811 0.91
3 0.949 0.22
4 0.987 0.056

This matches the hardware-only quantization loss from Ch. 2. For single-user, projection is essentially equivalent to quantizing the hardware — no optimization penalty beyond the physical quantization.

For single-user problems, the continuous optimum is the matched- filter phase θn=arg(an)\theta_n^\star = -\arg(a_n). Nearest-level projection introduces an error ϵn=θ~nθn\epsilon_n = \tilde\theta_n - \theta_n^\star uniformly distributed on [Δθ/2,Δθ/2][-\Delta\theta/2, \Delta\theta/2]. The coherent-sum amplitude scales by E[ejϵn]=sinc(π/L)=sinc(π/2B)\mathbb{E}[e^{j\epsilon_n}] = \text{sinc}(\pi/L) = \text{sinc}(\pi/2^B); the SNR scales by its square.

Projection Is Nearly Optimal, Not Exactly

The projection-then-refine approach achieves ηB\sim \eta_B of the continuous optimum in single-user cases — which is also what an oracle discrete-phase solver would achieve asymptotically. In this sense, projection is (nearly) optimal for single-user.

For multi-user: the continuous optimum's coupled structure means independent per-element rounding breaks the coupling. A careful joint projection (e.g., randomized rounding with multiple trials and retaining the best) recovers 0.1\sim 0.1-0.5 dB0.5\text{ dB}. This is the small edge that direct discrete optimization (Section 8.3) tries to close.

Projection Loss vs. BB for Single-User and Multi-User

Sweep B{1,2,3,4,5}B \in \{1, 2, 3, 4, 5\} and plot the SNR loss (dB) of the projection method relative to the continuous-phase optimum for single-user and for multi-user (K=4K = 4) scenarios. The single-user curve matches the analytical ηB\eta_B; the multi-user curve is slightly worse, showing the cost of rounding the coupled phases.

Parameters
64
2
50

Example: Projection with Precoder Refinement

A single-user MISO-RIS has Nt=4,N=32,B=2N_t = 4, N = 32, B = 2. The continuous-phase solution gives rate Rcont=5.0R^\star_{\text{cont}} = 5.0 bits/s/Hz. Predict the discrete-phase rate with and without Step 3 refinement.

Common Mistake: Don't Skip the Precoder Refine in Multi-User

Mistake:

"Project phases, re-use the pre-projection precoder. It's a small discretization error anyway."

Correction:

For multi-user, skipping Step 3 is a 0.3\sim 0.3-1 dB1\text{ dB} sum-rate loss at B=2B = 2-33. The active beamformer was matched to the continuous phases; after projection, it's mismatched. Running one more WMMSE iteration on the quantized channels recovers most of this. Cost: one inner WMMSE = 10μs\sim 10\,\mu\text{s}. Never skip it.

🔧Engineering Note

Projection in Real-Time Controllers

Projection adds negligible cost to the continuous-phase pipeline:

  • Step 2 (projection): O(N)O(N) comparisons, <10μs< 10\,\mu\text{s} at N=256N = 256.
  • Step 3 (refine): one extra WMMSE call, <1ms< 1\,\text{ms}.
  • Total added latency: <1ms< 1\,\text{ms}.

For a 2020-ms coherence block, this is 5% overhead — well within budget. The big computational cost is the continuous AO in Step 1 (10\sim 10-100100 ms); projection is free relative to it.

Practical Constraints
  • Step 2 alone: 1 μs at N = 256 on a modern CPU.

  • Step 3 refinement: ~500 μs for Nt=16,K=4N_t = 16, K = 4.

  • Total projection overhead: 1%\leq 1\% of continuous AO time.