A Tanner graph is a pictorial representation for the parity-check constraints of an ECC (Tanner [1981]). In Tanner graphs each square represents a paritycheck bit and each circle connected to a square represents a bit that participates in that parity check. Thus, the nodes of the graph are separated into two distinct sets: c-nodes (top nodes, circles) and p-nodes (bottom nodes, squares). For an (n, k) code, the c-nodes ci, i = 1, . . . , n, and the p-nodes pj, j = 1, . . . ,m, m = n−k, represent the message bits (symbols) and the parity bits, respectively, for a transmitted word ci (or received word denoted by wi). These nodes are connected to each other by the following formula:{ p-node pj is connected to c-node ci if the element hji of H is 1

for 1 ≤ i ≤ n and 1 ≤ j ≤ k.