qhspencer / bda Goto Github PK
View Code? Open in Web Editor NEWBlock Diagonalization Algorithm
Block Diagonalization Algorithm
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.