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

<channel>
	<title>DSP log &#187; Capacity</title>
	<atom:link href="http://www.dsplog.com/category/capacity/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dsplog.com</link>
	<description>Signal Processing for Communication</description>
	<lastBuildDate>Thu, 26 Jan 2012 01:29:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>BER for BPSK in ISI channel with MMSE equalization</title>
		<link>http://www.dsplog.com/2010/01/24/ber-bpsk-isi-channel-mmse-equalization/</link>
		<comments>http://www.dsplog.com/2010/01/24/ber-bpsk-isi-channel-mmse-equalization/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 06:34:09 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Capacity]]></category>
		<category><![CDATA[Filter]]></category>
		<category><![CDATA[BPSK]]></category>
		<category><![CDATA[ISI]]></category>
		<category><![CDATA[MMSE]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=870</guid>
		<description><![CDATA[In the past, we had discussed BER for BPSK in flat fading Rayleigh channel and BER for BPSK in a frequency selective channel using Zero Forcing Equalization. In this post, lets discuss a frequency selective channel with the use of Minimum Mean Square Error (MMSE) equalization to compensate for the inter symbol interference (ISI). For [...]
Related posts:<ol>
<li><a href='http://www.dsplog.com/2009/11/29/ber-bpsk-isi-channel-zero-forcing-equalization/' rel='bookmark' title='BER for BPSK in ISI channel with Zero Forcing equalization'>BER for BPSK in ISI channel with Zero Forcing equalization</a></li>
<li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li>
<li><a href='http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/' rel='bookmark' title='MIMO with MMSE equalizer'>MIMO with MMSE equalizer</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>In the past, we had discussed <a title="BER for BPSK in Rayleigh channel from dsplog.com" href="http://www.dsplog.com/2008/08/10/ber-bpsk-rayleigh-channel/">BER for BPSK in flat fading Rayleigh channel</a> and <a title="BER for BPSK in frequency selective channel using ZF equalization" href="http://www.dsplog.com/2009/11/29/ber-bpsk-isi-channel-zero-forcing-equalization/">BER for BPSK in a frequency selective channel using Zero Forcing Equalization</a>. In this post, lets discuss a frequency selective channel with the use of Minimum Mean Square Error (MMSE) equalization to compensate for the inter symbol interference (ISI). For simplifying the discussion, we will assume that there is no pulse shaping at the transmitter. The ISI channel is assumed to be a fixed 3 tap channel.</p>
<p><span id="more-870"></span></p>
<h2>Transmit symbol</h2>
<p>Let the transmit symbols be modeled as</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t)%20=%20%5Csum_%7Bn=-%5Cinfty%7D%5E%7B%5Cinfty%7Da_ng%28t-mT%29" border="0" alt="" align="absmiddle" />, where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" /> is the symbol period,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?a_n" border="0" alt="" align="absmiddle" /> is the symbol to transmit,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?g(t)" border="0" alt="" align="absmiddle" /> is the transmit filter,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" /> is the symbol index and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s(t)" border="0" alt="" align="absmiddle" />is the output waveform.</p>
<p>For simplicity,  lets assume that the transmit pulse shaping filter is not present, i.e <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?g(t)=\delta(t)" border="0" alt="" align="absmiddle" />.</p>
<p>So the transmit symbols can be modeled by the discrete time equivalent</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?s[k]=a_n" border="0" alt="" align="absmiddle" /></p>
<p><img title="Transmit baseband symbols" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/04/tx_symbols.png" alt="" width="446" height="110" /></p>
<p><strong>Figure: Transmit symbols</strong></p>
<h2>Channel Model</h2>
<p>Lets us assume the channel to be a 3 tap multipath channel with spacing <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" /> i.e.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?h[k]=\left[\begin{array}h_1 &amp; h_2 &amp; h_3 \end{array}\right]" border="0" alt="" align="absmiddle" /></p>
<p><a href="http://www.dsplog.com/db-install/wp-content/uploads/2009/11/mutipath_channel.png"><img title="3 tap multipath channel" src="http://www.dsplog.com/db-install/wp-content/uploads/2009/11/mutipath_channel.png" alt="3 tap multipath channel" width="300" height="179" /></a></p>
<p><strong>Figure: Channel model (3 tap multipath)</strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p>In addition to the multipath channel, the received signal gets corrupted by noise <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" />, typically referred to as <strong>Additive White Gaussian Noise</strong> (AWGN). The values of the noise <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?n" border="0" alt="" align="absmiddle" /> follows the Gaussian probability distribution function, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p%28x%29%20=%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%5Csigma%5E2%7D%7De%5E%7B%5Cfrac%7B-%28x-%5Cmu%29%5E2%7D%7B2%5Csigma%5E2%7D" border="0" alt="" align="absmiddle" /> with</p>
<p>mean <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\mu=0" border="0" alt="" align="absmiddle" /> and</p>
<p>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>
<p>The received signal is</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y[k]=s[k] \otimes h[k] + n" border="0" alt="" align="absmiddle" />, where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\otimes" border="0" alt="" align="absmiddle" /> is the convolution operator.</p>
<h2>MMSE Equalization</h2>
<p>In Minimum Mean Square Error solution, for each sample time <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k" border="0" alt="" align="absmiddle" /> we would want to find a set of coefficients <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?c%5Bk%5D" border="0" alt="" align="absmiddle" /> which minimizes the error between the desired signal <img src="../../cgi-bin/mimetex.cgi?s%5Bk%5D" border="0" alt="" align="absmiddle" /> and the equalized signal <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?c[k]\otimes y[k]" border="0" alt="" align="absmiddle" />, i.e.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}E\left(e[k]\right)^2 &amp; = &amp; E\left(s[k]-c[k]\otimes y[k] \right)^2\\ &amp; = &amp;  E(s[k]-c^Ty)(s[k]-c^Ty)^T\\ &amp; = &amp;E(s[k])^2-E(c^Tys[k]) -E(s[k]y^Tc)+E(c^Tyy^Tc)\\ &amp; = &amp; E(s[k])^2-c^TR_{ys} -R_{sy}c+c^TR_{yy}c\end{array}" border="0" alt="" align="absmiddle" />,</p>
<p>where,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?e[k]" border="0" alt="" align="absmiddle" /> is the error at sample time <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k" border="0" alt="" align="absmiddle" />,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?c" border="0" alt="" align="absmiddle" /> is column vector of dimension <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?[K\mbox{ x }1]" border="0" alt="" align="absmiddle" /> storing the equalization coefficients,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?y" border="0" alt="" align="absmiddle" /> is column vector of dimension <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?[K\mbox{ x }1]" border="0" alt="" align="absmiddle" /> storing the received samples,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?K" border="0" alt="" align="absmiddle" /> is the number of taps in the equalizer,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?R_{ys}=E(ys[k]) " border="0" alt="" align="absmiddle" /> is the cross correlation between received sequence and input sequence ,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?R_{sy}=E(s[k]y^T) " border="0" alt="" align="absmiddle" /> is the cross correlation between received sequence and input sequence and</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?R_{yy}=E(yy^T) " border="0" alt="" align="absmiddle" /> is the auto-correlation of the received sequence.</p>
<p>For solving the Minimum Mean Square Error (MMSE) criterion, we need to find a set of coefficients <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?c" border="0" alt="" align="absmiddle" /> which minimizes <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?E(e[k])^2" border="0" alt="" align="absmiddle" />.</p>
<p>Differentiation with respect to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?c" border="0" alt="" align="absmiddle" /> and equating to 0,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{rrl}\frac{\partial}{\partial c} \left[E(s[k])^2-c^TR_{ys} -R_{sy}c+c^TR_{yy}c\right]&amp;=&amp; 0\\  -R_{sy}+R_{yy}c&amp;= &amp; 0\\c &amp; = &amp;R^{-1}_{yy} R_{sy}\end{array}" border="0" alt="" align="absmiddle" />.</p>
<p>Simplifying,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}R_{sy}&amp;=&amp;E(s[k]y^T)\\&amp;=&amp;E(s[k](hs[k]+n)^T)\\&amp;=&amp;h^TE(s^2[k])+E(s[k]n)\\ &amp; = &amp; h\end{array}" border="0" alt="" align="absmiddle" />,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{array}{lll}R_{yy}&amp;=&amp;E(yy^T)\\&amp;=&amp;E((hs[k]+n)(hs[k]+n)^T)\\&amp;=&amp;E(hh^T)E(s^2[k])+hE(s[k]n)+E(n[k]s[k])h^T+E(n^2)\\ &amp; = &amp; E(hh^T) + E(n^2) \end{array}" border="0" alt="" align="absmiddle" /></p>
<p>Note :</p>
<p>a) <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?E(s^2[k])=1" border="0" alt="" align="absmiddle" /> is the variance of the input signal</p>
<p>b)<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?E(s[k]n[k])=0" border="0" alt="" align="absmiddle" /> (as there is no correlation between input signal and noise)</p>
<h2><strong>Simulation Model</strong></h2>
<p>Click here to download: <a href="http://www.dsplog.com/db-install/wp-content/uploads/2010/01/script_ber_bpsk_isi_mmse_equalization.m">Matlab/Octave script for computing BER for BPSK with 3 tap ISI channel with MMSE Equalization</a></p>
<p>The attached Matlab/Octave simulation script performs the following:</p>
<p>(a) Generation of random binary sequence</p>
<p>(b) BPSK modulation i.e bit 0 represented as -1 and bit 1 represented as +1</p>
<p>(c) Convolving the symbols with a 3-tap fixed fading channel.</p>
<p>(d) Adding White Gaussian Noise</p>
<p>(e) Computing the MMSE and ZF equalization filter at the receiver (with 7 taps in length)</p>
<p>(f) Demodulation and conversion to bits</p>
<p>(g) Counting the number of bit errors</p>
<p>(h) Repeating for multiple values of Eb/No</p>
<p>The simulation results are as shown in the plot below.<img class="alignnone size-full wp-image-875" title="BER plot for BPSK in a 3 tap ISI channel with MMSE equalizer" src="http://www.dsplog.com/db-install/wp-content/uploads/2010/01/ber_plot_bpsk_isi_mmse_equalizer.png" alt="BER plot for BPSK in a 3 tap ISI channel with MMSE equalizer" width="448" height="336" /></p>
<p><strong>Figure: BER plot for BPSK in a 3 tap ISI channel with MMSE equalizer</strong></p>
<p><strong>Observations</strong></p>
<p>1. Can see around 0.5dB gain with using MMSE equalizer</p>
<h2>Reference</h2>
<p><a href="http://www.complextoreal.com/chapters/filters.pdf"><span style="font-family: Book Antiqua;">Complex to Real : </span></a><span style="font-family: Book Antiqua;"><a href="http://www.complextoreal.com/chapters/filters.pdf">Tutorial 26 &#8211; Filters, analog, digital and adaptive equalization</a></span></p>
<p><span style="font-family: Book Antiqua;"><br />
</span></p>
<p>Related posts:<ol>
<li><a href='http://www.dsplog.com/2009/11/29/ber-bpsk-isi-channel-zero-forcing-equalization/' rel='bookmark' title='BER for BPSK in ISI channel with Zero Forcing equalization'>BER for BPSK in ISI channel with Zero Forcing equalization</a></li>
<li><a href='http://www.dsplog.com/2008/12/06/mimo-with-mmse-sic-and-optimal-ordering/' rel='bookmark' title='MIMO with MMSE SIC and optimal ordering'>MIMO with MMSE SIC and optimal ordering</a></li>
<li><a href='http://www.dsplog.com/2008/11/02/mimo-mmse-equalizer/' rel='bookmark' title='MIMO with MMSE equalizer'>MIMO with MMSE equalizer</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2010/01/24/ber-bpsk-isi-channel-mmse-equalization/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK</title>
		<link>http://www.dsplog.com/2008/07/08/compare-bpsk-qpsk-4pam-16qam-16psk-64qam-32psk/</link>
		<comments>http://www.dsplog.com/2008/07/08/compare-bpsk-qpsk-4pam-16qam-16psk-64qam-32psk/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 00:47:25 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Capacity]]></category>
		<category><![CDATA[Error Rate]]></category>
		<category><![CDATA[AWGN]]></category>
		<category><![CDATA[PSK]]></category>
		<category><![CDATA[QAM]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=195</guid>
		<description><![CDATA[I have written another article in DSPDesginLine.com. This article can be treated as the third post in the series aimed at understanding Shannon&#8217;s capacity equation. For the first two posts in the series are: 1. Understanding Shannon&#8217;s capacity equation 2. Bounds on Communication based on Shannon’s capacity The article summarizes the symbol error rate derivations [...]
Related posts:<ol>
<li><a href='http://www.dsplog.com/2008/03/29/comparing-16psk-vs-16qam-for-symbol-error-rate/' rel='bookmark' title='Comparing 16PSK vs 16QAM for symbol error rate'>Comparing 16PSK vs 16QAM for symbol error rate</a></li>
<li><a href='http://www.dsplog.com/2008/05/24/article-in-dspdesignlinecom-m-qam-symbol-error/' rel='bookmark' title='Article in DSPDesignLine.com: M-QAM symbol error'>Article in DSPDesignLine.com: M-QAM symbol error</a></li>
<li><a href='http://www.dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/' rel='bookmark' title='Bounds on Communication based on Shannon&#8217;s capacity'>Bounds on Communication based on Shannon&#8217;s capacity</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>I have written another article in <a title="Modulation roundup: error rates, noise, and capacity" href="http://www.dspdesignline.com/howto/208801783;jsessionid=KQBZX4ZJRFCX0QSNDLRSKHSCJUNN2JVN" target="_self">DSPDesginLine.com</a>. This article can be treated as the third post in the series aimed at understanding Shannon&#8217;s capacity equation.</p>
<p>For the first two posts in the series are:</p>
<p>1. <a title="Understanding Shannon's capacity equation" href="http://www.dsplog.com/2008/06/15/shannon-gaussian-channel-capacity-equation/">Understanding Shannon&#8217;s capacity equation</a></p>
<p>2. <a title="Bounds on Communication based on Shannon’s capacity" rel="bookmark" href="../../2008/06/18/bounds-on-communication-shannon-capacity/">Bounds on Communication based on Shannon’s capacity</a></p>
<p>The article summarizes the <strong>symbol error rate derivations</strong> in <strong>AWGN</strong> for modulation schemes like <strong>BPSK</strong>, <strong>QPSK</strong>, <strong>4PAM</strong>, <strong>16QAM</strong>, <strong>16PSK</strong>, <strong>64QAM</strong> and <strong>32PSK</strong>.</p>
<p><span id="more-195"></span></p>
<p>The article in <a title="Modulation roundup: error rates, noise, and capacity" href="http://www.dspdesignline.com/howto/208801783;jsessionid=KQBZX4ZJRFCX0QSNDLRSKHSCJUNN2JVN?pgno=1">DSPDesignline.com</a> details the following:</p>
<ul>
<li>Based on the knowledge of <strong>bandwidth requirements</strong> for each type of modulation scheme, the <strong>capacity</strong> in bits/seconds/Hz is listed.</li>
</ul>
<ul>
<li>Using the knowledge that the symbol to noise ratio <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_s%7D%7BN_0%7D" border="0" alt="" width="24" height="33" align="absmiddle" /> is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k=%5Clog_2%28M%29" border="0" alt="" align="absmiddle" /> times the bit to noise ratio <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_b%7D%7BN_0%7D" border="0" alt="" align="absmiddle" />, the symbol error rate vs <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_b%7D%7BN_0%7D" border="0" alt="" align="absmiddle" /> curves are plotted.</li>
<li>Using symbol error rate versus <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_b%7D%7BN_0%7D" border="0" alt="" align="absmiddle" /> plots, the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_b%7D%7BN_0%7D" border="0" alt="" align="absmiddle" /> required for achieving symbol error rate of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?10^{-5}" border="0" alt="" align="absmiddle" />is identified.</li>
<li>Upon having the capacity and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?%5Cfrac%7BE_b%7D%7BN_0%7D" border="0" alt="" align="absmiddle" /> requirement, the requirements for <strong>BPSK</strong>, <strong>QPSK</strong>, <strong>4PAM</strong>, <strong>16QAM</strong>, <strong>16PSK</strong>, <strong>64QAM</strong> and <strong>32PSK</strong> are <a href="http://www.dspdesignline.com/howto/208801783;jsessionid=KQBZX4ZJRFCX0QSNDLRSKHSCJUNN2JVN?pgno=3">mapped on to the Shannon&#8217;s capacity vs Eb/No curve</a>.</li>
<li>Assuming <strong>Gray coded modulation mapping</strong>,  each symbol error causes one bit out of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k=%5Clog_2%28M%29" border="0" alt="" align="absmiddle" /> bits to be in error. So, the relation between symbol error and bit error is,<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_b%20%5Capprox%20%5Cfrac%7BPs%7D%7Bk%7D" border="0" alt="" align="absmiddle" />.</li>
<li>Using this assumption, the <strong>Bit Error Rate (BER)</strong> for <strong>BPSK</strong>, <strong>QPSK</strong>, <strong>4PAM</strong>, <strong>16QAM, 16PSK</strong>, <strong>64QAM</strong> and <strong>32PSK</strong> are listed and the <strong>BER vs Eb/No curve</strong> plotted.</li>
</ul>
<p>Hope this article serves as a nice overview of the various digital modulation schemes. Click here to read the <a title="Modulation roundup: error rates, noise, and capacity" href="http://www.dspdesignline.com/howto/208801783;jsessionid=KQBZX4ZJRFCX0QSNDLRSKHSCJUNN2JVN?pgno=1">full article in DSPDesignline.com</a></p>
<p>Related posts:<ol>
<li><a href='http://www.dsplog.com/2008/03/29/comparing-16psk-vs-16qam-for-symbol-error-rate/' rel='bookmark' title='Comparing 16PSK vs 16QAM for symbol error rate'>Comparing 16PSK vs 16QAM for symbol error rate</a></li>
<li><a href='http://www.dsplog.com/2008/05/24/article-in-dspdesignlinecom-m-qam-symbol-error/' rel='bookmark' title='Article in DSPDesignLine.com: M-QAM symbol error'>Article in DSPDesignLine.com: M-QAM symbol error</a></li>
<li><a href='http://www.dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/' rel='bookmark' title='Bounds on Communication based on Shannon&#8217;s capacity'>Bounds on Communication based on Shannon&#8217;s capacity</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/07/08/compare-bpsk-qpsk-4pam-16qam-16psk-64qam-32psk/feed/</wfw:commentRss>
		<slash:comments>91</slash:comments>
		</item>
		<item>
		<title>Bounds on Communication based on Shannon&#8217;s capacity</title>
		<link>http://www.dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/</link>
		<comments>http://www.dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 02:45:00 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Capacity]]></category>
		<category><![CDATA[AWGN]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=171</guid>
		<description><![CDATA[This is the second post in the series aimed at developing a better understanding of Shannon&#8217;s capacity equation. In this post let us discuss the bounds on communication given the signal power and bandwidth constraint. Further, the following writeup is based on Section 12.6 from Fundamentals of Communication Systems by John G. Proakis, Masoud Salehi [...]
Related posts:<ol>
<li><a href='http://www.dsplog.com/2008/06/15/shannon-gaussian-channel-capacity-equation/' rel='bookmark' title='Understanding Shannon&#8217;s capacity equation'>Understanding Shannon&#8217;s capacity equation</a></li>
<li><a href='http://www.dsplog.com/2008/07/08/compare-bpsk-qpsk-4pam-16qam-16psk-64qam-32psk/' rel='bookmark' title='Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK'>Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK</a></li>
<li><a href='http://www.dsplog.com/2007/04/03/sigma-delta-modulation/' rel='bookmark' title='Sigma delta modulation'>Sigma delta modulation</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>This is the second post in the series aimed at developing a better understanding of <strong>Shannon&#8217;s capacity equation.</strong> In this post let us discuss the <strong>bounds on communication</strong> given the <strong>signal power</strong> and <strong>bandwidth</strong> constraint. Further, the following writeup is based on Section 12.6 from <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Communication-Systems-John-Proakis%2Fdp%2F013147135X&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Fundamentals of Communication Systems by John G. Proakis, Masoud Salehi</a><img style="border: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><span id="more-171"></span>In the first post in this series, we have discussed <a title="Shannon's capacity equation in AWGN with an average transmit power constraint" href="&lt;img src=" target=" mce_src=">Shannon&#8217;s equation for <strong>capacity of band limited</strong> <strong>additive white Gaussian noise</strong> channel with an <strong>average transmit power</strong> constraint</a>. The capacity is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\Huge\begin{eqnarray}C&amp;=&amp;B\log_2\left(1+\frac{P_s}{N_oB}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" /> bits/second</p>
<p>where</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?C" border="0" alt="" align="absmiddle" /> is the capacity in bits per second, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?B" border="0" alt="" align="absmiddle" /> is the bandwidth in Hertz, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_s" border="0" alt="" align="absmiddle" /> is the signal power and <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?N_0" border="0" alt="" align="absmiddle" />is the noise spectral density.</p>
<h2>Capacity with increasing signal power</h2>
<p>Increasing the signal power will mean that we can split the signal level into more number of levels even while ensuring low probability of error. Hence increasing signal power will lead to more capacity. However, as the increase in capacity is a logarithmic function of power, the returns are diminishing.</p>
<p><code><br />
Matlab/Octave script for plotting capacity vs power<br />
B=1;<br />
N0=1;<br />
P= [0:10^4];<br />
C = B.*log2(1+P./(N0*B));<br />
plot(P,C); xlabel('power, P'); ylabel('bandwidth,B'); ylabel('capacity, C bit/sec'); title('Capacity vs Power')</code></p>
<p><img class="alignnone size-full wp-image-172" title="Capacity vs power (from Shannon\'s equation)" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/06/capacity_vs_power.png" alt="Capacity vs power (from Shannon\'s equation)" width="448" height="336" /></p>
<p><strong>Figure: Capacity vs Power, keeping Noise and Bandwidth to unity</strong></p>
<p>Can observe that increase in capacity is diminishing as we keep increase the value of power.</p>
<h2>Capacity with increasing bandwidth</h2>
<p>The second variable to play with is the bandwidth. Increasing the bandwidth has two effects:</p>
<p>1. More bandwidth means we can have more transmissions per second, hence higher the capacity.</p>
<p>2. However, more bandwidth also means that there is more noise power at the receiver.</p>
<p>The latter reduces the performance.</p>
<p>Let us try to evaluate the capacity equation when bandwidth <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?B" border="0" alt="" align="absmiddle" /> tends to infinity i.e<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}C&amp;=\lim_{B \rightarrow \infty}&amp;B\log_2\left(1+\frac{P_s}{N_oB}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>From the <a title="Wikipedia entry on Taylor series" href="http://en.wikipedia.org/wiki/Taylor_series#Calculation_of_Taylor_series" target="_self">Taylor series</a> expansion, we know that</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\log_e(1+x)=x-\frac{x^2}{2}+\frac{x^3}{3}+\ldots" border="0" alt="" align="absmiddle" />.</p>
<p>Applying this to the above equation,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}C&amp;=&amp;\frac{1}{\log_e2}\lim_{B \rightarrow \infty}&amp;B\left[\frac{P_s}{N_0B}-\frac{1}{2}({\frac{P_s}{N_0B})^2}+\frac{1}{3}({\frac{P_s}{N_0B})^3+\ldots}\right]\\&amp;=&amp;\frac{1}{log_e2}\frac{P_s}{N_0}\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>This means that increasing bandwidth alone will not lead to increase of the capacity.<br />
<code><br />
Matlab/Octave script for plotting capacity vs bandwidth<br />
P = 1;<br />
N0 = 1;<br />
B = [1:10^3];<br />
C = B.*log2(1+P./(N0*B));<br />
plot(B,C)<br />
xlabel('bandwidth, B Hz'); ylabel('capacity, C bit/sec'); title('Capacity vs Bandwidth')</code></p>
<p><img class="alignnone size-full wp-image-173" title="Capcity vs Bandwidth (Based on Shannon\'s capacity equation)" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/06/capacity_vs_bandwidth.png" alt="" width="448" height="336" /></p>
<p><strong>Figure: Capacity vs Bandwidth, keeping signal power and noise power to unity</strong></p>
<p>Can observe that the maximum achievable capacity by increasing bandwidth is 1.44 times the <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P_s}{N_0}" border="0" alt="" align="absmiddle" /> value.<br />
<a name="Shannon Capacity Bound"></a></p>
<h2>Capacity (in bit/sec/Hz) vs Bit to noise ratio (Eb/No)</h2>
<p>From our discussion till now, we have understood that a practical communication should have a rate <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?R" border="0" alt="" align="absmiddle" /> which is lower than capacity <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?C" border="0" alt="" align="absmiddle" />, i.e.</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}R&amp;&lt;&amp;B\log_2\left(1+\frac{P_s}{N_oB}\right)\end{eqnarray}" border="1" alt="" align="absmiddle" /> bits/second.</p>
<p>Dividing both sides of the equation by bandwidth <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?B" border="0" alt="" align="absmiddle" />,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\frac{R}{B}&amp;&lt;&amp;\log_2\left(1+\frac{P_s}{N_oB}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" /> bits/second/Hz.</p>
<p>Further, from our discussion on <a title="Bit error rate for 16PSK modulation using Gray mapping" href="http://www.dsplog.com/2008/05/18/bit-error-rate-for-16psk-modulation-using-gray-mapping/">Bit error rate for 16PSK modulation using Gray mapping</a>, we know that symbol to noise ratio is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?R" border="0" alt="" align="absmiddle" /> times the bit to noise ratio, i.e.<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{P_s}{N_0}=R\frac{E_b}{N_0}" border="0" alt="" align="absmiddle" />.</p>
<p>Substituting this into the capacity equation,<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\frac{R}{B}&amp;&lt;&amp;\log_2\left(1+\frac{R}{B}\frac{E_b}{N_o}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" /> bits/second/Hz.</p>
<p>For notational convenience, let us define <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?r" border="0" alt="" align="absmiddle" /> as the spectral efficiency in bits/second/Hertz.</p>
<p>The above equation can be equivalently represented as,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\frac{E_b}{N_0}\ &gt;\ \frac{2^{r}-1}{r}\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>In the above equation, when <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?r" border="0" alt="" align="absmiddle" /> tends to zero, the bit to noise ratio should be,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}\frac{E_b}{N_0}&amp;\ &gt;&amp;\lim_{r\rightarrow 0}\frac{2^{r}-1}{r}\\&amp;&gt;&amp;\log_e2\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>(Thanks to <a title="L'Hopital's rule from Wikipedia" href="http://en.wikipedia.org/wiki/L'H%C3%B4pital's_rule">L&#8217;Hospital&#8217;s rule</a>).</p>
<p>This means that for reliable communication, we need to have <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}&gt;0.693" border="0" alt="" align="absmiddle" /> or equivalently expressing in decibels, <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{E_b}{N_0}&gt;-1.59dB" border="0" alt="" align="absmiddle" />.</p>
<p><code><br />
Matlab/Octave script for plotting the capacity in Bits/sec/Hz vs Bit to noise ratio<br />
r = [0:.001:10];<br />
Eb_No_lin = (2.^r -1)./r;<br />
Eb_No_dB = 10*log10(Eb_No_lin);<br />
semilogy(Eb_No_dB,r)<br />
axis([-2 20 0.1 10]); grid on<br />
xlabel('Bit to noise ratio, Eb/No dB'); ylabel('Spectral efficiency, R/W bit/sec/Hz')<br />
title('Spectral efficiency vs Bit to Noise ratio')<br />
</code><br />
<img class="alignnone size-full wp-image-174" title="Spectral efficiency vs Bit to noise ratio" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/06/spectral_efficiency_vs_bit_to_noise_ratio.png" alt="" width="448" height="336" /></p>
<p><strong>Figure: Spectral efficiency vs bit to noise ratio</strong></p>
<p>The above plot captures the equation,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}r&amp;=&amp;\log_2\left(1+r\frac{E_b}{N_o}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p>It divides the area into two regions:</p>
<p>(a) In the region below the curve, reliable communication is possible and</p>
<p>(b) in the region above the curve, reliable communication is not possible.</p>
<p><strong>Closer the performance of a communication system is to the curve, more optimal is the system</strong>.</p>
<p>In the next post in this series, we will discuss the performance of various modulation schemes like BPSK, QPSK, QAM etc by mapping them into various points in the above plot.</p>
<h2>Reference</h2>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Communication-Systems-John-Proakis%2Fdp%2F013147135X&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[COMM-SYS-PROAKIS-SALEHI] </a><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Communication-Systems-John-Proakis%2Fdp%2F013147135X&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Fundamentals of Communication Systems by John G. Proakis, Masoud Salehi</a><img style="border: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>Related posts:<ol>
<li><a href='http://www.dsplog.com/2008/06/15/shannon-gaussian-channel-capacity-equation/' rel='bookmark' title='Understanding Shannon&#8217;s capacity equation'>Understanding Shannon&#8217;s capacity equation</a></li>
<li><a href='http://www.dsplog.com/2008/07/08/compare-bpsk-qpsk-4pam-16qam-16psk-64qam-32psk/' rel='bookmark' title='Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK'>Comparing BPSK, QPSK, 4PAM, 16QAM, 16PSK, 64QAM and 32PSK</a></li>
<li><a href='http://www.dsplog.com/2007/04/03/sigma-delta-modulation/' rel='bookmark' title='Sigma delta modulation'>Sigma delta modulation</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Understanding Shannon&#8217;s capacity equation</title>
		<link>http://www.dsplog.com/2008/06/15/shannon-gaussian-channel-capacity-equation/</link>
		<comments>http://www.dsplog.com/2008/06/15/shannon-gaussian-channel-capacity-equation/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 14:25:20 +0000</pubDate>
		<dc:creator>Krishna Sankar</dc:creator>
				<category><![CDATA[Capacity]]></category>
		<category><![CDATA[AWGN]]></category>

		<guid isPermaLink="false">http://www.dsplog.com/?p=169</guid>
		<description><![CDATA[Let us try to understand the formula for Channel Capacity with an Average Power Limitation, described in Section 25 of the landmark paper A Mathematical Theory for Communication, by Mr. Claude Shannon. Further, the following writeup is based on Section 12.5.1 from Fundamentals of Communication Systems by John G. Proakis, Masoud Salehi Simple example with [...]
Related posts:<ol>
<li><a href='http://www.dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/' rel='bookmark' title='Bounds on Communication based on Shannon&#8217;s capacity'>Bounds on Communication based on Shannon&#8217;s capacity</a></li>
<li><a href='http://www.dsplog.com/2007/12/02/digital-implementation-of-rc-low-pass-filter/' rel='bookmark' title='Digital implementation of RC low pass filter'>Digital implementation of RC low pass filter</a></li>
<li><a href='http://www.dsplog.com/2009/05/17/gate-objective-questions-solved/' rel='bookmark' title='Solved objective questions (GATE)'>Solved objective questions (GATE)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p></p><p>Let us try to understand the formula for <strong>Channel Capacity with an Average Power Limitation</strong>, described in Section 25 of the landmark paper <a title="Shannon's 1948 paper on A Mathematical Theory for Communication" href="http://plan9.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf"><strong>A Mathematical Theory for Communication</strong></a>, by <a title="Wikipedia entry on Mr. Claude Shannon" href="http://en.wikipedia.org/wiki/Claude_Shannon" target="_self">Mr. Claude Shannon</a>.</p>
<p>Further, the following writeup is based on Section 12.5.1 from <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Communication-Systems-John-Proakis%2Fdp%2F013147135X&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Fundamentals of Communication Systems by John G. Proakis, Masoud Salehi</a><img style="border: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><span id="more-169"></span></p>
<h2>Simple example with voltage levels</h2>
<p>Let us consider that we have two voltage sources:<br />
(a) Signal source which can generate voltages in the range  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?0" border="0" alt="" align="absmiddle" /> to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?V" border="0" alt="" align="absmiddle" /> volts<br />
(b) Noise source which can generate voltage levels <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-\frac{V_n}{2}" border="0" alt="" align="absmiddle" /> to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{V_n}{2}" border="0" alt="" align="absmiddle" /> volts.</p>
<p><img class="alignnone size-full wp-image-170" title="Voltage levels with noise" src="http://www.dsplog.com/db-install/wp-content/uploads/2008/06/voltage_levels_with_noise.png" alt="Voltage levels with noise" width="300" height="72" /></p>
<p><strong>Figure: Discrete voltage levels with noise<br />
</strong></p>
<p>Let us now try to send <strong>information at discrete voltage levels </strong><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?V_m" border="0" alt="" align="absmiddle" /> from the source (thick black lines as shown in the above figure). It is intuitive to guess that the receiver will be able to decode the <strong>received symbol correctly</strong> if the received signal lies within <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?V_m \pm \frac{V_n}{2}" border="0" alt="" align="absmiddle" />.</p>
<p>So, the <strong>number of different discrete voltages levels (information)</strong> which can be sent, while ensuring <strong>error free</strong> communication is the total voltage level divided by the noise voltage level i.e.<br />
<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?M=\frac{V+V_n}{V_n}" border="0" alt="" align="absmiddle" />.</p>
<h2><strong>Extending to Gaussian channel </strong></h2>
<p>Let us transmit <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k" border="0" alt="" align="absmiddle" /> randomly chosen discrete voltage levels <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?V_m" border="0" alt="" align="absmiddle" /> meeting the average power constraint,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{1}{k}\sum_{i=1}^{k}V_{m,i}^2 \le Ps" border="0" alt="" align="absmiddle" />, where <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_s" border="0" alt="" align="absmiddle" /> is the signal power.</p>
<p>The noise signal <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?V_n" border="0" alt="" align="absmiddle" /> follows the Gaussian probability distribution function</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?p%28x%29%20=%20%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%5Csigma%5E2%7D%7De%5E%7B%5Cfrac%7B-%28x-%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>
<p>The noise power <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_n" border="0" alt="" align="absmiddle" /> is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{1}{k}\sum_{i=1}^{k}V_{n,i}^2 = Pn" border="0" alt="" align="absmiddle" />.</p>
<p>The average total (signal plus noise) voltage over <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k" border="0" alt="" align="absmiddle" />symbols is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\fs1 \sqrt{\sum_{i=1}^k(V_{m,i}+V_{n,i})^2}" border="0" alt="" align="absmiddle" />.</p>
<p>Similiarly, the average noise voltage over <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?k" border="0" alt="" align="absmiddle" />symbols is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\fs1 \sqrt{\sum_{i=1}^kV_{n,i}^2}" border="0" alt="" align="absmiddle" />.</p>
<p>Combining the above two equations, the number of different messages <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?M" border="0" alt="" align="absmiddle" /> which can be &#8216;<em><strong>reliably transmitted</strong></em>&#8216; is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi? \begin{eqnarray}M&amp;=&amp;\sqrt{\frac{\sum_i(V_{m,i}+V_{n,i})^2}{\sum_iV_{n,i}^2}}\\&amp;=&amp;\sqrt{\frac{\sum_iV_{m,i}^2+\sum_iV_{n,i}^2+2\sum_iV_{m,i}V_{n,i}}{\sum_iV_{n,i}^2}}\\&amp;=&amp;\sqrt{\frac{\sum_iV_{m,i}^2+\sum_iV_{n,i}^2}{\sum_iV_{n,i}^2}}\\&amp;=&amp;\sqrt{\frac{Ps+P_n}{P_n}}\end{eqnarray}" border="0" alt="" align="absmiddle" />.</p>
<p><strong>Note:</strong></p>
<p>1. The product of the signal and noise accumulated over many symbols average to zero, i.e</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\sum_iV_{m,i}V_{n,i}=0" border="0" alt="" align="absmiddle" />.</p>
<p>2. Since the noise is Gaussian distributed, the noise can theoretically go from <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?-\infty" border="0" alt="" align="absmiddle" /> to <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?+\infty" border="0" alt="" align="absmiddle" />. So the above result cannot ensure zero probability of error in receiver, but only arbitrarily small probability of error.</p>
<h2>Converting to bits per transmission</h2>
<p>With <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?M" border="0" alt="" align="absmiddle" /> different messages, the number of bits which can be transmitted per transmission is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\begin{eqnarray}C&amp;=&amp;\log_2(M)\\&amp;=&amp;\frac{1}{2}\log_2\left(1+\frac{P_s}{P_n}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" /> bits/transmission.</p>
<h2>Bringing bandwidth into the equation</h2>
<p>Let us assume that the available bandwidth is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?B" border="0" alt="" align="absmiddle" />.</p>
<p>Noise is of power spectral density  <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\frac{N_0}{2}" border="0" alt="" align="absmiddle" /> spread over the bandwidth <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?B" border="0" alt="" align="absmiddle" />. So the noise power in terms of power spectral density and bandwidth is,</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_n = \int_{-B}^{+B}\frac{N_0}{2}df=N_0B" border="0" alt="" align="absmiddle" />.</p>
<p>From our previous post on <a title="Transmit pulse shaping using sinc filter" href="http://www.dsplog.com/2008/04/14/transmit-pulse-shape-nyquist-sinc-rectangular/" target="_self">transmit pulse shaping filter</a> that minimum required bandwidth for transmitting symbols with symbol period <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?T" border="0" alt="" align="absmiddle" /> is<img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?+\frac{1}{2T}" border="0" alt="" align="absmiddle" />Hz. Conversely, if the available bandwidth is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?B" border="0" alt="" align="absmiddle" />, the maximum symbol rate (transmissions per second) is <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2B" border="0" alt="" align="absmiddle" />.</p>
<p>Multiplying the equation for bits per transmission with transmission per second of <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?2B" border="0" alt="" align="absmiddle" /> and replacing the noise term <img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?P_n" border="0" alt="" align="absmiddle" />, the capacity is</p>
<p><img src="http://www.dsplog.com/cgi-bin/mimetex.cgi?\Huge\begin{eqnarray}C&amp;=&amp;B\log_2\left(1+\frac{P_s}{N_oB}\right)\end{eqnarray}" border="0" alt="" align="absmiddle" /> bits/second.</p>
<p>Voila! This is <strong>Shannon&#8217;s equation</strong> for <strong>capacity of band limited</strong> <strong>additive white Gaussian noise</strong> channel with an <strong>average transmit power</strong> constraint. <img src='http://www.dsplog.com/db-install/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>References</h2>
<p><a title="Shannon's 1948 paper on A Mathematical Theory for Communication" href="http://plan9.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf">A Mathematical Theory for Communication</a>, by <a title="Wikipedia entry on Mr. Claude Shannon" href="http://en.wikipedia.org/wiki/Claude_Shannon" target="_self">Mr. Claude Shannon</a></p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Communication-Systems-John-Proakis%2Fdp%2F013147135X&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">[COMM-SYS-PROAKIS-SALEHI] </a><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFundamentals-Communication-Systems-John-Proakis%2Fdp%2F013147135X&amp;tag=dl04-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Fundamentals of Communication Systems by John G. Proakis, Masoud Salehi</a><img style="border: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><a title="Shannon's 1948 paper on A Mathematical Theory for Communication" href="http://plan9.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf"><br />
</a></p>
<p>Related posts:<ol>
<li><a href='http://www.dsplog.com/2008/06/18/bounds-on-communication-shannon-capacity/' rel='bookmark' title='Bounds on Communication based on Shannon&#8217;s capacity'>Bounds on Communication based on Shannon&#8217;s capacity</a></li>
<li><a href='http://www.dsplog.com/2007/12/02/digital-implementation-of-rc-low-pass-filter/' rel='bookmark' title='Digital implementation of RC low pass filter'>Digital implementation of RC low pass filter</a></li>
<li><a href='http://www.dsplog.com/2009/05/17/gate-objective-questions-solved/' rel='bookmark' title='Solved objective questions (GATE)'>Solved objective questions (GATE)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.dsplog.com/2008/06/15/shannon-gaussian-channel-capacity-equation/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.dsplog.com @ 2012-02-05 02:59:36 -->
