LDPC Code Construction From Bipartite Kneser Graphs 2020
LDPC Code Construction From Bipartite Kneser Graphs 2020
Kneser Graphs
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.
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]
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)
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.
In this section, the proposed LDPC codes construction from bipartite Kneser graphs
[18] is presented.
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.
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
.
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
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
D̃ = I41 (5)
T = I1301 (6)
0 = 041×1301 (7)
LDPC Code Construction from Bipartite Kneser Graphs 9
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.
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
−1
10
Bit error rate (BER) −>
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