a new algorithm to construct ldpc codes with large stopping sets

62
A new Algorithm to construct LDPC codes with large stopping sets A new Algorithm to construct LDPC codes with large stopping sets Juan Camilo Salazar Ripoll and N´ estor R. Barraza [email protected] Septiembre - 2013 Universidad de los Andes. Universidad Nacional de Tres de Febrero y Facultad de Ingenier´ ıa, UBA

Upload: nestor-barraza

Post on 11-Jun-2015

371 views

Category:

Technology


5 download

DESCRIPTION

A new algorithm to construct good low-density parity-check (LDPC) codes with large stopping sets is presented. Since the minimum stop- ping set characterizes an LDPC code, searching for stopping sets in LDPC codes is an important issue. Large minimum stopping sets avoid the LDPC code to get trapped in cycles specially on the binary erasure channel. Dealing with stopping sets is not an easy task since their discovering is a well known NP hard prob- lem. Conversely, we propose an algorithm in order to construct an LDPC code from a stopping set which is demonstrated to be large. Results of simulations showing the performance of the LDPC code obtained this way are analyzed.

TRANSCRIPT

Page 1: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes withlarge stopping sets

Juan Camilo Salazar Ripoll† and Nestor R. Barraza‡

[email protected]

Septiembre - 2013

†Universidad de los Andes.‡Universidad Nacional de Tres de Febrero y Facultad de Ingenierıa, UBA

Page 2: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Indice

1 IntroductionLDPC codesBipartite Tanner graph - Stopping setVertex Edge Incidence MatrixProperties of Graphs - Girth

2 The AlgorithmThe aimThe methodGetting the LDPC code

3 Simulation

4 Conclusions

Page 3: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Indice

1 IntroductionLDPC codesBipartite Tanner graph - Stopping setVertex Edge Incidence MatrixProperties of Graphs - Girth

2 The AlgorithmThe aimThe methodGetting the LDPC code

3 Simulation

4 Conclusions

Page 4: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Indice

1 IntroductionLDPC codesBipartite Tanner graph - Stopping setVertex Edge Incidence MatrixProperties of Graphs - Girth

2 The AlgorithmThe aimThe methodGetting the LDPC code

3 Simulation

4 Conclusions

Page 5: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Indice

1 IntroductionLDPC codesBipartite Tanner graph - Stopping setVertex Edge Incidence MatrixProperties of Graphs - Girth

2 The AlgorithmThe aimThe methodGetting the LDPC code

3 Simulation

4 Conclusions

Page 6: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

LDPC codes

H =

1 0 1 0 1 0 00 1 0 1 0 1 00 0 0 1 0 1 11 0 1 0 0 1 00 1 0 0 1 0 1

x1 + x3 + x5 = 0

x2 + x4 + x6 = 0

x4 + x6 + x7 = 0

x1 + x3 + x6 = 0

x2 + x5 + x7 = 0 (1)

Page 7: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

x1 + x3 + x5 = 0

Variable nodes

Check nodes

Page 8: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

x1 + x3 + x5 = 0

x2 + x4 + x6 = 0

Variable nodes

Check nodes

Page 9: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

x1 + x3 + x5 = 0

x2 + x4 + x6 = 0

x4 + x6 + x7 = 0

Variable nodes

Check nodes

Page 10: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

x1 + x3 + x5 = 0

x2 + x4 + x6 = 0

x4 + x6 + x7 = 0

x1 + x3 + x6 = 0

Variable nodes

Check nodes

Page 11: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

x1 + x3 + x5 = 0

x2 + x4 + x6 = 0

x4 + x6 + x7 = 0

x1 + x3 + x6 = 0

x2 + x5 + x7 = 0

Variable nodes

Check nodes

Page 12: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

Stopping Set

Variable nodes

Check nodes

Page 13: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

Stopping Set

Message Passing

Variable nodes

Check nodes

Page 14: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Bipartite Tanner graph - Stopping set

1

2

3

4

5

6

7

8

9

10

11

12

Stopping Set

Message Passing

Variable nodes

Check nodes

Page 15: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Vertex Edge Incidence Matrix

1 2 4

3

6

5a c

b

e

d

VE =

a b c d e

1 1 0 0 0 02 1 1 1 0 03 0 1 0 0 04 0 0 1 1 15 0 0 0 1 06 0 0 0 0 1

H?= VE (T )

Page 16: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Vertex Edge Incidence Matrix

1 2 4

3

6

5a c

b

e

d

VE =

a b c d e

1 1 0 0 0 02 1 1 1 0 03 0 1 0 0 04 0 0 1 1 15 0 0 0 1 06 0 0 0 0 1

H

?= VE (T )

Page 17: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Properties of Graphs - Girth

36

2

4

15

9

7

10

8

Petersen Graph. Girth = 5

Page 18: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Properties of Graphs - Girth

36

2

4

15

9

7

10

8

Petersen Graph. Girth = 5

VE =

a b c d e e f g h i j k l m n o

1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 02 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 03 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 04 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 05 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 06 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 07 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 08 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 09 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1

10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1

Page 19: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Properties of Graphs - Girth

36

2

4

15

9

7

10

8

Petersen Graph. Girth = 5

Tanner Graph. H = VET .

a b c d e f g h i j k l m n o

1 2 3 4 5 6 7 8 9 10

Page 20: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Introduction

Properties of Graphs - Girth

36

2

4

15

9

7

10

8

Petersen Graph. Girth = 5

Tanner Graph. H = VET . Cycles in graph → Stopping sets.

a b c d e f g h i j k l m n o

1 2 3 4 5 6 7 8 9 10

Page 21: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The aim

Construct a big graph with a big girth

Generate the LDPC code from the transpose of the vertex-edgeincidence matrix

Page 22: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Page 23: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Page 24: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Page 25: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Page 26: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Page 27: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Page 28: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

The aim is to get a graph which determines the minimumstopping set of the obtained code.

The parity check matrix of the code is obtained as thetranspose of the vertex-edge incidence matrix of the graph.

This method allows to construct LDPC codes up to astopping set size of 12, and with a slight variation the girthcan be increased to 14.

Page 29: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

The aim is to get a graph which determines the minimumstopping set of the obtained code.

The parity check matrix of the code is obtained as thetranspose of the vertex-edge incidence matrix of the graph.

This method allows to construct LDPC codes up to astopping set size of 12, and with a slight variation the girthcan be increased to 14.

Page 30: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

The aim is to get a graph which determines the minimumstopping set of the obtained code.

The parity check matrix of the code is obtained as thetranspose of the vertex-edge incidence matrix of the graph.

This method allows to construct LDPC codes up to astopping set size of 12, and with a slight variation the girthcan be increased to 14.

Page 31: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 32: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 33: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.

Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 34: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 35: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.

Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 36: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 37: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 38: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

Take a core C which is a simple graph, its girth determinesthe stopping set size of the LDPC code.

Make 2|C |+ 1 copies of the core obtaining 2|C |+ 2 subgraphs.

Divide the subgraphs into two sets: a left set and a right set,each one of |C |+ 1 subgraphs. Lets name the subgraphs inthe left set 0, 1, · · · , |C | and the subgraphs in the right set0′, 1′, · · · , |C |′.Connecting the nodes

Take the node i from the graph j and connect it to the node jof the graph i ′ for i 6= j with 1 ≤ i , j ≤ |C |.Connect the node i from the graph i to the node i of thegraph 0′, in a similar way connect the node i from the graph i ′

to the node i of the graph 0.

A graph with 2|C |(|C |+ 1) nodes and girth(graph) =mın(girth(core),12) is obtained. The degree of each node isincreased by one.

Page 39: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs

Page 40: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs

Page 41: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs

Page 42: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs

Page 43: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

k

i

j

i

k’k i

j

j

ki

j

j’

k

ji’

i

jk

The shortest cycle not involving0 and 0’ subgraphs

Page 44: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

k

i

j

i

k’k i

j

j

ki

j

j’

k

ji’

i

jk

The shortest cycle not involving0 and 0’ subgraphs

Page 45: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs afterpermutation in nodes in 0 and 0’

Page 46: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs afterpermutation in nodes in 0 and 0’

Page 47: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs afterpermutation in nodes in 0 and 0’

Page 48: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

The method

j

i

j’

j

i

iji

0’

ij0

i

j

j

i

j

i’The shortest cycle involving 0and 0’ subgraphs afterpermutation in nodes in 0 and 0’

Page 49: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

Getting the LDPC code

The parity check matrix H is obtained as the transpose of thevertex-edge incidence matrix of the graph.

The nodes of the graph are the check nodes of the code andthe edges of the graph are the variable nodes.

Cycles of length k give cycles of length 2k in the Tannergraph. Then, the size of the stopping set in the LDPC codewill not be less than the girth of the graph.

If a regular graph is chosen as the core, being dv the degree ofeach node, the number of nodes in the generated graph is(|C |) (2 |C |+ 2) and the number of edges is(dv + 1)(|C |)(|C |+ 1).

As a consequence, we get an LDPC code withn = (dv + 1)(|C |)(|C |+ 1) and rate R = dv−1

dv+1 .

Page 50: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

Getting the LDPC code

The parity check matrix H is obtained as the transpose of thevertex-edge incidence matrix of the graph.

The nodes of the graph are the check nodes of the code andthe edges of the graph are the variable nodes.

Cycles of length k give cycles of length 2k in the Tannergraph. Then, the size of the stopping set in the LDPC codewill not be less than the girth of the graph.

If a regular graph is chosen as the core, being dv the degree ofeach node, the number of nodes in the generated graph is(|C |) (2 |C |+ 2) and the number of edges is(dv + 1)(|C |)(|C |+ 1).

As a consequence, we get an LDPC code withn = (dv + 1)(|C |)(|C |+ 1) and rate R = dv−1

dv+1 .

Page 51: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

Getting the LDPC code

The parity check matrix H is obtained as the transpose of thevertex-edge incidence matrix of the graph.

The nodes of the graph are the check nodes of the code andthe edges of the graph are the variable nodes.

Cycles of length k give cycles of length 2k in the Tannergraph. Then, the size of the stopping set in the LDPC codewill not be less than the girth of the graph.

If a regular graph is chosen as the core, being dv the degree ofeach node, the number of nodes in the generated graph is(|C |) (2 |C |+ 2) and the number of edges is(dv + 1)(|C |)(|C |+ 1).

As a consequence, we get an LDPC code withn = (dv + 1)(|C |)(|C |+ 1) and rate R = dv−1

dv+1 .

Page 52: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

Getting the LDPC code

The parity check matrix H is obtained as the transpose of thevertex-edge incidence matrix of the graph.

The nodes of the graph are the check nodes of the code andthe edges of the graph are the variable nodes.

Cycles of length k give cycles of length 2k in the Tannergraph. Then, the size of the stopping set in the LDPC codewill not be less than the girth of the graph.

If a regular graph is chosen as the core, being dv the degree ofeach node, the number of nodes in the generated graph is(|C |) (2 |C |+ 2) and the number of edges is(dv + 1)(|C |)(|C |+ 1).

As a consequence, we get an LDPC code withn = (dv + 1)(|C |)(|C |+ 1) and rate R = dv−1

dv+1 .

Page 53: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

The Algorithm

Getting the LDPC code

The parity check matrix H is obtained as the transpose of thevertex-edge incidence matrix of the graph.

The nodes of the graph are the check nodes of the code andthe edges of the graph are the variable nodes.

Cycles of length k give cycles of length 2k in the Tannergraph. Then, the size of the stopping set in the LDPC codewill not be less than the girth of the graph.

If a regular graph is chosen as the core, being dv the degree ofeach node, the number of nodes in the generated graph is(|C |) (2 |C |+ 2) and the number of edges is(dv + 1)(|C |)(|C |+ 1).

As a consequence, we get an LDPC code withn = (dv + 1)(|C |)(|C |+ 1) and rate R = dv−1

dv+1 .

Page 54: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Simulation

22

21

20

19

181716

15

14

13

12

11

10

9

8

76 5

4

3

2

1

Regular core |C | = 22, dv = 2

0 0

*

1 1

1− ε

ε

ε

1− ε

Binary erasure channel (BEC).

Page 55: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Simulation

Core Generated graph LDPC codeRegular Regular Regular, variable node

degree = 2

|C | = 22 |C |(2|C |+ 2) = 1012 no-des

1012 check nodes

dv = 2 node degree = dv +1 = 3 check nodes degree = 3dv+1

2 |C |(2|C | + 2) =1518 edges

1518 variable nodes

girth = 22 girth = 14 stopping set size = 14

R = dv−1dv+1 = 1

3

Page 56: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Simulation

0,10,20,30,40,50,6

10−5

10−4

10−3

10−2

10−1

100

ε

BE

R

Performance of the regular LDPC code in a BEC (R = 1/3, n =1518, girth = 28) with error probability ε.

Page 57: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Simulation

0,10,20,30,40,50,6

10−5

10−4

10−3

10−2

10−1

100

ε

BE

R

Performance of the regular LDPC code in a BEC (R = 1/3, n =1518, girth = 28) with error probability ε.

Page 58: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Conclusions

A new algorithm to construct an LDPC code from agenerated graph was presented

This graph is generated by making some connections betweenseveral copies of a given core

Since the stopping set of the LDPC code is related to thegirth of the graph, a large stopping set size is obtained

The parity check matrix is quite sparse, then, the generatedLDPC code converges in just a few iterations

It is possible to generate bigger codes using the obtainedgraph as the core. We are working now on this issue and itwill be shown in a future work

Page 59: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Conclusions

A new algorithm to construct an LDPC code from agenerated graph was presented

This graph is generated by making some connections betweenseveral copies of a given core

Since the stopping set of the LDPC code is related to thegirth of the graph, a large stopping set size is obtained

The parity check matrix is quite sparse, then, the generatedLDPC code converges in just a few iterations

It is possible to generate bigger codes using the obtainedgraph as the core. We are working now on this issue and itwill be shown in a future work

Page 60: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Conclusions

A new algorithm to construct an LDPC code from agenerated graph was presented

This graph is generated by making some connections betweenseveral copies of a given core

Since the stopping set of the LDPC code is related to thegirth of the graph, a large stopping set size is obtained

The parity check matrix is quite sparse, then, the generatedLDPC code converges in just a few iterations

It is possible to generate bigger codes using the obtainedgraph as the core. We are working now on this issue and itwill be shown in a future work

Page 61: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Conclusions

A new algorithm to construct an LDPC code from agenerated graph was presented

This graph is generated by making some connections betweenseveral copies of a given core

Since the stopping set of the LDPC code is related to thegirth of the graph, a large stopping set size is obtained

The parity check matrix is quite sparse, then, the generatedLDPC code converges in just a few iterations

It is possible to generate bigger codes using the obtainedgraph as the core. We are working now on this issue and itwill be shown in a future work

Page 62: A new Algorithm to construct LDPC codes with large stopping sets

A new Algorithm to construct LDPC codes with large stopping sets

Conclusions

A new algorithm to construct an LDPC code from agenerated graph was presented

This graph is generated by making some connections betweenseveral copies of a given core

Since the stopping set of the LDPC code is related to thegirth of the graph, a large stopping set size is obtained

The parity check matrix is quite sparse, then, the generatedLDPC code converges in just a few iterations

It is possible to generate bigger codes using the obtainedgraph as the core. We are working now on this issue and itwill be shown in a future work