This repository is an implementation of the paper: An Accelerated Mixed Weighted-Unweighted MMSE Approach for MU-MIMO Beamforming.
The weighted sum-rate (WSR) maximization problem plays a central role in precoding design for downlink multi-cell multi-user multiple-input multiple-output (MU-MIMO) systems. We consider a downlink MU-MIMO system consisting of
where
where
Our work introduces an enhanced version of the classical WSR maximization algorithm WMMSE, developed within a block coordinate descent framework. The proposed method employs a highly parallel structure where the computationally intensive precoding matrices are updated via block coordinate gradient descent. This approach eliminates matrix inversion operations in the precoder update and avoids the bisection search required by conventional WMMSE. Additionally, a two-stage warm-start strategy based on sum mean-square error minimization is incorporated to accelerate convergence. The resulting algorithm is termed Accelerated Mixed Weighted-Unweighted Sum-MSE Minimization (A-MMMSE).
python=3.10.0
numpy
scipy
matplotlib
configargparse
pytorch=1.13.1
To evaluate A-MMMSE performance under a multi-cell configuration with
python main.py --config ./configs/MIMO.yaml --model_name A_MMMSE --T 256 --K 4 --I 16 --R 4 --d 4 --snr 10 --lr_type lipschitz --extrpTo compare CPU baselines under the same configuration, run:
python main.py --config ./configs/MIMO.yaml --model_name WMMSE --T 256 --K 4 --I 16 --R 4 --d 4 --snr 10
python main.py --config ./configs/MIMO.yaml --model_name MMMSE --T 256 --K 4 --I 16 --R 4 --d 4 --snr 10
python main.py --config ./configs/MIMO.yaml --model_name R_WMMSE --T 256 --K 4 --I 16 --R 4 --d 4 --snr 10
python main.py --config ./configs/MIMO.yaml --model_name R_MMMSE --T 256 --K 4 --I 16 --R 4 --d 4 --snr 10
python main.py --config ./configs/MIMO.yaml --model_name A_WMMSE --T 256 --K 4 --I 16 --R 4 --d 4 --snr 10 --lr_type lipschitz --extrpFor GPU-accelerated performance evaluation, run:
python main_gpu.py --config ./configs/GPU_Test.yaml --model_name A_MMMSE_GPU --T 512 --K 2 --I 16 --R 4 --d 4 --snr 10 --lr 0.04The scripts in scripts/ provide additional command-line examples for CPU and GPU experiments.
@article{gao2026accelerated,
title={An Accelerated Mixed Weighted-Unweighted MMSE Approach for MU-MIMO Beamforming},
author={Gao, Xi and Wang, Akang and Zhang, Junkai and Duan, Qihong and Xue, Jiang},
journal={IEEE Transactions on Signal Processing},
year={2026}
}