Multiple-Input Multiple-Output (MIMO)

The use of Multiple-Input Multiple-Output (MIMO) techniques has revolutionized wireless communications systems with potential gains in capacity when using multiple antennas at both transmitter and receiver ends of a communications system. New techniques, which account for the extra spatial dimension, have been adopted to realize these gains in new and previously existing systems.

MIMO technology has been adopted in multiple wireless systems, including Wi-Fi, WiMAX, LTE, and is proposed for future standards (such as LTE-Advanced and IMT-Advanced).

The Communications System Toolbox™ product offers components to model:

  • OSTBC (orthogonal space-time block coding technique)

  • MIMO Fading Channels

and demos highlighting the use of these components in applications.

For background material on the subject of MIMO systems, see the works listed in Selected Bibliography for MIMO systems.

Orthogonal Space-Time Block Codes (OSTBC)

The Communications System Toolbox product provides components to model Orthogonal Space Time Block Coding (OSTBC) – a MIMO technique which offers full spatial diversity gain with extremely simple single-symbol maximum likelihood decoding [4,6,8].

In Simulink®, the OSTBC Encoder and OSTBC Combiner blocks, residing in the MIMO block library, implement the orthogonal space time block coding technique. These two blocks offer a variety of specific codes (with different rates) for up to 4 transmit and 8 receive antenna systems. The encoder block is used at the transmitter to map symbols to multiple antennas while the combiner block is used at the receiver to extract the soft information per symbol using the received signal and the channel state information. You access the MIMO library by double clicking the icon in the main Communications System Toolbox block library. Alternatively, you can type commmimo at the MATLAB command line.

The OSTBC technique is an attractive scheme because it can achieve the full (maximum) spatial diversity order and have symbol-wise maximum-likelihood (ML) decoding. For more information pertaining to the algorithmic details and the specific codes implemented, see OSTBC Combining Algorithms on the OSTBC Combiner block help page and OSTBC Encoding Algorithms on the OSTBC Encoder block help page. Similar functionality is available in MATLAB® by using the comm.OSTBCCombiner and comm.OSTBCEncoder System objects.

MIMO Fading Channel

The Communications System Toolbox software also includes a MIMO fading channel object. You can use this object to model the fading channel characteristics of MIMO links. The object models both Rayleigh and Rician fading, and uses the Kronecker model for the spatial correlation between the links [1].

For more information, see the comm.MIMOChannel and comm.LTEMIMOChannel Help pages.

MIMO Examples

The following examples illustrate MIMO techniques or the use of MIMO components:

MATLAB

Concatenated OSTBC with TCMConcatenated OSTBC with TCM: OSTBC System objects

IEEE 802.11n Channel ModelsIEEE 802.11n Channel Models: comm.MIMOChannel System object™

IEEE 802.16 Channel ModelsIEEE 802.16 Channel Models: comm.MIMOChannel System object

Introduction to MIMO SystemsIntroduction to MIMO Systems: Comparing MRC and OSTBC techniques

Spatial MultiplexingSpatial Multiplexing: techniques offering multiplexing gain

Simulink

Adaptive MIMO System with OSTBCAdaptive MIMO System with OSTBC: OSTBC and MIMO channel in Simulink

Concatenated OSTBC with TCMConcatenated OSTBC with TCM: OSTBC with blocks

IEEE® 802.16-2004 OFDM PHY Link, Including Space-Time Block CodingIEEE® 802.16-2004 OFDM PHY Link, Including Space-Time Block Coding

LTE PHY Downlink with Spatial MultiplexingLTE PHY Downlink with Spatial Multiplexing comm.LTEMIMOChannelSystem object

MIMO Decoder Using Simulink® and the MATLAB™ Function BlockMIMO Decoder Using Simulink® and the MATLAB™ Function Block: Lattice decoder. You must install a HDL Coder™ user license to run this example.

OSTBC Over 3x2 Rayleigh Fading Channel

This example demonstrates the use of Orthogonal Space-Time Block Codes (OSTBC) to achieve diversity gains in a multiple-input multiple-output (MIMO) communication system. The example shows the transmission of data over three transmit antennas and two receive antennas (hence the 3x2 notation) using independent Rayleigh fading per link. This description covers the following:

Overview of the Simulation

The model is shown in the following figure. To open the modelopen the model, type doc_ostbc32 at the MATLAB command line. The simulation creates a random binary signal, modulates it using a binary phase shift keying (BPSK) technique, and then encodes the waveform using a rate 34 orthogonal space-time block code for transmission over the fading channel. The fading channel models six independent links, due to the three transmit by two receive antennae configuration as single-path Rayleigh fading processes. The simulation adds white Gaussian noise at the receiver. Then, it combines the signals from both receive antennas into a single stream for demodulation. For this combining process, the model assumes perfect knowledge of the channel gains at the receiver. Finally, the simulation compares the demodulated data with the original transmitted data, computing the bit error rate. The simulation ends after processing 100 errors or 1e6 bits, whichever comes first.

Orthogonal Space-Time Block Code

This simulation uses an orthogonal space-time block code with three transmit antennas and a rate ¾ code, as shown below

(s1s2s2s2*s1*0s3*0s1*0s3*s2*)

where s1, s2, s3 correspond to the three symbol inputs for which the output is given by the previous matrix. Note in the simulation that the input to the OSTBC Encoder block is a 3x1 vector signal and the output is a 4x3 matrix. The number of columns in the output signal indicates the number of transmit antennas for this simulation, where the first dimension is for time.

For the selected code, the output signal power per time step is (123)4=2.25W. Also, note that the channel symbol period for this simulation is 1e3*34=7.5e4sec, due to the use of rate 34 code. These two values are used in calibrating the white Gaussian noise added in the simulation. The parameters that the Receive Noise block specifies apply for each receiver the system employs.

Performance

Now compare the performance of the code with theoretical results using BERtool as an aid. For the theoretical results, the EbNo is directly scaled by the diversity order (six in this case). For the simulation, in the Receive Noise block, we account for only the diversity due to the transmitters (hence, the EbNo parameter is scaled by a factor of three).

The figure below compares the simulated BER for a range of EbNo values with the theoretical results for a diversity order of six.

Note the close alignment of the simulated results with the theoretical (especially. at low EbNo values). The fading channel modeled in the simulation is not completely static (has a low Doppler). As a result the channel is not held constant over the block symbols. Varying this parameter for the channel shows little variation between the results compared to the theoretical curve.

Selected Bibliography for MIMO systems

[1] C. Oestges and B. Clerckx, MIMO Wireless Communications: From Real-World Propagation to Space-Time Code Design, Academic Press, 2007.

[2] George Tsoulos, Ed., "MIMO System Technology for Wireless Communications", CRC Press, Boca Raton, FL, 2006.

[3] L. M. Correira, Ed., Mobile Broadband Multimedia Networks: Techniques, Models and Tools for 4G, Academic Press, 2006.

[4] M. Jankiraman, "Space-time codes and MIMO systems", Artech House, Boston, 2004.

[5] G. J. Foschini, M. J. Gans, "On the limits of wireless communications in a fading environment when using multiple antennas", IEEE Wireless Personal Communications, Vol. 6, Mar. 1998, pp. 311-335.

[6] S. M. Alamouti, "A simple transmit diversity technique for wireless communications," IEEE Journal on Selected Areas in Communications, vol. 16, no. 8, pp. 1451–1458, Oct. 1998.

[7] V. Tarokh, N. Seshadri, and A. R. Calderbank, "Space–time codes for high data rate wireless communication: Performance analysis and code construction," IEEE Transactions on Information Theory, vol. 44, no. 2, pp. 744–765, Mar. 1998.

[8] V. Tarokh, H. Jafarkhani, and A. R. Calderbank, "Space-time block codes from orthogonal designs," IEEE Transactions on Information Theory, vol. 45, no. 5, pp. 1456–1467, Jul. 1999.

[9] 3rd Generation Partnership Project, Technical Specification Group Radio Access Network, Evolved Universal Terrestrial Radio Access (E-UTRA), Base Station (BS) radio transmission and reception, Release 10, 3GPP TS 36.104, v10.0.0, 2010-09.

[10] 3rd Generation Partnership Project, Technical Specification Group Radio Access Network, Evolved Universal Terrestrial Radio Access (E-UTRA), User Equipment (UE) radio transmission and reception, Release 10, 3GPP TS 36.101, v10.0.0, 2010-10.

Was this topic helpful?