Giter VIP home page Giter VIP logo

1bit_precoding's Introduction

Simulator for "Quantized Precoding for Massive MU-MIMO"

(c) 2018 Christoph Studer and Sven Jacobsson; e-mail: [email protected] and [email protected]

Important information

If you are thinking of contacting us, please do not e-mail the author to ask for download instructions, installation guidelines, or the simulator itself. The code itself is well-documented and provides the essential information about the code. Note that we will NOT help to debug user-generated code that was not included in the provided software package. If, however, you notice a bug in our code, please be so kind to contact the Author.

The software package is supplied "as is," without any accompanying support services, maintenance, or future updates. We make no warranties, explicit or implicit, that the software contained in this package is free of error or that it will meet your requirements for any particular application. It should not be relied on for any purpose where incorrect results could result in loss of property, personal injury, liability or whatsoever. If you do use our software for any such purpose, it is at your own risk. The authors disclaim all liability of any kind, either direct or consequential, resulting from your use of these programs.

If you are using the simulator (or parts of it) for a publication, then you must cite our paper:

S. Jacobsson, G. Durisi, M. Coldrey, T. Goldstein, and C. Studer, "Quantized precoding for massive MU-MIMO", IEEE Trans. Commun., vol. 65, no. 11, pp. 4670--4684, Nov. 2017.

and clearly mention this in your paper.

How to start a simulation

Simply run

precoder_sim

which starts a simulation for a massive MU-MIMO system (with 128 BS antennas and 16 users) with QPSK modulation using MRT and ZF precoding (for 1-bit quantization and infinite resolution), as well as the SQUID algorithm proposed in the paper.

The following precoders are currently supported by the simulator:

  • EXS: exhaustive search
  • BB-1: 1-bit branch-and-bound
  • MRT: maximal-ratio transmission (quantized)
  • MRT_inf: maximal-ratio transmission (infinite resolution)
  • SDR: semidefinite relaxation (rank-one approximation and randomization)
  • SP: sphere precoding
  • SQUID: squared infinity-norm Douglas-Rachford splitting
  • WF: Wiener filter (quantized)
  • WF_inf: Wiener filter (infinite resolution)
  • ZF: zero-forcing (quantized)
  • ZF_inf: zero-forcing (infinite resolution)

To use the SDR precoder, you need to install CVX, which can be found here: http://cvxr.com/cvx/download/

The linear precoders MRT, ZF, and WF can be used together with multi-bit quantization, whereas the nonlinear precoders BB-1, EXS, SDR, SP, and SQUID are supported only for 1-bit quantization. For ill-conditioned problems, the convergence of SQUID can be improved by tuning (see detailed comments in the code). It is recommended to use BB-1, EXS, SP, and SDR only for smaller systems, as the complexity of these precoders scales unfavorably with the number of BS antennas.

If you are using any of the precoders BB-1, EXS, or SP for a publication, then you should also cite our paper:

S. Jacobsson, W. Xu, G. Durisi, and C. Studer, โ€œMSE-optimal 1-bit precoding for multiuser MIMO via branch and bound,โ€ in Proc. IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP), Calgary, Canada, Apr. 2018, to appear.

The simulator runs with predefined parameters. You can specify your own system and simulation parameters by passing your own "par"-structure (see the simulator for an example). Note that we use default parameters for the considered system configuration; if you want to run the simulation with different parameters, then please refer to the MATLAB code for other parameter settings.

We highly recommend you to execute the code step-by-step (using MATLAB's debug mode) in order to get a detailed understanding of the simulator.

Version history

1bit_precoding's People

Watchers

 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.