• Aucun résultat trouvé

Low-density parity-check codes

Dans le document The DART-Europe E-theses Portal (Page 78-84)

Low-Density Parity-Check (LDPC) codes are linear error-correcting codes based on parity-check matrices. LDPC codes were developed by Robert G. Gallager in his doc-toral dissertation in 1963 [36], hence so-called Gallager codes. In [101], Tanner proposed a bipartite graph representation of LDPC codes. Moreover, LDPC codes belong to the family of sparse graph codes, which are not MDS codes. However, some existing prac-tical constructions of sparse graph codes allow to approach very closely the Shannon limit over a symmetric memoryless channel, in particular over the BEC. Thus, they are named capacity-approaching codes. Using iterative belief propagation techniques, LDPC codes can be decoded in time linear to their block-length. All these advantages explain that LDPC codes are widely used in applications requiring reliable and highly efficient information transfer over noisy channels.

Graph representation of codes

Any linear code can be represented as a graph. We start by giving the general definition of a graph [11].

Definition 1.11. A graphG is an ordered pair of disjoint sets (V, E) such that E is a subset of the set of unordered pairs of V. The set V is the set of vertices and the setE is the set of edges.

LDPC codes are represented by a bipartite graph also called Tanner graph [101]. It is defined as follows.

Definition 1.12. A graphGis a bipartite graph with vertex classesV1 andV2ifV(G) = V1∪V2, V1∩V2 =∅ and every edge joins a vertex of V1 to a vertex ofV2, i.e. G has a bipartition (V1, V2).

An LDPC code shall be represented by a bipartite graph G = (V1, V2, E). V1 is the set representing the symbols from the finite field Fq, V2 is the set representing the constraints to be applied on these symbols, and E is the set of edges. We adopt the following representation:

• Symbols also called variable nodes are represented by circles on the left of the bipartite graph.

• Constraints on symbols also called check nodes are represented by squares on the right of the bipartite graph.

The incident matrix of G is a matrix that shows the relationship between the two sets of nodes. The matrix has one row for each element of V2 and one column for each element of V1. The entry in row i and column j is 1 if i and j are linked by one edge in the graph and 0 if they are not. The incident matrix of G is a parity-check matrix H of the LDPC code. A check node in the Tanner graph corresponds to a row in H, i.e. it represents a parity-check equation (SPC) code such as c1+c2+c3 = 0 shown in Figure 1.3.

Fanny Jardel 19

c1

c3

SPC (3,2)2

c2

Figure 1.3: Representation of a Single Parity Check SPC(3,2)2, and constraints on variable nodes. Variable nodes on the left are represented by circles and check nodes on the right are represented by squares.

LDPC codes construction

An LDPC of length N and dimension K is defined by a binary sparse (N −K)×N parity-check matrix H. The LDPC code is represented by a bipartite graph, depicted in Figure 1.5, with N variable nodes and N −K check nodes. An example of LDPC code protograph and its corresponding compact Tanner graph is given in Figure1.4. A protograph is a type of compact Tanner graphs.

For regular LDPC codes, all variable nodes have the same degree db and all check nodes have the same degree dc. The number of edges |E| is given by |E| =dbN. The sparsity of the LDPC codes means that left degree and right degree are small compare to the number of edges.

db

dcNcheck nodes

N

2 variable nodes

db

dcN check nodes N×dbedges

db= 3

dc= 6

N

2 variable nodes

N variable nodes

Figure 1.4: Protograph of a (3,6) LDPC code (left) and an equivalent compact Tanner graph (right).

To choose a random graph, consider the sockets on each side of the bipartite graph.

A socket is a place where an edge is attached. So, each variable node hasdb sockets and each check node hasdcsockets. A random graph is formed by matching up the variable node sockets and the check node sockets, using a random permutation. One right socket is linked to one left socket by one edge. Therefore, there exists|E|! matching between right and left sockets. A (db, dc) LDPC ensemble is defined as one random permutation among the |E|!.

Fanny Jardel 20

RANDOM GRAPH degree = 3

degree = 6

SPC (6, 5, 2)

N variable nodes N−K check nodes

Figure 1.5: Tanner graph representation of a (db = 3, dc= 6) LDPC code. LDPC code has length N, dimension K and coding rate R = 1/2. The 3N edges are randomly chosen.

The coding rate of a regular (db, dc) LDPC code, assuming that all these check equations are linearly independent, is defined as:

R= K

N ≥1− db

dc. (1.33)

Irregular LDPC codes

The idea of irregular LDPC codes was first introduced by Luby et al. in [62]. An LDPC code is said to be irregular if graph nodes of the same kind do not have equal degree.

Thereby, variable nodes have different degrees. The fraction of edges emanating from variable nodes of degreeiis denoted λi. The degree distribution is defined by

λ(x) =

db

X

i=2

λixi−1, (1.34)

wheredbis now defined as the maximal degree of variable nodes,λ(1) = 1, and 0≤λi ≤1 for all i. Assume the code has N variable nodes. The number Ni of variable nodes of degree iis then

Ni=N λi/i Pdb

j=2λj/j. (1.35)

Similarly, check nodes have different degrees. The fraction of edges connected to check

Fanny Jardel 21

nodes of degreej is ρj. The degree distribution is defined by for allj. Assume the code hasLcheck nodes. The total number of edges|E|is given by

|E|= N Pdb

i=2λi/i = L Pdc

i=2ρi/i. (1.37)

From this equation, the number of check nodes is:

L=N· Pdc

i=2ρi/i Pdb

i=2λi/i (1.38)

Let ¯db and ¯dcbe the average degree of variable nodes and check nodes respectively. They can be expressed as

The coding rate of an irregular LDPC code, assuming that all these check equations are linearly independent, is equal to

Another group of LDPC codes, presented by Tom Richardson in 2002 in [85], is multi-edge type LDPC codes. Multi-multi-edge type LDPC codes are a generalization of regular and irregular LDPC codes. A multi-edge type LDPC ensemble is constituted of a finite number of edge types. Multiple classes of variable nodes and check nodes are created.

Different node types may have different received distributions, i.e, the associated bits may go through different channels. Multiple-edge type LDPC structures are proposed in [16] and [17]. In Chapter3.3.1, the properties of Root-LDPC codes, which are multi-edge type LDPC codes, are discussed and detailed.

Decoding LDPC codes

The decoding process of an LDPC code is based on its graph representation. Operations are made on variable nodes and check nodes.

In presence of a uniform source encoded by an [N, K] LDPC code whose codewords are transmitted on an i.i.d. binary erasure channel, the iterative non-probabilistic decoding algorithm is given by the following steps:

Fanny Jardel 22

1. Initialize Iter= 0 and j= 1.

2. Count the numberµ of erased bits connected to check nodej.

3. Ifµ= 1 then fill the erased bit by summing other bits modulo 2.

4. Incrementj. Ifj > N−K then incrementIter and setj= 1.

5. if Iter > M axiter then Stop else Goto Step 2.

Now let us analyze the asymptotic performance of the iterative decoding of LDPC codes over the BEC. This asymptotic analysis is made via density evolution (DE). As-sume an infinite length code with a graph representation without cycles. Let xi denote the erasure probability at iteration i. By looking to the tree neighborhood of a graph node, it is easy to show that erasure probabilityxi, after LDPC decoding at iterationi, on the binary erasure channel satisfies:

xi+1 =λ(1−ρ(1−xi)), (1.42)

where is the channel erasure probability.

Theorem 1.1. Let f(, x) =λ(1−ρ(1−x))where 0≤≤1. There exists a threshold wBP such that

1. BP=sup{∈[0,1] :x=f(, x) has no solution in[0,1]} 2. BP=inf{∈[0,1] :x=f(, x) has a solution in [0,1]}

For a degree distribution (λ, ρ) with a BP threshold BP,xBP is a critical point iff f(BP, xBP) =xBP and ∂f(BP, x)

∂x |x=xBP= 1.

Now let us investigate the stability condition. The stability condition gives an upper bound on the BP threshold. The stability condition of the fixed-point at the origin for a functionf(x) is obtained by writing thatf0(0)≤1. Thus, the necessary and sufficient condition for stability of 0 is

BP ≤ 1

λ0(0)ρ0(1). (1.43)

This bound is also true for a Maximum-A-Posteriori (MAP) decoding. Another method to visualize the asymptotic performance under BP decoding is Extrinsic Information Transfer (EXIT) chart. The definition of EXIT function is given below.

Definition 1.13. Given an [N, K] linear code of rateR= KN and X chosen with uniform probability from [N, K], let Y denote the result of letting X be transmitted over a BEC(). The EXIT functionhi() is defined as [86]

hi() =H(Xi |Y−i). (1.44)

Fanny Jardel 23

The average EXIT function is

h() = 1 N

N

X

i=1

hi(). (1.45)

The most relevant property of EXIT function is the Area theorem which can be expressed as follows,

Theorem 1.2. Let [N, K]be a linear code, then Z

0

h(x)dx= 1

NH(X |Y), (1.46)

whereH(X|Y) is the conditional entropy of the codeword X given the observation Y at the receiver.

Z 1

0

h(x)d(x) =R= K

N. (1.47)

BP EXIT function for a (db, dc) regular LDPC ensemble on the BEC() is [86]

hBP() =

((, 0), ∈[0, BP[ x

(1−(1−xdc−1))db−1, (1−(1−xdc−1))db

, ∈]BP,1[. (1.48) Therefore, we can visualize non-trivial fixed-point by plotting the following pairs:

x

(1−(1−xdc−1))db−1, (1−(1−xdc−1))db

!

, (1.49)

in the unit box [0,1]×[0,1]. Beyond the BP threshold, two non trivial fixed-points can be observed (stable and unstable).

In a similar way, let us definedhA,hM APandhS, the entropy-wise channel parameters for a (λ, ρ) LDPC code:

Definition 1.14. Consider a code with a coding rateR= 1−ddbc, the Shannon threshold is

hS = db dc

. (1.50)

Definition 1.15. Under MAP decoding and after a large number of iterations, the bit error probability of the ensemble is vanishing for h < hM AP, where h is the channel parameter.

Definition 1.16. The area under the EXIT curve in the range [hA,1] is equal to the ensemble coding rate.

Fanny Jardel 24

We can notice that:

hBP ≤hM AP ≤hA≤hS. (1.51)

On the binary erasure channel, the area thresholdhAand the MAP threshold hM AP are equal.

For decoding LDPC codes over binary symmetric channels, a well known algorithm is the sum-product decoding. This decoding technique is sub-optimal. However it is based on iterative belief propagation decoding and gives excellent results when practically implemented.

The sum-product decoding techniques view each parity check as an independent SPC code. Each SPC code is separately decoded using soft-in soft-out (SISO) decoder which is capable of determining thea-posteriori probability. The soft decision information from each SISO decoding is cross-checked and updated with other redundant SPC decodings of the same information bit. Each SPC code is then decoded one more time using the updated soft decision information. This process is iterated until a valid codeword is obtained or decoding is exhausted.

Dans le document The DART-Europe E-theses Portal (Page 78-84)