<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>dspLog</title>
	
	<link>http://www.dsplog.com</link>
	<description>Signal Processing for Communication</description>
	<lastBuildDate>Sun, 05 Jul 2009 17:05:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<creativeCommons:license>http://creativecommons.org/licenses/by-nc/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/dsplogdotcom" type="application/rss+xml" /><feedburner:emailServiceId>dsplogdotcom</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Softbit for 16QAM</title>
		<link>http://feedproxy.google.com/~r/dsplogdotcom/~3/EMrdiVZ_rkQ/</link>
		<comments>http://www.dsplog.com/2009/07/05/softbit-16qam/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 17:05:53 +0000</pubDate>
		<dc:creator>Krishna Pillai</dc:creator>
				<category><![CDATA[Receiver]]></category>
		<category><![CDATA[16-QAM]]></category>
		<category><![CDATA[QAM]]></category>
		<category><![CDATA[Viterbi]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=636</guid>
		<description>In the post on Soft Input Viterbi decoder, we had discussed BPSK modulation with convolutional coding and soft input Viterbi decoding in AWGN channel. Let us know discuss the derivation of soft bits for 16QAM modulation scheme with Gray coded bit mapping. The channel is assumed to be AWGN alone.

Gray Mapped 16-QAM constellation
In the past, [...]</description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/n9cDm0cKwcuNnQx6BtLsiJjw8w4/0/da"><img src="http://feedads.g.doubleclick.net/~a/n9cDm0cKwcuNnQx6BtLsiJjw8w4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/n9cDm0cKwcuNnQx6BtLsiJjw8w4/1/da"><img src="http://feedads.g.doubleclick.net/~a/n9cDm0cKwcuNnQx6BtLsiJjw8w4/1/di" border="0" ismap="true"></img></a></p><p></p><p>In the post on <a title="soft input Viterbi decoding in dspLog.com" href="http://www.dsplog.com/2009/01/14/soft-viterbi/">Soft Input Viterbi decoder</a>, we had discussed BPSK modulation with convolutional coding and soft input Viterbi decoding in AWGN channel. Let us know discuss the derivation of soft bits for 16QAM modulation scheme with Gray coded bit mapping. The channel is assumed to be AWGN alone.</p>
<p><span id="more-636"></span></p>
<h2>Gray Mapped 16-QAM constellation</h2>
<p>In the past, we had discussed <a title="BER for 16QAM in AWGN" href="http://www.dsplog.com/2008/06/05/16qam-bit-error-gray-mapping/">BER for 16QAM in AWGN</a> modulation. The 4 bits in each constellation point can be considered as two bits each on independent 4-PAM modulation on I-axis and Q-axis respectively.</p>
<table border="1" cellspacing="0" frame="box" rules="groups">
<colgroup>
<col width="86"></col>
</colgroup>
<colgroup>
<col width="86"></col>
</colgroup>
<colgroup>
<col width="86"></col>
</colgroup>
<colgroup>
<col width="86"></col>
</colgroup>
<tbody>
<tr>
<td width="86" height="18" align="center"><strong>b0b1</strong></td>
<td width="86" align="center"><strong>I</strong></td>
<td width="86" align="center"><strong>b2b3</strong></td>
<td width="86" align="center"><strong>Q</strong></td>
</tr>
</tbody>
<tbody>
<tr>
<td height="18" align="center">00</td>
<td align="center">-3</td>
<td align="center">00</td>
<td align="center">-3</td>
</tr>
<tr>
<td height="18" align="center">01</td>
<td align="center">-1</td>
<td align="center">01</td>
<td align="center">-1</td>
</tr>
<tr>
<td height="18" align="center">11</td>
<td align="center">+1</td>
<td align="center">11</td>
<td align="center">+1</td>
</tr>
<tr>
<td height="18" align="center">10</td>
<td align="center">+3</td>
<td align="center">10</td>
<td align="center">+3</td>
</tr>
</tbody>
</table>
<p><strong>Table: Gray coded constellation mapping for 16-QAM</strong></p>
<p><img title="16QAM modulation with Gray coded mapping" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/05/16qam_gray_mapping.png" alt="16QAM modulation with Gray coded mapping" width="448" height="336" /></p>
<p><strong>Figure: 16QAM constellation plot with Gray coded mapping</strong></p>
<h2><strong>Channel Model<br />
</strong></h2>
<p>The received coded sequence is</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y=c%20+%20n" border="0" alt="" align="absmiddle" />, where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?c" border="0" alt="" align="absmiddle" /> is the modulated coded sequence taking values in the alphabet</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Calpha_%7B16QAM%7D=%5Cleft%7B%5Cpm%201+%5Cpm%201j,%5C%20%5Cpm%201+%5Cpm%203j,%5C%5C%5Cpm%203%20+%20%5Cpm%203j,%5C%20%5Cpm%203+%5Cpm%201j%20%5Cright%7D" border="0" alt="" align="absmiddle" />.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" />is the Additive White Gaussian Noise following the probability distribution function,</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 mean <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mu=0" border="0" alt="" align="absmiddle" /> and variance <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>
<h2>Demodulation</h2>
<p>For demodulation, we would want to maximize the probability that the bit  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?b_m" border="0" alt="" align="absmiddle" /> was transmitted given we received <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y" border="0" alt="" align="absmiddle" /> i.e <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P(b_m|y)" border="0" alt="" align="absmiddle" />. This criterion is called <strong>Maximum a posteriori probability (MAP)</strong>.</p>
<p>Using <a title="wiki entry on Bayes rule " href="http://en.wikipedia.org/wiki/Bayes%27_theorem#Statement">Bayes rule</a>,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P(b_m|y) = \frac{P(y|b_m)p(b_m)}{p(y)}" border="0" alt="" align="absmiddle" />.</p>
<p><strong>Note: </strong>The probability that all constellation points occur are equally likely, so maximizing <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P(b_m|y)" border="0" alt="" align="absmiddle" /> is equivalent to maximizing <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P%28y%7Cb_m%29" border="0" alt="" align="absmiddle" />.</p>
<h2>Soft bit for b0</h2>
<p>The bit mapping for the <strong>bit b0</strong> with 16QAM Gray coded mapping is shown below. We can see that when b0 toggles from 0 to 1, only the real part of the constellation is affected.</p>
<p><img class="alignnone size-full wp-image-645" title="Bit maping for bit b0 is Gray coded 16QAM " src="http://www.dsplog.com/db-install/wp-content/uploads/2009/07/16qam_bit_mapping_bit_b0.png" alt="Bit maping for bit b0 is Gray coded 16QAM " width="400" height="138" /></p>
<p><strong>Figure: Bit b0 for 16QAM Gray coded mapping</strong></p>
<p>When the b0 is 0, the real part of the QAM constellation takes values -3 or -1. The conditional probability of the received signal <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y" border="0" alt="" align="absmiddle" /> given b0 is 0 is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P(y|b_0=0) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+3)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}" border="0" alt="" align="absmiddle" />.</p>
<p>When the bit0 is 1, the real part of the QAM constellation takes values +1 or +3. The conditional probability given b0 is zero is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P(y|b_0=1) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-1)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}" border="0" alt="" align="absmiddle" />.</p>
<p>We can define a likelihood ratio that if</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?b0=1,\ if \frac{P(y|b_0=1)}{P(y|b_0=0)}\ge0" border="0" alt="" align="absmiddle" />.</p>
<p>The likelihood ratio for b0 is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P(y|b_0=1)}{P(y|b_0=0)}=\frac{e^{\frac{-(y_{re}-1)^2}{2\sigma^2}} + e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}+e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}" border="0" alt="" align="absmiddle" />.</p>
<h3>Region #1 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re}%20%3C%20-2" border="0" alt="" align="absmiddle" />)</h3>
<p>When <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re} &lt; -2" border="0" alt="" align="absmiddle" />, then we can assume that relative contribution by constellation +3 in the numerator and -1 in the denominator is less and can be ignored. So the likelihood ratio reduces to,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P(y|b_0=1)}{P(y|b_0=0)}\approx\frac{%20e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}" border="0" alt="" align="absmiddle" />.</p>
<p>Taking logarithm on both sides,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}\ln\left(\frac{P(y|b_0=1)}{P(y|b_0=0)}\right)&amp;\approx&amp;\ln\left(\frac{%20e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}\right)\\&amp;=&amp;\frac{1}{2\sigma^2}(y_{re}+3)^2-(y_{re}-1)^2\\&amp;=&amp;\frac{1}{\sigma^2}4(y_{re}+1)\end{array}" border="0" alt="" align="absmiddle" />.</p>
<h3>Region #2 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-2\le%20y_{re}%20%3C0" border="0" alt="" align="absmiddle" />), Region #3 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?0%5Cle%20y_{re}%20%3C2" border="0" alt="" align="absmiddle" />)</h3>
<p>When <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-2\le y_{re} &lt;0" border="0" alt="" align="absmiddle" /> or <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?0%5Cle%20y_{re}%20%3C2" border="0" alt="" align="absmiddle" />, then we can assume that relative contribution by constellation +3 in the numerator and -3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P(y|b_0=1)}{P(y|b_0=0)}\approx\frac{%20e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}" border="0" alt="" align="absmiddle" />.</p>
<p>Taking logarithm on both sides,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}\ln\left(\frac{P(y|b_0=1)}{P(y|b_0=0)}\right)&amp;\approx&amp;\ln\left(\frac{%20e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}\right)\\&amp;=&amp;\frac{1}{2\sigma^2}(y_{re}+1)^2-(y_{re}-1)^2\\&amp;=&amp;\frac{1}{\sigma^2}2r\end{array}" border="0" alt="" align="absmiddle" />.</p>
<h3>Region #4 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re}\ge%202" border="0" alt="" align="absmiddle" />)</h3>
<p>If <strong><strong><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re}\ge%202" border="0" alt="" align="absmiddle" /></strong></strong>, then we can assume that relative contribution by constellation +1 in the numerator and -3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P(y|b_0=1)}{P(y|b_0=0)}\approx\frac{%20e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}" border="0" alt="" align="absmiddle" />.</p>
<p>Taking logarithm on both sides,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}\ln\left(\frac{P(y|b_0=1)}{P(y|b_0=0)}\right)&amp;\approx&amp;\ln\left(\frac{%20e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}\right)\\&amp;=&amp;\frac{1}{2\sigma^2}(y_{re}+1)^2-(y_{re}-3)^2\\&amp;=&amp;\frac{1}{\sigma^2}4(y_{re}-1)\end{array}" border="0" alt="" align="absmiddle" />.</p>
<h2>Soft bit for b1</h2>
<p>The bit mapping for the <strong>bit b1</strong> with 16QAM Gray coded mapping is shown below. We can see that when b0 toggles from 0 to 1, only the real part of the constellation is affected.</p>
<p><img class="alignnone size-full wp-image-646" title="Gray coded 16QAM bit mapping for bit b1" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/07/16qam_bit_mapping_bit_b1.png" alt="Gray coded 16QAM bit mapping for bit b1" width="400" height="138" /></p>
<p><strong>Figure: Bit b1 for 16QAM Gray coded mapping</strong></p>
<p>When the b1 is zero, the real part of the QAM constellation takes values -3 or +3. The conditional probability given b0 is zero is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P(y|b_0=0) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+3)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}" border="0" alt="" align="absmiddle" />.</p>
<p>When the bit0 is 1, the real part of the QAM constellation takes values -1 or +1. The conditional probability given b0 is zero is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P(y|b_1=1) = \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}+1)^2}{2\sigma^2}} + \frac{1}{\sqrt{2\pi \sigma^2}}e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}" border="0" alt="" align="absmiddle" />.</p>
<p>We can define a likelihood ratio that if</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?b1=1,\ if \frac{P(y|b_1=1)}{P(y|b_1=0)}\ge0" border="0" alt="" align="absmiddle" />.</p>
<p>The likelihood ratio for b1 is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P(y|b_1=1)}{P(y|b_1=0)}=\frac{e^{\frac{-(y_{re}+1)^2}{2\sigma^2}} + e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}+e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}" border="0" alt="" align="absmiddle" />.</p>
<h3>Region #1 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re}%20%3C%20-2" border="0" alt="" align="absmiddle" />), Region#2 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-2\le%20y_{re}%20%3C0" border="0" alt="" align="absmiddle" />)</h3>
<p>When <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re} &lt; -2" border="0" alt="" align="absmiddle" /> or <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-2\le%20y_{re}%20%3C0" border="0" alt="" align="absmiddle" />, then we can assume that relative contribution by constellation +1 in the numerator and +3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P(y|b_1=1)}{P(y|b_1=0)}\approx\frac{%20e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}" border="0" alt="" align="absmiddle" />.</p>
<p>Taking logarithm on both sides,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}\ln\left(\frac{P(y|b_1=1)}{P(y|b_1=0)}\right)&amp;\approx&amp;\ln\left(\frac{%20e^{\frac{-(y_{re}+1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}+3)^2}{2\sigma^2}}}\right)\\&amp;=&amp;\frac{1}{2\sigma^2}(y_{re}+3)^2-(y_{re}+1)^2\\&amp;=&amp;\frac{2}{\sigma^2}(r+2)\end{array}" border="0" alt="" align="absmiddle" />.</p>
<h3>Region #3 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?0%5Cle%20y_{re}%20%3C2" border="0" alt="" align="absmiddle" />), Region #4 (<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re}\ge%202" border="0" alt="" align="absmiddle" />)</h3>
<p>If <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?0%5Cle%20y_{re}%20%3C2" border="0" alt="" align="absmiddle" />or <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{re}\ge 2" border="0" alt="" align="absmiddle" />, then we can assume that relative contribution by constellation -1 in the numerator and -3 in the denominator is less and can be ignored. So the likelihood ratio reduces to,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P(y|b_1=1)}{P(y|b_1=0)}\approx\frac{%20e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}" border="0" alt="" align="absmiddle" />.</p>
<p>Taking logarithm on both sides,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}\ln\left(\frac{P(y|b_1=1)}{P(y|b_1=0)}\right)&amp;\approx&amp;\ln\left(\frac{%20e^{\frac{-(y_{re}-1)^2}{2\sigma^2}}}{e^{\frac{-(y_{re}-3)^2}{2\sigma^2}}}\right)\\&amp;=&amp;\frac{1}{2\sigma^2}(y_{re}-3)^2-(y_{re}-1)^2\\&amp;=&amp;\frac{2}{\sigma^2}(-y_{re}+2)\end{array}" border="0" alt="" align="absmiddle" />.</p>
<h2>Summary</h2>
<p>Note: As the factor  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{2}{\sigma^2}" border="0" alt="" align="absmiddle" /> is common to all the terms, it can be removed.</p>
<p>The softbit for bit b0 is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lllr}sb(b0) &amp; = &amp; 2(y_{re}+1), &amp; y_{re} &lt; -2 \\&lt;br /&gt; &amp; = &amp; y_{re}, &amp; -2 \le y_{re} &lt; 2\\ &amp; = &amp; 2(y_{re}-1), &amp; y_{re} &gt; 2\end{array}" border="0" alt="" align="absmiddle" /> .</p>
<p>The softbit for bit b1 is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lllr}sb(b1) &amp; = &amp; y_{re}+2, &amp; y_{re} \le 0 \\&lt;br /&gt; &amp; = &amp; -y_{re} + 2, &amp;  y_{re} &gt; 0\end{array}" border="0" alt="" align="absmiddle" />.</p>
<p>The softbit for bit b1 can be simplified to,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lllr}sb(b1) &amp; = &amp; -|y_{re}|+2, &amp; \mbox{for all } y_{re}\end{array}" border="0" alt="" align="absmiddle" />.</p>
<p>It is easy to observe that the softbits for bits <strong>b2, b3</strong> are identical to softbits for <strong>b0, b1</strong> respectively except that the decisions are based on the imaginary component of the received vector <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y_{im}" border="0" alt="" align="absmiddle" />.</p>
<p>The softbit for bit b2 is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lllr}sb(b2) &amp; = &amp; 2(y_{im}+1), &amp; y_{im} &lt; -2 \\&lt;br /&gt; &amp; = &amp; y_{im}, &amp; -2 \le y_{im} &lt; 2\\ &amp; = &amp; 2(y_{im}-1), &amp; y_{im} &gt; 2\end{array}" border="0" alt="" align="absmiddle" /> .</p>
<p>The softbit for bit b3 is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lllr}sb(b3) &amp; = &amp; -|y_{im}|+2, &amp; \mbox{for all }y_{im}\end{array}" border="0" alt="" align="absmiddle" />.</p>
<p>As described in the paper, <a title="Softbit for OFDM in HiperLAN" href="http://www.hpl.hp.com/techreports/2001/HPL-2001-246.pdf">Simplified Soft-Output Demapper for Binary Interleaved COFDM with Application to HIPERLAN/2, <em>Filippo Tosato1, Paola Bisaglia, HPL-2001-246 October 10th , 2001</em>,</a> the term</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2(y_{re}+1) \approx = y_{re}" border="0" alt="" align="absmiddle" /> and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2(y_{im}+1) \approx = y_{im}" border="0" alt="" align="absmiddle" />,</p>
<p>This simplification avoids the need for having a threshold check in the receiver for sofbits b0 and b2 respectively.</p>
<h2>Reference</h2>
<p><a title="Softbit for OFDM in HiperLAN" href="http://www.hpl.hp.com/techreports/2001/HPL-2001-246.pdf">Simplified Soft-Output Demapper for Binary Interleaved COFDM with Application to HIPERLAN/2, <em>Filippo Tosato1, Paola Bisaglia, HPL-2001-246 October 10th , 2001</em></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=EMrdiVZ_rkQ:EwfoahUe5KA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=EMrdiVZ_rkQ:EwfoahUe5KA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=EMrdiVZ_rkQ:EwfoahUe5KA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=EMrdiVZ_rkQ:EwfoahUe5KA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=EMrdiVZ_rkQ:EwfoahUe5KA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=EMrdiVZ_rkQ:EwfoahUe5KA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=EMrdiVZ_rkQ:EwfoahUe5KA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=EMrdiVZ_rkQ:EwfoahUe5KA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dsplogdotcom/~4/EMrdiVZ_rkQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/07/05/softbit-16qam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.dsplog.com/2009/07/05/softbit-16qam/</feedburner:origLink></item>
		<item>
		<title>Support Vibha’s Dream Mile event</title>
		<link>http://feedproxy.google.com/~r/dsplogdotcom/~3/N4CkYQ2VsKg/</link>
		<comments>http://www.dsplog.com/2009/06/19/donate-vibha-dream-mile/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 00:58:35 +0000</pubDate>
		<dc:creator>Krishna Pillai</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[vibha]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=605</guid>
		<description>My friend Mr. Balaji volunteers for Vibha, a non-profit  organization whose mission is to ensure that every underprivileged child attains his or her right to education, health and opportunity. 
Vibha, which was founded in 1991 has a volunteer network of 825 members spread across Atlanta, Austin, Bay Area, Boston, Chicago, Dallas, Houston, Jacksonville, Los Angeles, [...]</description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/F5L_jY0SjGMpFU1Zkm8SR5YgrVM/0/da"><img src="http://feedads.g.doubleclick.net/~a/F5L_jY0SjGMpFU1Zkm8SR5YgrVM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/F5L_jY0SjGMpFU1Zkm8SR5YgrVM/1/da"><img src="http://feedads.g.doubleclick.net/~a/F5L_jY0SjGMpFU1Zkm8SR5YgrVM/1/di" border="0" ismap="true"></img></a></p><p></p><p>My friend <a title="Balaji's profile in LinkedIn.com" href="http://www.linkedin.com/in/balajirajam">Mr. Balaji</a> volunteers for <a title="About Vibha" href="http://wiki.vibha.org/">Vibha</a>, a non-profit  organization whose mission is to ensure <strong><em>that every underprivileged child attains his or her right to education, health and opportunity. </em></strong></p>
<p>Vibha, which was founded in 1991 has a volunteer network of 825 members spread across Atlanta, Austin, Bay Area, Boston, Chicago, Dallas, Houston, Jacksonville, Los Angeles, Milwaukee, Twin Cities &#8211; Minnesota, New York, Philadelphia, Sacramento, Washington DC and several other cities across the US and India. Till date, we have supported about 190 projects in India and the US. You may read more about their projects <a href="http://projects.vibha.org/projects/">here.</a></p>
<p>To support Vibha&#8217;s cause, Mr Balaji has <strong><a title="donation page - life you can save" href="http://www.active.com/donate/thedreammile2009/lifeyoucansave">set up a donation page &#8211; The Dream Mile &#8230; A few miles for a million dreams</a></strong> . The Dream Mile 5k/10k Run/Walk is Vibha&#8217;s flagship event for increasing awareness and raising funds to help underprivileged children. Vibha has chosen  <a href="http://www.mynewredshoes.org/" target="_blank"><strong>My New Red Shoes</strong></a> as one of the beneficiaries of this event.</p>
<p>To find out more about <a href="http://www.mynewredshoes.org/" target="_blank"><strong>My New Red Shoes</strong></a>, please watch the video below.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/M-wCw-KT-zA&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/M-wCw-KT-zA&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>To find out more about<strong> Alamb, a project by Vibha </strong>in India, please watch the video below.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/M46Zm_XKE1k&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/M46Zm_XKE1k&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>If you like some of the work done by Vibha, please consider making a donation to the cause. As Mr. Balaji has mentioned:</p>
<p><span style="color: #000000;"><strong>$120</strong> can provide  <strong> education to a child</strong> for a whole year<br />
</span></p>
<p><span style="color: #000000;"><strong>$50</strong> can facilitate the <strong>rehabilitation of a mentally handicapped child</strong> for a year<br />
</span></p>
<p><span style="color: #000000;"><strong>$40</strong> can sponsor the <strong>non-formal education of a child</strong> for a whole year.</span></p>
<p><span style="color: #000000;"><strong>To donate for this cause, please visit the donation page <strong><a title="donation page - life you can save" href="http://www.active.com/donate/thedreammile2009/lifeyoucansave">The Dream Mile &#8230; A few miles for a million dreams</a></strong></strong></span></p>
<p>Thanks again for your support.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=N4CkYQ2VsKg:698BPuhXMWI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=N4CkYQ2VsKg:698BPuhXMWI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=N4CkYQ2VsKg:698BPuhXMWI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=N4CkYQ2VsKg:698BPuhXMWI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=N4CkYQ2VsKg:698BPuhXMWI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=N4CkYQ2VsKg:698BPuhXMWI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=N4CkYQ2VsKg:698BPuhXMWI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=N4CkYQ2VsKg:698BPuhXMWI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dsplogdotcom/~4/N4CkYQ2VsKg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/06/19/donate-vibha-dream-mile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dsplog.com/2009/06/19/donate-vibha-dream-mile/</feedburner:origLink></item>
		<item>
		<title>MSK transmitter and receiver</title>
		<link>http://feedproxy.google.com/~r/dsplogdotcom/~3/evQhyWpiN0E/</link>
		<comments>http://www.dsplog.com/2009/06/16/msk-transmitter-receiver/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 23:26:22 +0000</pubDate>
		<dc:creator>Krishna Pillai</dc:creator>
				<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[AWGN]]></category>
		<category><![CDATA[FSK]]></category>
		<category><![CDATA[MSK]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=591</guid>
		<description>In a post on Minimum Shift Keying (MSK), we had discussed that MSK uses two frequencies which are separated by  and phase discontinuity is avoided in symbol boundaries. In that post, we had discussed MSK as a continuous phase transmit signal and showed that phase changes through 0, 90, 180 and 270 degrees. In [...]</description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/HduirwSBRf4v2Jjm8rwv4Www1iw/0/da"><img src="http://feedads.g.doubleclick.net/~a/HduirwSBRf4v2Jjm8rwv4Www1iw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/HduirwSBRf4v2Jjm8rwv4Www1iw/1/da"><img src="http://feedads.g.doubleclick.net/~a/HduirwSBRf4v2Jjm8rwv4Www1iw/1/di" border="0" ismap="true"></img></a></p><p></p><p>In a post on <a title="MSK in dsplog.com" href="http://www.dsplog.com/2008/01/19/simulating-minimum-shift-keying-transmitter/">Minimum Shift Keying (MSK)</a>, we had discussed that MSK uses two frequencies which are separated by <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{1}{2T}" border="0" alt="" align="absmiddle" /> and phase discontinuity is avoided in symbol boundaries. In that post, we had discussed MSK as a continuous phase transmit signal and showed that phase changes through 0, 90, 180 and 270 degrees. In this post, we will discuss MSK transmission as a variant of offset-QPSK technique. Further, we will discuss the receiver structure and show that bit error rate with coherent demodulation of MSK (using <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /> time) is equivalent to that of BPSK modulation. The channel assumed is AWGN.</p>
<p><span id="more-591"></span></p>
<h2>MSK transmitter</h2>
<p>Using bit-sequence and the explanation provided in the excellent paper  <a title="MSK paper in IEEExplore" href="http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01089999"><em><strong>Minimum shift keying: A spectrally efficient modulation</strong></em></a> <em>Subbarayan Pasupathy, IEEE Communications Magazine, July 1979 </em> as a reference,  let us proceed as follows:</p>
<p>a) Consider a 8 bit sequence which is BPSK modulated as [+1, +1, -1, -1, -1, +1, +1 , +1] having symbol duration of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" />.</p>
<p>b) The same sequence can be sent over QPSK modulation, where even bits are send on I-arm and the odd bits are send over Q-arm. To keep the same data rate, the bits on the I/Q arm are send for <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /> symbol periods.</p>
<p><img class="alignnone size-full wp-image-592" title="bpsk_qpsk_transmit_sequence" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/06/bpsk_qpsk_transmit_sequence.png" alt="bpsk_qpsk_transmit_sequence" width="340" height="296" /></p>
<p><strong>Figure: Transmission of BPSK/QPSK modulation</strong></p>
<p>c) Now, a variant of QPSK called <a title="offset QPSK in wiki" href="http://en.wikipedia.org/wiki/QPSK#Offset_QPSK_.28OQPSK.29">offset-QPSK (O-QPSK)</a> can be generated by having a relative delay between the I-arm and Q-arm by symbol period <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" />.</p>
<p><em>Note: The advantage of O-QPSK is that phase of the signal can jump at a maximum of only 90 degrees (when compared to 180 degrees in QPSK). Having a smaller phase jump ensures that the spectrum of the waveform is cleaner even when there are distortions in the transmitter.</em></p>
<p>d) Researchers have found that they can make the phase transitions zero, if  rectangular pulse shapes used in O-QPSK are replaced by sinusoidal pulse shapes i.e by using <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\cos(\frac{\pi}{2T})" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\sin(\frac{\pi}{2T})" border="0" alt="" align="absmiddle" /> on the I and Q arm respectively. This is also known as <strong>Minimum Shift Keying (MSK)</strong> !</p>
<p><img class="alignnone size-full wp-image-594" title="OQPSK and MSK transmit sequence" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/06/oqpsk_msk_transmit_sequence.png" alt="OQPSK and MSK transmit sequence" width="340" height="359" /></p>
<p><strong>Figure: Transmission of O-QPSK/MSK modulation</strong></p>
<p>Assuming that the carrier frequency is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_c" border="0" alt="" align="absmiddle" />, the MSK transmission can be written as</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x(t) = x_{e}(t)\cos(\frac{\pi}{2T})\cos(2\pi f_ct) + x_{o}(t)\sin(\frac{\pi}{2T})\sin(2\pi f_ct)" border="0" alt="" align="absmiddle" />,</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_{e}" border="0" alt="" align="absmiddle" />are the even pulse sequence (send on the I arm) and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_o" border="0" alt="" align="absmiddle" />are the odd pulse sequence (send on the Q arm).</p>
<p>Using trigonometric identities, the above equation can also be written as,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x(t) = \cos\left(2\pi f_c t + b_k(t)\frac{\pi t}{2T} +\phi_k\right)" border="0" alt="" align="absmiddle" />,</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?b_k = -x_ex_o" border="0" alt="" align="absmiddle" /> and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{llr}\phi_k &amp; = 0  , &amp; if x_e = 0\\ &amp; = \pi, &amp; if x_e = -1 \end{array} " border="0" alt="" align="absmiddle" />.</p>
<p>We can see that MSK can indeed be visualized as a form of frequency shift keying (FSK), where the two frequencies are <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?fc+\frac{1}{4T}" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?fc-\frac{1}{4T}" border="0" alt="" align="absmiddle" />.</p>
<p>Note: This equation is comparable to that described in the post <a title="MSK transmitter in dsplog.com" href="http://www.dsplog.com/2008/01/19/simulating-minimum-shift-keying-transmitter/">Simulating MSK transmission</a></p>
<p>The MSK transmitter block diagram is shown below</p>
<p><img class="alignnone size-full wp-image-596" title="MSK transmit block diagram" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/06/msk_transmit_block_diagram1.png" alt="MSK transmit block diagram" width="400" height="214" /></p>
<p><strong>Figure: Block diagram of MSK transmitter</strong></p>
<h2>MSK Receiver</h2>
<p>The receiver for the MSK transmission can be constructed as follows:</p>
<p>a) Down convert the RF signal to I and Q arms by I/Q down conversion</p>
<p>b) Multiply the I and Q arms by <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Ccos%28%5Cfrac%7B%5Cpi%7D%7B2T%7D%29" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Csin%28%5Cfrac%7B%5Cpi%7D%7B2T%7D%29" border="0" alt="" align="absmiddle" /> respectively</p>
<p>c) Integrate over the a period of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /></p>
<p>d) On I arm, perform hard decision decoding on the integrator output at every <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /> to get the even bits  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_%7Be%7D" border="0" alt="" align="absmiddle" /></p>
<p>e) On Q arm, delay by time <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" />, perform hard decision decoding on the integrator output at every <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /> to get the odd bits <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x_o" border="0" alt="" align="absmiddle" /></p>
<p>The block diagram is shown below:<img class="alignnone size-full wp-image-597" title="MSK receiver block diagram" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/06/msk_receive_block_diagram.png" alt="MSK receiver block diagram" width="400" height="186" /></p>
<p><strong>Figure: MSK receiver block diagram</strong></p>
<h2>Simulation Model</h2>
<p>The Matlab/Octave script performs the following</p>
<p>(a) Generate random binary sequence of +1’s and -1’s.</p>
<p>(b) Group them into even and odd symbols</p>
<p>(c) Perform rectangular pulse shaping on the even and odd symbols, delay the odd symbols by <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" /></p>
<p>(d) Multiply the even and odd symbols by <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Ccos%28%5Cfrac%7B%5Cpi%7D%7B2T%7D%29" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Csin%28%5Cfrac%7B%5Cpi%7D%7B2T%7D%29" border="0" alt="" align="absmiddle" /> respectively and transmit</p>
<p>(e) Add additive white Gaussian noise (AWGN) for the given value of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_b%7D%7BN_0%7D" border="0" alt="" align="absmiddle" /></p>
<p>(f) Multiply the I and Q arm by  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Ccos%28%5Cfrac%7B%5Cpi%7D%7B2T%7D%29" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Csin%28%5Cfrac%7B%5Cpi%7D%7B2T%7D%29" border="0" alt="" align="absmiddle" /> respectively and integrate over period <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /></p>
<p>(g) Using the I arm, recover even bits by performing hard decision decoding on integrator output every <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /> time</p>
<p>(h) Using the Q arm, recover even bits by performing hard decision decoding on integrator output delayed by time <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" /> every <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" /> time</p>
<p>(i) Count the bit errors</p>
<p>(j) Repeat for multiple values of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_b%7D%7BN_0%7D" 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/2009/06/script_ber_msk_awgn.m">Matlab/Octave script for computing BER with MSK transmission and reception in AWGN channel</a></p>
<p><img class="alignnone size-full wp-image-599" title="BER plot for MSK transmission and reception in AWGN channel" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/06/ber_msk_awgn.png" alt="BER plot for MSK transmission and reception in AWGN channel" width="448" height="336" /></p>
<p><strong>Figure: BER plot for MSK transmission/reception in AWGN channel</strong></p>
<h2>Observations</h2>
<p>1./ The BER with MSK is identical to <a title="BER with BPSK in AWGN in dsplog.com" href="http://www.dsplog.com/2007/08/05/bit-error-probability-for-bpsk-modulation/">BER with BPSK modulation</a>. This is because MSK demodulation in the above simulation is performed by integrating the received symbol over  time <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2T" border="0" alt="" align="absmiddle" />.</p>
<p>2./ Note that it is indeed possible to demodulate MSK by observing only over time <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" /> and demodulate it as a FSK with two carriers at <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?fc+\frac{1}{4T}" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?fc-\frac{1}{4T}" border="0" alt="" align="absmiddle" />. If such a demodulation is performed, then the BER with MSK will be 3dB poorer (comparable to <a title="BER with FSK in dsplog.com" href="http://www.dsplog.com/2007/08/30/bit-error-rate-for-frequency-shift-keying-with-coherent-demodulation/">FSK demodulation</a>) when compared to BPSK modulation.</p>
<h2>Reference</h2>
<p><a title="MSK paper in IEEExplore" href="http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01089999"><strong>Minimum shift keying: A spectrally efficient modulation</strong></a> Subbarayan Pasupathy, IEEE Communications Magazine, July 1979</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=evQhyWpiN0E:C-vqiHW8y-o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=evQhyWpiN0E:C-vqiHW8y-o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=evQhyWpiN0E:C-vqiHW8y-o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=evQhyWpiN0E:C-vqiHW8y-o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=evQhyWpiN0E:C-vqiHW8y-o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=evQhyWpiN0E:C-vqiHW8y-o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=evQhyWpiN0E:C-vqiHW8y-o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=evQhyWpiN0E:C-vqiHW8y-o:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dsplogdotcom/~4/evQhyWpiN0E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/06/16/msk-transmitter-receiver/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.dsplog.com/2009/06/16/msk-transmitter-receiver/</feedburner:origLink></item>
		<item>
		<title>Solved objective questions (GATE)</title>
		<link>http://feedproxy.google.com/~r/dsplogdotcom/~3/QM6xSi79KjI/</link>
		<comments>http://www.dsplog.com/2009/05/17/gate-objective-questions-solved/#comments</comments>
		<pubDate>Sun, 17 May 2009 02:18:36 +0000</pubDate>
		<dc:creator>RV</dc:creator>
				<category><![CDATA[objective]]></category>
		<category><![CDATA[FM]]></category>
		<category><![CDATA[GATE]]></category>
		<category><![CDATA[SQNR]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=569</guid>
		<description>Using the services of a new author &amp;#8216;RV&amp;#8217;, we are starting a new series of articles in the blog. Typically in India, many of the competitive examinations pertaining to Engineering (GATE, IES) and rectuitment by private and public sector companies (ISRO, BSNL, BEL, BHEL) uses examination with objective questions for the first level screening. We [...]</description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/3QSxfebcsiEsDDchbVIk9NC_GNQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/3QSxfebcsiEsDDchbVIk9NC_GNQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3QSxfebcsiEsDDchbVIk9NC_GNQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/3QSxfebcsiEsDDchbVIk9NC_GNQ/1/di" border="0" ismap="true"></img></a></p><p></p><p><em>Using the services of a new author &#8216;RV&#8217;, we are starting a new series of articles in the blog. Typically in India, many of the competitive examinations pertaining to Engineering (<a title="GATE 2009" href="http://www.iitk.ac.in/gate/">GATE</a>, <a title="Indian Engineering Services" href="http://www.nist.edu/plcment/ies.htm">IES</a>) and rectuitment by private and public sector companies (<a title="Indian Space Research Organization" href="http://www.isro.org">ISRO</a>, <a title="BSNL" href="www.bsnl.co.in/">BSNL</a>, <a title="Bharath Electronics Limited" href="www.bel-india.com/">BEL</a>, <a title="Bharath Heavy Electricals Limited" href="www.bhel.com/">BHEL</a>) uses examination with objective questions for the first level screening. We are hoping that this <strong>Objective Question Answer series, mostly discussing topics pertaining to Electronics and Communication Engineering</strong>, will help those preparing for those examination. Kindly do give your feedback via comment and/or email. Thanks, Krishna</em></p>
<h3><span id="more-569"></span></h3>
<h3>Q#1: SQNR with pulse code modulation</h3>
<p>If the number of bits per sample in a <a title="wiki entry on pulse coded modulation" href="http://en.wikipedia.org/wiki/Pulse-code_modulation">Pulse Coded Modulation</a> (PCM) system is increased from 5 bits to 6 bits,the improvement in signal to quantization noise ratio will be (a) 3 dB (b) 6 dB (c) 2pi dB (d) 0 dB <strong></strong></p>
<p><strong>Explanation</strong></p>
<p>In a pulse coded modulation system, the analog voltage is quantized into discrete voltage. In the post on <a title="SQNR for sinewave in dsplog.com" href="http://www.dsplog.com/2007/03/19/signal-to-quantization-noise-in-quantized-sinusoidal/">Signal to Quantization Noise Ratio (SNR) for a quantized sinusoidal</a>, we have derived that the</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?SQNR_{dB} = 6.02b + 1.76" border="0" alt="" align="absmiddle" />, where <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?b" border="0" alt="" align="absmiddle" /> is the number of bits in the pulse coded modulation system.</p>
<p><strong>So if the number of bits in a pulse coded modulation system (aka ADC) is increased by 1, the improvement in SQNR is around 6dB. Right answer (b). </strong></p>
<h3>Q#2 Image frequency in superheterodyne receiver</h3>
<p>A superheterodyne radio receiver with an intermediate frequency of 455 kHz is tuned to a station operating at 1200 KHz. The associated image frequency is ________ kHz</p>
<p>(a) 1200 (b) 2110 (c) 1100 (d) 455</p>
<p style="text-align: left;"><strong>Explanation</strong></p>
<p style="text-align: left;">The simple structure of an RF mixer used in a super hetero-dyne receiver is shown below.</p>
<p style="text-align: center;"><img class="size-full wp-image-571 aligncenter" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/05/rf_mixer.png" alt="RF mixer in super hetreodyne receiver" width="180" height="164" /></p>
<p style="text-align: left;"><strong>Figure: RF mixer in a superheterodyne receiver</strong></p>
<p>Lets assume the following:</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{RF}" border="0" alt="" align="absmiddle" /> is the RF frequency,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}" border="0" alt="" align="absmiddle" /> is the local oscillator frequency and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{IF}" border="0" alt="" align="absmiddle" />is the intermediate frequency.</p>
<p>We know, from basic trigonometric identities that the output at the mixer will consist of spectrum at <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\pm\left(f_{RF}+f_{LO}\right)" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\pm\left(f_{RF}-f_{LO}\right)" border="0" alt="" align="absmiddle" />.</p>
<p>Note:</p>
<p>We can safely assume that the the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\pm\left(f_{RF}+f_{LO}\right)" border="0" alt="" align="absmiddle" /> is filtered away. The output of the mixer is a real signal and hence have both +ve and -ve spectrum. Please refer to the post on <a title="negative frequency on dsplog.com" href="http://www.dsplog.com/2008/08/08/negative-frequency/">Negative frequency</a> for bit more details on spectrum of real and complex sinusoidals.</p>
<p>In our example, we have <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{RF}=1200kHz" border="0" alt="" align="absmiddle" /> and with <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{IF}=455kHz" border="0" alt="" align="absmiddle" />. The possible choices of LO frequency are</p>
<p>(a) <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}=745kHz" border="0" alt="" align="absmiddle" />, if <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}&lt;f_{RF}" border="0" alt="" align="absmiddle" /></p>
<p>(b) <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}=1655kHz" border="0" alt="" align="absmiddle" />, if <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}&gt;f_{RF}" border="0" alt="" align="absmiddle" /></p>
<p>Now, if we assume that</p>
<p>(a) <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}=745kHz" border="0" alt="" align="absmiddle" />, its easy to guess that both <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{RF}=1200kHz" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{RF}=290kHz (745-455)" border="0" alt="" align="absmiddle" /> can result in <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{IF}=455kHz" border="0" alt="" align="absmiddle" /></p>
<p>(b) <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}=1655kHz" border="0" alt="" align="absmiddle" />, its easy to guess that both <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{RF}=1200kHz" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{RF}=2100kHz (1655-455)" border="0" alt="" align="absmiddle" />can result in <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{IF}=455kHz" border="0" alt="" align="absmiddle" />.</p>
<p>So the image frequencies are <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{IM}=290kHz" border="0" alt="" align="absmiddle" /> <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}&lt;f_{RF}" border="0" alt="" align="absmiddle" /> and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{IM}=2100kHz" border="0" alt="" align="absmiddle" /> if <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}&gt;f_{RF}" border="0" alt="" align="absmiddle" />.</p>
<p><strong>Given that we do not have 290kHz as a choice, its reasonable to assume that the questionnaire assumed <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{LO}&gt;f_{RF}" border="0" alt="" align="absmiddle" /> and hence <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_{IM}=2100kHz" border="0" alt="" align="absmiddle" />. </strong><strong>Right answer : (b)</strong></p>
<h3>Q#3 Bandwidth of wide band FM</h3>
<p>A 10 MHz carrier is frequency modulated with a sinusoidal signal at 500Hz, the maximum frequency deviation being 50 KHz. The bandwidth required as given by the Carson’s rule is</p>
<p>(a) 101kHz (b) 50kHz (c) 105 kHz (d) 100kHz</p>
<p><strong>Explanation</strong></p>
<p>In an FM transmission if we send a a sinusoidal <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\cos(2pi f_m t)" border="0" alt="" align="absmiddle" /> at frequency <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_m" border="0" alt="" align="absmiddle" />is</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t) = \cos \left[ 2\pi f_ct+\frac{\Delta f}{f_m}\sin(2pi f_mt) \right]" border="0" alt="" align="absmiddle" />, where <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\Delta f" border="0" alt="" align="absmiddle" /> is the maximum frequency deviation caused by the message signal.</p>
<p>With some sophisticated mathematical tricks, the signal can be represented as, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t) = J_0(\beta) \cos (2pi f_c t) + \\ \sum_{k=1}^{\infty}J_{2k}(\beta)\left[ \sin(2pi (f_c + 2kf_m)t) + \sin(2pi (f_c - 2kf_m)t)\right] + \\\sum_{k=0}^{\infty}J_{2k+1}(\beta)\left[ \cos(2pi (f_c + (2k+1)f_m)t) - \cos(2pi (f_c - (2k+1)f_m)t)\right]" border="0" alt="" align="absmiddle" />,</p>
<p>where <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\beta = \frac{\Delta f}{f_m}" border="0" alt="" align="absmiddle" /> is called the modulation index, and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?J_n(\beta)" border="0" alt="" align="absmiddle" /> is the Bessel function of first kind for the value <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\beta" border="0" alt="" align="absmiddle" />.</p>
<p>Strictly, the spectrum of the FM modulated signal has components at frequencies <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_c \pm kf_m" border="0" alt="" align="absmiddle" /> where <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k" border="0" alt="" align="absmiddle" /> is an integer from 0 to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?+\infty" border="0" alt="" align="absmiddle" />.</p>
<p>However, the value of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?J_n(\beta)" border="0" alt="" align="absmiddle" /> tends to 0 as <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k" border="0" alt="" align="absmiddle" />.</p>
<p><strong>Narrow band FM</strong></p>
<p>If <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\beta&lt;&lt;1" border="0" alt="" align="absmiddle" />, then <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?J_0(\beta)\approx1" border="0" alt="" align="absmiddle" />, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?J_1(\beta) \approx frac{\beta}{2}" border="0" alt="" align="absmiddle" />, and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?J_k(\beta) \approx 0, k &gt; 1" border="0" alt="" align="absmiddle" /></p>
<p>Then the FM signal can be approximated as,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t) = J_0(\beta) \cos (2pi f_c t) +  J_{1}(\beta)\left[ \cos(2pi (f_c + f_m)t) - \cos(2pi (f_c - f_m)t)\right]" border="0" alt="" align="absmiddle" />.</p>
<p>This type of FM signal, also called as narrow band FM requires bandwidth of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2f_m" border="0" alt="" align="absmiddle" />. <strong></strong></p>
<p><strong>Wideband FM</strong></p>
<p>In a wideband FM, the modulation index <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\beta \gg 1" border="0" alt="" align="absmiddle" /> i.e <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\Delta f \gg f_m" border="0" alt="" align="absmiddle" />. Its intuitiveve to guess that we require at-least <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2\Delta f" border="0" alt="" align="absmiddle" /> as the bandwidth. Further, according to <a href="http://en.wikipedia.org/wiki/Carson_bandwidth_rule">Carson’s rule</a> bandwidth of FM in the scenario is given by <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2(\Delta f + f_m)" border="0" alt="" align="absmiddle" />. <strong></strong></p>
<p><strong>So, for our question, the bandwidth is 2*(50+0.5) = 101kHz. Right answer (a)</strong></p>
<p><strong>Reference : </strong><a href="http://www.st-andrews.ac.uk/~www_pa/Scots_Guide/RadCom/part12/page1.html">Frequency Modulation, Phase Modulation and FM spectra</a><strong> </strong></p>
<h3>Q#4 Aliases with sampling</h3>
<p>A 1.0 kHz signal is sampled at the rate of 1.8 kHz and the samples are applied to an ideal rectangular LPF with cut-off frequency of 1.1 kHz, then the output of the filter contains</p>
<p>(a) Only 800 Hz component (b) 800 Hz and 900 Hz components</p>
<p>(c) 800 Hz and 100 Hz components (d) 800Hz, 900 and 100 Hz components <strong></strong></p>
<p><strong>Explanation</strong></p>
<p>According to Nyquist sampling theorem, a bandlimited signal should be sampled atleast greater than the twice of the maximum signal. If this condition is not satisfied aliasing will take place. <img class="aligncenter size-full wp-image-578" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/05/aliasing_with_sampling.png" alt="Aliasing caused due to under sampling" width="300" height="158" /><strong>Figure: Aliasing caused due to under sampling</strong></p>
<p>In the above question, 1.0 kHz signal should be sampled at least at the rate of 2kHz. In this example the sampling was performed at 1.8kHz, whih means the frequency range which does not cause aliasing is from -0.9kHz to +0.9kHz. Any frequency outside this range will get aliased to this range.</p>
<p>In general, if the frequency <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_m" border="0" alt="" align="absmiddle" /> and the sampling frequency is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_s" border="0" alt="" align="absmiddle" />, the aliased signal will be at <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?f_m \pm kf_s" border="0" alt="" align="absmiddle" /> .</p>
<p>In this example, the frequency at 1kHz will get aliased to 1-1.8 = -0.8kHz and the frequency at -1kHz will get aliased to -1+1.8 = 0.8kHz. <strong>After low pass filtering by 1.1kHz, only 0.8kHz component remains. Right answer (a)</strong></p>
<h3>Q#5: Sampling Double sideband suppressed carrier signal<strong> </strong></h3>
<p>A 4 GHz carrier is DSB Sc modulated by a low pass message signal with maximum frequency of 2 MHz. The resultant signal is to be ideally sampled. The minimum frequency of the sampling in train should be</p>
<p>(a) 4 MHz (b) 8 MHz (c) 8 GHz (d) 8.004 GHz <strong></strong></p>
<p><strong>Explanation</strong></p>
<p>According to Nyquist sampling theorem, a bandlimited signal should be sampled equal to greater than the twice of the maximum frequency component of the signal. In this example, the spectrum after up-conversion has a maximum frequency of 4000MHz + 2MHz = 4002MHz. <strong>So the sampling frequency required to prevent aliasing 8004MHz = 8.004GHz. Right answer (d)</strong></p>
<p><strong><br />
</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=QM6xSi79KjI:rtG-jSbmVuM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=QM6xSi79KjI:rtG-jSbmVuM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=QM6xSi79KjI:rtG-jSbmVuM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=QM6xSi79KjI:rtG-jSbmVuM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=QM6xSi79KjI:rtG-jSbmVuM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=QM6xSi79KjI:rtG-jSbmVuM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=QM6xSi79KjI:rtG-jSbmVuM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=QM6xSi79KjI:rtG-jSbmVuM:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dsplogdotcom/~4/QM6xSi79KjI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/05/17/gate-objective-questions-solved/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.dsplog.com/2009/05/17/gate-objective-questions-solved/</feedburner:origLink></item>
		<item>
		<title>BER with Matched Filtering</title>
		<link>http://feedproxy.google.com/~r/dsplogdotcom/~3/Gale88_oOqA/</link>
		<comments>http://www.dsplog.com/2009/05/08/ber-with-matched-filtering/#comments</comments>
		<pubDate>Fri, 08 May 2009 00:40:18 +0000</pubDate>
		<dc:creator>Krishna Pillai</dc:creator>
				<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[Filter]]></category>
		<category><![CDATA[AWGN]]></category>
		<category><![CDATA[BPSK]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=551</guid>
		<description>In the post on transmit pulse shaping filter, we had discussed pulse shaping using rectangular and sinc. In this post we will discuss about optimal receiver structure when pulse shaping is used at the transmitter. The receiver structure is also called as matched filter. For the discussion, we will assume rectangular pulse shaping, the channel [...]</description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/s6sKPxE4VWWljR1TnkWMjM0c3Os/0/da"><img src="http://feedads.g.doubleclick.net/~a/s6sKPxE4VWWljR1TnkWMjM0c3Os/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/s6sKPxE4VWWljR1TnkWMjM0c3Os/1/da"><img src="http://feedads.g.doubleclick.net/~a/s6sKPxE4VWWljR1TnkWMjM0c3Os/1/di" border="0" ismap="true"></img></a></p><p></p><p>In the post on <a title="Discussion on transmit pulse shaping filter in dsplog.com" href="http://www.dsplog.com/2008/04/14/transmit-pulse-shape-nyquist-sinc-rectangular/">transmit pulse shaping filter</a>, we had discussed pulse shaping using rectangular and sinc. In this post we will discuss about optimal receiver structure when pulse shaping is used at the transmitter. The receiver structure is also called as matched filter. For the discussion, we will assume rectangular pulse shaping, the channel is AWGN only and the modulation is BPSK.</p>
<h2><span id="more-551"></span>Transmitter</h2>
<p>The simplified transmitter structure is as shown below:</p>
<p style="text-align: center;">
<div id="attachment_552" class="wp-caption alignnone" style="width: 400px">
	<img class="size-full wp-image-552" title="transmit_pulse_shaping_filter_block_diagram" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/05/transmit_pulse_shaping_filter_block_diagram.png" alt="Transmit pulse shaping filter" width="400" height="47" />
	<p class="wp-caption-text">Transmit pulse shaping filter</p>
</div>
<p><strong>Figure: Transmit block diagram</strong></p>
<p>The sequence of operation are as follows:</p>
<p>a). The random binary data comes as input to the the BPSK modulator circuit.</p>
<p>b). The BPSK modulator maps bits to symbols i.e bit0 to -1 and bit1 to +1</p>
<p>The sequence of transmit symbols maybe visualized as follows.</p>
<p><a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/04/tx_symbols.png"><img class="alignnone size-full wp-image-115" title="Transmit Baseband symbols" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/04/tx_symbols.png" alt="transmission of sequence of baseband symbols" width="446" height="110" /></a></p>
<p><strong>Figure: Transmit symbols for baseband PAM transmission</strong></p>
<p>c). The upsampling block (the block with upward arrow) insert zeros between the samples based on the oversampling factor. For example, if the oversampling factor is 4, the block inserts 3 zeros between samples.</p>
<p>d). The last block in the chain is the filter, where the upsampled sequence is convolved with the filter. In this example, we have assumued rectangular filtering (also known as zero order hold), i.e. to repeat the current symbol till the next symbol arrives and so on. Mathematically, the filter can be represented as,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}g(t)&amp;=&amp;1,\mbox{   } 0\le t &lt; T\\&amp;=&amp; 0\mbox{   }  \mbox{elsewhere}\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>The filtered waveform can be as shown below.</p>
<p><a href="http://www.dsplog.com/db-install/wp-content/uploads/2008/04/tx_symbol_rectangular_filter.png"><img class="alignnone size-full wp-image-116" title="Transmit waveform with reactangular filter" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/04/tx_symbol_rectangular_filter.png" alt="" width="440" height="267" /></a></p>
<p><strong>Figure: Baseband PAM transmisison with rectangular filtering</strong></p>
<p>The transmit spectrum assume that the symbol duration <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T=1\mu s" border="0" alt="" align="absmiddle" /> is shown below.</p>
<p><img class="alignnone size-full wp-image-556" title="Transmit spectrum for a rectangular matched filter" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/05/transmit_spectrum_rectangular_filter.png" alt="Transmit spectrum for a rectangular matched filter" width="448" height="336" /></p>
<p style="text-align: center;"><strong>Figure: Transmit spectrum for rectangular matched filter</strong></p>
<h2>Matched filter Receiver</h2>
<p>The filter having an impulse response <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h(t) = g(T-t)" border="0" alt="" align="absmiddle" /> is called a matched filter of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?g(t)" border="0" alt="" align="absmiddle" />.</p>
<div id="attachment_555" class="wp-caption alignnone" style="width: 400px">
	<img class="size-full wp-image-555" title="Matched filter response for rectangular pulse" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/05/matched_filter_response_rectangular.png" alt="Matched filter response for rectangular pulse" width="400" height="110" />
	<p class="wp-caption-text">Matched filter response for rectangular pulse</p>
</div>
<p><strong>Figure: Matched filter response for a rectangular pulse shaping filter</strong></p>
<p>In this example, as <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?g(t)" border="0" alt="" align="absmiddle" /> is a rectangular function, the mtched filter is also rectangular.</p>
<p>We pass the received signal <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t)" border="0" alt="" align="absmiddle" /> through the matched filter <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h(t)" border="0" alt="" align="absmiddle" />. The output of the convolution peaks at time <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" /> and we sample the at that time instant to perform the demodulation.</p>
<p>Further,<strong> if the filtered transmit signal <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t)" border="0" alt="" align="absmiddle" /> is corrupted by noise, the filter with impulse response matched to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t)" border="0" alt="" align="absmiddle" /> maximizes the output Signal to Noise Ratio</strong>. The proof for this claim is detailed in Chapter 5.1.2 Matched Filter Demodulator in <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communications-John-Proakis%2Fdp%2F0072321113&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communications by John Proakis.</a></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) Upsample by inserting zeros and the convolve with rectangular filter</p>
<p>(c) Add white Gaussian noise.</p>
<p>(d) Convolve the received samples with matched filter, and extract output at time T</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/2009/05/script_ber_bpsk_awgn_with_matched_filter.m"> Matlab/Octave script for computing the BER for BPSK modulation in AWGN only with using rectangular pulse shaping at the transmitter and corresponding matched filter</a></p>
<p><img class="alignnone size-full wp-image-558" title="BER plot for BPSK in AWGN with rectangular pulse shaping and matched filtering" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/05/ber_plot_ber_bpsk_awgn_matched_filter.png" alt="BER plot for BPSK in AWGN with rectangular pulse shaping and matched filtering" width="448" height="336" /></p>
<p><strong>Figure: BER plot for BPSK with rectangular pulse shaping and matched filtering</strong></p>
<h2>Observations<strong><br />
</strong></h2>
<p>Can see that the simulated results are in good agreement with the <a title="derivation of BER for BPSK in dsplog.com" href="http://www.dsplog.com/2007/08/05/bit-error-probability-for-bpsk-modulation/">theoretical BER results for BPSK in AWGN in AWGN</a>.</p>
<h2>References</h2>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FDigital-Communications-John-Proakis%2Fdp%2F0072321113&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Digital Communications by John Proakis.</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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=Gale88_oOqA:j-GyZ-c060s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=Gale88_oOqA:j-GyZ-c060s:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=Gale88_oOqA:j-GyZ-c060s:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=Gale88_oOqA:j-GyZ-c060s:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=Gale88_oOqA:j-GyZ-c060s:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=Gale88_oOqA:j-GyZ-c060s:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=Gale88_oOqA:j-GyZ-c060s:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=Gale88_oOqA:j-GyZ-c060s:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dsplogdotcom/~4/Gale88_oOqA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/05/08/ber-with-matched-filtering/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://www.dsplog.com/2009/05/08/ber-with-matched-filtering/</feedburner:origLink></item>
		<item>
		<title>Six equalizers for V-BLAST</title>
		<link>http://feedproxy.google.com/~r/dsplogdotcom/~3/A5suz9KH6Js/</link>
		<comments>http://www.dsplog.com/2009/04/21/six-equalizers-for-v-blast/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 00:31:19 +0000</pubDate>
		<dc:creator>Krishna Pillai</dc:creator>
				<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[MIMO]]></category>
		<category><![CDATA[ML]]></category>
		<category><![CDATA[MMSE]]></category>
		<category><![CDATA[SIC]]></category>
		<category><![CDATA[VBLAST]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=533</guid>
		<description>In the past, we had discussed several posts on two transmit two receive MIMO communication, where the transmission was based on V-BLAST. The details about V-BLAST can be read from the landmark paper V-BLAST: An architeture for realizing very high data rates over the rich scattering wireless channel &amp;#8211; P. W. Wolniansky, G. J. Foschini, [...]</description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/QBwmcMFD3nJYJ8RcSZ0ueRoMJLE/0/da"><img src="http://feedads.g.doubleclick.net/~a/QBwmcMFD3nJYJ8RcSZ0ueRoMJLE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/QBwmcMFD3nJYJ8RcSZ0ueRoMJLE/1/da"><img src="http://feedads.g.doubleclick.net/~a/QBwmcMFD3nJYJ8RcSZ0ueRoMJLE/1/di" border="0" ismap="true"></img></a></p><p></p><p>In the past, we had discussed several posts on two transmit two receive MIMO communication, where the transmission was based on V-BLAST. The details about V-BLAST can be read from the landmark paper <a title="V-BLAST paper from Bell Labs" href="www1.bell-labs.com/project/blast/vblast-issse-98.pdf"><strong><em>V-BLAST: An architeture for realizing very high data rates over the rich scattering wireless channel &#8211; P. W. Wolniansky, G. J. Foschini, G. D. Golden, R. A. Valenzuela</em></strong>.</a> 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-533"></span></p>
<p><img class="alignnone" title="2 transmit, 2 receive MIMO link" 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 MIMO channel</strong></p>
<h2>V-BLAST transmission for 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>
<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>System Model</h2>
<p>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>
<h2>Receiver structures</h2>
<h3><a href="http://www.dsplog.com/2008/10/24/mimo-zero-forcing/">MIMO with Zero Forcing Equalization</a></h3>
<p>The zero forcing approach tries 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>
<h3><a href="http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/">MIMO with MMSE Equalization</a></h3>
<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>
<h3><a href="http://www.dsplog.com/2008/11/09/mimo-zero-forcing-successive-interference-cancellation/">Zero Forcing Equalization with Successive Interference Cancellation</a></h3>
<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>
<h3><a href="http://www.dsplog.com/2008/11/29/mimo-zf-sic-optimal-order/">Zero Forcing Equalization with Optimally ordered Successive Interference Cancellation</a></h3>
<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>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" /> and then re-estimate <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" />.</p>
<h3><a href="http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/">MMSE equalization with optimaly ordered Successive Interference Cancellation</a></h3>
<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>
<p>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" />.</p>
<p>Once the effect of either <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{x}_1" border="0" alt="" align="absmiddle" /><strong> </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>
<h3><strong><a href="http://www.dsplog.com/2008/12/14/mimo-ml-equalization/">MIMO with ML equalization</a><br />
</strong></h3>
<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 Results</h2>
<p>The plot embedded below captures BER for 2 transmit 2 receive MIMO V-BLAST ttansmission/reception for BPSK modulation in a flat fading independent Rayleigh channel, for the different equalizer structures discussed above.</p>
<p><img class="alignnone" title="BER plot 2tx 2rx mimo" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/04/ber_plot_2transmit_2receive_mimo_with_bpsk_in_rayleigh_channel.png" alt="" width="448" height="336" /></p>
<p><strong>Figure: BER plot for 2 transmit 2 receive MIMO channel for BPSK modulation</strong></p>
<h2>Observations</h2>
<p>1. The BER curve with ZF equalization for 2&#215;2 MIMO channel is identical to BER plot for 1 transmit 1 receive system</p>
<p>2. Ordered variant of successive interference cancellation shows better performance than the simple successive interference cancellation</p>
<p>3. MMSE equalization with ordered successive interference cancellation provides performance which is slightly poorer than ML.</p>
<p>4. With ML equalization, we come close to the performance of 1 transmit 2 receive MRC case. We gain both throughput gain and diversity gain.</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="V-BLAST paper from Bell Labs" href="www1.bell-labs.com/project/blast/vblast-issse-98.pdf">V-BLAST: An architeture for realizing very high data rates over the rich scattering wireless channel &#8211; P. W. Wolniansky, G. J. Foschini, G. D. Golden, R. A. Valenzuela.</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=A5suz9KH6Js:5uRp2FKvQCQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=A5suz9KH6Js:5uRp2FKvQCQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=A5suz9KH6Js:5uRp2FKvQCQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=A5suz9KH6Js:5uRp2FKvQCQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=A5suz9KH6Js:5uRp2FKvQCQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=A5suz9KH6Js:5uRp2FKvQCQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=A5suz9KH6Js:5uRp2FKvQCQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=A5suz9KH6Js:5uRp2FKvQCQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dsplogdotcom/~4/A5suz9KH6Js" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/04/21/six-equalizers-for-v-blast/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<feedburner:origLink>http://www.dsplog.com/2009/04/21/six-equalizers-for-v-blast/</feedburner:origLink></item>
		<item>
		<title>Transmit beamforming</title>
		<link>http://feedproxy.google.com/~r/dsplogdotcom/~3/ZEVR2WeIl6c/</link>
		<comments>http://www.dsplog.com/2009/04/13/transmit-beamforming/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 15:53:26 +0000</pubDate>
		<dc:creator>Krishna Pillai</dc:creator>
				<category><![CDATA[Diversity]]></category>
		<category><![CDATA[Transmitter]]></category>
		<category><![CDATA[beamforming]]></category>
		<category><![CDATA[Rayleigh]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=535</guid>
		<description>In this post lets discuss a closed-loop transmit diversity scheme, where the transmitter has the knowledge of the channel. As there is a feedback path required from the receiver, to communicate the channel seen by the receiver to the transmitter, the scheme is called closed-loop transmit diversity scheme. Recall that the transmit diversity using Space [...]</description>
			<content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/tHvJ-KlB6fZLneTOVcBpml_KqmM/0/da"><img src="http://feedads.g.doubleclick.net/~a/tHvJ-KlB6fZLneTOVcBpml_KqmM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tHvJ-KlB6fZLneTOVcBpml_KqmM/1/da"><img src="http://feedads.g.doubleclick.net/~a/tHvJ-KlB6fZLneTOVcBpml_KqmM/1/di" border="0" ismap="true"></img></a></p><p></p><p>In this post lets discuss a <strong>closed-loop transmit diversity scheme</strong>, where the transmitter has the knowledge of the channel. As there is a feedback path required from the receiver, to communicate the channel seen by the receiver to the transmitter, the scheme is called closed-loop transmit diversity scheme. Recall that the <a href="http://www.dsplog.com/2008/10/16/alamouti-stbc/">transmit diversity using Space Time Coding (Alamouti STBC)</a> does not require the knowledge of the channel.  In this post, we will restrict our discussion to a 2 transmit, 1 receive case. 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-535"></span></p>
<h2>Channel Model</h2>
<p>1. We have 1 receive antennas and two transmit antenna.</p>
<p>2. 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>3. The channel experienced by each receive antenna is randomly varying in time. For the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?i^{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_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 experience by each transmit antenna to receive antenna is independent from the channel experienced by other transmit antennas.</p>
<p>5. On each 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>6. At each transmit antenna, the channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_i" border="0" alt="" align="absmiddle" /> is known.</p>
<p><img class="alignnone" title="2 Trasmit 1 Receive beam steering" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/04/2tx_1rx_beamforming.png" alt="" /></p>
<p><strong>Figure: 2 transmit 1 receive beam steering</strong></p>
<h2>Transmit Beamforming</h2>
<p>On the receive antenna, the received signal is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y = \begin{eqnarray}[h_1 &amp; h_2]\end{eqnarray} \left[ \begin{eqnarray}x \\ \\ x \end{eqnarray}\right]+n = \underbrace{(h_1+h_2)}x + n" border="0" alt="" align="absmiddle" /> where,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y" border="0" alt="" align="absmiddle" /> is the received symbol,<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_i" border="0" alt="" align="absmiddle" /> is the channel on the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?i^{th}" border="0" alt="" align="absmiddle" /> transmit antenna,<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?x" border="0" alt="" align="absmiddle" /> is the transmitted symbol and<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" /> is the noise on the receive antenna.</p>
<p>When transmit beamforming is applied, we <strong>multiply the symbol from each transmit antenna with a complex number corresponding to the inverse of the phase of the channel</strong> so as to ensure that the signals add constructively at the receiver. In this scenario, the received signal is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y = \begin{eqnarray}[h_1 &amp; h_2]\end{eqnarray} \left[ \begin{eqnarray}e^{-j\theta_1} \\ \\ e^{-j\theta_2} \end{eqnarray}\right]x+n" border="0" alt="" align="absmiddle" />,</p>
<p>where,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_1 = |h_1|e^{j\theta_1}" border="0" alt="" align="absmiddle" /> and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_2 = |h_2|e^{j\theta_2}" border="0" alt="" align="absmiddle" />.</p>
<p>In this case, the signal at the receiver is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y = \underbrace{\left(|h_1| + |h_2|\right)}x + n" border="0" alt="" align="absmiddle" />.</p>
<p>For equalization, we need to divide the received symbol <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y" border="0" alt="" align="absmiddle" />with the new effective channel, i.e,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\hat{y} = \frac{y}{\left(|h_1| + |h_2|\right)}=x + \frac{n}{\left(|h_1| + |h_2|\right)}" border="0" alt="" align="absmiddle" />.</p>
<h2>BER 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) Multiply the symbols with the beam steering matrics &#8211; corresponding to the phase of the channel</p>
<p>(c) Perform equalization at the receiver</p>
<p>(d) Perform hard decision decoding and count the bit errors</p>
<p>(e) 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/2009/04/script_ber_2transmit_1receive_beamforming_bpsk_rayleigh_channel.m">Matlab/Octave script for simulting BER for BPSK in flat fading Rayleigh channel with and without beamforming</a></p>
<p><a href="http://www.dsplog.com/db-install/wp-content/uploads/2009/04/script_ber_2transmit_1receive_beamforming_bpsk_rayleigh_channel.m"></a><img class="alignnone" title="BER plot for 2 transmit 1 receive beamforming for BPSK in Rayleigh channel" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/04/ber_plot_2transmit_1receive_transmit_beamforming_with_bpsk_in_rayleigh_channel.png" alt="" width="448" height="336" /></p>
<p><strong>Figure: BER plot for 2 transmit 1 receive beamforming for BPSK in Rayleigh channel</strong></p>
<h2>Observations</h2>
<p>1. Sending the same information on multiple transmit antenna does not provide diversity gain. Intuituvely, this is due to the fact that the effective channel <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h_1 + h_2" border="0" alt="" align="absmiddle" /> in a 2 transmit antenna case is again a Rayleigh channel; hence the BER performance is identical to 1 transmit 1 receive Rayleigh channel case.</p>
<p>2. If the transmit symbols are multiplied by a complex phase to ensure that the phases align at the receiver, there is diversity gain. However, the BER performance seems to be slighly poorer than the 1 transmit 2 receive MRC case. I guess, the noise is scaled by <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?|h_1| + |h_2|" border="0" alt="" align="absmiddle" /> in the case of transmit beamforming, whereas the noise scaling is different in the case of <a title="maximal ratio combining on dsplog.com" href="http://www.dsplog.com/2008/09/28/maximal-ratio-combining/">Maximal Ratio Combining</a>. I need to study bit more for a precise answer.</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 title="IEEExplore link for the Alamouti STBC paper" href="http://ieeexplore.ieee.org/iel4/49/15739/00730453.pdf" target="_self"> </a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=ZEVR2WeIl6c:e6iPJ7JA5_0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=ZEVR2WeIl6c:e6iPJ7JA5_0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=ZEVR2WeIl6c:e6iPJ7JA5_0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=ZEVR2WeIl6c:e6iPJ7JA5_0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=ZEVR2WeIl6c:e6iPJ7JA5_0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=ZEVR2WeIl6c:e6iPJ7JA5_0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dsplogdotcom?a=ZEVR2WeIl6c:e6iPJ7JA5_0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/dsplogdotcom?i=ZEVR2WeIl6c:e6iPJ7JA5_0:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dsplogdotcom/~4/ZEVR2WeIl6c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2009/04/13/transmit-beamforming/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		<feedburner:origLink>http://www.dsplog.com/2009/04/13/transmit-beamforming/</feedburner:origLink></item>
	</channel>
</rss>
