Skip to content

hiroyuki-kasai/HybridPrecodingOpt

Repository files navigation

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)


Introduction

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.


Document

The document can be found below;

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

Algorithms


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
run_me_first; 

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.



Notes

  • 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: hiroyuki dot kasai at waseda dot jp)


Release Notes

  • Version 1.1.1 (June 09, 2021)
    • Added the pdf file.
  • 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.