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 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


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. In addition, to accurately set the Eb/N0 values used in the AWGN Channel block, the input signal power must be multiplied by 3 because there are three transmitters. This increases the corresponding noise power by the same factor.


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.