31.07.2015 Views

LDPC Codes – a brief Tutorial - Bernh.net

LDPC Codes – a brief Tutorial - Bernh.net

LDPC Codes – a brief Tutorial - Bernh.net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

c-nodereceived/sentf 0 received: c 1 → 1 c 3 → 1 c 4 → 0 c 7 → 1sent: 0 → c 1 0 → c 3 1 → c 4 0 → c 7f 1 received: c 0 → 1 c 1 → 1 c 2 → 0 c 5 → 1sent: 0 → c 0 0 → c 1 1 → c 2 0 → c 5f 2 received: c 2 → 0 c 5 → 1 c 6 → 0 c 7 → 1sent: 0 → c 2 1 → c 5 0 → c 6 1 → c 7f 3 received: c 0 → 1 c 3 → 1 c 4 → 0 c 6 → 0sent: 1 → c 0 1 → c 3 0 → c 4 0 → c 6Table 1: overview over messages received and sent by the c-nodes instep 2 of the message passing algorithm2. In the second step every check nodes f j calculate a response to f j → c ievery connected variable node. The response message containsthe bit that f j believes to be the correct one for this v-node c iassuming that the other v-nodes connected to f j are correct.In other words: If you look at the example, every c-node f j isconnected to 4 v-nodes. So a c-node f j looks at the message receivedfrom three v-nodes and calculates the bit that the fourthv-node should have in order to fulfill the parity check equation.Table 2 gives an overview about this step.Important is, that this might also be the point at which the decodingalgorithm terminates. This will be the case if all checkequations are fulfilled. We will later see that the whole algorithmcontains a loop, so an other possibility to stop would bea threshold for the amount of loops.3. Next phase: the v-nodes receive the messages from the check c i → f jnodes and use this additional information to decide if their originallyreceived bit is OK. A simple way to do this is a majorityvote. When coming back to our example that means, that eachv-node has three sources of information concerning its bit. Theoriginal bit received and two suggestions from the check nodes.Table 3 illustrates this step. Now the v-nodes can send anothermessage with their (hard) decision for the correct value to thecheck nodes.4. Go to step 2. loopIn our example, the second execution of step 2 would terminate thedecoding process since c 1 has voted for 0 in the last step. This corrects5


of the message bits and some parity check bits. So far nowhere wasmentioned that it’s possible to directly see the original message bitsin a <strong>LDPC</strong> encoded message. Luckily it is.Encoding <strong>LDPC</strong> codes is roughly done like that: Choose certainvariable nodes to place the message bits on. And in the second stepcalculate the missing values of the other nodes. An obvious solutionfor that would be to solve the parity check equations. This wouldcontain operations involving the whole parity-check matrix and thecomplexity would be again quadratic in the block length. In practicehowever, more clever methods are used to ensure that encoding canbe done in much shorter time. Those methods can use again thespareness of the parity-check matrix or dictate a certain structure 3 forthe Tanner graph.5 SummaryLow-density-parity-check codes have been studied a lot in the lastyears and huge progresses have been made in the understanding andability to design iterative coding systems. The iterative decoding approachis already used in turbo codes but the structure of <strong>LDPC</strong> codesgive even better results. In many cases they allow a higher code rateand also a lower error floor rate. Furthermore they make it possibleto implement parallelizable decoders. The main disadvantes are thatencoders are somehow more complex and that the code lenght has tobe rather long to yield good results.For more information <strong>–</strong> and there are a lot of things which haven’tbeen mentioned in this tutorial <strong>–</strong> I can recommend the following websites as a start:http://www.csee.wvu.edu/wcrl/ldpc.htmA collection of links to sites about <strong>LDPC</strong> codes and a list ofpapers about the topic.http://www.inference.phy.cam.ac.uk/mackay/<strong>Codes</strong>Files.htmlThe homepage of MacKay. Very intersting are the Pictorialdemonstration of iterative decoding3 It was already mentioned in section 1.3 that randomly generated <strong>LDPC</strong> codesresults in high encoding complexity.9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!