<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>LDPC Implementation in Labview - Tom Novlan and Yang You</title>
	<atom:link href="http://ldpcproject.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ldpcproject.wordpress.com</link>
	<description>Sparse, error correcting Gallager codes</description>
	<lastBuildDate>Wed, 04 Nov 2009 07:14:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ldpcproject.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>LDPC Implementation in Labview - Tom Novlan and Yang You</title>
		<link>http://ldpcproject.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ldpcproject.wordpress.com/osd.xml" title="LDPC Implementation in Labview - Tom Novlan and Yang You" />
	<atom:link rel='hub' href='http://ldpcproject.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Introduction</title>
		<link>http://ldpcproject.wordpress.com/2007/12/07/introduction/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/07/introduction/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 07:48:13 +0000</pubDate>
		<dc:creator>Yang You</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/07/introduction/</guid>
		<description><![CDATA[We are graduate students at the University of Texas in Austin, enrolled in the Communication Networks and Systems track. For our introductory Wireless Lab class project, we developed several VIs adding LDPC error correcting codes to an existing single carrier transceiver system. We collected bit error rate statistics in an AWGN channel simulator and tested [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=3&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We are graduate students at the University of Texas in Austin, enrolled in the Communication Networks and Systems track. For our introductory Wireless Lab class project, we developed several VIs adding LDPC error correcting codes to an existing single carrier transceiver system. We collected bit error rate statistics in an AWGN channel simulator and tested our code on a live wireless link using RF hardware from National Instruments. Below, we provide a description of our implementation and a brief summary of some results.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=3&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/07/introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/be982a50bcaff2292c24afe7321e470a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yang You</media:title>
		</media:content>
	</item>
		<item>
		<title>What are LDPC Codes?</title>
		<link>http://ldpcproject.wordpress.com/2007/12/07/what-are-ldpc-codes/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/07/what-are-ldpc-codes/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 07:18:15 +0000</pubDate>
		<dc:creator>Yang You</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/what-are-ldpc-codes/</guid>
		<description><![CDATA[Low density parity check codes are error correcting codes, first discovered by Robert Gallager in the 1960&#8242;s, but were largely forgotten because of the encoding and decoding complexity at the time. Although some work was done in the 1980&#8242;s, it was not until they were independently rediscovered, starting with work by David MacKay, that their [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=4&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Low density parity check codes are error correcting codes, first discovered by Robert Gallager in the 1960&#8242;s, but were largely forgotten because of the encoding and decoding complexity at the time. Although some work was done in the 1980&#8242;s, it was not until they were independently rediscovered, starting with work by David MacKay, that their use began to proliferate [2].</p>
<p>Basically, an LDPC code consists of a sparse matrix with very few ones in each row and column, called the &#8220;Parity Check Matrix&#8221;. Usually, each row of the matrix is designed to be linearly independent from the other rows, which is an assumption we have made for our project. Regular codes have an equal number of non-zero elements in each column and an equal number in each row, while irregular codes can have a varying number [3].</p>
<p align="center"><img src="http://ldpcproject.files.wordpress.com/2007/12/matrix.jpg" alt="Gallager’s Matrix" /></p>
<p align="center">An example of an LDPC parity check matrix with three 1&#8242;s in each column and four 1&#8242;s in each row, created by Gallager [2].</p>
<p>When multiplied by a column vector &#8220;codeword&#8221; in modulo 2 arithmetic, the result should be a column vector of 0&#8242;s. The code word consists of a block of &#8220;parity&#8221; check bits, which has the same length as the number of rows, and a block of data bits. The rate of the code is the number of data bits divided by the number of columns in the matrix. The process of encoding is determining the set of parity bits that, when concatenated with the data bits, will multiply the parity check matrix and create a column of zeros. The decoding process determines the set of bits that were transmitted with this property based on the received packet.</p>
<p>LDPC codes are powerful because, with a sufficiently long block length, one can approach Shannon&#8217;s capacity limit for a noisy channel with arbitrary precision. In some cases, LDPC codes can be constructed to have better performance than Turbo codes, another widely used error correction code [2].</p>
<p>Additionally, LDPC codes are advantageous in that they use a lower complexity iterative decoding &#8220;belief propagation&#8221; algorithm which can be implemented in parallel in hardware. The decoder is also very good at detecting errors in the received codeword while also determining when it is unable to correctly decode the packet. Although the encoding complexity is somewhat high, the powerful properties of LDPC codes have warranted their inclusion in many standards such as IEEE 802.16, 802.20, 802.3 and DBV-RS2 [2].</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=4&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/07/what-are-ldpc-codes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/be982a50bcaff2292c24afe7321e470a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yang You</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/matrix.jpg" medium="image">
			<media:title type="html">Gallager’s Matrix</media:title>
		</media:content>
	</item>
		<item>
		<title>Faster Encoding using Sparse Matrix Properties</title>
		<link>http://ldpcproject.wordpress.com/2007/12/07/faster-encoding-using-sparse-matrix-properties/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/07/faster-encoding-using-sparse-matrix-properties/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 06:53:58 +0000</pubDate>
		<dc:creator>Yang You</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/faster-encoding-using-sparse-matrix-properties/</guid>
		<description><![CDATA[From [5], suppose we would like to impose a series of M parity check on N bits. Once sent through the channel and corrupted by additive white Gaussian noise (AWGN), the decoder, knowing the same parity check matrix, can verify the M parity checks and attempt to determine the correct set of bits that were [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=5&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>From [5], suppose we would like to impose a series of M parity check on N bits. Once sent through the channel and corrupted by additive white Gaussian noise (AWGN), the decoder, knowing the same parity check matrix, can verify the M parity checks and attempt to determine the correct set of bits that were sent. If H is the MxN parity check matrix with M &lt; N, x is a column vector bit-sequence of length N, and, 0 is a length N column of 0&#8242;s, this amounts to satisfying:</p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=Hx+%3D+0+&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='Hx = 0 ' title='Hx = 0 ' class='latex' /></p>
<p align="left">x is composed of an M length parity block and an N-M length data block. The goal of encoding is to find the M length parity check sequence such that when concatenated with the data block, the above relationship holds under modulo 2 arithmetic. A brute force approach is to divide the H matrix and x into two parts:</p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=H+%3D+%5BA+%7C+B%5D&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='H = [A | B]' title='H = [A | B]' class='latex' /></p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=x+%3D+%5B%5Cfrac%7Bc%7D%7Bd%7D%5D&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='x = [&#92;frac{c}{d}]' title='x = [&#92;frac{c}{d}]' class='latex' /></p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=Ac+%2B+Bd+%3D+0&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='Ac + Bd = 0' title='Ac + Bd = 0' class='latex' /></p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=c+%3D+A%5E%7B-1%7DBd&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='c = A^{-1}Bd' title='c = A^{-1}Bd' class='latex' /></p>
<p align="left"> Solving for the parity bits c requires time proportional to M*(N-M). A faster approach is to peform the lower and upper triangular decomposition of A ahead of time so that encoding only involves solving two matrixes using backward substitution and forward substitution only. This requires time proportional to M^2 which is usually a nice improvement given N ~ 2M.</p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=z+%3D+Bd&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='z = Bd' title='z = Bd' class='latex' /></p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=Ly+%3D+z&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='Ly = z' title='Ly = z' class='latex' /></p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=Uc+%3D+y&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='Uc = y' title='Uc = y' class='latex' /></p>
<p align="left">I implemented the min-col algorithm for LU decomposition described on Radford&#8217;s <a href="http://www.cs.utoronto.ca/~radford/ftp/LDPC-2006-02-08/sparse-LU.html" target="_blank">website</a> [5]. While preprocessing a large matrix can take a long time, the preprocessed output can be used each time a message is encoded which reduces the actual encoding time.</p>
<p align="left">Using the sparse matrix representation in Matlab greatly increases the speed of the algorithm. I created two versions of the algorithm in LabView, one using regular matrixes and a second using sparse matrixes. Although both work, the efficiency of the sparse implementation was reduced by the fact that Labview does not use linked lists to represent their arrays.</p>
<p align="left">I also implemented the efficient encoding algorithm described in [1] and [4] in Matlab. The paper describes a method to form an approximate lower triangular H matrix which can be used for encoding in near linear time. Although the algorithm I created worked well for small matrixes, when testing with large matrixes I saw erroroneous results and did not have time to fully debug the issues. The program is also posted as a reference to an alternative approach.</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=5&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/07/faster-encoding-using-sparse-matrix-properties/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/be982a50bcaff2292c24afe7321e470a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yang You</media:title>
		</media:content>
	</item>
		<item>
		<title>LDPC Encoder Implementation</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/ldpc-encoder/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/ldpc-encoder/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 02:53:08 +0000</pubDate>
		<dc:creator>Yang You</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/ldpc-encoder/</guid>
		<description><![CDATA[This is the transmitter.vi which creates a source message, encodes the message using the parity check matrix defined in the GlobalParams.vi. If the newH matrix is not defined, the encoder will perform the LU decomposition and cache the result. Although the decomposition may take a long time for large matrixes, it need only be done [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=17&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://ldpcproject.files.wordpress.com/2007/12/transmitter.jpg" alt="LDPC Encoder" /></p>
<p>This is the transmitter.vi which creates a source message, encodes the message using the parity check matrix defined in the GlobalParams.vi. If the newH matrix is not defined, the encoder will perform the LU decomposition and cache the result. Although the decomposition may take a long time for large matrixes, it need only be done once. The GlobalParams.vi has a predefined 1000&#215;2000 parity check matrix forming a 1/2 rate code.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=17&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/ldpc-encoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/be982a50bcaff2292c24afe7321e470a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yang You</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/transmitter.jpg" medium="image">
			<media:title type="html">LDPC Encoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Log Likelihood Iterative LDPC Decoder</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/log-likelihood-iterative-ldpc-decoder/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/log-likelihood-iterative-ldpc-decoder/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 22:13:51 +0000</pubDate>
		<dc:creator>Tom Novlan</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/log-likelihood-iterative-ldpc-decoder/</guid>
		<description><![CDATA[Out implemented decoding algorithm is presented in T.K. Moon’s book Error Correcting Coding: Mathematical Methods and Algorithms [2]. The main idea is to use the log ratio of the conditional probabilities along with the party check matrix used by the LDPC encoder to estimate the receied bit sequence. The decoding process can be represented by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=14&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Out implemented decoding algorithm is presented in T.K. Moon’s book <em>Error Correcting Coding: Mathematical Methods and Algorithms</em> [2]. The main idea is to use the log ratio of the conditional probabilities along with the party check matrix used by the LDPC encoder to estimate the receied bit sequence. The decoding process can be represented by a graph that alternates between parity checks (check nodes) and the estimates of the received bits (bit nodes).</p>
<h3>
<p style="text-align:center;"><img src="http://ldpcproject.files.wordpress.com/2007/12/decode-process.jpg" alt="Decoding Process" /></p>
</h3>
<p align="center">The Bit Nodes are computed using the formula</p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=%5Clambda%28c_%7Bn%7D%7Cr%29+%3D+L_%7Bc%7Dr_%7Bn%7D+-2%5Csum_%7Bm%5Cin+M_%7Bn%7D%7D%5Ctanh%5E%7B-1%7D%28%5Cprod_%7Bj%5Cin%5Caleph_%7Bm%2Cn%7D%7D%5Ctanh%28-%5Cfrac%7B%5Clambda%28c_%7Bj%7D%7C%7Br_%7Bi%7D%2C+i+%5Cneq+n%7D%29%7D%7B2%7D%29%29&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='&#92;lambda(c_{n}|r) = L_{c}r_{n} -2&#92;sum_{m&#92;in M_{n}}&#92;tanh^{-1}(&#92;prod_{j&#92;in&#92;aleph_{m,n}}&#92;tanh(-&#92;frac{&#92;lambda(c_{j}|{r_{i}, i &#92;neq n})}{2}))' title='&#92;lambda(c_{n}|r) = L_{c}r_{n} -2&#92;sum_{m&#92;in M_{n}}&#92;tanh^{-1}(&#92;prod_{j&#92;in&#92;aleph_{m,n}}&#92;tanh(-&#92;frac{&#92;lambda(c_{j}|{r_{i}, i &#92;neq n})}{2}))' class='latex' /><strong> [2]  </strong></p>
<p>There are four stages to the decoding algorithm [2]:</p>
<p>1.Computing the probabilities</p>
<p>2.Updating the check nodes</p>
<p>3.Updating the bit nodes</p>
<p>4.Computing the decoded sequence</p>
<p>The algorithm is iterative between stages 2 through 4.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=14&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/log-likelihood-iterative-ldpc-decoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4e6cf6c941cd640a03835c73f7198009?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tom Novlan</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/decode-process.jpg" medium="image">
			<media:title type="html">Decoding Process</media:title>
		</media:content>
	</item>
		<item>
		<title>Stage 1: Initialization and Computation of the Log Likelihood Probabilities</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/stage-1-compute-the-log-likelihood-probabilities/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/stage-1-compute-the-log-likelihood-probabilities/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 22:13:05 +0000</pubDate>
		<dc:creator>Tom Novlan</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/stage-1-compute-the-log-likelihood-probabilities/</guid>
		<description><![CDATA[Relevant VIs: “bpskProb.vi” , &#8220;LDPCdecode.vi&#8221; bpskProb.vi The posterior probabilities for BPSK can be computed using the following formula: [2] The log likelihood probabilities are output as an array and were computed using the following formula: [2] Where A is the symbol amplitude (fixed at 1), No is the noise power, and y[n] are the received [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=13&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3 class="MsoNormal"></h3>
<p>Relevant VIs: <span></span>“bpskProb.vi” , &#8220;LDPCdecode.vi&#8221;</p>
<p style="margin:0 0 10pt;" class="MsoNormal" align="center"><img src="http://ldpcproject.files.wordpress.com/2007/12/bpskprob2.jpg" alt="Calculate the prior probabilities for BPSK in a AWGN channel." /></p>
<p style="margin:0 0 10pt;" class="MsoNormal" align="center">bpskProb.vi</p>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<p>The posterior probabilities for BPSK can be computed using the following formula:</p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=p%5Bn%5D+%3D+%5Cfrac%7Be%5E%7B%5Cfrac%7B-2%2AA%2ARe%28y%5Bn%5D%29%7D%7BNo%7D%29%7D%7D%7B%7B%28e%5E%7B%5Cfrac%7B-2%2AA%2ARe%28y%5Bn%5D%29%7D%7BNo%7D%7D+%2B1%29%7D%7D&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='p[n] = &#92;frac{e^{&#92;frac{-2*A*Re(y[n])}{No})}}{{(e^{&#92;frac{-2*A*Re(y[n])}{No}} +1)}}' title='p[n] = &#92;frac{e^{&#92;frac{-2*A*Re(y[n])}{No})}}{{(e^{&#92;frac{-2*A*Re(y[n])}{No}} +1)}}' class='latex' />[2]</p>
<p>The log likelihood probabilities are output as an array and were computed using the following formula:</p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=r%5Bn%5D+%3D+%5Cfrac%7B%5Clog%7B%28%5Cfrac%7B1%7D%7Bp%5Bn%5D%7D%29-1%7D%7D%7B-2%2AA%2ANo%7D&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='r[n] = &#92;frac{&#92;log{(&#92;frac{1}{p[n]})-1}}{-2*A*No}' title='r[n] = &#92;frac{&#92;log{(&#92;frac{1}{p[n]})-1}}{-2*A*No}' class='latex' />[2]</p>
<p>Where A is the symbol amplitude (fixed at 1), No is the noise power, and y[n] are the received symbols.</p>
<p>Once the probabilities are computed, they are passed to LDPCdecode.vi. The first part of the vi initializes values for the algorithm.</p>
<p class="MsoNormal">&nbsp;</p>
<p style="text-align:center;"><img src="http://ldpcproject.files.wordpress.com/2007/12/ldpcdecode4.jpg?w=658&#038;h=609" alt="LDPC Decoder" height="609" width="658" /></p>
<p style="text-align:center;">LDPCdecode.vi</p>
<p class="MsoNormal">&nbsp;</p>
<p style="margin:0 0 10pt;" class="MsoNormal">&nbsp;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=13&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/stage-1-compute-the-log-likelihood-probabilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4e6cf6c941cd640a03835c73f7198009?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tom Novlan</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/bpskprob2.jpg" medium="image">
			<media:title type="html">Calculate the prior probabilities for BPSK in a AWGN channel.</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/ldpcdecode4.jpg" medium="image">
			<media:title type="html">LDPC Decoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Stage 2: Updating the Check Nodes</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/stage-2-updating-the-check-nodes/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/stage-2-updating-the-check-nodes/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 22:12:22 +0000</pubDate>
		<dc:creator>Tom Novlan</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/stage-2-updating-the-check-nodes/</guid>
		<description><![CDATA[Relevant VIs : &#8216;LDPCdecode.vi&#8217;, &#8216;CheckNodeUpdate.vi&#8217;   Eta represents the information or “message” that is passed between the check nodes and the bit nodes. It can be computed using the following formula: [2]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=12&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3></h3>
<p>Relevant VIs : &#8216;LDPCdecode.vi&#8217;, &#8216;CheckNodeUpdate.vi&#8217;</p>
<p><img border="0" width="707" src="https://webspace.utexas.edu/tdn55/Wireless%20Project/ChkNdUp4.jpg?uniq=ip7ody" alt="Check Node Update vi" height="366" /> </p>
<p>Eta represents the information or “message” that is passed between the check nodes and the bit nodes. It can be computed using the following formula:</p>
<p align="center"><img src='http://s0.wp.com/latex.php?latex=%5Ceta_%7Bm%2Cn%7D+%3D+-2%5Ctanh%5E%7B-1%7D%28%5Cprod_%7Bj%5Cin%5Caleph_%7Bm%2Cn%7D%7D%5Ctanh%28-%5Cfrac%7B%5Clambda%28c_%7Bj%7D%7C%7Br_%7Bi%7D%2C+i+%5Cneq+n%7D%29%7D%7B2%7D%29%29&amp;bg=ffffff&amp;fg=000000&amp;s=2' alt='&#92;eta_{m,n} = -2&#92;tanh^{-1}(&#92;prod_{j&#92;in&#92;aleph_{m,n}}&#92;tanh(-&#92;frac{&#92;lambda(c_{j}|{r_{i}, i &#92;neq n})}{2}))' title='&#92;eta_{m,n} = -2&#92;tanh^{-1}(&#92;prod_{j&#92;in&#92;aleph_{m,n}}&#92;tanh(-&#92;frac{&#92;lambda(c_{j}|{r_{i}, i &#92;neq n})}{2}))' class='latex' /> [2]</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=12&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/stage-2-updating-the-check-nodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4e6cf6c941cd640a03835c73f7198009?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tom Novlan</media:title>
		</media:content>

		<media:content url="//webspace.utexas.edu/tdn55/Wireless%20Project/ChkNdUp4.jpg?uniq=ip7ody" medium="image">
			<media:title type="html">Check Node Update vi</media:title>
		</media:content>
	</item>
		<item>
		<title>Stage 3: Updating the Bit Nodes</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/stage-3-updating-the-bit-nodes/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/stage-3-updating-the-bit-nodes/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 22:12:07 +0000</pubDate>
		<dc:creator>Tom Novlan</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/stage-3-updating-the-bit-nodes/</guid>
		<description><![CDATA[Relevant VI’s : LDPCdecode.vi, BitNodeUpdate.vi BitNodeUpdate.vi updates the Bit Node Checks according formula (1) presented in the LDPC Decoding algorithm. The check nodes eta (input eta) were generated by CheckNodeUpdate.vi and the current array of the probabilities of the received signal (lambda). For each column in the parity check matrix, the Bit Node (lambda) is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=11&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h4 class="MsoNormal"></h4>
<p>Relevant VI’s : LDPCdecode.vi, BitNodeUpdate.vi</p>
<h4 class="MsoNormal" align="center"><img src="http://ldpcproject.files.wordpress.com/2007/12/bitnodeupdate3.jpg" alt="Bitnode Update" /></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h4 class="MsoNormal"></h4>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<h3 class="MsoNormal"></h3>
<p>BitNodeUpdate.vi updates the Bit Node Checks according formula (1) presented in the LDPC Decoding algorithm. The check nodes eta (input eta) were generated by CheckNodeUpdate.vi and the current array of the probabilities of the received signal (lambda). For each column in the parity check matrix, the Bit Node (lambda) is updated by being added to the sum of the eta values located in that column. <span> </span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=11&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/stage-3-updating-the-bit-nodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4e6cf6c941cd640a03835c73f7198009?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tom Novlan</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/bitnodeupdate3.jpg" medium="image">
			<media:title type="html">Bitnode Update</media:title>
		</media:content>
	</item>
		<item>
		<title>Stage 4: Computing the Decoded Sequence</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/stage-4-computing-the-decoded-sequence/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/stage-4-computing-the-decoded-sequence/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 22:11:38 +0000</pubDate>
		<dc:creator>Tom Novlan</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/stage-4-computing-the-decoded-sequence/</guid>
		<description><![CDATA[&#160; Relevant VI’s : LDPCdecode.vi &#160; Once the Bit Nodes have been updated for the current iteration, the decoded sequence can be easily computed by thresholding the lambda values about zero. The transmitted message is located after the first M (number of rows in the parity check matrix). Whether or not another iteration should take [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=10&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="margin:0 0 10pt;" class="MsoNormal">&nbsp;</p>
<p>Relevant VI’s : LDPCdecode.vi</p>
<p style="margin:0 0 10pt;" class="MsoNormal">&nbsp;</p>
<p style="margin:0 0 10pt;" class="MsoNormal"><a href="http://ldpcproject.files.wordpress.com/2007/12/ldpcdecode3.jpg" title="LDPC Decoder"></a></p>
<p style="text-align:center;"><a href="http://ldpcproject.files.wordpress.com/2007/12/ldpcdecode3.jpg" title="LDPC Decoder"><img src="http://ldpcproject.files.wordpress.com/2007/12/ldpcdecode3.jpg" alt="LDPC Decoder" /></a></p>
<p>Once the Bit Nodes have been updated for the current iteration, the decoded sequence can be easily computed by thresholding the lambda values about zero.<span>  </span>The transmitted message is located after the first M (number of rows in the parity check matrix). Whether or not another iteration should take place is determined by using the property of LDPC codes that if the message (d) is successfully decoded, the following condition must be met [2]:<span>  </span>mod(H*d’,2) = 0.</p>
<p>LDPCdecode.vi computes this metric every iteration of the while loop, and if the parity condition is met, the loop ends, otherwise it continues with the next iteration, up to the pre-determined max number of iterations. This is the final stage of LDPCDecode.vi and once the loop terminates, dataout is passed to the error detect vi in receiver.vi</p>
<p style="margin:0 0 10pt;" class="MsoNormal">&nbsp;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=10&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/stage-4-computing-the-decoded-sequence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4e6cf6c941cd640a03835c73f7198009?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tom Novlan</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/ldpcdecode3.jpg" medium="image">
			<media:title type="html">LDPC Decoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Decoding LabVIEW Implementation</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/decoding-labview-implementation/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/decoding-labview-implementation/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 22:10:30 +0000</pubDate>
		<dc:creator>Tom Novlan</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/decoding-labview-implementation/</guid>
		<description><![CDATA[The Iterative Log Likelihood LDPC decoder was integrated into the EE381V Wireless Lab baseband simulator and the actual wireless lab software (Top_rx.vi). The new block diagram for receiver.vi is below: Error statistics are collected for both decoding methods for comparison purposes. Stage 1 of the algorithm is computed in BPSKProb.vi and the log probabilities are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=8&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Iterative Log Likelihood LDPC decoder was integrated into the EE381V Wireless Lab baseband simulator and the actual wireless lab software (Top_rx.vi). The new block diagram for receiver.vi is below:</p>
<p style="margin:0 0 10pt;"><a href="http://ldpcproject.files.wordpress.com/2007/12/receiver3.jpg" title="LDPC Receiver"></a></p>
<p style="text-align:center;"><a href="http://ldpcproject.files.wordpress.com/2007/12/receiver3.jpg" title="LDPC Receiver"><img src="https://webspace.utexas.edu/tdn55/Wireless%20Project/receiver3.jpg?uniq=ip1fly" alt="Receiver" height="497" width="1185" /></a></p>
<p>Error statistics are collected for both decoding methods for comparison purposes. <span> </span>Stage 1 of the algorithm is computed in BPSKProb.vi and the log probabilities are sent to LDPCDecode.vi. The number of iterations is also set and passed to the vi. The parity check matrix is set as a global variable and is the same one that is used in the encoder.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=8&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/decoding-labview-implementation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4e6cf6c941cd640a03835c73f7198009?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tom Novlan</media:title>
		</media:content>

		<media:content url="//webspace.utexas.edu/tdn55/Wireless%20Project/receiver3.jpg?uniq=ip1fly" medium="image">
			<media:title type="html">Receiver</media:title>
		</media:content>
	</item>
		<item>
		<title>Simulation Results</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/simulation-results/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/simulation-results/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 22:08:44 +0000</pubDate>
		<dc:creator>Tom Novlan</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/simulation-results/</guid>
		<description><![CDATA[The plot above showcases results for a 1000&#215;2000 1/2 rate LDPC code. Clearly, the system utilizing LDPC error correction outperforms regular decoding. However, this is not without cost since the LDPC system incurs additional complexity encoding and decoding the message, as well as 1/2 the throughput of the system without error correction.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=9&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://ldpcproject.files.wordpress.com/2007/12/bervsnr.jpg" alt="Bit error rate vs SNR for decoding with and without LDPC" /></p>
<p align="left">The plot above showcases results for a 1000&#215;2000 1/2 rate LDPC code. Clearly, the system utilizing LDPC error correction outperforms regular decoding. However, this is not without cost since the LDPC system incurs additional complexity encoding and decoding the message, as well as 1/2 the throughput of the system without error correction.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=9&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/simulation-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4e6cf6c941cd640a03835c73f7198009?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Tom Novlan</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/bervsnr.jpg" medium="image">
			<media:title type="html">Bit error rate vs SNR for decoding with and without LDPC</media:title>
		</media:content>
	</item>
		<item>
		<title>Laboratory Results</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/laboratory-results/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/laboratory-results/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 21:54:04 +0000</pubDate>
		<dc:creator>Yang You</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/laboratory-results/</guid>
		<description><![CDATA[These are the results we collected using National Instruments RF hardware in the lab. As you can see, a 1/2 rate LDPC code can completely correct approximately 4% errors in the data stream. Not only that, even when the errors are the result of ISI instead AWGN, the error recovery properties of the LDPC code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=27&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="left">These are the results we collected using National Instruments RF hardware in the lab. As you can see, a 1/2 rate LDPC code can completely correct approximately 4% errors in the data stream. Not only that, even when the errors are the result of ISI instead AWGN, the error recovery properties of the LDPC code still hold well.</p>
<p align="center">&nbsp;</p>
<div align="center">
<table border="0" width="418">
<tr>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_20iter.jpg" title="1db AWGN 20 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_20iter.thumbnail.jpg" alt="1db AWGN 20 Iterations" /></a></td>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_10iter.jpg" title="1db AWGN 10 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_10iter.thumbnail.jpg" alt="1db AWGN 10 Iterations" /></a></td>
<td align="center"><a href="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_5iter.jpg" title="1db AWGN 5 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_5iter.thumbnail.jpg" alt="1db AWGN 5 Iterations" /></a></td>
</tr>
<tr>
<td colspan="3" align="center">1db AWGN 20, 10, and 5 Iterations</td>
</tr>
<tr>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/0dbn0_16iter.jpg" title="0db AWGN 15 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/0dbn0_16iter.thumbnail.jpg" alt="0db AWGN 15 Iterations" /></a></td>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/2dbn0_12iter.jpg" title="-2db AWGN 12 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/2dbn0_12iter.thumbnail.jpg" alt="-2db AWGN 12 Iterations" /></a></td>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/2dbn0_12iter.jpg" title="-4db AWGN 2 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/2dbn0_12iter.thumbnail.jpg" alt="-4db AWGN 2 Iterations" /></a></td>
</tr>
<tr>
<td align="center">-0db, 15 Iterations</td>
<td align="center">-2db 12 Iterations</td>
<td align="center">-4db 2 Iterations</td>
</tr>
<tr>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/1dbisi_19iter.jpg" title="1db ISI 19 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/1dbisi_19iter.thumbnail.jpg" alt="1db ISI 19 Iterations" /></a></td>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/10db_5_ldpc_1kfreq.jpg" title="-10db Noise PWR, 5 LDPC iterations"><br />
</a></td>
<td><a href="http://ldpcproject.files.wordpress.com/2007/12/0dbisi_16iter.jpg" title="0db ISI 16 Iterations"><img src="http://ldpcproject.files.wordpress.com/2007/12/0dbisi_16iter.thumbnail.jpg" alt="0db ISI 16 Iterations" /></a></td>
</tr>
<tr>
<td align="center">1db ISI 19 Iterations</td>
<td align="center">&nbsp;</td>
<td align="center">-0db ISI16 Iterations</td>
</tr>
</table>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=27&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/laboratory-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/be982a50bcaff2292c24afe7321e470a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yang You</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_20iter.thumbnail.jpg" medium="image">
			<media:title type="html">1db AWGN 20 Iterations</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_10iter.thumbnail.jpg" medium="image">
			<media:title type="html">1db AWGN 10 Iterations</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/1dbn0_5iter.thumbnail.jpg" medium="image">
			<media:title type="html">1db AWGN 5 Iterations</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/0dbn0_16iter.thumbnail.jpg" medium="image">
			<media:title type="html">0db AWGN 15 Iterations</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/2dbn0_12iter.thumbnail.jpg" medium="image">
			<media:title type="html">-2db AWGN 12 Iterations</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/2dbn0_12iter.thumbnail.jpg" medium="image">
			<media:title type="html">-4db AWGN 2 Iterations</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/1dbisi_19iter.thumbnail.jpg" medium="image">
			<media:title type="html">1db ISI 19 Iterations</media:title>
		</media:content>

		<media:content url="http://ldpcproject.files.wordpress.com/2007/12/0dbisi_16iter.thumbnail.jpg" medium="image">
			<media:title type="html">0db ISI 16 Iterations</media:title>
		</media:content>
	</item>
		<item>
		<title>Project Files</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/project-files/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/project-files/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 15:21:43 +0000</pubDate>
		<dc:creator>Yang You</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/project-files/</guid>
		<description><![CDATA[Important Labview Files Download Labview VIs Filename Inputs Outputs Description ldpcEncode.vi source row: array of message bits Others are self describing Encoded: the encoded message Others are self-describing Encode the message using the provided LDPC H matrix.Performs LU decomposition and caches the results if necessary. readHMatrix.vi path to the A-list format H matrix file H [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=7&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Important Labview Files</strong></p>
<p><a href="http://seeupload.com/264Final%20LDPC%20VIs.zip">Download Labview VIs</a></p>
<table>
<tbody>
<tr>
<td style="border-bottom:medium solid;"><strong>Filename</strong></td>
<td style="border-bottom:medium solid;"><strong>Inputs</strong></td>
<td style="border-bottom:medium solid;"><strong>Outputs</strong></td>
<td style="border-bottom:medium solid;"><strong>Description</strong></td>
</tr>
<tr>
<td><strong>ldpcEncode.vi</strong></td>
<td><strong>source row</strong>: array of message bits<br />
Others are self describing</td>
<td><strong>Encoded</strong>: the encoded message<br />
Others are self-describing</td>
<td>Encode the message using the provided LDPC H matrix.Performs LU decomposition and caches the results if necessary.</td>
</tr>
<tr>
<td><strong>readHMatrix.vi</strong></td>
<td>path to the A-list format H matrix file</td>
<td>H matrix defined by the A-list file</td>
<td>Reads H-Matrix Data files from the <a title="David MacKay’s listing of various rate sparse codes with which we tested our implementation." href="http://www.inference.phy.cam.ac.uk/mackay/codes/data.html">Encyclopedia of Sparse Graph Codes [6]<br />
</a></td>
</tr>
<tr>
<td><strong>getLU.vi</strong></td>
<td>Parity Check H matrix</td>
<td>LU decomposed H, L and U matrix</td>
<td>Performs the LU decomposition of H using the min-col criteria described by Neal.</td>
</tr>
<tr>
<td><strong>LDPCdecode.vi</strong></td>
<td><strong>MaxIterations</strong> &#8211; Max number of decoding iterations allowed<br />
<strong>Noise Power</strong> &#8211; Used for SNR estimate Lc<br />
<strong>H</strong> &#8211; The parity check matrix used by the encoder<br />
<strong>logprobabilities </strong>- conditional probabilities</td>
<td><strong>dataout</strong> &#8211; decoded bit sequence</td>
<td>Performs the Log Likelihood Iterative LDPC decoding algorithm for BPSK LDPC encoding. Outputs the decoded bit sequence.</td>
</tr>
<tr>
<td><strong>baseband_sim.vi</strong></td>
<td>None</td>
<td>None</td>
<td>Performs the baseband simulation with the LDPC error correction enabled.</td>
</tr>
<tr>
<td><strong>GlobalParams.vi</strong></td>
<td>None</td>
<td>None</td>
<td>Cache of the decomposed LU parity check matrix, the packet length, and if LDPC is enabled.</td>
</tr>
</tbody>
</table>
<p><strong>Matlab Files</strong></p>
<p><a href="http://studentweb.engr.utexas.edu/youy/ldpc/LDPCMatlab.zip">Download Matlab Files</a></p>
<table>
<tbody>
<tr>
<td style="border-bottom:medium solid;"><strong>Filename</strong></td>
<td style="border-bottom:medium solid;"><strong>Inputs</strong></td>
<td style="border-bottom:medium solid;"><strong>Outputs</strong></td>
<td style="border-bottom:medium solid;"><strong>Description</strong></td>
</tr>
<tr>
<td><strong>fastLDPCEnc.m</strong></td>
<td><strong>msg</strong>: k length binary message to be encoded<br />
<strong>H</strong>: the (n-k) x n parity check matrix LDPC code of length n and dimension k<br />
<strong>newH</strong>: the H matrix in approximate lower triangular form.<br />
<strong>g</strong>: the gap of the newH matrix (number of rows away from being lower triangular)</td>
<td><strong>encoded</strong>: the encoded message with n-k parity checks prepended to it.<br />
<strong>g</strong>: the gap of the newH matrix</td>
<td>an unoptomized encoder based on the work of T. J. Richardson and R. L. Urbanke. Works for small matrixes only.</td>
</tr>
<tr>
<td><strong>makeLowerTriangular.m</strong></td>
<td><strong>H</strong>: the (n-k) x n parity check matrix LDPC code of length n and dimension k</td>
<td><strong>newH</strong>: the H matrix in approximate lower triangular form.</td>
<td>Greedy algorithm for triangularizing a matrix based on T. J. Richardson and R. L. Urbanke&#8217;s work</td>
</tr>
<tr>
<td><strong>LDPCdecode.m</strong></td>
<td><strong>H:</strong> Parity check matrx (size M x N)<br />
<strong>r: </strong>Vector of log likelihood probabilities of the received symbols<br />
<strong>Lc = </strong>SNR estimate<br />
<strong>MaxLoop</strong> = Max # of Decoding iterations to attempt</td>
<td><strong>x</strong> = decoded bit sequence</td>
<td>Iterative Log-Likelihood LDPC decoding algorithm as presented in Todd K. Moon&#8217;s text <em>Error Correctng Codeing: Mathematical Methods and Algorithms</em></td>
</tr>
<tr>
<td><strong>priorProb.m</strong></td>
<td><strong>rcv</strong>: received BPSK packet<br />
<strong>N0</strong>: noise power estimate<br />
<strong>amp</strong>: amplitude of the BPSK signal</td>
<td>prior probabilities of the Gaussian Channel</td>
<td>Calculate the prior probabilities of the transmitted symbols through a gaussian channel for BPSK modulation. Used with LDPCdecode.m</td>
</tr>
</tbody>
</table>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=7&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/project-files/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/be982a50bcaff2292c24afe7321e470a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yang You</media:title>
		</media:content>
	</item>
		<item>
		<title>References</title>
		<link>http://ldpcproject.wordpress.com/2007/12/06/references/</link>
		<comments>http://ldpcproject.wordpress.com/2007/12/06/references/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 13:33:29 +0000</pubDate>
		<dc:creator>Yang You</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://ldpcproject.wordpress.com/2007/12/06/references/</guid>
		<description><![CDATA[1. Richardson, T.J.; Urbanke, R.L., &#8220;Efficient encoding of low-density parity-check codes,&#8221; Information Theory, IEEE Transactions on , vol.47, no.2, pp.638-656, Feb 2001 2. T. K. Moon, Error Correcting Coding: Mathematical Methods and Algorithms New York: Wiley, 2005. 3. David J. C. MacKay, Information Theory, Inference and Learning Algorithms Cambridge University, 2003. 4. T. Richardson, R. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=6&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>1. Richardson, T.J.; Urbanke, R.L., &#8220;Efficient encoding of low-density parity-check codes,&#8221; <em>Information Theory, IEEE Transactions on</em> , vol.47, no.2, pp.638-656, Feb 2001</p>
<p>2. T. K. Moon, <em>Error Correcting Coding: Mathematical Methods and Algorithms</em> New York: Wiley, 2005.</p>
<p>3. David J. C. MacKay, <em>Information Theory, Inference and Learning Algorithms</em> Cambridge University, 2003.</p>
<p>4. T. Richardson, R. Urbanke, <em>Modern Coding Theory</em> Cambridge University, 2008.</p>
<p>5. Neal, Radford M. &#8220;Software for Low Density Parity Check Codes.&#8221; 8 Feb. 2006. U. of Toronto. 15 Nov. 2007 &lt;http://www.cs.utoronto.ca/~radford/ftp/LDPC-2006-02-08/index.html&gt;.</p>
<p>6. Mackay, David J. &#8220;Encyclopedia of Sparse Graph Codes.&#8221; University of Cambridge. 15 Nov. 2007 &lt;http://www.inference.phy.cam.ac.uk/mackay/codes/data.html&gt;.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ldpcproject.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ldpcproject.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ldpcproject.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ldpcproject.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ldpcproject.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ldpcproject.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ldpcproject.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ldpcproject.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ldpcproject.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ldpcproject.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ldpcproject.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ldpcproject.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ldpcproject.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ldpcproject.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ldpcproject.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ldpcproject.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ldpcproject.wordpress.com&amp;blog=2270710&amp;post=6&amp;subd=ldpcproject&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ldpcproject.wordpress.com/2007/12/06/references/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/be982a50bcaff2292c24afe7321e470a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Yang You</media:title>
		</media:content>
	</item>
	</channel>
</rss>
