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‡
nbarraza@untref.edu.ar
Septiembre - 2013
†Universidad de los Andes.
‡Universidad Nacional de Tres de Febrero y Facultad de Ingenier´ıa, UBA
A new Algorithm to construct LDPC codes with large stopping sets
´Indice
1 Introduction
LDPC codes
Bipartite Tanner graph - Stopping set
Vertex Edge Incidence Matrix
Properties of Graphs - Girth
A new Algorithm to construct LDPC codes with large stopping sets
´Indice
1 Introduction
LDPC codes
Bipartite Tanner graph - Stopping set
Vertex Edge Incidence Matrix
Properties of Graphs - Girth
2 The Algorithm
The aim
The method
Getting the LDPC code
A new Algorithm to construct LDPC codes with large stopping sets
´Indice
1 Introduction
LDPC codes
Bipartite Tanner graph - Stopping set
Vertex Edge Incidence Matrix
Properties of Graphs - Girth
2 The Algorithm
The aim
The method
Getting the LDPC code
3 Simulation
A new Algorithm to construct LDPC codes with large stopping sets
´Indice
1 Introduction
LDPC codes
Bipartite Tanner graph - Stopping set
Vertex Edge Incidence Matrix
Properties of Graphs - Girth
2 The Algorithm
The aim
The method
Getting the LDPC code
3 Simulation
4 Conclusions
A new Algorithm to construct LDPC codes with large stopping sets
Introduction
LDPC codes
H =






1 0 1 0 1 0 0
0 1 0 1 0 1 0
0 0 0 1 0 1 1
1 0 1 0 0 1 0
0 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)
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
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
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
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
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
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
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
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
A new Algorithm to construct LDPC codes with large stopping sets
Introduction
Vertex Edge Incidence Matrix
1 2 4
3
6
5
a c
b
e
d
VE =








a b c d e
1 1 0 0 0 0
2 1 1 1 0 0
3 0 1 0 0 0
4 0 0 1 1 1
5 0 0 0 1 0
6 0 0 0 0 1








A new Algorithm to construct LDPC codes with large stopping sets
Introduction
Vertex Edge Incidence Matrix
1 2 4
3
6
5
a c
b
e
d
VE =








a b c d e
1 1 0 0 0 0
2 1 1 1 0 0
3 0 1 0 0 0
4 0 0 1 1 1
5 0 0 0 1 0
6 0 0 0 0 1








H
?
= VE(T)
A new Algorithm to construct LDPC codes with large stopping sets
Introduction
Properties of Graphs - Girth
3
6
2
4
1
5
9
7
10
8
Petersen Graph. Girth = 5
A new Algorithm to construct LDPC codes with large stopping sets
Introduction
Properties of Graphs - Girth
3
6
2
4
1
5
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 0
2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
4 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0
5 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0
6 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0
7 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0
8 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0
9 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















A new Algorithm to construct LDPC codes with large stopping sets
Introduction
Properties of Graphs - Girth
3
6
2
4
1
5
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
A new Algorithm to construct LDPC codes with large stopping sets
Introduction
Properties of Graphs - Girth
3
6
2
4
1
5
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
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-edge
incidence matrix
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
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 minimum
stopping set of the obtained code.
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 minimum
stopping set of the obtained code.
The parity check matrix of the code is obtained as the
transpose of the vertex-edge incidence matrix of the graph.
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 minimum
stopping set of the obtained code.
The parity check matrix of the code is obtained as the
transpose of the vertex-edge incidence matrix of the graph.
This method allows to construct LDPC codes up to a
stopping set size of 12, and with a slight variation the girth
can be increased to 14.
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 determines
the stopping set size of the LDPC code.
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 determines
the stopping set size of the LDPC code.
Make 2|C|+1 copies of the core obtaining 2|C|+2 subgraphs.
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 determines
the 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 in
the left set 0, 1, · · · , |C| and the subgraphs in the right set
0 , 1 , · · · , |C| .
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 determines
the 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 in
the left set 0, 1, · · · , |C| and the subgraphs in the right set
0 , 1 , · · · , |C| .
Connecting the nodes
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 determines
the 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 in
the left set 0, 1, · · · , |C| and the subgraphs in the right set
0 , 1 , · · · , |C| .
Connecting the nodes
Take the node i from the graph j and connect it to the node j
of the graph i for i = j with 1 ≤ i, j ≤ |C|.
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 determines
the 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 in
the left set 0, 1, · · · , |C| and the subgraphs in the right set
0 , 1 , · · · , |C| .
Connecting the nodes
Take the node i from the graph j and connect it to the node j
of the graph i for i = j with 1 ≤ i, j ≤ |C|.
Connect the node i from the graph i to the node i of the
graph 0 , in a similar way connect the node i from the graph i
to the node i of the graph 0.
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 determines
the 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 in
the left set 0, 1, · · · , |C| and the subgraphs in the right set
0 , 1 , · · · , |C| .
Connecting the nodes
Take the node i from the graph j and connect it to the node j
of the graph i for i = j with 1 ≤ i, j ≤ |C|.
Connect the node i from the graph i to the node i of the
graph 0 , in a similar way connect the node i from the graph i
to the node i of the graph 0.
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 determines
the 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 in
the left set 0, 1, · · · , |C| and the subgraphs in the right set
0 , 1 , · · · , |C| .
Connecting the nodes
Take the node i from the graph j and connect it to the node j
of the graph i for i = j with 1 ≤ i, j ≤ |C|.
Connect the node i from the graph i to the node i of the
graph 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 is
increased by one.
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs
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
j
i’
i
j
k
The shortest cycle not involving
0 and 0’ subgraphs
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
j
i’
i
j
k
The shortest cycle not involving
0 and 0’ subgraphs
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs after
permutation in nodes in 0 and 0’
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs after
permutation in nodes in 0 and 0’
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs after
permutation in nodes in 0 and 0’
A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
j
i
j’
j
i
i
ji
0’
ij
0
i
j
j
i
j
i’
The shortest cycle involving 0
and 0’ subgraphs after
permutation in nodes in 0 and 0’
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 the
vertex-edge incidence matrix of the graph.
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 the
vertex-edge incidence matrix of the graph.
The nodes of the graph are the check nodes of the code and
the edges of the graph are the variable nodes.
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 the
vertex-edge incidence matrix of the graph.
The nodes of the graph are the check nodes of the code and
the edges of the graph are the variable nodes.
Cycles of length k give cycles of length 2k in the Tanner
graph. Then, the size of the stopping set in the LDPC code
will not be less than the girth of the graph.
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 the
vertex-edge incidence matrix of the graph.
The nodes of the graph are the check nodes of the code and
the edges of the graph are the variable nodes.
Cycles of length k give cycles of length 2k in the Tanner
graph. Then, the size of the stopping set in the LDPC code
will not be less than the girth of the graph.
If a regular graph is chosen as the core, being dv the degree of
each 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).
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 the
vertex-edge incidence matrix of the graph.
The nodes of the graph are the check nodes of the code and
the edges of the graph are the variable nodes.
Cycles of length k give cycles of length 2k in the Tanner
graph. Then, the size of the stopping set in the LDPC code
will not be less than the girth of the graph.
If a regular graph is chosen as the core, being dv the degree of
each 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 with
n = (dv + 1)(|C|)(|C| + 1) and rate R = dv −1
dv +1.
A new Algorithm to construct LDPC codes with large stopping sets
Simulation
22
21
20
19
18
1716
15
14
13
12
11
10
9
8
7
6 5
4
3
2
1
Regular core |C| = 22, dv = 2
0 0
*
1 1
1 −
1 −
Binary erasure channel (BEC).
A new Algorithm to construct LDPC codes with large stopping sets
Simulation
Core Generated graph LDPC code
Regular 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 = 3
dv +1
2 |C|(2|C| + 2) =
1518 edges
1518 variable nodes
girth = 22 girth = 14 stopping set size = 14
R = dv −1
dv +1 = 1
3
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
BER
Performance of the regular LDPC code in a BEC (R = 1/3, n =
1518, girth = 28) with error probability .
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
BER
Performance of the regular LDPC code in a BEC (R = 1/3, n =
1518, girth = 28) with error probability .
A new Algorithm to construct LDPC codes with large stopping sets
Conclusions
A new algorithm to construct an LDPC code from a
generated graph was presented
A new Algorithm to construct LDPC codes with large stopping sets
Conclusions
A new algorithm to construct an LDPC code from a
generated graph was presented
This graph is generated by making some connections between
several copies of a given core
A new Algorithm to construct LDPC codes with large stopping sets
Conclusions
A new algorithm to construct an LDPC code from a
generated graph was presented
This graph is generated by making some connections between
several copies of a given core
Since the stopping set of the LDPC code is related to the
girth of the graph, a large stopping set size is obtained
A new Algorithm to construct LDPC codes with large stopping sets
Conclusions
A new algorithm to construct an LDPC code from a
generated graph was presented
This graph is generated by making some connections between
several copies of a given core
Since the stopping set of the LDPC code is related to the
girth of the graph, a large stopping set size is obtained
The parity check matrix is quite sparse, then, the generated
LDPC code converges in just a few iterations
A new Algorithm to construct LDPC codes with large stopping sets
Conclusions
A new algorithm to construct an LDPC code from a
generated graph was presented
This graph is generated by making some connections between
several copies of a given core
Since the stopping set of the LDPC code is related to the
girth of the graph, a large stopping set size is obtained
The parity check matrix is quite sparse, then, the generated
LDPC code converges in just a few iterations
It is possible to generate bigger codes using the obtained
graph as the core. We are working now on this issue and it
will be shown in a future work

A new Algorithm to construct LDPC codes with large stopping sets

  • 1.
    A new Algorithmto 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‡ nbarraza@untref.edu.ar Septiembre - 2013 †Universidad de los Andes. ‡Universidad Nacional de Tres de Febrero y Facultad de Ingenier´ıa, UBA
  • 2.
    A new Algorithmto construct LDPC codes with large stopping sets ´Indice 1 Introduction LDPC codes Bipartite Tanner graph - Stopping set Vertex Edge Incidence Matrix Properties of Graphs - Girth
  • 3.
    A new Algorithmto construct LDPC codes with large stopping sets ´Indice 1 Introduction LDPC codes Bipartite Tanner graph - Stopping set Vertex Edge Incidence Matrix Properties of Graphs - Girth 2 The Algorithm The aim The method Getting the LDPC code
  • 4.
    A new Algorithmto construct LDPC codes with large stopping sets ´Indice 1 Introduction LDPC codes Bipartite Tanner graph - Stopping set Vertex Edge Incidence Matrix Properties of Graphs - Girth 2 The Algorithm The aim The method Getting the LDPC code 3 Simulation
  • 5.
    A new Algorithmto construct LDPC codes with large stopping sets ´Indice 1 Introduction LDPC codes Bipartite Tanner graph - Stopping set Vertex Edge Incidence Matrix Properties of Graphs - Girth 2 The Algorithm The aim The method Getting the LDPC code 3 Simulation 4 Conclusions
  • 6.
    A new Algorithmto construct LDPC codes with large stopping sets Introduction LDPC codes H =       1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 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)
  • 7.
    A new Algorithmto 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
  • 8.
    A new Algorithmto 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
  • 9.
    A new Algorithmto 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
  • 10.
    A new Algorithmto 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
  • 11.
    A new Algorithmto 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
  • 12.
    A new Algorithmto 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
  • 13.
    A new Algorithmto 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
  • 14.
    A new Algorithmto 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
  • 15.
    A new Algorithmto construct LDPC codes with large stopping sets Introduction Vertex Edge Incidence Matrix 1 2 4 3 6 5 a c b e d VE =         a b c d e 1 1 0 0 0 0 2 1 1 1 0 0 3 0 1 0 0 0 4 0 0 1 1 1 5 0 0 0 1 0 6 0 0 0 0 1        
  • 16.
    A new Algorithmto construct LDPC codes with large stopping sets Introduction Vertex Edge Incidence Matrix 1 2 4 3 6 5 a c b e d VE =         a b c d e 1 1 0 0 0 0 2 1 1 1 0 0 3 0 1 0 0 0 4 0 0 1 1 1 5 0 0 0 1 0 6 0 0 0 0 1         H ? = VE(T)
  • 17.
    A new Algorithmto construct LDPC codes with large stopping sets Introduction Properties of Graphs - Girth 3 6 2 4 1 5 9 7 10 8 Petersen Graph. Girth = 5
  • 18.
    A new Algorithmto construct LDPC codes with large stopping sets Introduction Properties of Graphs - Girth 3 6 2 4 1 5 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 0 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 4 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 5 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 6 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 7 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 8 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 9 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               
  • 19.
    A new Algorithmto construct LDPC codes with large stopping sets Introduction Properties of Graphs - Girth 3 6 2 4 1 5 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
  • 20.
    A new Algorithmto construct LDPC codes with large stopping sets Introduction Properties of Graphs - Girth 3 6 2 4 1 5 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
  • 21.
    A new Algorithmto 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-edge incidence matrix
  • 22.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method
  • 23.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method
  • 24.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method
  • 25.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method
  • 26.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method
  • 27.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method
  • 28.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method The aim is to get a graph which determines the minimum stopping set of the obtained code.
  • 29.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method The aim is to get a graph which determines the minimum stopping set of the obtained code. The parity check matrix of the code is obtained as the transpose of the vertex-edge incidence matrix of the graph.
  • 30.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method The aim is to get a graph which determines the minimum stopping set of the obtained code. The parity check matrix of the code is obtained as the transpose of the vertex-edge incidence matrix of the graph. This method allows to construct LDPC codes up to a stopping set size of 12, and with a slight variation the girth can be increased to 14.
  • 31.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the stopping set size of the LDPC code.
  • 32.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the stopping set size of the LDPC code. Make 2|C|+1 copies of the core obtaining 2|C|+2 subgraphs.
  • 33.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the 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 in the left set 0, 1, · · · , |C| and the subgraphs in the right set 0 , 1 , · · · , |C| .
  • 34.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the 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 in the left set 0, 1, · · · , |C| and the subgraphs in the right set 0 , 1 , · · · , |C| . Connecting the nodes
  • 35.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the 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 in the left set 0, 1, · · · , |C| and the subgraphs in the right set 0 , 1 , · · · , |C| . Connecting the nodes Take the node i from the graph j and connect it to the node j of the graph i for i = j with 1 ≤ i, j ≤ |C|.
  • 36.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the 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 in the left set 0, 1, · · · , |C| and the subgraphs in the right set 0 , 1 , · · · , |C| . Connecting the nodes Take the node i from the graph j and connect it to the node j of the graph i for i = j with 1 ≤ i, j ≤ |C|. Connect the node i from the graph i to the node i of the graph 0 , in a similar way connect the node i from the graph i to the node i of the graph 0.
  • 37.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the 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 in the left set 0, 1, · · · , |C| and the subgraphs in the right set 0 , 1 , · · · , |C| . Connecting the nodes Take the node i from the graph j and connect it to the node j of the graph i for i = j with 1 ≤ i, j ≤ |C|. Connect the node i from the graph i to the node i of the graph 0 , in a similar way connect the node i from the graph i to the node i of the graph 0.
  • 38.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method Take a core C which is a simple graph, its girth determines the 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 in the left set 0, 1, · · · , |C| and the subgraphs in the right set 0 , 1 , · · · , |C| . Connecting the nodes Take the node i from the graph j and connect it to the node j of the graph i for i = j with 1 ≤ i, j ≤ |C|. Connect the node i from the graph i to the node i of the graph 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 is increased by one.
  • 39.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs
  • 40.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs
  • 41.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs
  • 42.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs
  • 43.
    A new Algorithmto 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 j i’ i j k The shortest cycle not involving 0 and 0’ subgraphs
  • 44.
    A new Algorithmto 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 j i’ i j k The shortest cycle not involving 0 and 0’ subgraphs
  • 45.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs after permutation in nodes in 0 and 0’
  • 46.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs after permutation in nodes in 0 and 0’
  • 47.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs after permutation in nodes in 0 and 0’
  • 48.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm The method j i j’ j i i ji 0’ ij 0 i j j i j i’ The shortest cycle involving 0 and 0’ subgraphs after permutation in nodes in 0 and 0’
  • 49.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm Getting the LDPC code The parity check matrix H is obtained as the transpose of the vertex-edge incidence matrix of the graph.
  • 50.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm Getting the LDPC code The parity check matrix H is obtained as the transpose of the vertex-edge incidence matrix of the graph. The nodes of the graph are the check nodes of the code and the edges of the graph are the variable nodes.
  • 51.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm Getting the LDPC code The parity check matrix H is obtained as the transpose of the vertex-edge incidence matrix of the graph. The nodes of the graph are the check nodes of the code and the edges of the graph are the variable nodes. Cycles of length k give cycles of length 2k in the Tanner graph. Then, the size of the stopping set in the LDPC code will not be less than the girth of the graph.
  • 52.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm Getting the LDPC code The parity check matrix H is obtained as the transpose of the vertex-edge incidence matrix of the graph. The nodes of the graph are the check nodes of the code and the edges of the graph are the variable nodes. Cycles of length k give cycles of length 2k in the Tanner graph. Then, the size of the stopping set in the LDPC code will not be less than the girth of the graph. If a regular graph is chosen as the core, being dv the degree of each 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).
  • 53.
    A new Algorithmto construct LDPC codes with large stopping sets The Algorithm Getting the LDPC code The parity check matrix H is obtained as the transpose of the vertex-edge incidence matrix of the graph. The nodes of the graph are the check nodes of the code and the edges of the graph are the variable nodes. Cycles of length k give cycles of length 2k in the Tanner graph. Then, the size of the stopping set in the LDPC code will not be less than the girth of the graph. If a regular graph is chosen as the core, being dv the degree of each 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 with n = (dv + 1)(|C|)(|C| + 1) and rate R = dv −1 dv +1.
  • 54.
    A new Algorithmto construct LDPC codes with large stopping sets Simulation 22 21 20 19 18 1716 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Regular core |C| = 22, dv = 2 0 0 * 1 1 1 − 1 − Binary erasure channel (BEC).
  • 55.
    A new Algorithmto construct LDPC codes with large stopping sets Simulation Core Generated graph LDPC code Regular 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 = 3 dv +1 2 |C|(2|C| + 2) = 1518 edges 1518 variable nodes girth = 22 girth = 14 stopping set size = 14 R = dv −1 dv +1 = 1 3
  • 56.
    A new Algorithmto 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 BER Performance of the regular LDPC code in a BEC (R = 1/3, n = 1518, girth = 28) with error probability .
  • 57.
    A new Algorithmto 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 BER Performance of the regular LDPC code in a BEC (R = 1/3, n = 1518, girth = 28) with error probability .
  • 58.
    A new Algorithmto construct LDPC codes with large stopping sets Conclusions A new algorithm to construct an LDPC code from a generated graph was presented
  • 59.
    A new Algorithmto construct LDPC codes with large stopping sets Conclusions A new algorithm to construct an LDPC code from a generated graph was presented This graph is generated by making some connections between several copies of a given core
  • 60.
    A new Algorithmto construct LDPC codes with large stopping sets Conclusions A new algorithm to construct an LDPC code from a generated graph was presented This graph is generated by making some connections between several copies of a given core Since the stopping set of the LDPC code is related to the girth of the graph, a large stopping set size is obtained
  • 61.
    A new Algorithmto construct LDPC codes with large stopping sets Conclusions A new algorithm to construct an LDPC code from a generated graph was presented This graph is generated by making some connections between several copies of a given core Since the stopping set of the LDPC code is related to the girth of the graph, a large stopping set size is obtained The parity check matrix is quite sparse, then, the generated LDPC code converges in just a few iterations
  • 62.
    A new Algorithmto construct LDPC codes with large stopping sets Conclusions A new algorithm to construct an LDPC code from a generated graph was presented This graph is generated by making some connections between several copies of a given core Since the stopping set of the LDPC code is related to the girth of the graph, a large stopping set size is obtained The parity check matrix is quite sparse, then, the generated LDPC code converges in just a few iterations It is possible to generate bigger codes using the obtained graph as the core. We are working now on this issue and it will be shown in a future work