Skip to content

Commit

Permalink
Updating readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Emil Björnson committed Nov 4, 2017
1 parent ca4bb82 commit f889751
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Emil Bjornson, Jakob Hoydis and Luca Sanguinetti (2017), "[Massive MIMO Networks

For further information about the monograph, please visit: [https://www.massivemimobook.com](https://www.massivemimobook.com)

The package contains a simulation environment, based on Matlab, that can be used to reproduce all the simulation results in monograph. We hope that the code will support the learning of the Massive MIMO topic and also serve as a baseline for further research endeavors. *We encourage you to also perform reproducible research!*
The package contains a simulation environment, based on Matlab, that can be used to reproduce all the simulation results in the monograph. We hope that the code will support you in the learning of the Massive MIMO topic and also serve as a baseline for further research endeavors. *We encourage you to also perform reproducible research!*


## Abstract of the Monograph
Expand All @@ -17,26 +17,26 @@ Massive multiple-input multiple-output (MIMO) is one of the most promising techn
The monograph contains many numerical examples, which can be reproduced using Matlab code that is available online.


## Content of Code Package
## Content of the Code Package

This code package contains 74 Matlab scripts, 29 Matlab functions, and 7 binary files with Matlab data.

Each script is used to reproduce a particular simulation figure in the monograph. The scripts are named using the convention sectionX_figureY, which is interpreted as the script that reproduces Figure X.Y. A few scripts are instead named sectionX_figureY_Z and will then generate both Figure X.Y and Figure X.Z.
Each script is used to reproduce a particular simulation-generated figure in the monograph. The scripts are named using the convention sectionX_figureY, which is interpreted as the script that reproduces Figure X.Y. A few scripts are instead named as sectionX_figureY_Z and will then generate both Figure X.Y and Figure X.Z.

The functions are used by the scripts to carry out certain tasks, such as initiating a simulation setup, generating channel correlation matrices, generating channel realizations, computing channel estimates, computing SEs, computing the power consumption, etc.

The Matlab data files are of the type .mat and contain measurement results or particular simulation results.
The Matlab data files are of the type .mat and contain measurement results or particular precomputed simulation results.

See each script and function for further documentation. Note that some of the functions use CVX and QuaDRiGa, which need to be installed separately; see below.
See each script and function for further documentation. Note that some of the functions use [CVX](http://cvxr.com/cvx/) and [QuaDRiGa](http://quadriga-channel-model.de), which need to be installed separately; see below.


## Software and Hardware Requirements

The code was written to be used in Matlab and has been tested in Matlab 2015b. Some of the scripts and functions might also work in Octave, but there is no guarantee of compatibility.

A few scripts and functions require additional software packages that are developed independently and are delivered with separate licenses. To generate Figures 7.2, 7.41, and 7.42, you need to solve convex optimization problems using CVX from CVX Research, Inc. (http://cvxr.com/cvx/). The code has been tested with CVX 2.1 using the solver Mosek, version 7.1.0.12. We discourage the use of the solvers SDPT3 and SeDuMi since these crashed during the test. To generate Figures 7.41 and 7.42, you also need to generate channels using QuaDRiGa from the Fraunhofer Heinrich Hertz Institute (http://www.quadriga-channel-model.de). The code has been tested with QuaDRiGa version 1.4.8-571.
A few scripts and functions require additional software packages that have been developed independently and are delivered with separate licenses. To generate Figures 7.2, 7.41, and 7.42, you need to solve convex optimization problems using CVX from CVX Research, Inc. ([http://cvxr.com/cvx/](http://cvxr.com/cvx/)). The code has been tested with CVX 2.1 (Build 1112) using the solver Mosek (version 7.1.0.12). We discourage the use of the solvers SDPT3 and SeDuMi since these crashed during the test. To generate Figures 7.41 and 7.42, you also need to generate channels using the QuaDRiGa channel model from the Fraunhofer Heinrich Hertz Institute ([http://www.quadriga-channel-model.de](http://www.quadriga-channel-model.de)). The code has been tested with QuaDRiGa version 1.4.8-571.

Since the running example considers a setup with 16 cells, 100 antennas per BS, and 10 UEs per cell, these simulations require a lot of RAM to store the channel correlation matrices and channel realizations. The code has been tested successfully on a MacBook Pro with 8 GB 1600 MHz DDR3 and 2.6 GHz Intel Core i5, which should be viewed as a minimum requirement. Some of the simulations can take days to run, therefore we recommend that you first set nbrOfSetups = 1 to check how much time it takes for each realization of random UE location and shadow fading.
Since the running example in this monograph considers a setup with 16 cells, 100 antennas per BS, and 10 UEs per cell, some of the simulations require a lot of RAM to store the channel correlation matrices and channel realizations. The code has been tested successfully on a MacBook Pro with 8 GB 1600 MHz DDR3 RAM and a 2.6 GHz Intel Core i5 processor, which should be viewed as a minimum requirement for using this code. Some of the simulations can take days to run, therefore we recommend that you first set nbrOfSetups = 1 to check how much time it takes for each realization of random UE location and shadow fading.


## Acknowledgements
Expand All @@ -48,4 +48,4 @@ We would like to thank the editor Robert W. Heath Jr. for organizing the review

## License and Referencing

This code is licensed under the GPLv2 license. If you in any way use this code for research that results in publications, please cite our monograph as described above. We also recommend that you mention the existence of this code package in your publication, to spread the word of its existence and to ensure that you will not be accused of plagiarism.
This code is licensed under the GPLv2 license. If you in any way use this code for research that results in publications, please cite our monograph as described above. We also recommend that you mention the existence of this code package in your manuscript, to spread the word about its existence and to ensure that you will not be accused of plagiarism by the reviewers of your manuscript.
Expand Down

0 comments on commit f889751

Please sign in to comment.