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.
Ensuring Technical Readiness For Copilot in Microsoft 365
A new Algorithm to construct LDPC codes with large stopping sets
1. 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
2. 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
3. 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
4. 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
5. 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
19. 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
20. 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
21. 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
22. A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
23. A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
24. A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
25. A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
26. A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
27. A new Algorithm to construct LDPC codes with large stopping sets
The Algorithm
The method
28. 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.
29. 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.
30. 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.
31. 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.
32. 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.
33. 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| .
34. 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
35. 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|.
36. 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.
37. 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.
38. 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.
39. 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
40. 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
41. 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
42. 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
43. 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
44. 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
45. 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’
46. 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’
47. 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’
48. 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’
49. 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.
50. 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.
51. 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.
52. 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).
53. 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.
54. 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).
55. 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
56. 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 .
57. 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 .
58. 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
59. 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
60. 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
61. 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
62. 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