Giter VIP home page Giter VIP logo

stevenlol / maximal-se Goto Github PK

View Code? Open in Web Editor NEW

This project forked from emilbjornson/maximal-se

0.0 2.0 0.0 19 KB

Simulation code for “Massive MIMO for Maximal Spectral Efficiency: How Many Users and Pilots Should Be Allocated?” by Emil Björnson, Erik G. Larsson, Mérouane Debbah, IEEE Transactions on Wireless Communications, vol. 15, no. 2, pp. 1293-1308, 2016.

Home Page: https://ebjornson.com/research/

MATLAB 100.00%

maximal-se's Introduction

Massive MIMO for Maximal Spectral Efficiency

This is a code package is related to the following scientific article:

Emil Björnson, Erik G. Larsson, Mérouane Debbah, "Massive MIMO for Maximal Spectral Efficiency: How Many Users and Pilots Should Be Allocated?," IEEE Transactions on Wireless Communications, vol. 15, no. 2, pp. 1293-1308, February 2016.

The package contains a simulation environment, based on Matlab, that reproduces all the numerical results and figures in the article. We encourage you to also perform reproducible research!

Abstract of Article

Massive MIMO is a promising technique to increase the spectral efficiency (SE) of cellular networks, by deploying antenna arrays with hundreds or thousands of active elements at the base stations and performing coherent transceiver processing. A common rule-of-thumb is that these systems should have an order of magnitude more antennas, M, than scheduled users, K, because the users' channels are likely to be near-orthogonal when M/K > 10. However, it has not been proved that this rule-of-thumb actually maximizes the SE. In this paper, we analyze how the optimal number of scheduled users, K^\star, depends on M and other system parameters. To this end, new SE expressions are derived to enable efficient system-level analysis with power control, arbitrary pilot reuse, and random user locations. The value of K^\star in the large-M regime is derived in closed form, while simulations are used to show what happens at finite M, in different interference scenarios, with different pilot reuse factors, and for different processing schemes. Up to half the coherence block should be dedicated to pilots and the optimal M/K is less than 10 in many cases of practical relevance. Interestingly, K* depends strongly on the processing scheme and hence it is unfair to compare different schemes using the same K.

Content of Code Package

The article contains 11 simulation figures, numbered from 4 to 14. These are generated by the Matlab scripts simulationAllFiguresExcept7.m and simulationFigure7.m. The package contains two additional Matlab functions which are called by the main scripts: computeEnvironment.m and checkHexagonal.m.

See each file for further documentation.

Acknowledgements

This research has received funding from the EU 7th Framework Programme under GA no ICT-619086 (MAMMOET). This research has been supported by ELLIIT, the International Postdoc Grant 2012-228 from the Swedish Research Council and the ERC Starting Grant 305123 MORE (Advanced Mathematical Tools for Complex Network Engineering).

License and Referencing

This code package is licensed under the GPLv2 license. If you in any way use this code for research that results in publications, please cite our original article listed above.

maximal-se's People

Contributors

emilbjornson avatar

Watchers

Steven Du avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.