-
Notifications
You must be signed in to change notification settings - Fork 4
qhspencer/bda
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repository contains MATLAB code that was used in the following paper: "Zero-forcing methods for downlink spatial multiplexing in multiuser MIMO channels", Quentin H. Spencer, A. Lee Swindlehurst and Martin Haardt, IEEE Transactions on Signal Processing, Feb. 2004, pp. 461-471. (http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=1261332) I get periodic requests for the code used to generate the results in the article, so I am putting this here. Note that the code was mostly written in 2002 or earlier. Some of the code depends functions I had written at the time that did not exist in MATLAB at the time (i.e. cdf, ccdf, random). I have attempted to include my versions of these functions so that all of the code runs correctly, because the functions now present in MATLAB may not do exactly the same thing or have the same interface. The main function for computing capacity of Gaussian multi-user MIMO channels using the BD algorithm is bd_capacity.m. I have also included the function bd_plots.m, which was used to produce many of the plots in the paper. The plots were generated using GNU Octave rather than MATLAB, and they contained a number of Octave-specific function calls that are no longer supported in modern Octave or in MATLAB, so I have attempted to remove all of those, which means some plot labels and annotations will look different. All of the plots can be successfully produced in Octave but have not been tested in MATLAB. Several papers subsequent to my 2004 paper have found more efficient ways of computing the same solutions. If anyone is interested in implementing faster solutions or updating the code in other ways to take advantage of more modern MATLAB or Octave versions, I welcome any contributions.
About
Block Diagonalization Algorithm
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published