0% found this document useful (0 votes)
5 views12 pages

LDPC Code Construction From Bipartite Kneser Graphs 2020

This document discusses the construction of Low Density Parity Check (LDPC) codes using bipartite Kneser graphs, marking a novel approach in the field. The proposed method ensures the resulting codes are four-cycle free, enhancing their error correction capabilities. The paper outlines the theoretical framework, construction techniques, and potential applications of these LDPC codes in modern communication systems.

Uploaded by

ankita.telecom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views12 pages

LDPC Code Construction From Bipartite Kneser Graphs 2020

This document discusses the construction of Low Density Parity Check (LDPC) codes using bipartite Kneser graphs, marking a novel approach in the field. The proposed method ensures the resulting codes are four-cycle free, enhancing their error correction capabilities. The paper outlines the theoretical framework, construction techniques, and potential applications of these LDPC codes in modern communication systems.

Uploaded by

ankita.telecom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

LDPC Code Construction from Bipartite

Kneser Graphs

Tamal Chowdhury and Ankita Pramanik

Abstract Low density Parity Check (LDPC) codes show excellent characteristics in
error correction. It is extensively used in the majority of the modern communication
systems. Construction of LDPC code is a challenging task. In the present work, LDPC
codes construction is attempted from bipartite Kneser graphs. This is the first time
that Kneser graphs are used to construct LDPC codes. A special matrix consisting
of very few entries of 1 is used in conjunction with the bipartite Kneser graphs to
yield the final LDPC matrix. The codes obtained can be encoded by an approximate
lower triangular technique. Also, the codes are four-cycle free, thus giving improved
bit error rate performance. The code length and data rate of the codes obtained by
the proposed method can be easily altered by choosing the parameters of the Kneser
graph suitably.

Keywords Adjacency matrix · Approximate lower triangular encoding · Bipartite


Kneser graph · Low density parity check codes · Special matrix

1 Introduction

Low density Parity Check (LDPC) codes are ubiquitous codes finding a vast scope of
applications. LDPC codes can have entries from the binary (B) field [1] or non-binary
(NB) Galois field [2]. LDPC codes defined over a Galois field (GF) are called NB-
LDPC codes. Constructing, encoding, and decoding of B-LDPC codes are relatively

T. Chowdhury (B)
Electronics and Electrical Communication Engineering Department,
Indian Institute of Technology, Kharagpur, Kharagpur, India
e-mail: [email protected]
A. Pramanik
Electronics and Telecommunication Engineering Department, Indian Institute
of Engineering Science and Technology, Shibpur, Shibpur, India
e-mail: [email protected]

© Springer Nature Singapore Pte Ltd. 2020 1


S. Kundu et al. (eds.), Proceedings of the 2nd International Conference
on Communication, Devices and Computing, Lecture Notes
in Electrical Engineering 602, https://doi.org/10.1007/978-981-15-0829-5_1
2 T. Chowdhury and A. Pramanik

easier. However, NB-codes shows better performance as compared to binary one.


Performance-wise, LDPC codes are almost reaching the limit, given by Shannon [3].
The number of non zero entries is very less as compared to the number of zero
entries in LDPC codes and hence the name low density. For binary LDPC codes, 1’s
are the only non-zero entries and for NB-LDPC codes, the entries are drawn from the
GF. The codes should be so designed that it becomes four-cycle free. The presence
of short cycles hampers the decoding process. It also adversely impacts the bit error
rate (BER).
For representation of LDPC codes, generally, its parity check matrix (PCM) or
the H matrix is used. The graphical representation of the PCM is more popular. For
this, the Tanner graph of the PCM is used. The vertices of the Tanner graph are
divided into two sets. In one set, there are n vertices, which are used to represent
codeword bits (or variable nodes). In another set, there are m vertices, which are used
to represent check nodes (or constraint nodes), and is used in the equation for parity
checking. In this graph, a bit node and a check node can be connected with one edge,
if that check node is used in one equation, which is used to check the parity of the
bit node.
The Tanner graph may be drawn in vertical fashion also. In this case, on the left
side, bite nodes are placed, and on the right side, check nodes are placed. In those
cases, often the bit nodes are called as left nodes and the check nodes as right nodes.
By placing message bit nodes on separate sides of the graph, one can distinguish it
from the parity bits. This technique is used in a systematic code.
Multiple ways are available to construct the LDPC codes. Some of those are as
follows: algebraic construction [4], random construction [5], progressive edge growth
[6], quasi-cyclic [7, 8], etc. Recently graph-based approaches are becoming highly
popular. LDPC codes have been constructed from voltage graphs [9], distance graphs
[10], Cayley graphs [11], double cylinder graphs [12], etc. In this work, LDPC codes
are constructed from bipartite Kneser graphs. To the best of authors knowledge, this
is the first attempt to construct LDPC codes using Kneser graphs.
This work proposes a binary LDPC code construction. The code constructed is
four-cycle free. The code is of irregular length, i.e., the no. of ones in every row and
column are different.
The organization of this paper is as follows: Sect. 2 gives the literature survey
on already available LDPC code construction techniques. Section 3 presents the
proposed LDPC code design technique. Section 4 provides the simulation results
and observations. The concluding remarks are given in Sect. 5.

2 Literature Survey

The field of LDPC codes is a matured field. Much work has been done in various
aspects such as encoding [13], decoding [14] or code construction [15]. Also, much
research efforts are directed towards efficient implementation of the codes [2]. Recent
works also focus on the amenability of LDPC codes with various applications like
LDPC Code Construction from Bipartite Kneser Graphs 3

space-time block codes [16], channel estimation [17], etc. The present work focuses
on LDPC code construction from Kneser graphs. This section focuses on works
dealing with LDPC code construction especially graph-based code construction.
In [2] a method for constructing the LDPC codes is proposed. Here the columns
of the matrix are added one at a time from left to right. For obtaining the correct
bit degree distribution, the column weights should be chosen accordingly. For non
zero entries in each column, the rows, those are not yet full, are chosen. Degree
distributions of rows for H will be imperfect, if at any point there are rows having
more unfilled positions, the columns remaining are to be added there. Until the correct
row degrees are obtained, the process can be started again or backtracked by a few
columns.
LDPC codes belonging to the family of repeat-accumulate codes are also popular.
For the last few columns of H, there are weight-2 columns in a step pattern. By this,
the repeat-accumulate codes become systematic and can be easily encoded.
LDPC code construction from voltage graph was proposed in [9]. A B-matrix M
is called base matrix corresponding to a tail biting LDPC block code if its parent
convolution code with PCM H(P) has only monomial or zero entries and also maintain
the relation as
M = H (P)| P=1 (1)

This represent all nonzero entries in H (P) being replaced by P0 = 1. There


may be same base matrix M for different LDPC block codes. M (base matrix)
is used to represent the biadjacency matrix of the bipartite graph, which is fol-
lowed by the base graph G M . An additive group Δ = {δ} is considered for volt-
age graph construction. The voltage graph G V = {ζ B , μ B , Δ} is obtained from
the base graph G M = {ζ B , μ B }. For this a voltage value δ(s, μ, μ̃) should be
assigned to edge s which connects two vertices μ and μ̃ and satisfy the property

Fig. 1 Bipartite voltage graph with four symbol nodes (sk , k = 1, 2, 3, 4) and three constraint nodes
(cl , l = 1, 2, 3)
4 T. Chowdhury and A. Pramanik

(s, μ, μ̃) = −δ(s, μ̃, μ). The edge passes through a direction and that is responsible
for the determination of the voltage of the edge. Figure 1 shows a bipartite volt-
age graph having four symbol nodes (sk , k = 1, 2, 3, 4) and three constraint nodes
(cl , l = 1, 2, 3).
The work in [12] focuses on LDPC code construction from double cylinder graphs.
A double cylinder type graph called the block structure graph of the PCM, denoted
by B SG(H ) is introduced in [12]. Let, , ζ and η are positive integers and ζ < η
and H = (Hi, j )ζ ×η , where each Hi, j is an  ×  circulant permutation matrix or the
 ×  zero matrix. H is a ζ × η matrix with  ×  entries, which has ζ block-rows
and η block-columns. In simple word, the matrix H and the quasi-cyclic LDPC code
with the PCM, H are called as  circulant matrix and  circulant code, respectively.
Let m, n and p be some non-negative integers such that m ≥ 2, n ≥ 1 and p ≥ 0.
A (m, n, p) double cylinder LDPC code, is the quasi cyclic LDPC code having the
mother matrix H (m, n, p) as given in Fig. 2.

Fig. 2 LDPC code matrix from double cylinder graph


LDPC Code Construction from Bipartite Kneser Graphs 5

In Fig. 2, p is the number of blocks of [1 1]T , where A T stands for transpose of A,


between each two consecutive blocks of m × m matrix I + I 1 . The total number of
blocks of the matrix I + I 1 is n. The final PCM is a matrix of size (m + p − 1)n ×
(m + p)n. It must be noted that though the codes give a very high girth, they have
only two 1s in every column. Thus the BER performance of the codes is very poor.
Classical LDPC codes show very good performance in different varieties of chan-
nels, and these codes can also be used by using fast and efficient algorithms. Quantum
error-correcting codes can be decoded in a classical fashion. The work in [11] focuses
on quantum LDPC code construction from Cayley graphs. Let, A is a subset of group
R. The Cayley graph, (R, A) or (A), with vertex set R, has an edge between two
vertices r and r̄ if there exist the relation of ra = r̄ , where a ∈ R.

3 Proposed LDPC Code Construction

In this section, the proposed LDPC codes construction from bipartite Kneser graphs
[18] is presented.

3.1 Bipartite Kneser Graph

Suppose there is a set G having n elements. Let a, b be two set of elements where
set a contains k number of elements and set b contains n-k number of elements.  So
total number of sets containing k elements which is subset of n is m = nk . Thus
  n 
the total number of a sets is nk = n−k and total number of b sets is the same. If
a = {a1 , a2 , a3 , . . . , am } and b = {b1 , b2 , b3 , . . . , bm } are set of vertices of a graph
then graph is called bipartite Kneser graph if the following properties are followed.
1. ai and a j are not connected by any edge for all i and j, similarly for b vertices.
2. ai and b j are connected by an edge if either ai ⊂ b j or b j ⊂ ai .
The following example will help in understanding the bipartite Kneser graphs.

Example 1 Let a set S = {1, 2, 3, 4}, n = 4, k = 3, n − k = 1, so m = 4. Thus the two


sets are a = {(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)} and b = {(1), (2), (3), (4)} and
the corresponding graph is given in Fig. 3.
The adjacency matrix of the constructed graph is as follows:
⎡ ⎤
1 1 10
⎢1 1 0 1⎥
H =⎢
⎣1

0 1 1⎦
0 1 11

The rows of H are elements of a and columns are elements of b.


6 T. Chowdhury and A. Pramanik

Fig. 3 Bipartite Kneser graph where n = 4, k = 3

3.2 LDPC Code Construction

The PCM of an LDPC code can be represented by a bipartite graph. So, the bipartite
Kneser graph can be used as the LDPC matrix. But the graph cannot be directly used
as the code matrix as four-cycle free condition needs to be ensured. Also, the bipartite
Kneser graph gives rise to a square matrix. A square matrix implies a rate 0 code
matrix. So, the bipartite Kneser graph cannot be directly used as the code matrix.
The following proposed theorems are very useful for LDPC code construction from
the bipartite Kneser graph.
Theorem 1 A bipartite Kneser graph will be four-cycle free if n is odd and k = n+1
2
.

Proof Let n be even. Then either k = n − k or k = (n − k) + 2m where m is a


positive integer. For the sake of simplicity, it is assumed that k > n − k. The results
can be extended to k < n − k. If k = n − k then the graph has no edges. For example:
S = {1, 2, 3, 4}; n = 4, k = 2 = n − k; a = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)}
and as k = n − k so, a = b. As a result no vertices from a set and b set are adjacent
to each other.
Now if k = (n − k) + 2m then any two elements from a set are subset or superset
of any elements of b. In other words if ai , a j ⊂ a then there must be at least two
elements bl , bq ⊂ b such that either ai , a j ⊂ bl , bq or bl , bq ⊂ ai , a j . Thus it is not
four cycle-free.
If n is odd then similarly, either k ≥ (n − k) + 2 or k = (n − k) + 1. If k ≥
(n − k) + 2 then due to the above reasoning, the graph is no more four-cycle free. For
example S = {1, 2, 3, 4, 5}; n = 5; k = 1; a = {(1, 2, 3, 4), (1, 2, 3, 5), (1, 2, 4, 5),
(1, 3, 4, 5), (2, 3, 4, 5)}; b = {(1), (2), (3), (4), (5)}. Thus the corresponding adja-
cency matrix is as follows:
LDPC Code Construction from Bipartite Kneser Graphs 7
⎡ ⎤
1 1 1 10
⎢1 1 1 0 1⎥
⎢ ⎥
H =⎢
⎢1 1 0 1 1⎥

⎣1 0 1 1 1⎦
0 1 1 11

Now if k = (n − k) + 1 then no any two elements from a set are either subset or
superset of any elements of b. For example S = {1, 2, 3, 4, 5}; n = 5; k = 2;
a = {(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5),
(1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)};
b = {(1, 2), (1, 3), (1, 4), (1, 5), (2, 3),
(2, 4), (2, 5), (3, 4), (3, 5), (4, 5)}.
So, the corresponding adjacency matrix is
⎡ ⎤
1110000000
⎢1 0 0 1 1 0 0 0 0 0 ⎥
⎢ ⎥
⎢0 1 0 1 0 1 0 0 0 0⎥
⎢ ⎥
⎢0 0 0 1 0 1 1 0 0 0⎥
⎢ ⎥
⎢1 0 0 0 0 0 1 1 0 0 ⎥
H =⎢ ⎢0 1 0 0 0 0 1 0 1 0⎥

⎢ ⎥
⎢0 0 1 0 0 0 0 1 1 0⎥
⎢ ⎥
⎢0 0 0 1 0 0 1 0 0 1⎥
⎢ ⎥
⎣0 0 0 0 1 0 0 1 0 1⎦
0000010011

Thus, it can be seen that the matrix obtained is four cycle free.

After obtaining a four-cycle free bipartite Kneser graph matrix [18], a special
matrix (SM) [19] is appended to it to obtain the final LDPC matrix. Also all zero,
all one, and identity matrices are also appended. The matrices are so appended that
the final PCM is in approximate lower triangular (ALT) format. Thus, the code can
easily be encoded by the method in [13].
The SM used is of the structure as show in Fig. 4. The number of rows in SM is
n + 1 and the number of columns is n(n+1)2
. The SM is denoted as SM(n), as its size
is a function of the positive integer n.
Let the LDPC PCM be denoted as H. The approximate lower triangular format
of H is given as follows:
A B T
H= (2)
C̃ D̃ 0

where A, B, T, C̃ and D̃ are sub-matrices of H and 0 denotes an all zero sub-matrix


of suitable size.
For LDPC code construction, the bipartite Kneser graph is then split into two
parts: B.K.-A and B.K.-B. B.K.-A is suitably appended to SM and an identity matrix
to generate the A sub-matrix. B.K.-B is appended to an all-zero matrix to form C̃. The
8 T. Chowdhury and A. Pramanik

Fig. 4 Special matrix SM (n)

rest of the sub-matrices is generated by using the identity matrix, all-zero matrix,
and SM.
The construction procedure can be explained by the following example.
Example 2 Let the bipartite Kneser graph having the parameters n = 11 and k = 5
be considered. In the first step of LDPC code construction, the bipartite Kneser graph
is constructed. The adjacency matrix of the Kneser graph contains 462 rows and 462
columns. Now first 421 rows are included in B.K.-A and last 41 in B.K.-B. SM(60)
and SM(40) are used for final LDPC code construction. The various sub-matrices of
the H matrix are constructed as follows:
The structure of sub-matrix A of the proposed LDPC code is given in Fig. 5. The
rest of the sub-matrices are given as follows:

0481×41
B= (3)
S M(40)T

C̃ = B.K . − B 041×1010 (4)

D̃ = I41 (5)

T = I1301 (6)

0 = 041×1301 (7)
LDPC Code Construction from Bipartite Kneser Graphs 9

Fig. 5 Sub-matrix A of the LDPC code matrix (2292 × 1301 matrix)

It can be seen that in the obtained LDPC matrix no two columns have an entry of
1 in the same rows. Thus, the obtained code is four cycle-free.

4 Simulation Results and Discussions

The LDPC code matrix obtained from the proposed construction technique is shown
in Fig. 6. After observing Fig. 6, it is clear that the designed LDPC matrix is highly

Fig. 6 Proposed LDPC code matrix from bipartite Kneser graph (dark portions are showing ones,
else zeroes)
10 T. Chowdhury and A. Pramanik

Table 1 Degree (D) distribution of the columns


D=1 D=2 D=3 D=6 D = 41
1301 1010 820 462 41

−1
10
Bit error rate (BER) −>

Proposed LDPC Code


Gallager regular code [1]
Double cylinder LDPC code [7]
−2
10

0 1 2 3 4 5
Channel SNR (dB) −>
Fig. 7 BER performance of the proposed code

sparse. Such a sparse matrix can be encoded very efficiently. The degree distribution
of the columns of the obtained LDPC code is shown in Table 1.
The BER performance of the obtained code in example 2 is given in Fig. 7. Thus,
the constructed LDPC code is of size 1342 × 3634. It has a rate equal to 0.6307. The
performance of the proposed code is compared with a regular Gallager LDPC [1]
code and an LDPC code obtained from double cylinder graphs [12]. The Gallager
code is a half-rate LDPC code of length 4000. It is taken from [20]. The code is
converted into the ALT format [13] for efficient encoding. A rate 19 code of length
2475 obtained by the method in [12] is chosen for simulation purposes.
It can be observed from Fig. 7 though the proposed LDPC code is of higher
rate, it outperforms the existing codes. The proposed code structure from Kneser
graphs, give better performance. Though the rate of the code as obtained from [12]
LDPC Code Construction from Bipartite Kneser Graphs 11

is extremely low, it does not give good BER performance as it is a column weight
2 only code. For better BER performance, at least few columns of the LDPC code
matrix should have column weight more than 2.

5 Conclusions

In this work, a novel LDPC code construction technique from the bipartite Kneser
graph is presented. The code obtained is four-cycle free. it can be easily encoded
by the ALT method. Also, the codes give better BER performance than the existing
LDPC codes. Future work may be undertaken to construct LDPC codes giving further
improvement in BER performance. This work is a first attempt to use Kneser graph.
Investigations into amenability of the presented LDPC code matrix as a compressed
sensing sampling matrix can also be taken up as a future work. The design of LDPC
code matrices by customizing SM is introduced in this work. Improved custom design
matrix can be designed in future to improve the performance of the designed LDPC
code.

References

1. Gallager, R.G.: Low-density parity-check codes. IRE Trans. Inf. Theory 8(1), 21–28 (1962)
2. Davey, M.C., MacKay, D.J.C.: Low density parity check codes over GF (q). In: IEEE Infor-
mation Theory Workshop, pp. 70–71 (1998)
3. MacKay, D.J.C., Neal, R.M.: Near Shannon limit performance of low density parity check
codes. Electron. Lett. 32(18), 1645–1646 (1996)
4. Li, J., Liu, K., Lin, S., Abdel-Ghaffar, K.: Algebraic quasi-cyclic LDPC codes: construction,
low error-floor, large girth and a reduced-complexity decoding scheme. IEEE Trans. Commun.
62(8), 2626–2637 (2014)
5. Paolini, E., Fossorier, M.P., Chiani, M.: Generalized and doubly generalized LDPC codes
with random component codes for the binary erasure channel. IEEE Trans. Inf. Theory 56(4),
1651–1672 (2010)
6. Han, W., Huang, J.: A block-PEG construction method for LDPC codes. In: IEEE 4th Inter-
national Conference on Electronics Information and Emergency Communication (ICEIEC),
2013, pp. 274–277 (2013)
7. Liu, K., El-Khamy, M., Lee, J.: Finite-length algebraic spatially-coupled quasi-cyclic LDPC
codes. IEEE J. Sel. Ares Commun. 34(2), 329–344 (2016)
8. Khodaiemehr, H., Kiani, D.: Construction and encoding of QC-LDPC codes using group rings.
IEEE Trans. Inf. Theory 63(4), 2039–2060 (2017)
9. Bocharova, I.E., Hug, F., Johannesson, R., Kudryashov, B.D., Satyukov, R.V.: Some voltage
graph-based LDPC tailbiting codes with large girth. In: IEEE International Symposium on
Information Theory (ISIT), 2011, pp. 732–736 (2011)
10. Malema, G., Liebelt, M.: High girth column-weight two LDPC codes based on distance graphs.
EURASIP J. Wirel. Commun. Netw. 2007(1), 6–6 (2007)
11. Couvreur, A., Delfosse, N., Zmor, G.: A construction of quantum LDPC codes from Cayley
Graphs. IEEE Trans. Inf. Theory 59(9), 6087–6098 (2013)
12. Samadieh, M., Gholami, M.: Double Cylinder Cycle codes of Arbitrary Girth (2014).
arXiv:1403.0804v1 [cs.IT]
12 T. Chowdhury and A. Pramanik

13. Richardson, T., Urbanke, R.: Modern Coding Theory. Cambridge University Press (2008)
14. Liu, X., Yuanbin, Z., Cui, R.: Variable-node-based dynamic scheduling strategy for belief-
propagation decoding of LDPC codes. IEEE Commun. Lett. 19(2), 147–150 (2015)
15. Babar, Z., Botsinis, P., Alanis, D., Ng, S.X., Hanzo, L.: Construction of quantum LDPC codes
from classical row-circulant QC-LDPCs. IEEE Commun. Lett. 20(1), 9–12 (2016)
16. Pramanik, A., Sarkar, S., Maity, S.P.: Performance Comparison of Orthogonal Complex MIMO
STBC with ML Decoding and Soft Decision Decoding, accepted & presented in WISPNET
(2017)
17. Pramanik, A., Farheen, Z., Maity, S.P.: On compressed sensing based channel estimation in
massive MIMO. In: IEEE(EDS) Sponsored 5th International Conference on Computing. Com-
munication and Sensor Network, Kolkata (2016)
18. Godsil, C., Royele, G.: Algebraic Graph Theory, vol. 207. Springer Science & Business Media,
New York (2013)
19. Bose, R.: Information Theory, Coding and Cryptography. Tata McGraw-Hill Education (2008)
20. McKay, D.: Inference group home page. http://www.inference.org.uk/mackay/codes/data.html

You might also like