WMMSE Method

5 minute read

Published:

This is a note for WMMSE algorithms for sum-rate maximization problem in downlink MU-MISO systems.

System Model

Consider a downlink multi-user multiple-input single-output (MU-MISO) system where a base station (BS) equipped with $N$ transmit antennas serves multiple users, each with a single antenna. The goal is to maximize the sum-rate of the users by optimizing the transmit beamforming vectors. The optimization problem can be formulated as follows:

\[\begin{aligned} \max_{\{\mathbf{w}_k\}} & \sum_{k=1}^K \log_2\left(1 + \frac{|\mathbf{h}_k^H \mathbf{w}_k|^2}{\sum_{j \neq k} |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2}\right) \\ \text{s.t.} & \sum_{k=1}^K \|\mathbf{w}_k\|^2 \leq P_{\text{max}} \end{aligned}\]

where $\mathbf{w}k$ is the beamforming vector for user $k$, $\mathbf{h}_k$ is the channel vector for user $k$, $\sigma_k^2$ is the noise power at user $k$, and $P{\text{max}}$ is the maximum transmit power at the BS.

This problem is non-convex due to the interference terms in the SINR expressions, making it challenging to solve directly. The WMMSE algorithm provides an efficient way to tackle this problem by transforming it into a series of convex subproblems.

WMMSE Algorithm

The WMMSE algorithm iteratively updates the beamforming vectors, receive filters, and weights to converge to a local optimum. The key steps of the algorithm are as follows:

  1. Initialization: Start with an initial set of beamforming vectors ${\mathbf{w}_k^{(0)}}$.
  2. Receive Filter Update: For each user $k$, update the receive filter $u_k$ as: \(u_k = \frac{\mathbf{h}_k^H \mathbf{w}_k}{\sum_{j=1}^K |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2}\)
  3. Weight Update: Update the weight $w_k$ for each user $k$ as: \(w_k = \frac{1}{1 + \text{SINR}_k}\)
  4. Beamforming Vector Update: Solve the following convex optimization problem to update the beamforming vectors: \(\begin{aligned} \min_{\{\mathbf{w}_k\}} & \sum_{k=1}^K w_k \left( \sum_{j=1}^K |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2 - 2\text{Re}\{\mathbf{u}_k^H \mathbf{h}_k^H \mathbf{w}_k\} + |u_k|^2 \right) \\ \text{s.t.} & \sum_{k=1}^K \|\mathbf{w}_k\|^2 \leq P_{\text{max}} \end{aligned}\)
  5. Convergence Check: Repeat steps 2-4 until convergence, i.e., until the change in the sum-rate is below a predefined threshold.

The WMMSE algorithm is guaranteed to converge to a local optimum of the original sum-rate maximization problem. It has been widely used in wireless communications due to its effectiveness and relatively low computational complexity compared to other optimization methods.

Receive Filter Update

This insight comes from the MMSE receiver design, which aims to minimize the mean square error between the transmitted and received signals. Specifically, the MSE for user $k$ can be expressed as:

\[\begin{aligned} \text{MSE}_k & = \mathbb{E}[|s_k - u_k y_k|^2] \\ & = \mathbb{E}[|s_k - u_k (\mathbf{h}_k^H \sum_{j=1}^K \mathbf{w}_j s_j + n_k)|^2] \\ & = 1 - 2\text{Re}\{u_k \mathbf{h}_k^H \mathbf{w}_k\} + |u_k|^2 \left( \sum_{j=1}^K |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2 \right) \end{aligned}\]

To find the optimal receive filter $u_k$, we take the derivative of $\text{MSE}_k$ with respect to $u_k$ and set it to zero:

\[\frac{\partial \text{MSE}_k}{\partial u_k} = -2\mathbf{h}_k^H \mathbf{w}_k + 2u_k \left( \sum_{j=1}^K |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2 \right) = 0\]

Solving for $u_k$, we obtain:

\[u_k = \frac{\mathbf{h}_k^H \mathbf{w}_k}{\sum_{j=1}^K |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2}\]

Weight Update

With the optimal receive filter $u_k$ determined, the SINR of user $k$ can be re-expressed in terms of the MSE as:

\[\text{SINR}_k = \frac{|\mathbf{h}_k^H \mathbf{w}_k|^2}{\sum_{j \neq k} |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2} = \frac{1}{\text{MSE}_k} - 1\]

Therefore, the sum-rate for user $k$ can be written as:

\[R_k = \log_2(1 + \text{SINR}_k) = -\log_2(\text{MSE}_k)\]

However, this problem is still non-convex. Based on the principle of CCCP, we can introduce weights $w_k$ to transform the problem into a weighted MSE minimization problem. Specifically, defining the weight for user $k$ as $w_k$, the alternative optimization problem becomes: \(\begin{aligned} \max_{\{\mathbf{w}_k\}, w_k, u_k} & \sum_{k=1}^K \left( \log w_k - w_k \log \text{MSE}_k \right) \\ \text{s.t.} & \sum_{k=1}^K \|\mathbf{w}_k\|^2 \leq P_{\text{max}} \end{aligned}\)

This problem is equivalent to the original sum-rate maximization problem. To find the optimal weight $w_k$, we take the derivative of the objective function with respect to $w_k$ and set it to zero:

\[\frac{\partial}{\partial w_k} \left( \log w_k - w_k \log \text{MSE}_k \right) = \frac{1}{w_k} - \log \text{MSE}_k = 0\]

Solving for $w_k$, we obtain:

\[w_k = \frac{1}{\text{MSE}_k} = 1 + \text{SINR}_k\]

Beamforming Vector Update

With the optimal receive filters ${u_k}$ and weights ${w_k}$ determined, we can now focus on updating the beamforming vectors ${\mathbf{w}_k}$. The optimization problem for updating the beamforming vectors can be formulated as:

\[\begin{aligned} \min_{\{\mathbf{w}_k\}} & \sum_{k=1}^K w_k \left( \sum_{j=1}^K |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2 - 2\text{Re}\{\mathbf{u}_k^H \mathbf{h}_k^H \mathbf{w}_k\} + |u_k|^2 \right) \\ \text{s.t.} & \sum_{k=1}^K \|\mathbf{w}_k\|^2 \leq P_{\text{max}} \end{aligned}\]

This is a convex quadratic optimization problem with a quadratic constraint, which can be solved using standard convex optimization techniques such as interior-point methods or Lagrange multipliers. To solve this problem, we can set up the Lagrangian function:

\[\begin{aligned} & \quad \mathcal{L}(\{\mathbf{w}_k\}, \lambda) \\ & = \sum_{k=1}^K w_k \left( \sum_{j=1}^K |\mathbf{h}_k^H \mathbf{w}_j|^2 + \sigma_k^2 - 2\text{Re}\{\mathbf{u}_k^H \mathbf{h}_k^H \mathbf{w}_k\} + |u_k|^2 \right) \\ & \quad \quad + \lambda \left( \sum_{k=1}^K \|\mathbf{w}_k\|^2 - P_{\text{max}} \right) \end{aligned}\]

where $\lambda$ is the Lagrange multiplier associated with the power constraint. Taking the derivative of the Lagrangian with respect to $\mathbf{w}_k$ and setting it to zero gives us the optimality conditions:

\[\frac{\partial \mathcal{L}}{\partial \mathbf{w}_k} = 2 \sum_{j=1}^K w_j \mathbf{h}_j \mathbf{h}_j^H \mathbf{w}_k - 2 w_k \mathbf{h}_k u_k + 2 \lambda \mathbf{w}_k = 0\]

Rearranging the terms, we obtain:

\[\left( \sum_{j=1}^K w_j \mathbf{h}_j \mathbf{h}_j^H + \lambda \mathbf{I} \right) \mathbf{w}_k = w_k \mathbf{h}_k u_k\]

Therefore, the optimal beamforming vector $\mathbf{w}_k$ can be expressed as:

\[\mathbf{w}_k = \left( \sum_{j=1}^K w_j \mathbf{h}_j \mathbf{h}_j^H + \lambda \mathbf{I} \right)^{-1} w_k \mathbf{h}_k u_k\]

This is the key point that why the WMMSE method is special. Although the WMMSE method can only guarantee a local optimum, just like the SCA method, it provides a closed-form solution for the beamforming vector update step, making it computationally efficient.

The Lagrange multiplier $\lambda$ can be found using a bisection method to ensure that the power constraint is satisfied. The WMMSE algorithm iteratively updates the receive filters, weights, and beamforming vectors until convergence, leading to a locally optimal solution for the original sum-rate maximization problem.