The LabVIEW MIMO Toolkit
LabVIEW MIMO toolkit offers a powerful and flexible tool to simulate MIMO (Multiple Input Multiple Output) systems under different scenarios such as space time coding or spatial multiplexing. The toolkit contains a complete range of baseband simulation VIs right from modulation to decoders. Apart from this, it also contains some useful supplementary VIs for storing simulation results and combining different results to compare them.
Click here to download the toolkit. The instructions to install the toolkit are given at the bottom of the page, they are also available in a readme file that is part of the download. Click here to access tutorials.
Class of VIs contained in MIMO toolkit (alphabetically):
- Alamouti : Alamouti coding scheme is a simple space-time code, that offers a transmit diversity of 2. The VIs available encode and decode using Alamouti scheme for any number of receive antennas.
- Bit Operations : Simple vis which convert digits (symbols) to bits and vice versa.
- Channel : There are two channel vis available, both simulate Rayleigh fading. All elements in the channel are independent complex gaussian with unit variance. One vi implements a simple one tap model with, while the other vi implements a multi-tap model with power delay profile.
- File Operations : This contains VIs that can be used to save and read graphs that have been simulated. Also included is a utility that reads matrix from text files.
- Linear Dispersion : Linear dispersion codes offer both capacity as well as better error performance. The encoding vi encodes a given modulated sequence, while the decoding vi decodes given sequence using maximal likelihood decoding.
- Linear Receivers : Linear receivers are computationally efficient receivers, which recover a given signal essentially by inverting the channel. This class contains four VIs implementing zero forcing, minimum mean square estimator and successive interference cancellation receiver with and without OFDM.
- Maximum Likelihood (ML) Receiver : Maximum likelihood receiver are computationally most expensive receivers, but give the best performance. Two vis are available that implement ML receiver with and without OFDM.
- Modulation : There are two types of modulations available, QAM and PSK. The vis offer a variety of constellations sizes having different energy per symbol.
- OFDM : OFDM (Orthogonal Frequency Division Multiplexing) uses orthogonal tones to transmit the modulated signal. Apart from the multiplexer and the de-multiplexer a vi that takes DFT of the channel is also available.
- Space-Time Equalizer and Viterbi Decoder: The VIs implement a two-stage receiver for equalization and detection in a multi-user MIMO channel. The first stage is the space-time equalizer, which suppresses the cochannel and coantenna interference. The second stage is the Viterbi equalizer, which equalizes the intersymbol interference due to the frequency- selectivity of the Rayleigh channel.
- Spatial Multiplexer : A simple vi is available that multiplexes a given data stream over the specified number of transmit antennas.
- Trellis Codes : The VIs implement a class of space-time trellis codes that are decoded using Viterbi soft decoding. These codes also work with OFDM VIs.
Instructions to install the toolkit :
- Start LabVIEW.
- Go to either the "Controls" or "Functions" palette and click "Options" on the toolbar.
- A "Function Browser Options" window will come up, there click "Edit palettes...".
- Click on "User Libraries" in "Functions" palette to open the sub-palette.
- There right click and select "Insert->Submenu" from the pop up menu.
- An "Insert Submenu" window pops up, there select "Link to an existing menu file(.mnu)" and press "OK".
- A file choose dialog box will pop up, there select the "Mimo.mnu" file from wherever you have unzipped your download."MIMO.mnu" is part of the download.
- Then in "Edit Controls and Function Palettes" window press "Save Changes"
You should be done!!