WMMSE Algorithm and Iterative Optimization

Beyond Linear Precoding β€” Iterative Optimization

ZF and RZF precoding are closed-form but suboptimal: they do not directly maximise the weighted sum rate. The weighted sum-rate maximisation problem is NP-hard in general, but a remarkable reformulation β€” the weighted minimum mean-square error (WMMSE) approach β€” transforms it into a sequence of convex subproblems that converges to a stationary point. The WMMSE algorithm is the workhorse of modern multi-user MIMO optimisation, bridging the gap between simple linear precoding and the unattainable DPC bound.

Definition:

Weighted Sum-Rate Maximisation and WMMSE Reformulation

Consider the KK-user MISO BC where user kk's rate is:

Rk=log⁑2 ⁣(1+∣hkHwk∣2Οƒ2+βˆ‘jβ‰ k∣hkHwj∣2)R_k = \log_2\!\left(1 + \frac{|\mathbf{h}_k^H\mathbf{w}_k|^2} {\sigma^2 + \sum_{j \neq k}|\mathbf{h}_k^H\mathbf{w}_j|^2}\right)

The weighted sum-rate (WSR) maximisation problem is:

max⁑{wk}βˆ‘k=1KΞΌkRks.t.βˆ‘k=1Kβˆ₯wkβˆ₯2≀P\max_{\{\mathbf{w}_k\}} \sum_{k=1}^{K} \mu_k R_k \quad \text{s.t.} \quad \sum_{k=1}^{K}\|\mathbf{w}_k\|^2 \leq P

where ΞΌk>0\mu_k > 0 are user weights. This is non-convex due to the interference terms in RkR_k.

The WMMSE reformulation introduces auxiliary variables:

  • Receive filter uk∈Cu_k \in \mathbb{C} (MMSE equaliser)
  • MSE weight wk>0w_k > 0

The MSE for user kk with receive filter uku_k is:

ek(uk,{wj})=∣1βˆ’ukβˆ—hkHwk∣2+∣uk∣2 ⁣(βˆ‘jβ‰ k∣hkHwj∣2+Οƒ2)e_k(u_k, \{\mathbf{w}_j\}) = |1 - u_k^*\mathbf{h}_k^H\mathbf{w}_k|^2 + |u_k|^2\!\left(\sum_{j \neq k}|\mathbf{h}_k^H\mathbf{w}_j|^2 + \sigma^2\right)

The key identity (Shi et al., 2011) is:

ΞΌkRk=max⁑wk>0,uk[ΞΌklog⁑2(wk)βˆ’ΞΌkwkek+ΞΌk]\mu_k R_k = \max_{w_k > 0, u_k} \left[\mu_k\log_2(w_k) - \mu_k w_k e_k + \mu_k\right]

which transforms the WSR problem into:

max⁑{uk,wk,wk}βˆ‘k=1K[ΞΌklog⁑2(wk)βˆ’ΞΌkwkek+ΞΌk]s.t.βˆ‘kβˆ₯wkβˆ₯2≀P\max_{\{u_k, w_k, \mathbf{w}_k\}} \sum_{k=1}^{K} \left[\mu_k\log_2(w_k) - \mu_k w_k e_k + \mu_k\right] \quad \text{s.t.} \quad \sum_k\|\mathbf{w}_k\|^2 \leq P

This reformulated problem is convex in each block of variables (uk,wk,wk)(u_k, w_k, \mathbf{w}_k) when the others are fixed.

WMMSE Algorithm

Complexity: Each iteration requires O(KNt2+Nt3)O(KN_t^2 + N_t^3) operations for the matrix inversion in Step 3. Convergence typically occurs within 10-30 iterations. Total complexity: O(Titer(KNt2+Nt3))O(T_{\text{iter}}(KN_t^2 + N_t^3)).
Input: Channel vectors {hk}k=1K\{\mathbf{h}_k\}_{k=1}^K, weights {ΞΌk}\{\mu_k\}, power PP, noise Οƒ2\sigma^2, tolerance Ο΅\epsilon
Initialise: Precoding vectors {wk(0)}\{\mathbf{w}_k^{(0)}\} (e.g., from RZF), iteration t=0t = 0
Repeat:
\quad t←t+1t \leftarrow t + 1
\quad Step 1 β€” Update receive filters (MMSE receivers):
\quad\quad uk(t)=hkHwk(tβˆ’1)βˆ‘j=1K∣hkHwj(tβˆ’1)∣2+Οƒ2,βˆ€ku_k^{(t)} = \frac{\mathbf{h}_k^H\mathbf{w}_k^{(t-1)}}{\sum_{j=1}^{K}|\mathbf{h}_k^H\mathbf{w}_j^{(t-1)}|^2 + \sigma^2}, \quad \forall k
\quad Step 2 β€” Update MSE weights:
\quad\quad ek(t)=1βˆ’uk(t)βˆ—hkHwk(tβˆ’1)e_k^{(t)} = 1 - u_k^{(t)*}\mathbf{h}_k^H\mathbf{w}_k^{(t-1)}
\quad\quad wk(t)=1/ek(t),βˆ€kw_k^{(t)} = 1/e_k^{(t)}, \quad \forall k
\quad Step 3 β€” Update precoding vectors (weighted MMSE):
\quad\quad wk(t)=(βˆ‘j=1KΞΌjwj(t)∣uj(t)∣2hjhjH+Ξ»I)βˆ’1ΞΌkwk(t)uk(t)hk,βˆ€k\mathbf{w}_k^{(t)} = \left(\sum_{j=1}^{K}\mu_j w_j^{(t)}|u_j^{(t)}|^2 \mathbf{h}_j\mathbf{h}_j^H + \lambda\mathbf{I}\right)^{-1} \mu_k w_k^{(t)} u_k^{(t)} \mathbf{h}_k, \quad \forall k
\quad\quad where Ξ»β‰₯0\lambda \geq 0 is chosen to satisfy βˆ‘kβˆ₯wk(t)βˆ₯2=P\sum_k\|\mathbf{w}_k^{(t)}\|^2 = P
\quad Compute: f(t)=βˆ‘kΞΌkRk({wk(t)})f^{(t)} = \sum_k \mu_k R_k(\{\mathbf{w}_k^{(t)}\})
Until ∣f(t)βˆ’f(tβˆ’1)∣<Ο΅|f^{(t)} - f^{(t-1)}| < \epsilon
Output: Precoding vectors {wk(t)}\{\mathbf{w}_k^{(t)}\}

The WMMSE algorithm can be initialised with ZF or RZF precoders, which provide a good starting point and reduce the number of iterations needed. The algorithm extends naturally to multi-cell and multi-antenna user scenarios.

WMMSE Convergence Animation

Watch the WMMSE algorithm converge iteration by iteration: the weighted sum rate increases monotonically from the ZF initialisation toward the DPC bound. The monotonic increase is guaranteed by the block coordinate descent structure.
WMMSE convergence for a 4-user, 8-antenna system at 15 dB SNR. The algorithm converges within ~15 iterations, closing most of the gap between ZF and DPC.

WMMSE Algorithm Convergence

Observe the convergence behaviour of the WMMSE algorithm. The plot shows the weighted sum rate versus iteration number. Vary the number of BS antennas, users, and SNR to see how they affect convergence speed and the final sum rate relative to ZF and RZF baselines.

Parameters
8
4
15

Theorem: WMMSE Convergence Guarantee

The WMMSE algorithm generates a sequence of precoding matrices {wk(t)}t=0∞\{\mathbf{w}_k^{(t)}\}_{t=0}^{\infty} satisfying:

  1. Monotonic non-decrease: The weighted sum rate is non-decreasing across iterations:

    βˆ‘k=1KΞΌkRk(t+1)β‰₯βˆ‘k=1KΞΌkRk(t)\sum_{k=1}^{K}\mu_k R_k^{(t+1)} \geq \sum_{k=1}^{K}\mu_k R_k^{(t)}

  2. Convergence to stationary point: Every limit point of the sequence {wk(t)}\{\mathbf{w}_k^{(t)}\} satisfies the KKT conditions of the original WSR maximisation problem.

Each WMMSE step optimises one block of variables while fixing the others, and the WMMSE objective is an exact surrogate for the WSR. Since the WSR is bounded above (by the DPC rate), a monotonically non-decreasing bounded sequence must converge. The block coordinate descent structure, combined with the smoothness of the objective and the exactness of the rate-MSE relationship, guarantees KKT stationarity at the limit.

Example: One WMMSE Iteration

Consider K=2K = 2 users, Nt=2N_t = 2, Οƒ2=1\sigma^2 = 1, equal weights ΞΌ1=ΞΌ2=1\mu_1 = \mu_2 = 1, channels h1=[1,0.5]T\mathbf{h}_1 = [1, 0.5]^T, h2=[0.5,1]T\mathbf{h}_2 = [0.5, 1]^T, and initial precoders w1(0)=[1,0]T\mathbf{w}_1^{(0)} = [1, 0]^T, w2(0)=[0,1]T\mathbf{w}_2^{(0)} = [0, 1]^T (with P=2P = 2). Perform one WMMSE iteration.

Quick Check

What is the key property that guarantees WMMSE convergence?

The WSR objective is convex

Each WMMSE step solves a convex subproblem, and the overall objective is monotonically non-decreasing and bounded above

The WMMSE objective is a convex relaxation of the WSR

WMMSE always converges to the global optimum

Historical Note: The WMMSE Algorithm

2011

The WMMSE algorithm was developed by Qingjiang Shi, Meisam Razaviyayn, Zhi-Quan Luo, and Chen He, published in IEEE Transactions on Signal Processing in 2011. The key insight was the rate-WMMSE relationship: Rk=max⁑wk[log⁑(wk)βˆ’wkek+1]R_k = \max_{w_k} [\log(w_k) - w_k e_k + 1], which transforms the non-convex WSR problem into a form amenable to block coordinate descent. This paper became one of the most cited works in signal processing for wireless communications, as the algorithm is remarkably versatile β€” it extends to MIMO users, multi-cell coordination, relay networks, and heterogeneous networks with minimal modifications.

Weighted Minimum Mean-Square Error (WMMSE)

An iterative algorithm for weighted sum-rate maximisation in multi-user MIMO systems. It alternates between updating receive filters, MSE weights, and precoding vectors, with each step solving a convex subproblem. Converges to a KKT stationary point.

Related: Zero-Forcing Beamforming, Regularised Zero-Forcing (RZF) Precoding

Weighted Sum Rate (WSR)

The performance metric βˆ‘kΞΌkRk\sum_k \mu_k R_k where ΞΌk>0\mu_k > 0 are user priority weights and RkR_k are individual user rates. Different weight choices trace the Pareto boundary of the rate region.

Related: Weighted Minimum Mean-Square Error (WMMSE)