(2 votes, average: 5.00 out of 5)
Loading ...

# MIMO with ZF SIC and optimal ordering

by on November 29, 2008

In previous posts, we had discussed equalization of a 2×2 MIMO channel with Zero Forcing (ZF) equalization and later, Zero Forcing equalization with successive interference cancellation (ZF-SIC). In this post, we will explore a variant of ZF-SIC called Zero Forcing Successive Interference Cancellation with optimal ordering. 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 Zero Forcing equalization with successive interference cancellation

## Zero forcing 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.

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

To solve for $\mathbf{x}$, The Zero Forcing (ZF) linear detector for meeting this constraint $\mathbf{WH=I}$. is given by,

$\mathbf{W}=\mathbf{(H^HH)^{-1}H^H}$.

Using the Zero Forcing (ZF) 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)^{-1}H^H}\left[\begin{array}y_1\\y_2\end{array}\right]$.

## Successive Interference Cancellation with optimal ordering

In classical Successive Interference Cancellation, the receiver arbitrarily takes one of the estimated symbols, and subtract its effect from the received symbol $y_1$and $y_2$. 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$ and then re-estimate $\hat{x}_2$.

$\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array}{ccl}y_1 &- & h_{1,1}&\hat{x}_1\\y_2 & - & h_{1,2}&\hat{x}_1\end{array}\right] = \left[\begin{array}{clc}h_{1,2}&x_2 &+ &n_1 \\ h_{2,2}&x_2 &+ &n_2\end{array}\right]$.

Expressing in matrix notation,

$\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array} h_{1,2}&\\h_{2,2}\end{array}\right]x_2 + \left[\begin{array}n_1\\n_2\end{array}\right]$,

$\mathbf{r} = \mathbf{h}x_2+\mathbf{n}$

Optimal way of combining the information from multiple copies of the received symbols in receive diversity case is to apply Maximal Ratio Combining (MRC). The equalized symbol is,

$\hat{\hat{x}}_2 = \frac{\mathbf{h}^H\mathbf{r}}{\mathbf{h}^H\mathbf{h}}$.

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$

$\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array}{ccl}y_1 &- & h_{1,2}&\hat{x}_2\\y_2 & - & h_{2,2}&\hat{x}_2\end{array}\right] = \left[\begin{array}{clc}h_{1,1}&x_1 &+ &n_1 \\ h_{2,1}&x_1 &+ &n_2\end{array}\right]$.

Expressing in matrix notation,

$\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array} h_{1,1}&\\h_{2,1}\end{array}\right]x_1 + \left[\begin{array}n_1\\n_2\end{array}\right]$,

$\mathbf{r} = \mathbf{h}x_1+\mathbf{n}$

Optimal way of combining the information from multiple copies of the received symbols in receive diversity case is to apply Maximal Ratio Combining (MRC). The equalized symbol is,

$\hat{\hat{x}}_1 = \frac{\mathbf{h}^H\mathbf{r}}{\mathbf{h}^H\mathbf{h}}$.

Doing successive interference cancellation with optimal ordering ensures that the reliability of the symbol which is decoded first is guaranteed to have a lower error probability than the other symbol. This results in lowering the chances of incorrect decisions resulting in erroneous interference cancellation. Hence gives lower error rate than simple successive interference cancellation.

## 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 Zero Forcing criterion

(e) Find the power of received symbol from both the spatial dimensions.

(f) Take the symbol having higher power, subtract from the received symbol

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

Figure: BER plot for BPSK in 2×2 MIMO equalized by ZF-SIC with optimal ordering

## Observations

Compared to Zero Forcing equalization with successive interference cancellation case, addition of optimal ordering results in around 2.0dB of improvement for BER of $10^{-3}$.

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

jagadeeswara reddy March 8, 2013 at 5:22 am

sir u write code for zf_sic in bpsk modulation, Which changes do we have to do to make for QAM modulation in your code

Reply

Krishna Sankar March 13, 2013 at 6:11 am

@jagadeeswara reddy: for qpsk, we need to send/receive information in both real and imaginary dimensions

Reply

Areeb February 1, 2013 at 9:38 am

Please i need your help urgently.

Which changes do we have to do to make for QPSK modulation in your code

ip = rand(1,N)>0.5; % generating 0,1 with equal probability
s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 0 % at this line what should be the change for QPSK?

Reply

Krishna Sankar February 5, 2013 at 5:35 am

@Areeb: For QPSK, we need to add the imaginary component
ip = rand(1,N)>0.5 + j*(rand(1,N)>0.5);
s = 2*ip-1;

Reply

Razi September 27, 2012 at 6:10 pm

I am looking for a comparison between SIC and sorted SIC as I am trying to check the difference between the two and the results turn out to be same.

Do you think it is possible? if yes in what case. Any fading assumptions that I am not considering

Reply

Krishna Sankar October 1, 2012 at 6:41 am

@Razi: Please check out http://www.dsplog.com/2009/04/21/six-equalizers-for-v-blast/
For 2×2 case, seeing around couple of dB’s of gain.

Reply

Razi September 27, 2012 at 4:44 pm

Dear Krishna,

Is there a possibility of comparing SIC with SIC-Sorted. I have tried it for 4 TX 4 RX and do not seem to get any BER gains.

Reply

Krishna Sankar October 1, 2012 at 6:42 am
Razi October 1, 2012 at 11:38 pm

Thanks Krishna it finally worked I was doing some silly mistake. now I am seeing the gain for SIC ordering

Reply

Krishna Sankar October 2, 2012 at 6:28 am

@Razi: Glad

Reply

dipesh May 16, 2012 at 12:17 pm

hi
I am working on multiuser detection using successive interference cancellation in WCDMA . i am using can use the ZF-SIC for multiuser detection or interference cancellation using AWGN channel without using fading channel.How can use ZF-SIC for single transmitting and receiving antenna for single user and same for multiple user.
Thanks

Reply

Krishna Sankar June 11, 2012 at 5:36 am

@dipesh: Why do you need ZF-SIC for a single user case?

Reply

Amit Kumar April 15, 2010 at 10:47 am

Dear sir,
I want to write a program for BER performance for MIMO in Rayleigh channel in multiuser environment.
If there is any code for multiuser MIMO system pleas mail me.
thanking you.

Reply

Krishna Sankar April 18, 2010 at 2:15 pm

@Amit Kumar: I do not have a code explicitly for MIMO multiuser cases. However, just to add that MIMO VBLAST case can be equivalently thought of as multi-user scenario.

Reply

John March 14, 2010 at 6:00 am

Hello! Kirishna how are u ! I confused about the “MIMO with ZF SIC and optimal ordering “ step-(f) Take the symbol having higher power, subtract from the received symbol, whereas according to the paper “Detection algorithm and initial laboratory results using V-BLAST space-time communication architecture”–formula 7c , it seems that the optimal order should be selected from the minmum, could you help me to solve the problem!thank you

Reply

Krishna Sankar March 28, 2010 at 3:40 pm

@John: Not sure I understand your query. Ordering is based on the SNR of the received symbol

Reply

skumar January 16, 2010 at 8:21 pm

yha i tested it, i am happy krishna that i coild mathch therotical results.

Reply

Gabriel September 30, 2009 at 7:52 pm

The sorting of the equalization matrix based on the channel power is not clear for me. What is hCof? Can you explain it a little bit more?

Reply

Krishna Sankar October 1, 2009 at 5:31 am

@Gabriel: The variable hCof corresponds to the co-factor matrix (used when computing the inverse). Then based on the channel power H, we sort the cofactor matrix accordingly.

Reply

Bintang April 20, 2009 at 10:09 am

Hi Krishna, is this similar to V-BLAST MIMO (Wolniansky, 1998)? Thank you in advance..and many thanks too for putting up this great site.

Reply

Krishna Sankar April 25, 2009 at 7:28 am
Krishna Sankar December 2, 2008 at 8:20 am

@lealem : From your comment, it seems like you want to have an adaptive modulation scheme where you chose between BPSK/QPSK/16QAM/64QAM based on the channel power and SNR. Sorry, I have not yet done such studies till date. Will add this to my to-study list

Reply

apri May 28, 2009 at 7:29 am

Krishna, which one it easy to adaptive modulation scheme on the channel power and SNR
many thanks
apri

Reply

Krishna Sankar May 31, 2009 at 8:34 pm

@apri: I just mailed you the download instructions. Plz check.

Reply

lealem December 1, 2008 at 10:44 am

Hello! Kirishna how are u today? Kirishna.. i am doing a simulation for adaptive OFDM based on current SNR but i have got a problem in between. Can you please help me how can i relate the channel state information with SNR and how can i adjust the modulation scheme based on the channel impulse response. if you have a matlab script that can be used to simulate the performance of adaptive OFDM send me please!
Lealem

Reply

{ 2 trackbacks }

Previous post:

Next post: