11.07.2015 Views

Multi-Carrier and Spread Spectrum Systems: From OFDM and MC ...

Multi-Carrier and Spread Spectrum Systems: From OFDM and MC ...

Multi-Carrier and Spread Spectrum Systems: From OFDM and MC ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

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

Channel Coding <strong>and</strong> Decoding 183Bit Nodesn 1 n 2 n 3 n 4 n 5 n 6 n 7 n 8CheckNodesm 1 m 2 m 3 m 4Figure 4-42The Tanner graph representation of the LDPC codeNote that the number of ‘1’s in each column of this matrix H is only 2, which makes thismatrix sparse. Due to this sparse property, the same code can be equivalently representedby a bipartite graph, called a ‘Tanner’ graph, which is illustrated in Figure 4-42. Thisgraph connects each check equation (check node) to its participating bits (bit nodes). Aconnection between a bit node n i <strong>and</strong> a check node m j is established if there is a ‘1’ inthe column of the matrix H.Parity check equations imply that for a valid codeword, the modulo-2 sum of adjacentbits of every check node has to be zero. In other words, the vector x is a part of thecodeword C if it satisfies the following condition:Hx T = 0, ∀ x ∈ C. (4.74)The ‘Tanner graph’ code representation enables the LDPC codes to have a parallelizabledecoding implementation, which consists of simple operations such as addition, comparison,<strong>and</strong> table look-up. The degree of parallelism is tunable, which makes it easy to finda tradeoff between throughput, decoding delay, <strong>and</strong> the overall complexity.The decoding process is based on the so-called ‘belief-propagation’ i.e. trying to determinein an iterative manner the best possible codeword from this graph. In each iterationprocess, the bit nodes <strong>and</strong> check nodes communicate with each other. The decoding processstarts first by assigning the received channel LLR(x i ) value of every bit to all theoutgoing edges, i.e. from the corresponding bit node n i to its adjacent check nodes m j .Byreceiving this information, each check node updates the bit node information by referringto the parity check equations, i.e. looking at the connections within the Tanner graph,<strong>and</strong> sends it back. In each bit node a soft majority vote among the information from itsadjacent check nodes will be taken. At this stage, if the hard decisions x on these bitssatisfy all of the parity check equations, i.e. Hx T = 0, this means that a valid codewordhas been found <strong>and</strong> the process stops. Otherwise, the bit nodes send the result of their softmajority votes to the check nodes again <strong>and</strong> hence the process will be repeated until theright codeword is found. In the following, we briefly describe this decoding algorithm.4.4.4.1 InitializationWe will denote LLR(x i ) as the apriori log-likelihood ratio of the transmitted bit x i .Note that the sign of this LLR indicates the hard decision on the received bit, whereasthe magnitude of LLR gives the reliability of the decision. The decoding is initiated by

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

Saved successfully!

Ooh no, something went wrong!