Optimization algorithms for hybrid precoding in mmWave MIMO systems: Version 1.1.0
Switch branches/tags
Nothing to show
Clone or download
Latest commit 5652486 Nov 30, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks Version 1.1.0 Jul 3, 2018
manopt Version 1.0.0 Jul 2, 2018
proposed Version 1.1.0 Jul 3, 2018
LICENSE Initial commit Jul 2, 2018
README.md Update README.md Nov 29, 2018
comp_NB.m Version 1.1.0 Jul 3, 2018
comp_OFDM.m Version 1.1.0 Jul 3, 2018
demo.m Version 1.0.0 Jul 2, 2018
hpopt_version.m Version 1.1.0 Jul 3, 2018
run_me_first.m Version 1.1.0 Jul 3, 2018


HybridPrecodingOpt : Optimization algorithms for hybrid precoding in millimeter wave (mmWave) MIMO systems

Authors: Hiroyuki Kasai

Last page update: November 29, 2018

Latest version: 1.1.1 (see Release notes for more info)


Hybrid precoding(-beamforming) is the most promising approach to reduce high hardware costs and high power consumptions in large-scale millimeter wave (mmWave) MIMO systems. Hybrid precoding combines large-dimensional analog precoding (or beamforming) via phase shifters with lower-dimensional digital baseband precoding.

A maximization problem of spectral efficiency approximately boils down to a minimization problem of the Euclidean distance between the fully digital precoder and the hybrid precoder. This problem is further formulated as a matrix factorization problem of he fully digital precoder with a product of the digital baseband precoder matrix and the analog radio frequency (RF) precoder (or beamforming) matrix. The noteworthy point is that the phase shifters impose an additional element-wise unit modulus constraints on the analog RF precoder matrix.

This package provides the codes of the proposed optimization algorithms for hybrid precoding. This code includes existing state-of-the arts algorithms, too. Most of the codes of this package come from the super brilliant project.


The document can be found below;

  • H. Kasai, "Fast optimization algorithm on complex oblique manifold for hybrid precoding in Millimeter Wave MIMO systems," GlobalSIP2018.


Folders and files

./                      - Top directory.
./README.md             - This readme file.
./run_me_first.m        - The scipt that you need to run first.
./demo.m                - Demonstration script. 
./comp_OFDM.m           - Simulation script for OFDM. 
|proposed/              - Contains the files for the proposed algorithms.
|benchmarks/            - Contains the files for the existing algorithms.
|cvx/                   - Folder for CVX project (Please downlod by yoursel!).

First to do

Run run_me_first for path configurations.

%% First run the setup script

Demo example for OFDM system

Just execute demo for the first demonstration of this package.

Simulation for narrow band system

Execute channel_realization in benchmarks/AltMinAlg/datasets/ folder to generate datasets such as `Ns=3.mat'. The script outputs the datasete file in there. You can load this generated dataset file in the script.

More results for OFDM system

  • Comparison with the MO-AltMin algorithm.

  • Spectral efficiency for SNRs.

  • Spectral efficiency and processing time under different number of data streams, and antennass in transmitter/receiver.


  • Most of the codes of the package come from the codes in AltMinAlg.
  • FPS-AltMin is downloadable here.
  • The project uses the MATLAB toolbox Manopt.
  • CVX package is required for the narrrowband simulations. Please download the packege from here into cvx folder.

Problems or questions

If you have any problems or questions, please contact the author: Hiroyuki Kasai (email: kasai at is dot uec dot ac dot jp)

Release Notes

  • Version 1.1.1 (November 29, 2018)
    • Opened to public.
  • Version 1.1.0 (July 03, 2018)
    • FPS-AltMin is added.
  • Version 1.0.0 (July 01, 2018)
    • Initial version.