- DSP log - http://www.dsplog.com -

MIMO with ML equalization

Posted By Krishna Sankar On December 14, 2008 @ 2:38 pm In Channel,MIMO | 97 Comments

We have discussed quite a few receiver structures for a 2×2 MIMO channel namely,

(b) Minimum Mean Square Error (MMSE) [2] equalization

(d) ZF-SIC with optimal ordering [4] and

From the above receiver structures, we saw that MMSE equalisation with optimally ordered Successive Interference Cancellation gave the best performance. In this post, we will discuss another receiver structure called Maximum Likelihood (ML) decoding which gives us an even better performance. We will assume that the channel is a flat fading Rayleigh multipath channel [5] and the modulation is BPSK.

## 2×2 MIMO channel

In a 2×2 MIMO channel, probable usage of the available 2 transmit antennas can be as follows:

1. Consider that we have a transmission sequence, for example ${x_1, x_2, x_3, \ldots, x_n }$

2. In normal transmission, we will be sending $x_1$in the first time slot, $x_2$in the second time slot, $x_3$ and so on.

3. However, as we now have 2 transmit antennas, we may group the symbols into groups of two. In the first time slot, send $x_1$and $x_2$from the first and second antenna. In second time slot, send $x_3$ and $x_4$from the first and second antenna, send $x_5$ and $x_6$in the third time slot and so on.

4. Notice that as we are grouping two symbols and sending them in one time slot, we need only $\frac{n}{2}$ time slots to complete the transmission – data rate is doubled !

5. This forms the simple explanation of a probable MIMO transmission scheme with 2 transmit antennas and 2 receive antennas.

Figure: 2 Transmit 2 Receive (2×2) MIMO channel

Let us now try to understand the math for extracting the two symbols which interfered with each other. In the first time slot, the received signal on the first receive antenna is,

$y_1 =h_{1,1}x_1 + h_{1,2}x_2 + n_1 = [h_{1,1} h_{1,2}] \left[\begin{eqnarray}x_1\\ x_2 \end{eqnarray}\right]+n_1$.

$y_2 = h_{2,1}x_1 + h_{2,2}x_2 + n_2 = [h_{2,1} h_{2,2}] \left[\begin{eqnarray}x_1 \\ x_2\end{eqnarray}\right]+n_2$.

where

$y_1$, $y_2$ are the received symbol on the first and second antenna respectively,

$h_{1,1}$ is the channel from $1^{st}$ transmit antenna to $1^{st}$ receive antenna,

$h_{1,2}$ is the channel from $2^{nd}$ transmit antenna to $1^{st}$ receive antenna,

$h_{2,1}$ is the channel from $1^{st}$ transmit antenna to $2^{nd}$ receive antenna,

$h_{2,2}$ is the channel from $2^{nd}$ transmit antenna to $2^{nd}$ receive antenna,

$x_1$, $x_2$are the transmitted symbols and

$n_1, n_2$ is the noise on $1^{st}, 2^{nd}$ receive antennas.

We assume that the receiver knows $h_{1,1}$, $h_{1,2}$, $h_{2,1}$and $h_{2,2}$. The receiver also knows $y_1$ and $y_2$. The unknown s are $x_1$and $x_2$.

For convenience, the above equation can be represented in matrix notation as follows:

$\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & = & {\left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]}\left[\begin{eqnarray}x_1 \\ x_2 \end{eqnarray}\right]+\left[\begin{eqnarray}n_1 \\ n_2 \end{eqnarray}\right]\end{eqnarray}$.

Equivalently,

$\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}$

## Other Assumptions

1. The channel is flat fading – In simple terms, it means that the multipath channel has only one tap. So, the convolution operation reduces to a simple multiplication. For a more rigorous discussion on flat fading and frequency selective fading, may I urge you to review Chapter 15.3 Signal Time-Spreading from [DIGITAL COMMUNICATIONS: SKLAR] [6]

2. The channel experience by each transmit antenna is independent from the channel experienced by other transmit antennas.

3. For the $i^{th}$ transmit antenna to $j^{th}$ receive antenna, each transmitted symbol gets multiplied by a randomly varying complex number $h_{j,i}$. As the channel under consideration is a Rayleigh channel, the real and imaginary parts of $h_{j,i}$ are Gaussian distributed having mean $\mu_{h_{j,i}=0$ and variance $\sigma^2_{h_{j,i}}=\frac{1}{2}$.

4. The channel experienced between each transmit to the receive antenna is independent and randomly varying in time.

5. On the receive antenna, the noise$n$ has the Gaussian probability density function with

$p(n) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{\frac{-(n-\mu)^2}{2\sigma^2}$ with $\mu=0$ and $\sigma^2 = \frac{N_0}{2}$.

7. The channel $h_{j,i}$ is known at the receiver.

The Maximum Likelihood receiver tries to find $\hat{\mathbf{x}}$ which minimizes, $\mathbf{J} = \left| \mathbf{y} - \mathbf{H}\mathbf{\hat{x}} \right|^2$

$\mathbf{J} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & {\left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]}\left[\begin{eqnarray}\hat{x}_1 \\ \hat{x}_2 \end{eqnarray}\right]\end{eqnarray} \right|^2$

Since the modulation is BPSK, the possible values of $x_1$is +1 or -1 Similarly $x_2$ also take values +1 or -1. So, to find the Maximum Likelihood solution, we need to find the minimum from the all four combinations of $x_1$and $x_2$.

$\mathbf{J_{+1,+1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}+1 \\ +1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

$\mathbf{J_{+1,-1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}+1 \\ -1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

$\mathbf{J_{-1,+1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2}\\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}-1 \\ +1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

$\mathbf{J_{-1,-1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] & - & \left[\begin{array}{cc}h_{1,1}& h_{1,2} \\ h_{2,1}&h_{2,2}\end{array}\right]\left[\begin{eqnarray}-1 \\ -1 \end{eqnarray}\right]\end{eqnarray} \right|^2$

The estimate of the transmit symbol is chosen based on the minimum value from the above four values i.e

if the minimum is $\mathbf{J_{+1,+1} \Rightarrow [1 \ 1 ]$,

if the minimum is $\mathbf{J_{+1,-1} \Rightarrow [1 \ 0 ]$,

if the minimum is $\mathbf{J_{-1,+1} \Rightarrow [0 \ 1 ]$ and
if the minimum is $\mathbf{J_{-1,-1} \Rightarrow [0 \ 0 ]$.

## Simulation Model

The Matlab/Octave script performs the following

(a) Generate random binary sequence of +1′s and -1′s.

(b) Group them into pair of two symbols and send two symbols in one time slot

(c) Multiply the symbols with the channel and then add white Gaussian noise.

(d) Find the minimum among the four possible transmit symbol combinations

(e) Based on the minimum chose the estimate of the transmit symbol

(h) Repeat for multiple values of $\frac{E_b}{N_0}$ and plot the simulation and theoretical results.

BER plot 2x2 MIMO Rayleigh channel with Maximum Likelihood equalisation

FIgure: BER plot 2×2 MIMO Rayleigh channel with Maximum Likelihood equalisation

## Summary

1. The results for 2×2 MIMO with Maximum Likelihood (ML) equalization helped us to achieve a performance closely matching the 1 transmit 2 receive antenna Maximal Ratio Combining (MRC) [8]case.

2. If we use a higher order constellation like 64QAM, then computing Maximum Likelihood equalization might become prohibitively complex. With 64QAM and 2 spatial stream we need to find the minimum from $64^2 = 4096$combinations ! In such scenarios we might need to employ schemes like sphere decoding which helps to reduce the complexity.

## References

URL to article: http://www.dsplog.com/2008/12/14/mimo-ml-equalization/

URLs in this post:

[1] Zero Forcing (ZF) equalization: http://www.dsplog.com/2008/10/24/mimo-zero-forcing/

[2] Minimum Mean Square Error (MMSE): http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/

[3] Zero Forcing equalization with Successive Interference Cancellation (ZF-SIC): http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/

[4] ZF-SIC with optimal ordering: http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/

[5] Rayleigh multipath channel: http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/