<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dspLog &#187; Channel</title>
	<atom:link href="http://www.dsplog.com/category/channel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dsplog.com</link>
	<description>Signal Processing for Communication</description>
	<lastBuildDate>Tue, 20 Jul 2010 16:36:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Derivation of BPSK BER in Rayleigh channel</title>
		<link>http://www.dsplog.com/2009/01/22/derivation-ber-rayleigh-channel/</link>
		<comments>http://www.dsplog.com/2009/01/22/derivation-ber-rayleigh-channel/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 21:56:26 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Channel]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[Rayleigh]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=457</guid>
		<description><![CDATA[This is a guest post by Jose Antonio Urigüen who is an Electrical and Electronic Engineer currently studying an MSc in Communications and Signal Processing at Imperial College in London. This guest post has been created due to his own curiosity when reviewing some concepts of BER for BPSK in Rayleigh channnel published in the [...]


Related posts:<ol><li><a href='http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/' rel='bookmark' title='Permanent Link: BER for BPSK in Rayleigh channel'>BER for BPSK in Rayleigh channel</a></li><li><a href='http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/' rel='bookmark' title='Permanent Link: BER for BPSK in OFDM with Rayleigh multipath channel'>BER for BPSK in OFDM with Rayleigh multipath channel</a></li><li><a href='http://www.dsplog.com/2008/07/17/derive-pdf-rayleigh-random-variable/' rel='bookmark' title='Permanent Link: Deriving PDF of Rayleigh random variable'>Deriving PDF of Rayleigh random variable</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p></p><p><em>This is a guest post by Jose Antonio Urigüen who is an Electrical and Electronic Engineer currently studying an MSc in Communications and Signal Processing at Imperial College in London. This guest post has been created due to his own curiosity when reviewing some concepts of <a href="http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/">BER for BPSK in Rayleigh channnel</a></em> published in the dsplog.com</p>
<p>From the post on<a href="http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/"> BER for BPSK in Rayleigh channnel</a>, it was shown that, in the presence of channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h" border="0" alt="" align="absmiddle" />, the effective bit energy to noise ratio is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7B%7Ch%7C%5E2E_b%7D%7BN_0%7D" border="0" alt="" align="absmiddle" />.</p>
<p><span id="more-457"></span></p>
<p>The bit error probability for a given value of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h" border="0" alt="" align="absmiddle" />is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_%7Bb%7Ch%7D=%5Cfrac%7B1%7D%7B2%7Derfc%5Cleft%28%7B%5Csqrt%7B%5Cfrac%7B%7Ch%7C%5E2E_b%7D%7BN_0%7D%7D%7D%5Cright%29=%5Cfrac%7B1%7D%7B2%7Derfc%5Cleft%28%5Csqrt%7B%5Cgamma%7D%5Cright%29" border="0" alt="" align="absmiddle" />, where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cgamma%20=%20%5Cfrac%7B%7Ch%7C%5E2E_b%7D%7BN_0%7D" alt="" /> .</p>
<p>The resulting BER in a communications sytem in the presence of a channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h" border="0" alt="" align="absmiddle" />, for any random values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?|h|^2" border="0" alt="" align="absmiddle" />, must be calculated evaluating the conditional probability density function <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{b|h}" border="0" alt="" align="absmiddle" /> over the probability density function of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\gamma" border="0" alt="" align="absmiddle" />.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_%7Bb%7D=%5Cint_0%5E%5Cinfty%5Cfrac%7B1%7D%7B2%7Derfc%5Cleft%28%5Csqrt%7B%5Cgamma%7D%5Cright%29p%5Cleft%28%5Cgamma%5Cright%29d%5Cgamma" border="0" alt="" align="absmiddle" /> where,</p>
<p>the probability density function of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\gamma" border="0" alt="" align="absmiddle" /> is</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p%5Cleft%28%5Cgamma%5Cright%29%20=%20%5Cfrac%7B1%7D%7B\bar{\gamma}%7De%5E%7B%5Cfrac%7B-%5Cgamma%7D%7B\bar{\gamma}%7D%7D,%5C%20%5Cgamma%20%5Cge%200" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\bar{\gamma} = \frac{E_b}{N_0}" border="0" alt="" align="absmiddle" />.</p>
<p>First, we are going to derive the result for the definite integral using a different notation, and then we will apply the result to the concrete expression obtained for the BER.</p>
<p>Using the definitions for the ‘erfc’ and ‘erf’ functions, we can directly compute the first derivative:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?erfc(x) = \frac{2}{\sqrt{\pi}}\int_x^{\infty}e^{-t^2}dt" border="0" alt="" align="absmiddle" /></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?erf(x) = \frac{2}{\sqrt{\pi}}\int_0^{x}e^{-t^2}dt" border="0" alt="" align="absmiddle" /></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{d}{dx}erf(x) = -\frac{2}{\sqrt{\pi}}e^{-x^2}" border="0" alt="" align="absmiddle" /></p>
<p>And also the definite integral, simply calculating it by parts:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\int erfc(x) dx &amp; = &amp; x erfc(x) + \int x \frac{2}{\sqrt{\pi}}e^{-x^2}dx \\&lt;br /&gt; &amp; = &amp; x erfc(x) -\frac{1}{\sqrt{\pi}}e^{-x^2}\end{eqnarray}" border="0" alt="" align="absmiddle" /></p>
<p>In the following steps we will use the next also straightforward results:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{d}{dx} erfc (\sqrt{x}) = -\frac{1}{\sqrt{\pi}}e^{-x}x^{-1/2}" border="0" alt="" align="absmiddle" /></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{d}{dx} erf (\sqrt{x}) = \frac{1}{\sqrt{\pi}}e^{-x}x^{-1/2}" border="0" alt="" align="absmiddle" /></p>
<p>In total, we want to derive the following integral, which can be solved by parts:<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\int erfc(\sqrt{x})e^{-\frac{x}{a}}dx = -a erfc({\sqrt{x}})e^{-\frac{x}{a}} - \int (-a)e^{-\frac{x}{a}} (-)\frac{1}{\sqrt{\pi}}e^{-x}x^{-\frac{1}{2}}dx" border="0" alt="" align="absmiddle" /></p>
<p>Lets find the last term applying the previous result for the ‘erf’ function, and doing a change of variable:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\int e^{-\frac{x}{a}}e^{-x}x^{-\frac{1}{2}}dx &amp; = &amp; \int e ^{-x\left(\frac{a+1}{a}\right)}x^{-\frac{1}{2}}dx\\ &amp; = &amp; \int e^{-u} \left(\frac{a}{a+1}\right)^{-\frac{1}{2}}u^{-\frac{1}{2}}\left(\frac{a}{a+1}\right)du\\ &amp; = &amp; \left(\frac{a}{a+1}\right)^{\frac{1}{2}} \int e^{-u}u^{-\frac{1}{2}}du\\ &amp; = &amp; \sqrt{\pi}\sqrt{\frac{a}{a+1}} erf(\sqrt{u})\\&amp;=&amp;\sqrt{\pi}\sqrt{\frac{a}{a+1}} erf\left(\sqrt{\frac{a+1}{a}}\sqrt{x}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>Finally, we conclude the expected result:<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\int erfc (\sqrt{x}) e^{-\frac{x}{a}}dx &amp; = &amp;-a erfc(\sqrt{x})e^{-\frac{x}{a}}-\frac{a}{\sqrt{\pi}}\sqrt{\pi}\sqrt{\frac{a}{a+1}}erf\left(\sqrt{\frac{a+1}{a}}\sqrt{x}\right)\\ &amp; = &amp;  -a erfc(\sqrt{x})e^{-\frac{x}{a}}-{a}\sqrt{\frac{a}{a+1}}erf\left(\sqrt{\frac{a+1}{a}}\sqrt{x}\right) \end{eqnarray}" border="0" alt="" align="absmiddle" /></p>
<p>With the above demonstration, we can easily derive the BER for a Rayleigh channel using BPSK modulation:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}P_{b} &amp;  = &amp; \frac{1}{2\bar{\gamma}}\int_0^{\infty} erfc (\sqrt{\gamma})  e^{-\frac{\gamma}{\bar{\gamma}}}d\gamma \\ &amp; = &amp; \frac{1}{2\bar{\gamma}}\left[\bar{\gamma}erfc(\sqrt{\gamma})e^{-\frac{\gamma}{\bar{\gamma}}} + \bar{\gamma}\sqrt{\frac{\bar{\gamma}}{\bar{\gamma}+1}}erf\left(\sqrt{\frac{\bar{\gamma}}{\bar{\gamma}+1}}\sqrt{{\gamma}}\right) \right]_\infty^0\\ &amp; = &amp; \frac{1}{2} \lef(1-\sqrt{\frac{\bar{\gamma}}{\bar{\gamma}+1}}\right)\\ &amp; = &amp; \frac{1}{2} \lef(1-\sqrt{\frac{(E_b/N_0)}{(E_b/N_0)+1}}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>This forms the proof for BER for BPSK modulation in Rayleigh channel. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/' rel='bookmark' title='Permanent Link: BER for BPSK in Rayleigh channel'>BER for BPSK in Rayleigh channel</a></li><li><a href='http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/' rel='bookmark' title='Permanent Link: BER for BPSK in OFDM with Rayleigh multipath channel'>BER for BPSK in OFDM with Rayleigh multipath channel</a></li><li><a href='http://www.dsplog.com/2008/07/17/derive-pdf-rayleigh-random-variable/' rel='bookmark' title='Permanent Link: Deriving PDF of Rayleigh random variable'>Deriving PDF of Rayleigh random variable</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/01/22/derivation-ber-rayleigh-channel/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>MIMO with ML equalization</title>
		<link>http://www.dsplog.com/2008/12/14/mimo-ml-equalization/</link>
		<comments>http://www.dsplog.com/2008/12/14/mimo-ml-equalization/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 09:38:17 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Channel]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[MIMO]]></category>
		<category><![CDATA[ML]]></category>
		<category><![CDATA[Rayleigh]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=273</guid>
		<description><![CDATA[We have discussed quite a few receiver structures for a 2&#215;2 MIMO channel namely,
(a) Zero Forcing (ZF) equalization
(b) Minimum Mean Square Error (MMSE) equalization
(c) Zero Forcing equalization with Successive Interference Cancellation (ZF-SIC)
(d) ZF-SIC with optimal ordering and
(e) MIMO with MMSE SIC and optimal ordering

From the above receiver structures, we saw that MMSE equalisation with optimally [...]


Related posts:<ol><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/' rel='bookmark' title='Permanent Link: MIMO with MMSE equalizer'>MIMO with MMSE equalizer</a></li><li><a href='http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing Successive Interference Cancellation equalizer'>MIMO with Zero Forcing Successive Interference Cancellation equalizer</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>We have discussed quite a few receiver structures for a 2&#215;2 MIMO channel namely,</p>
<p>(a) <strong><a title="MIMO with Zero Forcing Equalization" href="http://www.dsplog.com/2008/10/24/mimo-zero-forcing/">Zero Forcing (<strong>ZF</strong>) equalization</a></strong></p>
<p>(b) <strong><a title="MMSE equalization in dspLog.com" href="http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/">Minimum Mean Square Error (MMSE)</a></strong> equalization</p>
<p>(c) <strong><a title="ZF-SIC on dspLog.com" href="http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/">Zero Forcing equalization with Successive Interference Cancellation (ZF-SIC)</a></strong></p>
<p>(d) <strong><a title="ZF-SIC with optimal ordering on dspLog.com" href="http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/">ZF-SIC with optimal ordering</a></strong> and</p>
<p>(e)<strong> <a title="MMSE SIC with optimal ordering" href="http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/">MIMO with MMSE SIC and optimal ordering<br />
</a></strong></p>
<p>From the above receiver structures, we saw that <strong>MMSE equalisation with optimally ordered Successive Interference Cancellation</strong> gave the best performance. In this post, we will discuss another receiver structure called <strong>Maximum Likelihood (ML) decoding</strong> which gives us an even better performance. We will assume that the channel is a flat fading <a title="Discussion on Rayleigh multipath channel" href="http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/" target="_self">Rayleigh multipath channel</a> and the modulation is BPSK.</p>
<p><span id="more-273"></span></p>
<h2>2&#215;2 MIMO channel</h2>
<p>In a 2&#215;2 MIMO channel, probable usage of the available 2 transmit antennas can be as follows:</p>
<p>1. Consider that we have a transmission sequence, for example <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?{x_1, x_2, x_3, \ldots, x_n }" border="0" alt="" align="absmiddle" /></p>
<p>2. In normal transmission, we will be sending <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />in the first time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />in the second time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and so on.</p>
<p>3. However, as we now have 2 transmit antennas, we may group the symbols into groups of two. In the first time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />from the first and second antenna. In second time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_4" border="0" alt="" align="absmiddle" />from the first and second antenna, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_5" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_6" border="0" alt="" align="absmiddle" />in the third time slot and so on.</p>
<p>4. Notice that as we are grouping two symbols and sending them in one time slot, we need only <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{n}{2}" border="0" alt="" align="absmiddle" /> time slots to complete the transmission &#8211; <strong>data rate is doubled</strong> ! <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>5. This forms the simple explanation of a probable MIMO transmission scheme with 2 transmit antennas and 2 receive antennas.</p>
<p><img class="alignnone size-full wp-image-253" title="2 Transmit 2 Receive MIMO channel" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/2tx_2rx_mimo.png" alt="" width="300" height="259" /></p>
<p><strong>Figure: 2 Transmit 2 Receive (2&#215;2) MIMO channel</strong></p>
<p>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,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>The received signal on the second receive antenna is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /> are the received symbol on the first and second antenna respectively,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />are the  transmitted symbols and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n_1, n_2" border="0" alt="" align="absmiddle" /> is the noise on <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}, 2^{nd}" border="0" alt="" align="absmiddle" /> receive antennas.</p>
<p>We assume that the receiver knows <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" />. The receiver also knows <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />. The unknown s are <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />. <strong></strong></p>
<p>For convenience, the above equation can be represented in matrix notation as follows:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\left[\begin{eqnarray}y_1 \\  y_2\end{eqnarray}\right] &amp; = &amp; {\left[\begin{array}{cc}h_{1,1}&amp; h_{1,2}\\ h_{2,1}&amp;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}" border="0" alt="" align="absmiddle" />.</p>
<p>Equivalently,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<h2>Other Assumptions</h2>
<p>1. The channel is flat fading &#8211; 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 <a title="Digital Communications: Fundamentals and Applications (2nd Edition) - Bernard Sklar (Author)" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communications-Fundamentals-Applications-Technologies%2Fdp%2F0130847887&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIGITAL COMMUNICATIONS: SKLAR]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p>2. The channel experience by each transmit antenna is independent from the channel experienced by other transmit antennas.</p>
<p>3. For the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?i^{th}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?j^{th}" border="0" alt="" align="absmiddle" /> receive antenna, each transmitted symbol gets multiplied by a randomly varying complex number <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" />. As the channel under consideration is a Rayleigh channel, the real and imaginary parts of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" /> are Gaussian distributed having mean <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mu_{h_{j,i}=0" border="0" alt="" align="absmiddle" /> and variance <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\sigma^2_{h_{j,i}}=\frac{1}{2}" border="0" alt="" align="absmiddle" />.</p>
<p>4. The channel experienced between each transmit to the receive antenna is independent and randomly varying in time.</p>
<p>5. On the receive antenna, the noise<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" /> has the Gaussian probability density function with</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p%28n%29%20=%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%5Csigma%5E2%7D%7De%5E%7B%5Cfrac%7B-%28n-%5Cmu%29%5E2%7D%7B2%5Csigma%5E2%7D" border="0" alt="" align="absmiddle" /> with <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cmu=0" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Csigma%5E2%20=%20%5Cfrac%7BN_0%7D%7B2%7D" border="0" alt="" align="absmiddle" />.</p>
<p>7. The channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" /> is known at the receiver.</p>
<h2>Maximum Likelihood (ML)Receiver</h2>
<p>The Maximum Likelihood receiver tries to find <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{\mathbf{x}}" border="0" alt="" align="absmiddle" /> which minimizes, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{J} = \left| \mathbf{y} - \mathbf{H}\mathbf{\hat{x}} \right|^2 " border="0" alt="" align="absmiddle" /></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{J} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1  \\ y_2\end{eqnarray}\right] &amp; - &amp; {\left[\begin{array}{cc}h_{1,1}&amp; h_{1,2}\\  h_{2,1}&amp;h_{2,2}\end{array}\right]}\left[\begin{eqnarray}\hat{x}_1 \\  \hat{x}_2 \end{eqnarray}\right]\end{eqnarray} \right|^2" border="0" alt="" align="absmiddle" /></p>
<p>Since the modulation is BPSK, the possible values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />is +1 or -1  Similarly <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" /> 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 <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{+1,+1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\  y_2\end{eqnarray}\right] &amp; - &amp; \left[\begin{array}{cc}h_{1,1}&amp; h_{1,2}\\  h_{2,1}&amp;h_{2,2}\end{array}\right]\left[\begin{eqnarray}+1 \\ +1 \end{eqnarray}\right]\end{eqnarray} \right|^2" border="0" alt="" align="absmiddle" /></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{+1,-1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] &amp; - &amp; \left[\begin{array}{cc}h_{1,1}&amp; h_{1,2}\\   h_{2,1}&amp;h_{2,2}\end{array}\right]\left[\begin{eqnarray}+1 \\  -1 \end{eqnarray}\right]\end{eqnarray} \right|^2" border="0" alt="" align="absmiddle" /></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{-1,+1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] &amp; - &amp; \left[\begin{array}{cc}h_{1,1}&amp; h_{1,2}\\  h_{2,1}&amp;h_{2,2}\end{array}\right]\left[\begin{eqnarray}-1 \\ +1 \end{eqnarray}\right]\end{eqnarray} \right|^2" border="0" alt="" align="absmiddle" /></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{-1,-1}} = \left|\begin{eqnarray}\left[\begin{eqnarray}y_1 \\  y_2\end{eqnarray}\right] &amp; - &amp; \left[\begin{array}{cc}h_{1,1}&amp; h_{1,2} \\ h_{2,1}&amp;h_{2,2}\end{array}\right]\left[\begin{eqnarray}-1 \\ -1 \end{eqnarray}\right]\end{eqnarray} \right|^2" border="0" alt="" align="absmiddle" /></p>
<p>The estimate of the transmit symbol is chosen based on the minimum value from the above four values i.e</p>
<p>if the minimum is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{+1,+1} \Rightarrow [1 \  1 ]" border="0" alt="" align="absmiddle" />,</p>
<p>if the minimum is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{+1,-1} \Rightarrow [1 \  0 ]" border="0" alt="" align="absmiddle" />,</p>
<p>if the minimum is  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{-1,+1} \Rightarrow [0 \  1 ]" border="0" alt="" align="absmiddle" /> and<br />
if the minimum is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \mathbf{J_{-1,-1} \Rightarrow [0 \  0 ]" border="0" alt="" align="absmiddle" />.</p>
<h2>Simulation Model</h2>
<p>The Matlab/Octave script performs the following</p>
<p>(a) Generate random binary sequence of +1&#8217;s and -1&#8217;s.</p>
<p>(b) Group them into pair of two symbols and send two symbols in one time slot</p>
<p>(c) Multiply the symbols with the channel and then add white Gaussian noise.</p>
<p>(d) Find the minimum among the four possible transmit symbol combinations</p>
<p>(e) Based on the minimum chose the estimate of the transmit symbol</p>
<p>(h) Repeat for multiple values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}" border="0" alt="" align="absmiddle" /> and plot the simulation and theoretical results.</p>
<p>Click here to download <a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/12/script_ber_mimo_ml_bpsk_rayleigh_channel.m">Script for computing BER for BPSK in 2&#215;2 MIMO Rayleigh channel with Maximum Likelihood Equalization</a></p>
<div id="attachment_278" class="wp-caption alignnone" style="width: 448px">
	<img class="size-full wp-image-278" title="BER plot 2x2 MIMO Rayleigh channel with Maximum Likelihood equalisation" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/12/ber_plot_2tx_2rx_mimo_ml_bpsk_rayleigh_channel.png" alt="BER plot 2x2 MIMO Rayleigh channel with Maximum Likelihood equalisation" width="448" height="336" />
	<p class="wp-caption-text">BER plot 2x2 MIMO Rayleigh channel with Maximum Likelihood equalisation</p>
</div>
<p><strong>FIgure: BER plot 2&#215;2 MIMO Rayleigh channel with Maximum Likelihood equalisation</strong></p>
<h2>Summary</h2>
<p>1. The results for 2&#215;2 MIMO with <strong>Maximum Likelihood (ML) equalization</strong> helped us to achieve a performance closely matching the 1 transmit 2 receive antenna <a title="Maximal Ratio Combining in dspLog.com" href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/"><strong>Maximal Ratio Combining (MRC)</strong> </a>case.</p>
<p>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 <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?64^2 = 4096" border="0" alt="" align="absmiddle" />combinations ! In such scenarios we might need to employ schemes like sphere decoding which helps to reduce the complexity.</p>
<h2>References</h2>
<p><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIG-COMM-BARRY-LEE-MESSERSCHMITT] </a><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt</a><img style="border-style: none ! important; margin: 0px" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[WIRELESS-TSE, VISWANATH]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /> <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Fundamentals of Wireless Communication, David Tse, Pramod Viswanath</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>


<p>Related posts:<ol><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/' rel='bookmark' title='Permanent Link: MIMO with MMSE equalizer'>MIMO with MMSE equalizer</a></li><li><a href='http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing Successive Interference Cancellation equalizer'>MIMO with Zero Forcing Successive Interference Cancellation equalizer</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/12/14/mimo-ml-equalization/feed/</wfw:commentRss>
		<slash:comments>64</slash:comments>
		</item>
		<item>
		<title>MIMO with MMSE SIC and optimal ordering</title>
		<link>http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/</link>
		<comments>http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 09:56:26 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Channel]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[MIMO]]></category>
		<category><![CDATA[MMSE]]></category>
		<category><![CDATA[Rayleigh]]></category>
		<category><![CDATA[SIC]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=269</guid>
		<description><![CDATA[This post attempts to build further on the MIMO equalization schemes which we have discussed -
(a) Minimum Mean Square Error (MMSE) equalization,
(b) Zero Forcing equalization with Successive Interference Cancellation (ZF-SIC) and
(c) ZF-SIC with optimal ordering.
We have learned that successive interference cancellation with optimal ordering improves the performance with Zero Forcing equalization. In this post, we [...]


Related posts:<ol><li><a href='http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/' rel='bookmark' title='Permanent Link: MIMO with ZF SIC and optimal ordering'>MIMO with ZF SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/12/14/mimo-ml-equalization/' rel='bookmark' title='Permanent Link: MIMO with ML equalization'>MIMO with ML equalization</a></li><li><a href='http://www.dsplog.com/2009/04/21/six-equalizers-for-v-blast/' rel='bookmark' title='Permanent Link: Six equalizers for V-BLAST'>Six equalizers for V-BLAST</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>This post attempts to build further on the MIMO equalization schemes which we have discussed -</p>
<p>(a) <strong><a title="MMSE equalization in dspLog.com" href="http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/">Minimum Mean Square Error (MMSE)</a></strong> equalization,</p>
<p>(b) <strong><a title="ZF-SIC on dspLog.com" href="http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/">Zero Forcing equalization with Successive Interference Cancellation (ZF-SIC)</a></strong> and</p>
<p>(c) <strong><a title="ZF-SIC with optimal ordering on dspLog.com" href="http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/">ZF-SIC with optimal ordering</a></strong>.</p>
<p>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 <strong>successive interference cancellation</strong> to the <strong>MMSE equalization</strong> and simulate the performance. We will assume that the channel is a flat fading <a title="Discussion on Rayleigh multipath channel" href="http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/" target="_self">Rayleigh multipath channel</a> and the modulation is BPSK.</p>
<p><span id="more-269"></span></p>
<p>Brief description of 2&#215;2 MIMO transmission, assumptions on channel model and the noise are detailed in the post on <a title="Zero Forcing Successive Interference cancellation" href="http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/"><strong></strong></a><strong><a title="MMSE equalization in dspLog.com" href="http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/">Minimum Mean Square Error (MMSE)</a></strong> equalization.</p>
<h2>MMSE equalizer for 2&#215;2 MIMO channel</h2>
<p>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,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>The received signal on the second receive antenna is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /> are the received symbol on the first and second antenna respectively,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />are the  transmitted symbols and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n_1,\ n_2" border="0" alt="" align="absmiddle" /> is the noise on <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}, 2^{nd}" border="0" alt="" align="absmiddle" /> receive antennas.</p>
<p>We assume that the receiver knows <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" />. The receiver also knows <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />. For convenience, the above equation can be represented in matrix notation as follows:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] &amp; = &amp; {\left[\begin{array}{cc}h_{1,1}&amp; h_{1,2} \\h_{2,1}&amp;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}" border="0" alt="" align="absmiddle" />.</p>
<p>Equivalently,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<p>The <strong>Minimum Mean Square Error</strong> (<strong>MMSE</strong>) approach tries to find a coefficient <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{W}" border="0" alt="" align="absmiddle" /> which minimizes the criterion,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?E\left\{ \mathbf{\left[Wy-x\right]\left[Wy-x\right]}^H\right\}" border="0" alt="" align="absmiddle" />.</p>
<p>Solving,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{W=\left[H^HH+N_0I\right]}^{-1}\mathbf{H}^H" border="0" alt="" align="absmiddle" />.</p>
<p>Using the <strong>Minimum Mean Square Error (MMSE)</strong> equalization, the receiver can obtain an estimate of the two transmitted symbols <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />, i.e.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\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] " border="0" alt="" align="absmiddle" />.</p>
<h2>Successive Interference Cancellation</h2>
<h4>(a) Simple</h4>
<p>In classical <strong>Successive Interference Cancellation</strong>, the receiver arbitrarily takes one of the estimated symbols (for example the symbol transmitted in the second spatial dimension, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" />), and subtract its effect from the received symbol  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />. Once the effect of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" /> is removed, the new channel becomes a one transmit antenna, 2 receive antenna case and can be optimaly equalized by <strong><a title="maximal ratio combining " href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining</a> (MRC).</strong></p>
<h4>(b) With optimal ordering</h4>
<p>However, we can have more intelligence in choosing whether we should subtract the effect of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" />first or  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" /> 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 <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_1}=|h_{1,1}|^2 + |h_{2,1}|^2" border="0" alt="" align="absmiddle" />.</p>
<p>The received power at the both the antennas corresponding to the transmitted symbol <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" /> is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_2}=|h_{1,2}|^2 + |h_{2,2}|^2" border="0" alt="" align="absmiddle" />.</p>
<p><strong>If <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_1}&gt;P_{x_2}" border="0" alt="" align="absmiddle" /> then the receiver decides to remove the effect of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" /> from the received vector <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" />. Else if <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_1} \le P_{x_2}" border="0" alt="" align="absmiddle" /> the receiver decides to subtract effect of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" /> from the received vector <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />, and then re-estimate <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" /></strong>.</p>
<p>Once the effect of either <strong><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" /> </strong>or <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" /> 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 <strong><a title="maximal ratio combining " href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining</a> (MRC).</strong></p>
<p>For detailed equations on the contruction of the new 2 x 1 channel using <strong>successive interference cancellation</strong>, please refer to the post on <strong><a title="ZF-SIC with optimal ordering on dspLog.com" href="http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/">ZF-SIC with optimal ordering.</a></strong></p>
<h2>Simulation Model</h2>
<p>The Matlab/Octave script performs the following</p>
<p>(a) Generate random binary sequence of +1&#8217;s and -1&#8217;s.</p>
<p>(b) Group them into pair of two symbols and send two symbols in one time slot</p>
<p>(c) Multiply the symbols with the channel and then add white Gaussian noise.</p>
<p>(d) Equalize the received symbols with Minimum Mean Square Error criterion</p>
<p>(e) Do successive interference cancellation  by both classical and optimal ordering approach</p>
<p>(f) Perform Maximal Ratio Combining for equalizing the new received symbol</p>
<p>(g) Perform hard decision decoding and count the bit errors</p>
<p>(h) Repeat for multiple values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}" border="0" alt="" align="absmiddle" /> and plot the simulation and theoretical results.<br />
Click here to download <a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/12/script_ber_mimo_mmse_sic_bpsk_rayleigh_channel.m">Matlab/Octave script for simulating BER for BPSK in 2&#215;2 Rayleigh fading MIMO channel with MMSE-SIC equalization with and without optimal ordering</a></p>
<p><img class="alignnone size-full wp-image-271" title="2x2 MIMO MMSE-SIC equalization" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/12/ber_plot_2tx_2rx_mimo_mmse_sic_bpsk_rayleigh_channel.png" alt="2x2 MIMO MMSE-SIC equalization" width="448" height="336" /></p>
<p><strong>Figure; BER plot for 2&#215;2 MIMO channel with MMSE-SIC equalization with and without optimal ordering</strong></p>
<h2>Observations</h2>
<p>Compared to Minimum Mean Square Equalization with simple successive interference cancellation case, addition of optimal ordering results in around <strong>5.0dB of improvement</strong> for BER of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?10^{-3}" border="0" alt="" align="absmiddle" />. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The performance is now closely matching with curve 1 transmit 2 receive antenna MRC case.</p>
<h2>References</h2>
<p><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIG-COMM-BARRY-LEE-MESSERSCHMITT] </a><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt</a><img style="border-style: none ! important; margin: 0px" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>


<p>Related posts:<ol><li><a href='http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/' rel='bookmark' title='Permanent Link: MIMO with ZF SIC and optimal ordering'>MIMO with ZF SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/12/14/mimo-ml-equalization/' rel='bookmark' title='Permanent Link: MIMO with ML equalization'>MIMO with ML equalization</a></li><li><a href='http://www.dsplog.com/2009/04/21/six-equalizers-for-v-blast/' rel='bookmark' title='Permanent Link: Six equalizers for V-BLAST'>Six equalizers for V-BLAST</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>MIMO with ZF SIC and optimal ordering</title>
		<link>http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/</link>
		<comments>http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 08:34:19 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Channel]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[MIMO]]></category>
		<category><![CDATA[Rayleigh]]></category>
		<category><![CDATA[SIC]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=266</guid>
		<description><![CDATA[In previous posts, we had discussed equalization of a 2&#215;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 [...]


Related posts:<ol><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing Successive Interference Cancellation equalizer'>MIMO with Zero Forcing Successive Interference Cancellation equalizer</a></li><li><a href='http://www.dsplog.com/2008/12/14/mimo-ml-equalization/' rel='bookmark' title='Permanent Link: MIMO with ML equalization'>MIMO with ML equalization</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>In previous posts, we had discussed equalization of a 2&#215;2 MIMO channel with <a title="MIMO with Zero Forcing Equalization" href="http://www.dsplog.com/2008/10/24/mimo-zero-forcing/">Zero Forcing (<strong>ZF</strong>) equalization</a> and later, <a title="Zero Forcing Successive Interference cancellation" href="http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/">Zero Forcing equalization with successive interference cancellation</a> (<strong>ZF-SIC</strong>). In this post, we will explore a variant of <strong>ZF-SIC</strong> called <strong>Zero Forcing Successive Interference Cancellation with optimal ordering</strong>. We will assume that the channel is a flat fading <a title="Discussion on Rayleigh multipath channel" href="http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/" target="_self">Rayleigh multipath channel</a> and the modulation is BPSK.</p>
<p><span id="more-266"></span></p>
<p>Brief description of 2&#215;2 MIMO transmission, assumptions on channel model and the noise are detailed in the post on <a title="Zero Forcing Successive Interference cancellation" href="http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/">Zero Forcing equalization with successive interference cancellation</a></p>
<h2>Zero forcing equalizer for 2&#215;2 MIMO channel</h2>
<p>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,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>The received signal on the second receive antenna is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /> are the received symbol on the first and second antenna respectively,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />are the  transmitted symbols and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n_1,\ n_2" border="0" alt="" align="absmiddle" /> is the noise on <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}, 2^{nd}" border="0" alt="" align="absmiddle" /> receive antennas.</p>
<p>For convenience, the above equation can be represented in matrix notation as follows:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] &amp; = &amp; {\left[\begin{array}{cc}h_{1,1}&amp; h_{1,2} \\h_{2,1}&amp;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}" border="0" alt="" align="absmiddle" />.</p>
<p>Equivalently,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<p>To solve for <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{x}" border="0" alt="" align="absmiddle" />, The <strong>Zero Forcing (ZF) linear detector</strong> for meeting this constraint <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{WH=I}" border="0" alt="" align="absmiddle" />. is given by,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{W}=\mathbf{(H^HH)^{-1}H^H}" border="0" alt="" align="absmiddle" />.</p>
<p>Using the <strong>Zero Forcing (ZF)</strong> equalization, the receiver can obtain an estimate of the two transmitted symbols <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />, i.e.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\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] " border="0" alt="" align="absmiddle" />.</p>
<h2>Successive Interference Cancellation with optimal ordering</h2>
<p>In classical <strong>Successive Interference Cancellation</strong>, the receiver arbitrarily takes one of the estimated symbols, and subtract its effect from the received symbol  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />. However, we can have more intelligence in choosing whether we should subtract the effect of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" />first or  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" /> 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 <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_1}=|h_{1,1}|^2 + |h_{2,1}|^2" border="0" alt="" align="absmiddle" />.</p>
<p>The received power at the both the antennas corresponding to the transmitted symbol <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" /> is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_2}=|h_{1,2}|^2 + |h_{2,2}|^2" border="0" alt="" align="absmiddle" />.</p>
<p><strong>If <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_1}&gt;P_{x_2}" border="0" alt="" align="absmiddle" /> then the receiver decides to remove the effect of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" /> from the received vector <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /></strong><strong> and then re-estimate <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" />.</strong></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array}{ccl}y_1 &amp;- &amp; h_{1,1}&amp;\hat{x}_1\\y_2 &amp; - &amp; h_{1,2}&amp;\hat{x}_1\end{array}\right] = \left[\begin{array}{clc}h_{1,2}&amp;x_2 &amp;+ &amp;n_1 \\ h_{2,2}&amp;x_2 &amp;+ &amp;n_2\end{array}\right] " border="0" alt="" align="absmiddle" />.</p>
<p>Expressing in matrix notation,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array} h_{1,2}&amp;amp\\h_{2,2}\end{array}\right]x_2 + \left[\begin{array}n_1\\n_2\end{array}\right]" border="0" alt="" align="absmiddle" />,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{r} = \mathbf{h}x_2+\mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<p>Optimal way of combining the information from multiple copies of the received symbols in receive diversity case is to apply <strong><a title="maximal ratio combining " href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining</a> (MRC)</strong>. The equalized symbol is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{\hat{x}}_2 = \frac{\mathbf{h}^H\mathbf{r}}{\mathbf{h}^H\mathbf{h}}" border="0" alt="" align="absmiddle" />.</p>
<p><strong>Else if </strong><strong><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{x_1} \le P_{x_2}" border="0" alt="" align="absmiddle" /> the receiver decides to subtract effect of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" /> from the received vector <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />, and then re-estimate </strong><strong><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" /></strong></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array}{ccl}y_1 &amp;- &amp; h_{1,2}&amp;\hat{x}_2\\y_2 &amp; - &amp; h_{2,2}&amp;\hat{x}_2\end{array}\right] = \left[\begin{array}{clc}h_{1,1}&amp;x_1 &amp;+ &amp;n_1 \\ h_{2,1}&amp;x_1 &amp;+ &amp;n_2\end{array}\right] " border="0" alt="" align="absmiddle" />.</p>
<p>Expressing in matrix notation,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array} h_{1,1}&amp;amp\\h_{2,1}\end{array}\right]x_1 + \left[\begin{array}n_1\\n_2\end{array}\right]" border="0" alt="" align="absmiddle" />,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{r} = \mathbf{h}x_1+\mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<p>Optimal way of combining the information from multiple copies of the received symbols in receive diversity case is to apply <strong><a title="maximal ratio combining " href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining</a> (MRC)</strong>. The equalized symbol is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{\hat{x}}_1 = \frac{\mathbf{h}^H\mathbf{r}}{\mathbf{h}^H\mathbf{h}}" border="0" alt="" align="absmiddle" />.</p>
<p>Doing <strong>successive interference cancellation with optimal ordering</strong> 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. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Simulation Model</h2>
<p>The Matlab/Octave script performs the following</p>
<p>(a) Generate random binary sequence of +1&#8217;s and -1&#8217;s.</p>
<p>(b) Group them into pair of two symbols and send two symbols in one time slot</p>
<p>(c) Multiply the symbols with the channel and then add white Gaussian noise.</p>
<p>(d) Equalize the received symbols with Zero Forcing criterion</p>
<p>(e) Find the power of received symbol from both the spatial dimensions.</p>
<p>(f) Take the symbol having higher power, subtract from the received symbol</p>
<p>(f) Perform Maximal Ratio Combining for equalizing the new received symbol</p>
<p>(g) Perform hard decision decoding and count the bit errors</p>
<p>(h) Repeat for multiple values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}" border="0" alt="" align="absmiddle" /> and plot the simulation and theoretical results.</p>
<p>Click here to download <a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/11/script_ber_mimo_zf_sic_sort_bpsk_rayleigh_channel.m">Matlab/Octave script for computing BER for 2&#215;2 MIMO channel equalized by ZF-SIC with optimal ordering</a></p>
<p><a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/11/ber_plot_2tx_2rx_mimo_zf_sic_sort_bpsk_rayleigh_channel.png"><img class="alignnone size-full wp-image-268" title="BER plot for 2x2 MIMO equalized by ZF-SIC with optimal ordering" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/11/ber_plot_2tx_2rx_mimo_zf_sic_sort_bpsk_rayleigh_channel.png" alt="2x2 MIMO equalized by ZF-SIC with optimal ordering" width="448" height="336" /></a></p>
<p><strong>Figure: BER plot for BPSK in 2&#215;2 MIMO equalized by ZF-SIC with optimal ordering</strong></p>
<h2>Observations</h2>
<p>Compared to Zero Forcing equalization with successive interference cancellation case, addition of optimal ordering results in around 2.0dB of improvement for BER of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?10^{-3}" border="0" alt="" align="absmiddle" />.</p>
<h2>References</h2>
<p><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIG-COMM-BARRY-LEE-MESSERSCHMITT] </a><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt</a><img style="border-style: none ! important; margin: 0px" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325"></a></p>


<p>Related posts:<ol><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing Successive Interference Cancellation equalizer'>MIMO with Zero Forcing Successive Interference Cancellation equalizer</a></li><li><a href='http://www.dsplog.com/2008/12/14/mimo-ml-equalization/' rel='bookmark' title='Permanent Link: MIMO with ML equalization'>MIMO with ML equalization</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>MIMO with Zero Forcing Successive Interference Cancellation equalizer</title>
		<link>http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/</link>
		<comments>http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 13:42:59 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Channel]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[MIMO]]></category>
		<category><![CDATA[Rayleigh]]></category>
		<category><![CDATA[SIC]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=260</guid>
		<description><![CDATA[The post on MIMO with Zero Forcing equalizer discussed a probable way of equalizing a 2&#215;2 MIMO channel. The simulated results with the 2&#215;2 MIMO system  with zero forcing equalizer showed matching results as obtained in for a 1&#215;1 system for BPSK modulation in Rayleigh channel. In this post, we will try to improve [...]


Related posts:<ol><li><a href='http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/' rel='bookmark' title='Permanent Link: MIMO with ZF SIC and optimal ordering'>MIMO with ZF SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/10/24/mimo-zero-forcing/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing equalizer'>MIMO with Zero Forcing equalizer</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>The post on <a title="2x2 mimo with ZF equalizer" href="http://www.dsplog.com/2008/10/24/mimo-zero-forcing/">MIMO with Zero Forcing equalizer</a> discussed a probable way of equalizing a 2&#215;2 MIMO channel. The simulated results with the 2&#215;2 MIMO system  with zero forcing equalizer showed matching results as obtained in for a 1&#215;1 system for <a title="BPSK in Rayleigh channel" href="http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/">BPSK modulation in Rayleigh channel</a>. In this post, we will try to improve the bit error rate performance by trying out <strong>Successive Interference Cancellation</strong> (<strong>SIC</strong>). We will assume that the channel is a flat fading <a title="Discussion on Rayleigh multipath channel" href="http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/" target="_self">Rayleigh multipath channel</a> and the modulation is BPSK.</p>
<p><span id="more-260"></span></p>
<p>The background material on the MIMO channel has been described in the post on <a title="2x2 mimo with ZF equalizer" href="http://www.dsplog.com/2008/10/24/mimo-zero-forcing/"><strong>Zero Forcing</strong> equalizer</a>. The text is repeated again for easy readability.</p>
<h2>2&#215;2 MIMO channel</h2>
<p>In a 2&#215;2 MIMO channel, probable usage of the available 2 transmit antennas can be as follows:</p>
<p>1. Consider that we have a transmission sequence, for example <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\{x_1, x_2, x_3, \ldots, x_n \}" border="0" alt="" align="absmiddle" /></p>
<p>2. In normal transmission, we will be sending <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />in the first time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />in the second time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and so on.</p>
<p>3. However, as we now have 2 transmit antennas, we may group the symbols into groups of two. In the first time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />from the first and second antenna. In second time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_4" border="0" alt="" align="absmiddle" />from the first and second antenna, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_5" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_6" border="0" alt="" align="absmiddle" />in the third time slot and so on.</p>
<p>4. Notice that as we are grouping two symbols and sending them in one time slot, we need only <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{n}{2}" border="0" alt="" align="absmiddle" /> time slots to complete the transmission &#8211; <strong>data rate is doubled</strong> ! <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>5. This forms the simple explanation of a probable MIMO transmission scheme with 2 transmit antennas and 2 receive antennas.</p>
<p><img class="alignnone size-full wp-image-253" title="2 Transmit 2 Receive MIMO channel" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/2tx_2rx_mimo.png" alt="" width="300" height="259" /></p>
<p><strong>Figure: 2 Transmit 2 Receive (2&#215;2) MIMO channel</strong></p>
<h2>Other Assumptions</h2>
<p>1. The channel is flat fading &#8211; 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 <a title="Digital Communications: Fundamentals and Applications (2nd Edition) - Bernard Sklar (Author)" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communications-Fundamentals-Applications-Technologies%2Fdp%2F0130847887&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIGITAL COMMUNICATIONS: SKLAR]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p>2. The channel experience by each transmit antenna is independent from the channel experienced by other transmit antennas.</p>
<p>3. For the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?i^{th}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?j^{th}" border="0" alt="" align="absmiddle" /> receive antenna, each transmitted symbol gets multiplied by a randomly varying complex number <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" />. As the channel under consideration is a Rayleigh channel, the real and imaginary parts of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" /> are Gaussian distributed having mean <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mu_{h_{j,i}=0" border="0" alt="" align="absmiddle" /> and variance <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\sigma^2_{h_{j,i}}=\frac{1}{2}" border="0" alt="" align="absmiddle" />.</p>
<p>4. The channel experienced between each transmit to the receive antenna is independent and randomly varying in time.</p>
<p>5. On the receive antenna, the noise<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" /> has the Gaussian probability density function with</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p%28n%29%20=%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%5Csigma%5E2%7D%7De%5E%7B%5Cfrac%7B-%28n-%5Cmu%29%5E2%7D%7B2%5Csigma%5E2%7D" border="0" alt="" align="absmiddle" /> with <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cmu=0" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Csigma%5E2%20=%20%5Cfrac%7BN_0%7D%7B2%7D" border="0" alt="" align="absmiddle" />.</p>
<p>7. The channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" /> is known at the receiver.</p>
<h2>Zero forcing equalizer for 2&#215;2 MIMO channel</h2>
<p>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,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>The received signal on the second receive antenna is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /> are the received symbol on the first and second antenna respectively,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />are the  transmitted symbols and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n_1,\ n_2" border="0" alt="" align="absmiddle" /> is the noise on <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}, 2^{nd}" border="0" alt="" align="absmiddle" /> receive antennas.</p>
<p>For convenience, the above equation can be represented in matrix notation as follows:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] &amp; = &amp; {\left[\begin{array}{cc}h_{1,1}&amp; h_{1,2} \\h_{2,1}&amp;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}" border="0" alt="" align="absmiddle" />.</p>
<p>Equivalently,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<p>To solve for <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{x}" border="0" alt="" align="absmiddle" />, The <strong>Zero Forcing (ZF) linear detector</strong> for meeting this constraint <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{WH=I}" border="0" alt="" align="absmiddle" />. is given by,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{W}=\mathbf{(H^HH)^{-1}H^H}" border="0" alt="" align="absmiddle" />.</p>
<p>To do the Successive Interference Cancellation (SIC), the receiver needs to perform the following:</p>
<h2>Zero Forcing with Successive Interference Cancellation (ZF-SIC)</h2>
<p>Using the <strong>Zero Forcing (ZF)</strong> equalization approach described above, the receiver can obtain an estimate of the two transmitted symbols <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />, i.e.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\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] " border="0" alt="" align="absmiddle" />.</p>
<p>Take one of the estimated symbols (for example <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_2" border="0" alt="" align="absmiddle" />) and subtract its effect from the received vector <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />, i.e.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array}{ccl}y_1 &amp;- &amp; h_{1,2}&amp;\hat{x}_2\\y_2 &amp; - &amp; h_{2,2}&amp;\hat{x}_2\end{array}\right] = \left[\begin{array}{clc}h_{1,1}&amp;x_1 &amp;+ &amp;n_1 \\ h_{2,1}&amp;x_1 &amp;+ &amp;n_2\end{array}\right] " border="0" alt="" align="absmiddle" />.</p>
<p>Expressing in matrix notation,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{array}r_1\\r_2\end{array}\right] = \left[\begin{array} h_{1,1}&amp;amp\\h_{2,1}\end{array}\right]x_1 + \left[\begin{array}n_1\\n_2\end{array}\right]" border="0" alt="" align="absmiddle" />,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{r} = \mathbf{h}x_1+\mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<p>The above equation is same as equation obtained for <strong>receive diversity </strong>case. Optimal way of combining the information from multiple copies of the received symbols in receive diversity case is to apply <strong><a title="maximal ratio combining " href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining</a> (MRC)</strong>.</p>
<p>The equalized symbol is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{\mathbf{x}}_1 = \frac{\mathbf{h}^H\mathbf{r}}{\mathbf{h}^H\mathbf{h}}" border="0" alt="" align="absmiddle" />.</p>
<p>This forms the simple explanation for <strong>Zero Forcing Equalizer with Successive Interference Cancellation </strong>(<strong>ZF-SIC</strong>) approach.</p>
<h2>Simulation Model</h2>
<p>The Matlab/Octave script performs the following</p>
<p>(a) Generate random binary sequence of +1&#8217;s and -1&#8217;s.</p>
<p>(b) Group them into pair of two symbols and send two symbols in one time slot</p>
<p>(c) Multiply the symbols with the channel and then add white Gaussian noise.</p>
<p>(d) Equalize the received symbols with Zero Forcing criterion</p>
<p>(e) Take the symbol from the second spatial dimension, subtract from the received symbol</p>
<p>(f) Perform Maximal Ratio Combining for equalizing the new received symbol</p>
<p>(g) Perform hard decision decoding and count the bit errors</p>
<p>(h) Repeat for multiple values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}" border="0" alt="" align="absmiddle" /> and plot the simulation and theoretical results.</p>
<p>Click here to download <a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/11/script_ber_mimo_zf_sic_bpsk_rayleigh_channel.m">Matlab/Octave script for simulating BER for BPSK modulation in 2&#215;2 MIMO with Zero Forcing and Successive Interference Cancellation equalization (in Rayleigh channel)</a></p>
<p><img class="alignnone size-full wp-image-262" title="BER plot for BPSK in 2x2 MIMO channel with Zero Forcing Successive Interference Cancellation equalization" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/11/ber_plot_2tx_2rx_mimo_zf_sic_bpsk_rayleigh_channel.png" alt="" width="448" height="336" /></p>
<p><strong>Figure: BER plot for BPSK in 2&#215;2 MIMO channel with Zero Forcing Successive Interference Cancellation equalization</strong></p>
<h2>Observations</h2>
<p>Compared to Zero Forcing equalization alone case, addition of successive interference cancellation results in around 2.2dB of improvement for BER of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?10^{-3}" border="0" alt="" align="absmiddle" />.</p>
<p>The improvement is brought in because decoding of the information from the first spatial dimension (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />) has a lower error probability that the symbol transmitted from the second dimension. However, the assumption  is that <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" /> is decoded correctly may not be true in general. We can discuss alternate approaches in future posts. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>References</h2>
<p><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIG-COMM-BARRY-LEE-MESSERSCHMITT] </a><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt</a><img style="border-style: none ! important; margin: 0px" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[WIRELESS-TSE, VISWANATH]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /> <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Fundamentals of Wireless Communication, David Tse, Pramod Viswanath</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>


<p>Related posts:<ol><li><a href='http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/' rel='bookmark' title='Permanent Link: MIMO with ZF SIC and optimal ordering'>MIMO with ZF SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li><li><a href='http://www.dsplog.com/2008/10/24/mimo-zero-forcing/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing equalizer'>MIMO with Zero Forcing equalizer</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
		<item>
		<title>MIMO with Zero Forcing equalizer</title>
		<link>http://www.dsplog.com/2008/10/24/mimo-zero-forcing/</link>
		<comments>http://www.dsplog.com/2008/10/24/mimo-zero-forcing/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 00:47:58 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Channel]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[MIMO]]></category>
		<category><![CDATA[Rayleigh]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=252</guid>
		<description><![CDATA[We had discussed three Single Input Multiple Output (SIMO also known as receive diversity) schemes &#8211;  Selection combining, Equal Gain Combining,   Maximal Ratio Combining and a Multiple Input Single Output (MISO, also known as transmit diversity) scheme &#8211; Alamouti 2&#215;1 STBC. Let us now discuss the case where there a multiple transmit [...]


Related posts:<ol><li><a href='http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing Successive Interference Cancellation equalizer'>MIMO with Zero Forcing Successive Interference Cancellation equalizer</a></li><li><a href='http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/' rel='bookmark' title='Permanent Link: MIMO with MMSE equalizer'>MIMO with MMSE equalizer</a></li><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>We had discussed three <strong>Single Input Multiple Output</strong> (<strong>SIMO</strong> also known as receive diversity) schemes &#8211;  <a title="post on selection diversity in dsplog.com" href="http://www.dsplog.com/2008/09/06/receiver-diversity-selection-diversity/">Selection combining</a>, <a title="post on EGC in dsplog.com" href="http://www.dsplog.com/2008/09/19/equal-gain-combining/">Equal Gain Combining</a>,   <a title="Post on MRC in dsplog.com" href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining </a>and a <strong>Multiple Input Single Output</strong> (<strong>MISO</strong>, also known as transmit diversity) scheme &#8211; <a title="Alamouti 2 transmit 1 receive STBC on dsplog.com" href="http://www.dsplog.com/2008/10/16/alamouti-stbc/">Alamouti 2&#215;1 STBC.</a> Let us now discuss the case where there a multiple transmit antennas and multiple receive antennas resulting in the formation of a <strong>Multiple Input Multiple Output (MIMO)</strong> channel. In this post, we will restrict our discussion to a 2 transmit 2 receive antenna case (resulting in a <strong>2&#215;2 MIMO</strong> channel). We will assume that the channel is a flat fading <a title="Discussion on Rayleigh multipath channel" href="http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/" target="_self">Rayleigh multipath channel</a> and the modulation is BPSK.</p>
<p><span id="more-252"></span></p>
<h2>2&#215;2 MIMO channel</h2>
<p>In a 2&#215;2 MIMO channel, probable usage of the available 2 transmit antennas can be as follows:</p>
<p>1. Consider that we have a transmission sequence, for example <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\{x_1, x_2, x_3, \ldots, x_n \}" border="0" alt="" align="absmiddle" /></p>
<p>2. In normal transmission, we will be sending <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />in the first time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />in the second time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and so on.</p>
<p>3. However, as we now have 2 transmit antennas, we may group the symbols into groups of two. In the first time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />from the first and second antenna. In second time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_4" border="0" alt="" align="absmiddle" />from the first and second antenna, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_5" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_6" border="0" alt="" align="absmiddle" />in the third time slot and so on.</p>
<p>4. Notice that as we are grouping two symbols and sending them in one time slot, we need only <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{n}{2}" border="0" alt="" align="absmiddle" /> time slots to complete the transmission &#8211; <strong>data rate is doubled</strong> ! <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>5. This forms the simple explanation of a probable MIMO transmission scheme with 2 transmit antennas and 2 receive antennas.</p>
<p>Having said this, some of you will wonder &#8211; the two transmitted symbols interfered with each other. Can  we ever separate the two out? The rest of the post attempts to  answer this question. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img class="alignnone size-full wp-image-253" title="2 Transmit 2 Receive MIMO channel" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/2tx_2rx_mimo.png" alt="" width="300" height="259" /></p>
<p><strong>Figure: 2 Transmit 2 Receive (2&#215;2) MIMO channel</strong></p>
<h2>Other Assumptions</h2>
<p>1. The channel is flat fading &#8211; 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 <a title="Digital Communications: Fundamentals and Applications (2nd Edition) - Bernard Sklar (Author)" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communications-Fundamentals-Applications-Technologies%2Fdp%2F0130847887&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIGITAL COMMUNICATIONS: SKLAR]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p>2. The channel experience by each transmit antenna is independent from the channel experienced by other transmit antennas.</p>
<p>3. For the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?i^{th}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?j^{th}" border="0" alt="" align="absmiddle" /> receive antenna, each transmitted symbol gets multiplied by a randomly varying complex number <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" />. As the channel under consideration is a Rayleigh channel, the real and imaginary parts of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" /> are Gaussian distributed having mean <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mu_{h_{j,i}=0" border="0" alt="" align="absmiddle" /> and variance <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\sigma^2_{h_{j,i}}=\frac{1}{2}" border="0" alt="" align="absmiddle" />.</p>
<p>4. The channel experienced between each transmit to the receive antenna is independent and randomly varying in time.</p>
<p>5. On the receive antenna, the noise<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" /> has the Gaussian probability density function with</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p%28n%29%20=%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%5Csigma%5E2%7D%7De%5E%7B%5Cfrac%7B-%28n-%5Cmu%29%5E2%7D%7B2%5Csigma%5E2%7D" border="0" alt="" align="absmiddle" /> with <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cmu=0" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Csigma%5E2%20=%20%5Cfrac%7BN_0%7D%7B2%7D" border="0" alt="" align="absmiddle" />.</p>
<p>7. The channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{j,i}" border="0" alt="" align="absmiddle" /> is known at the receiver.</p>
<h2>Zero forcing (ZF) equalizer for 2&#215;2 MIMO channel</h2>
<p>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,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>The received signal on the second receive antenna is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?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" border="0" alt="" align="absmiddle" />.</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /> are the received symbol on the first and second antenna respectively,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> receive antenna,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />are the  transmitted symbols and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n_1,\ n_2" border="0" alt="" align="absmiddle" /> is the noise on <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}, 2^{nd}" border="0" alt="" align="absmiddle" /> receive antennas.</p>
<p>We assume that the receiver knows <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,1}" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{1,2}" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,1}" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_{2,2}" border="0" alt="" align="absmiddle" />. The receiver also knows <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" />. The unknown s are <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />. <strong>Two equations and two unknowns</strong>. Can we solve it? Answer is <strong>YES</strong>. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For convenience, the above equation can be represented in matrix notation as follows:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\left[\begin{eqnarray}y_1 \\ y_2\end{eqnarray}\right] &amp; = &amp; {\left[\begin{array}{cc}h_{1,1}&amp; h_{1,2} \\h_{2,1}&amp;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}" border="0" alt="" align="absmiddle" />.</p>
<p>Equivalently,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{n}" border="0" alt="" align="absmiddle" /></p>
<p>To solve for <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{x}" border="0" alt="" align="absmiddle" />, we know that we need to find a matrix <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{W}" border="0" alt="" align="absmiddle" /> which satisfies <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{WH=I}" border="0" alt="" align="absmiddle" />. The <strong>Zero Forcing (ZF) linear detector</strong> for meeting this constraint is given by,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{W}=\mathbf{(H^HH)^{-1}H^H}" border="0" alt="" align="absmiddle" />.</p>
<p>This matrix is also known as the <a title="Pseduo Inverse on Planet Math" href="http://planetmath.org/encyclopedia/Pseudoinverse.html">pseudo inverse</a> for a general m x n matrix.</p>
<p>The term,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{H^HH} = \left[\begin{array}{cc}\ h_{1,1}^* &amp;  h_{2,1}^* \\h_{1,2}^*&amp;  h_{2,2}^*\end{array}\right]\left[\begin{array}{cc}\ h_{1,1} &amp; h_{1,2} \\h_{2,1} &amp;  h_{2,2}\end{array}\right]=\left[\begin{array}{cc}|h_{1,1}|^2+|h_{2,1}|^2 &amp; h_{1,1}^*h_{1,2}+h_{2,1}^*h_{2,2} \\ h_{1,2}^*h_{1,1}+h_{2,2}^*h_{2,1}&amp; |h_{1,2}|^2+|h_{2,2}|^2\end{array}\right]" border="0" alt="" align="absmiddle" />.</p>
<h2>BER with ZF equalizer with 2&#215;2 MIMO</h2>
<p>Note that the off diagonal terms in the matrix <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{H^HH}" border="0" alt="" align="absmiddle" /> are not zero (Recall: The off diagonal terms where  zero in <a title="Alamouti 2 transmit 1 receive STBC on dsplog.com" href="http://www.dsplog.com/2008/10/16/alamouti-stbc/">Alamouti 2&#215;1 STBC</a> case). Because the off diagonal terms are not zero, the zero forcing equalizer tries to null out the interfering terms when performing the equalization, i.e when solving for <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" /> the interference from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />is tried to be nulled and vice versa. While doing so, there can be amplification of noise. Hence Zero Forcing equalizer is not the best possible equalizer to do the job. However, it is simple and reasonably easy to implement.</p>
<p>Further, it can be seen that, following zero forcing equalization, the channel for symbol transmitted from each spatial dimension (space is antenna) is a like a 1&#215;1 Rayleigh fading channel (Refer Section 3.3 of <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[WIRELESS-TSE, VISWANATH]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" />). Hence the <strong>BER for 2&#215;2 MIMO channel in Rayleigh fading</strong> with<strong> Zero Forcing equalization</strong> is same as the <strong>BER derived for a 1&#215;1 channel</strong> in Rayleigh fading.</p>
<p>For <a title="post on BER for BPSK in Rayleigh fading channel" href="http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/">BPSK modulation in Rayleigh fading channel</a>, the bit error rate is derived as,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{b}=\frac{1}{2}\left(1-\sqrt{\frac{(E_b/N_0)}{(E_b/N_0) +1}}\right)" border="0" alt="" align="absmiddle" />.</p>
<h2>Simulation Model</h2>
<p>The Matlab/Octave script performs the following</p>
<p>(a) Generate random binary sequence of +1&#8217;s and -1&#8217;s.</p>
<p>(b) Group them into pair of two symbols and send two symbols in one time slot</p>
<p>(c) Multiply the symbols with the channel and then add white Gaussian noise.</p>
<p>(d) Equalize the received symbols</p>
<p>(e) Perform hard decision decoding and count the bit errors</p>
<p>(f) Repeat for multiple values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}" border="0" alt="" align="absmiddle" /> and plot the simulation and theoretical results.</p>
<p>Click here to download <a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/script_ber_mimo_zf_bpsk_rayleigh_channel.m">Matlab/Octave script for simulating BER plot for 2&#215;2 MIMO channel with ZF equalizer (BPSK modulation in Rayleigh channel)</a></p>
<p><img class="alignnone size-full wp-image-254" title="BER plot for 2x2 MIMO channel with ZF receiver (BPSK modulation in Rayleigh channel)" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/ber_plot_2tx_2rx_mimo_zero_forcing_bpsk_rayleigh_channel.png" alt="" width="448" height="336" /></p>
<p><strong>Figure: BER plot for 2&#215;2 MIMO channel with ZF equalizer (BPSK modulation in Rayleigh channel)</strong></p>
<h2>Summary</h2>
<p>1. As expected, the simulated results with a 2&#215;2 MIMO system using BPSK modulation in Rayleigh channel is showing matching results as obtained in for a 1&#215;1 system for BPSK modulation in Rayleigh channel.</p>
<p>2. As noted in Section 3.3 of <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[WIRELESS-TSE, VISWANATH]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" />, the Zero Forcing equalizer is not the best possible way to equalize the received symbol. The zero forcing equalizer helps us to achieve the data rate gain, but NOT take advantage of diversity gain (as we have two receive antennas).</p>
<p>3. We might not be able to achieve the two fold data rate improvement in all channel conditions. It can so happen that channels are correlated (the coefficients are almost the same). Hence we might not be able to solve for the two unknown transmitted symbols even if we have two received symbols.</p>
<p>4. It is claimed that there can be receiver structures which enables us to have both diversity gain and data rate gain. In future posts, the attempt will be to discuss receiver structures which hopefully enables us to find out approaches which will help us to keep the data rate gain, but still move from the 1&#215;1 curve to 1&#215;2 MRC curve. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>References</h2>
<p><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIG-COMM-BARRY-LEE-MESSERSCHMITT] </a><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt</a><img style="border-style: none ! important; margin: 0px" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[WIRELESS-TSE, VISWANATH]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /> <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Wireless-Communication-David-Tse%2Fdp%2F0521845270&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Fundamentals of Wireless Communication, David Tse, Pramod Viswanath</a><img style="border: medium none  ! important; margin: 0px ! important;" src="https://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>


<p>Related posts:<ol><li><a href='http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing Successive Interference Cancellation equalizer'>MIMO with Zero Forcing Successive Interference Cancellation equalizer</a></li><li><a href='http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/' rel='bookmark' title='Permanent Link: MIMO with MMSE equalizer'>MIMO with MMSE equalizer</a></li><li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='Permanent Link: MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/10/24/mimo-zero-forcing/feed/</wfw:commentRss>
		<slash:comments>126</slash:comments>
		</item>
		<item>
		<title>Alamouti STBC</title>
		<link>http://www.dsplog.com/2008/10/16/alamouti-stbc/</link>
		<comments>http://www.dsplog.com/2008/10/16/alamouti-stbc/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 01:16:32 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Channel]]></category>
		<category><![CDATA[Diversity]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[Alamouti]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[Rayleigh]]></category>
		<category><![CDATA[STBC]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=247</guid>
		<description><![CDATA[In the recent past, we have discussed three receive diversity schemes &#8211; Selection combining, Equal Gain Combining and Maximal Ratio Combining. All the three approaches used the antenna array at the receiver to improve the demodulation performance, albeit with different levels of complexity. Time to move on to a transmit diversity scheme where the information [...]


Related posts:<ol><li><a href='http://www.dsplog.com/2009/03/15/alamouti-stbc-2-receive-antenna/' rel='bookmark' title='Permanent Link: Alamouti STBC with 2 receive antenna'>Alamouti STBC with 2 receive antenna</a></li><li><a href='http://www.dsplog.com/2008/10/24/mimo-zero-forcing/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing equalizer'>MIMO with Zero Forcing equalizer</a></li><li><a href='http://www.dsplog.com/2009/04/13/transmit-beamforming/' rel='bookmark' title='Permanent Link: Transmit beamforming'>Transmit beamforming</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>In the recent past, we have discussed three receive diversity schemes &#8211; <a title="post on selection diversity in dsplog.com" href="http://www.dsplog.com/2008/09/06/receiver-diversity-selection-diversity/">Selection combining</a>, <a title="post on EGC in dsplog.com" href="http://www.dsplog.com/2008/09/19/equal-gain-combining/">Equal Gain Combining</a> and <a title="Post on MRC in dsplog.com" href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining</a>. All the three approaches used the antenna array at the receiver to improve the demodulation performance, albeit with different levels of complexity. Time to move on to a <strong>transmit diversity</strong> scheme where the information is spread across multiple antennas at the transmitter. In this post, lets discuss a popular transmit diversity scheme called <strong>Alamouti Space Time Block Coding</strong> <strong>(STBC)</strong>. For the discussion, we will assume that the channel is a flat fading <a title="Discussion on Rayleigh multipath channel" href="http://www.dsplog.com/2008/07/14/rayleigh-multipath-channel/" target="_self">Rayleigh multipath channel</a> and the modulation is BPSK.</p>
<p><span id="more-247"></span></p>
<h2>Alamouti STBC</h2>
<p>A simple Space Time Code, suggested by Mr. Siavash M Alamouti in his landmark October 1998 paper &#8211; A<a title="IEEExplore link for the Alamouti STBC paper" href="http://ieeexplore.ieee.org/iel4/49/15739/00730453.pdf" target="_self"> Simple Transmit Diversity Technique for Wireless Communication</a>, offers a simple method for achieving spatial diversity with two transmit antennas. The scheme is as follows:</p>
<p>1. Consider that we have a transmission sequence, for example <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\{x_1, x_2, x_3, \ldots, x_n \}" border="0" alt="" align="absmiddle" /></p>
<p>2. In normal transmission, we will be sending <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />in the first time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />in the second time slot, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and so on.</p>
<p>3. However, Alamouti suggested that we group the symbols into groups of two. In the first time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />from the first and second antenna. In second time slot send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-x_2^*" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1^*" border="0" alt="" align="absmiddle" />from the first and second antenna. In the third time slot send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_4" border="0" alt="" align="absmiddle" />from the first and second antenna.In fourth time slot, send <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-x_4^*" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_3^*" border="0" alt="" align="absmiddle" />from the first and second antenna and so on.</p>
<p>4. Notice that though we are grouping two symbols, we still need two time slots to send two symbols. Hence, there is no change in the data rate.</p>
<p>5. This forms the simple explanation of the transmission scheme with Alamouti Space Time Block coding.</p>
<p><img class="alignnone size-full wp-image-249" title="2Transmit, 1Receive Alamouti STBC coding" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/2tx_1rx_stbc_coding.png" alt="" width="400" height="472" /></p>
<p><strong>Figure: 2-Transmit, 1-Receive Alamouti STBC coding</strong></p>
<h2>Other Assumptions</h2>
<p>1. The channel is flat fading &#8211; 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 <a title="Digital Communications: Fundamentals and Applications (2nd Edition) - Bernard Sklar (Author)" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communications-Fundamentals-Applications-Technologies%2Fdp%2F0130847887&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIGITAL COMMUNICATIONS: SKLAR]</a><img style="border: medium none  ! important; margin: 0px ! important;" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p>2. The channel experience by each transmit antenna is independent from the channel experienced by other transmit antennas.</p>
<p>3. For the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?i^{th}" border="0" alt="" align="absmiddle" /> transmit antenna, each transmitted symbol gets multiplied by a randomly varying complex number <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_i" border="0" alt="" align="absmiddle" />. As the channel under consideration is a Rayleigh channel, the real and imaginary parts of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_i" border="0" alt="" align="absmiddle" /> are Gaussian distributed having mean <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mu_{h_i}=0" border="0" alt="" align="absmiddle" /> and variance <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\sigma^2_{h_i}=\frac{1}{2}" border="0" alt="" align="absmiddle" />.</p>
<p>4. The channel experienced between each transmit to the receive antenna is randomly varying in time. However, the channel is <strong>assumed to remain constant over two time slots</strong>.</p>
<p>5. On the receive antenna, the noise<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" /> has the Gaussian probability density function with</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p%28n%29%20=%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%5Csigma%5E2%7D%7De%5E%7B%5Cfrac%7B-%28n-%5Cmu%29%5E2%7D%7B2%5Csigma%5E2%7D" border="0" alt="" align="absmiddle" /> with <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cmu=0" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Csigma%5E2%20=%20%5Cfrac%7BN_0%7D%7B2%7D" border="0" alt="" align="absmiddle" />.</p>
<p>7. The channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_i" border="0" alt="" align="absmiddle" /> is known at the receiver.</p>
<h2>Receiver with Alamouti STBC</h2>
<p>In the first time slot, the received signal is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1 =h_1x_1 + h_2x_2 + n_1 = [h_1\  h_2] \left[\begin{eqnarray}x_1 \\ x_2 \end{eqnarray}\right]+n_1" border="0" alt="" align="absmiddle" />.</p>
<p>In the second time slot, the received signal is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2 =-h_1x_2^* + h_2x_1^* + n_2 = [h_1\  h_2] \left[\begin{eqnarray}-x_2^* \\ x_1^*\end{eqnarray}\right]+n_2" border="0" alt="" align="absmiddle" />.</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_2" border="0" alt="" align="absmiddle" /> is the received symbol on the first and second time slot respectively,<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_1" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}" border="0" alt="" align="absmiddle" /> transmit antenna to receive antenna,<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_2" border="0" alt="" align="absmiddle" /> is the channel from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2^{nd}" border="0" alt="" align="absmiddle" /> transmit antenna to receive antenna,<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" />are the  transmitted symbols and<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n_1,\ n_2" border="0" alt="" align="absmiddle" /> is the noise on <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?1^{st}, 2^{nd}" border="0" alt="" align="absmiddle" /> time slots.</p>
<p>Since the two noise terms are independent and identically distributed,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?E\left{\left[\begin{eqnarray}n_1\\n_2^*\end{eqnarray}\right]\left[\begin{eqnarray}n_1^*\ n_2\end{eqnarray}\right]\right}=\left[\begin{eqnarray}|n_1|^2\ \ \ \  0 \\0\ \ \ \ |n_2|^2\end{eqnarray}\right]" border="0" alt="" align="absmiddle" />.</p>
<p>For convenience, the above equation can be represented in matrix notation as follows:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{eqnarray}y_1 \\ y_2^*\end{eqnarray}\right] = \underbrace{\left[\begin{eqnarray}\ h_1\ \ \  h_2 \\ h_2^*\ -h_1^*\end{enarray}\right]}\left[\begin{eqnarray}x_1 \\ x_2 \end{eqnarray}\right]+\left[\begin{eqnarray}n_1\\n_2^* \end{eqnarray}\right]" border="0" alt="" align="absmiddle" />.</p>
<p>Let us define <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{H}= \left[\begin{eqnarray}\ h_1\ \ \  h_2 \\ h_2^*\ -h_1^*\end{enarray}\right]" border="0" alt="" align="absmiddle" />. To solve for <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\left[\begin{eqnarray}x_1 \\ x_2 \end{eqnarray}\right]" border="0" alt="" align="absmiddle" />, we know that we need to find the inverse of   <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{H}" border="0" alt="" align="absmiddle" />.</p>
<p>We know, for a general m x n matrix, the <a title="Pseduo Inverse on Planet Math" href="http://planetmath.org/encyclopedia/Pseudoinverse.html">pseudo inverse</a> is defined as,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mathbf{H^+}=(H^HH)^{-1}H^H" border="0" alt="" align="absmiddle" />.</p>
<p>The term,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?(H^HH) = \left[\begin{eqnarray}\ h_1^*\ \ \  h_2 \\ h_2^*\ -h_1\end{eqnarray}\right]\left[\begin{eqnarray}\ h_1\ \ \  h_2 \\ h_2^*\ -h_1^*\end{eqnarray}\right]=\left[\begin{eqnarray}|h_1|^2+|h_2|^2\ \ \ \ \ \ \ \ \ \ \ \ \ \    0 \\ 0\ \ \ \ \ \ \ \ \ \ \ \ \|h_1|^2+|h_2|^2\end{eqnarray}\right]" border="0" alt="" align="absmiddle" />. Since this is a digonal matrix, the inverse is just the inverse of the diagonal elements, i.e</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?(H^HH)^{-1} = \left[\begin{eqnarray}\frac{1}{|h_1|^2+|h_2|^2}\ \ \ \ \ \ \ \ \ \ \ \ \ \    0 \\ 0\ \ \ \ \ \ \ \ \ \ \ \ \frac{1}{\|h_1|^2+|h_2|^2}\end{eqnarray}\right]" border="0" alt="" align="absmiddle" />.</p>
<p>The estimate of the transmitted symbol is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\hat{\left[\begin{eqnarray}x_1 \\ x_2\end{eqnarray}\right]} &amp; = &amp;(H^HH)^{-1}H^H\left[\begin{eqnarray}y_1 \\ y_2^* \end{eqnarray}\right]\\&lt;br /&gt; &amp; = &amp; (H^HH)^{-1}H^H\left(H\left[\begin{eqnarray}x_1 \\ x_2 \end{eqnarray}\right]+\left[\begin{eqnarray}n_1\\n_2^* \end{eqnarray}\right]\right)&lt;br /&gt; \\&amp;=&amp;\left[\begin{eqnarray}x_1 \\ x_2 \end{eqnarray}\right] + (H^HH)^{-1}H^H\left[\begin{eqnarray}n_1\\n_2^* \end{eqnarray}\right]\\\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>If you compare the above equation with the estimated symbol following equalization in <a title="post on Maximal Ratio Combining " href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/#MRC">Maximal Ratio Combining</a>, you can see that the equations are identical.</p>
<h2>BER with Almouti STBC</h2>
<p>Since the estimate of the transmitted symbol with the Alamouti STBC scheme is identical to that obtained from MRC, the BER with above described Alamouti scheme should be same as that for MRC. However, there is a small catch.</p>
<p>With Alamouti STBC, we are transmitting from two antenna&#8217;s. Hence the total transmit power in the Alamouti scheme is twice that of that used in MRC. To make the comparison fair, we need to make the total trannsmit power from two antennas in STBC case to be equal to that of power transmitted from a single antenna in the MRC case. With this scaling, we can see that <strong>BER performance of 2Tx, 1Rx Alamouti STBC case has a roughly 3dB poorer performance that 1Tx, 2Rx MRC case</strong>.</p>
<p>From the post on <a title="post on MRC in dsplog.com" href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining">Maximal Ratio Combining</a>, the bit error rate for BPSK modulation in Rayleigh channel with 1 transmit, 2 receive case is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{e,MRC} =p_{MRC}^2\left[1+2(1-p_{MRC})\right]" border="0" alt="" align="absmiddle" />, where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p_{MRC}=\frac{1}{2}-\frac{1}{2}\left(1+\frac{1}{E_b/N_0}\right)^{-1/2}" border="0" alt="" align="absmiddle" />.</p>
<p>With <strong>Alamouti 2 transmit antenna, 1 receive antenna STBC</strong> case,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p_{STBC}=\frac{1}{2}-\frac{1}{2}\left(1+\frac{2}{E_b/N_0}\right)^{-1/2}" border="0" alt="" align="absmiddle" /> and <strong>Bit Error Rate is</strong></p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_{e,STBC} =p_{STBC}^2\left[1+2(1-p_{STBC})\right]" border="0" alt="" align="absmiddle" />.</p>
<h2>Key points</h2>
<p>The fact that <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?(H^HH) " border="0" alt="" align="absmiddle" /> is a diagonal matrix ensured the following:<br />
1. There is no cross talk between <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_2" border="0" alt="" align="absmiddle" /> after the equalizer.</p>
<p>2. The noise term is still white.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?E\left{H^H\left[\begin{eqnarray}n_1\\n_2^*\end{eqnarray}\right]\left[\begin{eqnarray}n_1^*\ n_2\end{eqnarray}\right]H\right}=H^H\left[\begin{eqnarray}|n_1|^2\ \ \ \  0 \\0\ \ \ \ |n_2|^2\end{eqnarray}\right]H=\left[\begin{eqnarray}|n_1|^2\ \ \ \  0 \\0\ \ \ \ |n_2|^2\end{eqnarray}\right]\left[\begin{eqnarray}{|h_1|^2+|h_2|^2}\ \ \ \ \ \ \ \ \ \ \ \ \ \    0 \\ 0\ \ \ \ \ \ \ \ \ \ \ \ {\|h_1|^2+|h_2|^2}\end{eqnarray}\right]" border="0" alt="" align="absmiddle" />.</p>
<h2>Simulation Model</h2>
<p>The Matlab/Octave script performs the following</p>
<p>(a) Generate random binary sequence of +1&#8217;s and -1&#8217;s.</p>
<p>(b) Group them into pair of two symbols</p>
<p>(c) Code it per the Alamouti Space Time code, multiply the symbols with the channel and then add white Gaussian noise.</p>
<p>(d) Equalize the received symbols</p>
<p>(e) Perform hard decision decoding and count the bit errors</p>
<p>(f) Repeat for multiple values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}" border="0" alt="" align="absmiddle" /> and plot the simulation and theoretical results.</p>
<p>Click here to download <a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/script_ber_alamouti_stbc_code_bpsk_rayleigh_channel.m">Matlab/Octave script for simulating BER for 2 transmit, 1 receive Alamouti STBC coding for BPSK modulation in Rayleigh fading channel</a></p>
<p><img class="alignnone size-full wp-image-251" title="BER plot for 2 transmit, 1 receive Alamouti STBC coding for BPSK modulation in Rayleigh fading channel" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/10/ber_plot_alamouti_stbc_2tx_1rx_bpsk_rayleigh_channel.png" alt="" width="448" height="336" /></p>
<p><strong>Figure: BER plot for BPSK in Rayleigh channel with 2 Transmit and 1 Receive Alamouti STBC<br />
</strong></p>
<h2><strong>Observations</strong></h2>
<p>Compared to the BER plot for nTx=1, nRx=2 Maximal ratio combining, we can see the <strong>Alamouti Space Time Block Coding</strong> has around <strong>3dB poorer</strong> performance.</p>
<h2>Reference</h2>
<p><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[DIG-COMM-BARRY-LEE-MESSERSCHMITT] </a><a title="Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communication-John-R-Barry%2Fdp%2F0792375483&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communication: Third Edition, by John R. Barry, Edward A. Lee, David G. Messerschmitt</a><img style="border-style: none ! important; margin: 0px" src="http://www.assoc-amazon.com/e/ir?t=dl04-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" /></p>
<p><a title="Note on Receive diversity by Prof. RaviRaj Adve" href="http://www.comm.utoronto.ca/~rsadve/Notes/DiversityReceive.pdf">A</a><a title="IEEExplore link for the Alamouti STBC paper" href="http://ieeexplore.ieee.org/iel4/49/15739/00730453.pdf" target="_self"> Simple Transmit Diversity Technique for Wireless Communication </a>Siavash M Alamouti, IEEE Journal on selected areas in Communication, Vol 16, No, 8, October 1998</p>


<p>Related posts:<ol><li><a href='http://www.dsplog.com/2009/03/15/alamouti-stbc-2-receive-antenna/' rel='bookmark' title='Permanent Link: Alamouti STBC with 2 receive antenna'>Alamouti STBC with 2 receive antenna</a></li><li><a href='http://www.dsplog.com/2008/10/24/mimo-zero-forcing/' rel='bookmark' title='Permanent Link: MIMO with Zero Forcing equalizer'>MIMO with Zero Forcing equalizer</a></li><li><a href='http://www.dsplog.com/2009/04/13/transmit-beamforming/' rel='bookmark' title='Permanent Link: Transmit beamforming'>Transmit beamforming</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/10/16/alamouti-stbc/feed/</wfw:commentRss>
		<slash:comments>164</slash:comments>
		</item>
	</channel>
</rss>
