Tanner Graph

The peeling decoder algorithm is based on the Tanner graph of the code.

For a code with parity check matrix H of size (n-k $\times$ n), the Tanner graph is a bipartite graph which contains edges connecting between two sets of vertices. The first set of vertices is the variable nodes; each variable node corresponds to a code bit (a column in H), so there are n variable nodes. The second set of vertices is the check nodes; each check node corresponds to a check node equation (a row in H), so there are n-k check nodes.

The presence of an edge connecting between the variable node $i$ and the check node $j$ is determined by the value of $H_{ji}$, if this value is zero then there is no edge and if it is one then there is an edge. The tanner graph will be evaluated on two popular graph based codes:

Hamming Codes

Low Density Parity Check (LDPC) Codes