(4 votes, average: 4.75 out of 5)

# MIMO with MMSE SIC and optimal ordering

by on December 6, 2008

This post attempts to build further on the MIMO equalization schemes which we have discussed -

(a) Minimum Mean Square Error (MMSE) equalization,

We have learned that successive interference cancellation with optimal ordering improves the performance with Zero Forcing equalization. In this post, we extend the concept of successive interference cancellation to the MMSE equalization and simulate the performance. We will assume that the channel is a flat fading Rayleigh multipath channel and the modulation is BPSK.

Brief description of 2×2 MIMO transmission, assumptions on channel model and the noise are detailed in the post on Minimum Mean Square Error (MMSE) equalization.

## MMSE equalizer for 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$.

The received signal on the second receive antenna is,

$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$. 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}$

The Minimum Mean Square Error (MMSE) approach tries to find a coefficient $\mathbf{W}$ which minimizes the criterion,

$E\left\{ \mathbf{\left[Wy-x\right]\left[Wy-x\right]}^H\right\}$.

Solving,

$\mathbf{W=\left[H^HH+N_0I\right]}^{-1}\mathbf{H}^H$.

Using the Minimum Mean Square Error (MMSE) equalization, the receiver can obtain an estimate of the two transmitted symbols $x_1$, $x_2$, i.e.

$\left[\begin{array}\hat{x}_1\\\hat{x}_2\end{array}\right] = \mathbf{(H^HH+N_0I)^{-1}H^H}\left[\begin{array}y_1\\y_2\end{array}\right]$.

## Successive Interference Cancellation

#### (a) Simple

In classical Successive Interference Cancellation, the receiver arbitrarily takes one of the estimated symbols (for example the symbol transmitted in the second spatial dimension, $\hat{x}_2$), and subtract its effect from the received symbol $y_1$and $y_2$. Once the effect of $\hat{x}_2$ is removed, the new channel becomes a one transmit antenna, 2 receive antenna case and can be optimaly equalized by Maximal Ratio Combining (MRC).

#### (b) With optimal ordering

However, we can have more intelligence in choosing whether we should subtract the effect of $\hat{x}_1$first or $\hat{x}_2$ first. To make that decision, let us find out the transmit symbol (after multiplication with the channel) which came at higher power at the receiver. The received power at the both the antennas corresponding to the transmitted symbol $x_1$is,

$P_{x_1}=|h_{1,1}|^2 + |h_{2,1}|^2$.

The received power at the both the antennas corresponding to the transmitted symbol $x_2$ is,

$P_{x_2}=|h_{1,2}|^2 + |h_{2,2}|^2$.

If $P_{x_1}>P_{x_2}$ then the receiver decides to remove the effect of $\hat{x}_1$ from the received vector $y_1$and $y_2$$\hat{x}_2$. Else if $P_{x_1} \le P_{x_2}$ the receiver decides to subtract effect of $\hat{x}_2$ from the received vector $y_1$and $y_2$, and then re-estimate $\hat{x}_1$.

Once the effect of either $\hat{x}_1$ or $\hat{x}_2$ is removed, the new channel becomes a one transmit antenna, 2 receive antenna case and the symbol on the other spatial dimension can be optimally equalized by Maximal Ratio Combining (MRC).

For detailed equations on the contruction of the new 2 x 1 channel using successive interference cancellation, please refer to the post on ZF-SIC with optimal ordering.

## 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) Equalize the received symbols with Minimum Mean Square Error criterion

(e) Do successive interference cancellation by both classical and optimal ordering approach

(f) Perform Maximal Ratio Combining for equalizing the new received symbol

(g) Perform hard decision decoding and count the bit errors

(h) Repeat for multiple values of $\frac{E_b}{N_0}$ and plot the simulation and theoretical results.
Click here to download Matlab/Octave script for simulating BER for BPSK in 2×2 Rayleigh fading MIMO channel with MMSE-SIC equalization with and without optimal ordering

Figure; BER plot for 2×2 MIMO channel with MMSE-SIC equalization with and without optimal ordering

## Observations

Compared to Minimum Mean Square Equalization with simple successive interference cancellation case, addition of optimal ordering results in around 5.0dB of improvement for BER of $10^{-3}$.

The performance is now closely matching with curve 1 transmit 2 receive antenna MRC case.

## References

D id you like this article? Make sure that you do not miss a new article by subscribing to RSS feed OR subscribing to e-mail newsletter. Note: Subscribing via e-mail entitles you to download the free e-Book on BER of BPSK/QPSK/16QAM/16PSK in AWGN.

{ 25 comments… read them below or add one }

Sang August 28, 2012 at 10:43 pm

In the case ZF-SIC, the equalized symbol is, x^=(hH.r)/(hH.h)

Please help me show the eqalized symbol in the case of MMSE-SIC.

Krishna Sankar August 29, 2012 at 5:08 am

@Sang: It is defined in the post…

Steve C February 25, 2010 at 1:05 am

Krishna, excellent write-up ! I had to look at your code to figure out that you have to hard-detect the first symbol before re-estimating the second. Do you realize this performance is nearly ML ?

Krishna Sankar March 31, 2010 at 5:10 am

@Steve C: In uncoded BER environment, it comes close to ML. I have not checked in the coded case

aydar November 9, 2009 at 7:45 pm

Yes, thats what I mean.
By the way, although I am subscribed I don’t receive any notifications from your website..hmmm

Krishna Sankar November 13, 2009 at 5:23 am

@aydar: Sorry, I have not published posts these days. I am working on it.

aydar October 26, 2009 at 8:01 pm

Just a note: the same concept could be applied for non-linear receivers as well, like ML. where instead of substracting an inteference you can just reduce the search scope for the second user based on the information you have from the second MIMO user (if it were 2 user MIMO case). What i mean is that in this case you dont need to go through all possible symbol combination because you already know what first user has sent.
another thing, your SIC with ‘optimal sorting’ would need to become a bit more complex in case you use channel coding – you can have a robust coding and have low SNR or high coding rate and high SNR..

Krishna Sankar November 8, 2009 at 7:15 am

@aydar: “your SIC with ‘optimal sorting’ would need to become a bit more complex in case you use channel coding”
yes, thats interesting. you mean there will be different coding on each spatial stream?

christine March 4, 2010 at 6:39 am

thanks for your note,but i would like to know what u mean by 2 user MIMO case ,is this a multple user MIMO system?
thanks

Krishna Sankar March 30, 2010 at 4:34 am

@christine: Yes, multiuser case.

Alana October 8, 2009 at 8:57 am

I can’t seem to solve W from E((Wy-x)(Wy-x)^H)) …can somebody help with this? *cry*

Krishna Sankar October 12, 2009 at 5:17 am
Bintang April 27, 2009 at 9:59 am

Hi Krishna, could you please advise me how to change the modulation for this scheme to 16 QAM? Thank you in advance.

Krishna Sankar April 30, 2009 at 5:26 am

@Bintang: The following posts may help you in the conversion
(a) Symbol error rate for 16QAM
http://www.dsplog.com/2007/12/09/symbol-error-rate-for-16-qam/
(b) Bit Error Rate for 16QAM
http://www.dsplog.com/2008/06/05/16qam-bit-error-gray-mapping/

Good luck.

ahmed March 12, 2009 at 7:14 pm

hiiiiii what is the meaning of H^H
can u ansewr me is this inverse or what?

Krishna Sankar March 21, 2009 at 7:14 am

@ahmed:The operator ()^H stands for Hermitian operator (conjugate transpose).

RAAGHAVAN March 7, 2009 at 6:19 pm

hai sir can i get the MMSE for SMI cancellation and PAPR reduction in same program for MIMO OFDM systems

Krishna Sankar March 8, 2009 at 7:56 pm

@RAAGHAVAN: hmm… what is the PAPR reduction algorithm which you are envisaging. Given that you have the code for MIMO, and there are posts on OFDM PAPR, it should be reasonably straightforward for you to combine them. Agree?

RAAGHAVAN March 11, 2009 at 2:53 am

thank you sir

darshini February 11, 2009 at 3:00 pm

hi krishna

what about golden code? whether there r any posts about MIMO using golden codes?

wap February 11, 2009 at 11:08 am

yap……..In the case of multi user. the interference is caused by another user……
i will make your article as the reference and sample for my task….
thanks krishna for your information…….

wap February 9, 2009 at 5:30 pm

hi..khrisna……..
im late visit your site,,

great………
how with multiuser detection successive interference cancellation…….???

Krishna Sankar February 10, 2009 at 8:11 pm

@wap: I have not discussed the multi user detection with successive interference cancellation. However, the concept should remain the same. In this post, the interference is caused by another transmission in another spatial dimension. In the case of multi user. the interference is caused by another user.

Rajarajan December 27, 2008 at 7:59 pm

Hi,

Keep up your good work. Would be nice if you could post an article about sphere decoders.

Regards,

Raja