FastConvergentCoordinatedPrecoding.jl
FastConvergentCoordinatedPrecoding.jl is the simulation environment for
R. Brandt and M. Bengtsson, "Fast-Convergent Distributed Coordinated Precoding for TDD Multicell MIMO Systems", IEEE Int. Workshop Computational Advances in Multi-Sensor Adaptive Process. (CAMSAP'15), 2015, pp. 457-460.
It provides all the simulation code and scripts required to reproduce the figures from the paper.
Paper Abstract
Several distributed coordinated precoding methods relying on over-the-air (OTA) iterations in time-division duplex (TDD) networks have recently been proposed. Each OTA iteration incurs overhead, which reduces the time available for data transmission. In this work, we therefore propose an algorithm which reaches good sum rate performance within just a few number of OTA iterations, partially due to non-overhead-incurring local iterations at the receivers. We formulate a scalarized multi-objective optimization problem where a linear combination of the weighted sum rate and the multiplexing gain is maximized. Using a well-known heuristic for smoothing the optimization problem together with a linearization step, the distributed algorithm is derived. When numerically compared to the state-of-the-art in a scenario with 1 to 3 OTA iterations allowed, the algorithm shows significant sum rate gains at high signal-to-noise ratios.
Installation and Usage
- Install the Julia 0.3 runtime. This package is only verified to work on julia 0.3.
- Start the Julia REPL and clone the package by calling
Pkg.clone("https://github.com/rasmusbrandt/FastConvergentCoordinatedPrecoding.jl")
. - From the terminal, run the corresponding batch scripts in the
batch/camsap
subdirectory. TheSNR
andrho
simulations take a long time, and are thus split into 10 independent runs. After all runs have finished, the results have to be merged by calling the appropriate merge script. - When the run has finished, the plots in the paper can be generated by calling the appropriate plot scripts.
The scripts in the root directory can be used for exploratory simulations.
batch/camsap
subdirectory
Description of scripts in the - rho
- Performance vs. regularization parameter rho. Recreates Figure 1.
- SNR
- Performance vs. signal-to-noise ratio. Recreates Figure 2.
- convergence
- Average convergence as a function of number of OTA iterations. Not shown in paper.
Software Dependencies
CoordinatedPrecoding.jl is used as a supporting framework for the simulations. The rank-constrained rank minimization algorithms are implemented using Convex.jl and Mosek.jl. Note that the Mosek solver requires a license, which can be obtained for free for academic researchers.
License and referencing
This source code 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. The following Bibtex entry can be used.
@InProceedings{Brandt2015,
Title = {Fast-Convergent Distributed Coordinated Precoding for {TDD} Multicell {MIMO} Systems},
Author = {Rasmus Brandt and Mats Bengtsson},
Booktitle = {Proc. IEEE Int. Workshop Computational Advances in Multi-Sensor Adaptive Process.},
Year = {2015},
Pages = {457--460}
}