120Chapitre 4 : Two-Bit Message Passing Decoders for **LDPC** Codes Over the Binary Symmetric Channel

topological structure in the Tanner graph is generally difficult **and** is beyond scope of this

work.

Let us first give some additional definitions **and** notations. We define a path of length

d as a set of d connexe edges.

Definition 11 The neighborhood of order one of a node n is denoted by N 1 (n) **and** is

composed of all the nodes such that there exists an edge between these nodes **and** n. By

extension, N d (n) denotes the neighborhood of order d of node n, which is composed of

all the nodes such that there exists a path of length d between these nodes **and** n.

When T is a set of nodes, say T = ∪ i n i , then the order d neighborhood of T is N d (T) =

∪ i N d (n i ). Let v 1 1 , v1 2 **and** v1 3 the variable nodes on which the errors occur. Let V 1 =

{v 1 1 , v1 2 , v1 3 } **and** C1 = N 1 (V 1 ). For more easily readable notations, we denote N 2 (V 1 )\V 1

by V 2 **and** N 1 (V 2 )\C 1 by C 2 . Also we say that a variable is of type (p|q) when it has p

connections to V 1 **and** q connection to V 2 . The union of order d neighborhoods of all the

(p|q) type variable nodes is denoted by N d (p|q).

Now we state the main theorem.

Theorem 5 [Irregular expansion theorem] Let G be the Tanner graph of a columnweight-four

**LDPC** code with no 4-cycles, satisfying the following expansion conditions:

each variable subset of size 4 has at least 11 neighbors, each one of size 5 at least 13

neighbors **and** each one of size 8 at least 16 neighbors. Then the code can correct up

to three errors in the codeword, provided the two-bit decoder, with C = 2, S = 2 **and**

W = 1, is used.

For lighter notations, each expansion condition according to which each variable subset

of size i has at least j neighbors, will be denoted by “i → j expansion condition”.

Proof :

Remark: The proof can be followed more easily by looking at Tables 4.2 **and** 4.3. Table

4.2 draws the decision rule in terms of the numbers of messages −S, −W , W **and** S

going into a variable, when this variable node is decoded as 0 (resp. 1) **and** when the

channel observation is 1 (resp. 0). Table 4.3 draws update rule in terms of the numbers of

messages −S, −W , W **and** S going into the variable node v leading to different values

of the message w j (v, c) going out of v, when the received value is r v . We consider all the

subgraphs subtended by three erroneous variable nodes in a graph **and** prove that, in each

case, the errors are corrected. The possible subgraphs are shown in Figure 4.1. As shown,

five cases arise. In the reminder, we assume that the all-zero codeword has been sent.

Case 1: Consider the error configuration shown in Figure 4.1(a). In this case, variables

1, 2 **and** 3 send incorrect −W messages to their neighbors. They receive W messages

from all their neighboring check nodes, they are therefore decoded correctly. Error

occurs only if there exists a variable node with correct received value that receives four

−W messages from its neighboring check nodes (see Table 4.2). However, since variables

1, 2 **and** 3 are the only variables that send incorrect messages in the first iteration,

it is impossible to encounter such a variable node without introducing a 4-cycle. Hence,