Low-Density Parity-Check Codes: Research Status and Development Direction ()
1. Introduction
LDPC code is a forward error correction code, which was invented by Robert Gallager in his doctoral dissertation at MIT in the 1960s [1]. Although LDPC code is one of the most practical realizations of Shannon’s theory [2], with high computational complexity for forwarding error correction and highly structured algebraic block codes and convolutional codes, LDPC codes have been neglected for a long time.
Until about 30 years after the LDPC code’s invention, MacKay and Neal in [3] proved that LDPC code has the performance of approaching the Shannon limit under the condition of combining iterative decoding based on belief pmpagation [4]. After many researchers invented a new irregular LDPC code, which is called the new generalization of Gallager’s LDPC code, and its performance is better than the best turbo code with certain practical advantages. LDPC code has once again entered the seriousness of the world and stepped on the stage of history.
In [5], T. J. Richardson et al. have also made great contributions to the development of LDPC codes. Firstly, they propose a new coding algorithm, which greatly reduces the huge computational and storage requirements of randomly constructed LDPC codes. Secondly, they invent the density evolution theory, which can effectively analyze the decoding threshold of a large class of LDPC decoding algorithms. Simulation results show that this is a compact decoding threshold. Finally, they prove density evolution theory can also be used to guide the design of irregular LDPC codes to obtain the best performance possible.
LDPC code has great application potential and will be widely used in deep space communication, optical fiber communication, satellite digital video (see [6] [7] [8]), digital watermark, magnetic/optical/holographic storage, mobile and fixed wireless communication, cable modulator/demodulator and digital subscriber line (for more details see [9] and [10]).
LDPC code chips have been developed in the industry. Among them, the vector LDPC solution based on ASIC launched by Flarion, which is in the leading position, uses about 2.6 million gates, can support a maximum code length of 50,000, a code rate of 0.9, and the maximum number of iterations is 10. The decoder can achieve a throughput of 10 Gbps. Its performance has been very close to the Shannon limit, and can meet the needs of most communication services at present. AHA and digital fountain have also launched their own coding and decoding solutions.
A large number of qubits and gate operations on them are involved in most practical applications of quantum computing. There is also practical use of single qubits. C. H. Bennett and G. Brassard in [11] give a surprisingly secure way of distributing a cryptographic key using a sequence of individual qubits called BB84 protocol, which is already available commercially. Quantum Key Distribution (QKD) is a secure way of distributing an encryption and decryption key by making use of qubits. The sender and the receiver can detect a possible third party eavesdropping on their communication by comparing the sequence sent with that of the received one. LDPC codes have other many applications in QKD. We will give some examples in Section IV.
In recent years, international theoretical research on LDPC has made important progress. X. Zheng in [12] designed short-length LDPC codes with the aim to shorten the average distance between any two variable nodes. In [13], Chung et al. presented a block length (ten million bits) rate-LDPC code that achieves reliable performance—a bit error rate—on an additive white Gaussian noise channel with a signal-to-noise ratio within 0.04 dB of the Shannon limit. There are also many excellent researches on encoding (see [14] [15] [16]), decoding (see [17] [18]) and the rate of various LDPC codes (see [19] [20]).
In general, from the existing research, the construction of LDPC codes determines the efficiency of its application in various fields. Since LDPC codes have extremely important research significance in the coding field, most of the existing studies focus on a specific type of LDPC codes, and few comparative studies on the overall structure of LDPC codes. Therefore, this paper focuses on the construction methods of LDPC codes and summarizes the mainstream construction methods in depth, so as to help researchers interested in this field to provide a more comprehensive and faster way.
Basic Principles and the LDPC Code Related Terminology
Definition 1.1 A q-ary linear code C is a linear subspace of
. If C has dimension k then C is called a
code.
Definition 1.2 A generator matrix G for a linear code C is a k by n matrix for which the rows are a basis of C.
Remark 1.1
1) If G is a generator matrix for C, then
.
2) If
, where
is the k by k identity matrix, we shall say G is in standard form. Then the first k symbols of a codeword are called information symbols. These can be chosen arbitrarily and then the remaining symbols, which are called parity check symbols, are determined.
Definition 1.3 For a linear code
, let
.
A generator matrix H for
is called a parity check matrix of C.
In other words, if a matrix H is a parity check matrix of C, then
Definition 1.4 LDPC code is a linear error correction code that has a parity check matrix H, which is sparse, i.e., with less nonzero elements in each row and column [1].
LDPC codes can be categorized into regular and irregular LDPC codes.
Definition 1.5 Let C is a LDPC code, if the parity check matrix
has the same number
of ones in each column and the same number
of ones in each row, we call C is a regular LDPC, write as
. If LDPC code’s length is n, it can be denoted as
.
Definition 1.6 Let C is a LDPC code, if the parity check matrix
has the different number
of ones in each column and the same number
of ones in each row, we call C is an irregular LDPC.
The original Gallager codes [4] are regular binary LDPC codes. The size of H is usually very large, but the density of nonzero element is very low.
Definition 1.7
Let
,
and E are the sets of check nodes, variable nodes, and edges, respectively. The (small) bipartite graph
is called an LDPC figure. For every check node
, we denote by
its edge degree. Similarly, we write
for the edge degree of a variable node
.
A Tanner graph is generated from a figure G by a lifting (“copy-and-permute”) operation specified by a lifting parameter L (for more details see [3] [21] [22] [23]). The design rate of the derived LDPC code is independent of L and given by
.
The following sections of this paper will introduce the structure and optimization of parity check matrix H for LDPC, some applications of LDPC in QKD, and the prediction of the development trend of LDPC codes in the future.
2. Construction of Parity Check Matrix H
In this section, we show the constructions for various LDPC codes. Since LDPC code is completely specified by its parity-check matrix, an ensemble of LDPC code usually is defined in terms of an ensemble of the parity-check matrix.
2.1. Construction of H for Regular LDPC
1) Gallager Method for Random Construction of H for LDPC
In RG Gallager’s method [24], the transpose of regular
parity check matrix H has the form
(2.1)
The matrix
has n columns and
rows. The
contains a single 1 in each column and contains 1 s in its i row from column
to column
. Permuting randomly the columns of
with equal probability, the matrices
to
are obtained.
Example 2.1. The parity check matrix for [20, 3, 4] code constructed by Gallager [25] is given as elements
,
are chosen from GF (31); then
,
, and the parity-check matrix is given by
(2.2)
2) Algebraic Construction of H for LDPC [1]
The construction of the parity check matrix H using algebraic construction as follows [26] [27]. Consider an identity matrix
where
and obtain the following matrix by cyclically shifting the rows of the identity matrix
one position to the right.
(2.3)
Defining
, the parity check matrix H can be constructed as
(2.4)
The constructed H matrix has
rows and
columns, and it is of a regular
having the same number of
ones in each row and the same number of
ones in each column. It is four-cycle free construction. The algebraic LDPC codes are easier for decoding than random codes. For intermediate n, well-designed algebraic codes yield a low bit error ratio (see [28] [29]).
Example 2.2. Construct H matrix with
and
using algebraic construction method.
Since
, then
, (2.5)
then
, (2.6)
R. M. Tanner [30] et al. also give a construction of H for quasi-cyclic (QC) LDPC. They use the structure of multiplicative groups in the set of integers modulo to “place” circulant matrices within a parity-check matrix so as to form regular QC LDPC block codes with a variety of block lengths and rates. For prime, the integers form a field under addition and multiplication the Galois Field GF (m). The nonzero elements of GF (m) form a cyclic multiplicative group. Let a and b be two nonzero elements with orders
and
, respectively. Then a matrix H can be formed as shown in the following:
, (2.7)
where
is an
identity matrix with rows cyclically shifted to the left by x positions. The resulting binary parity-check matrix is of size
, which means the associated code has a rate
. By construction, every column of contains ones and every row contains ones, and so represents a regular LDPC code. (Hakimi et al. in [31] has proposed the graph-theoretic error-correcting codes for the case
.)
Example 2.3. A [155, 20, 64] QC code (m = 31) [5].
Elements
,
are chosen from
; then
,
, and the parity-check matrix is given by
, (2.8)
where
is an
identity matrix with rows cyclically shifted to the left by x positions.
For nonprime m, the set of nonnegative integers less than m and relatively prime to m,
, forms a multiplicative group. In general,
has order
, (2.9)
i.e. the Euler “phi” function.
Example 2.4. A [104, 30] QC code (m = 26) [30].
Elements
,
are chosen from
; then
,
, and the parity-check matrix is given by
, (2.10)
where
is an
identity matrix with rows cyclically shifted to the left by x positions.
3) Construction of H for Rugular Spatially Coupled (SC) LDPC.
E. Ram and Y. Cassuto in [32] give an
-regular SC-LDPC protograph, which is constructed by coupling together a number of
-regular protographs and truncating the resulting chain. This coupling operation introduces a convolutional structure to the code, which can be visualized through the matrix representation of the protograph. Let
be an all-ones base matrix representing an
-regular LDPC protograph, and let
be binary matrices such that
(in this paper, we consider only binary H matrices). Coupling a limitless number of copies of H amounts to diagonally placing copies of
(‘;’ represents vertical concatenation) as follows:
. (2.11)
By truncating the above infinite matrix at some width, and removing all-zero rows, a spatially coupled LDPC protograph is constructed. Compared with the code set corresponding to the basic matrix H, this truncation leads to a small number of terminating check nodes (to a lower extent), which leads to a decrease in the design rate and an increase in the decoding threshold. However, with the increase of the coupling chain length, the design rate of the coupling prototype graph converges to the design rate of the underlying code set, and its belief propagation threshold shows a phenomenon called threshold saturation [31], so it converges to the maximum a posteriori probability threshold of the underlying code set.
Example 2.5. A spatially coupled
protograph with 18 variable nodes. The protograph is generated by
, (2.12)
and
. The design rate of the coupled protograph is
, and the belief propagation threshold is 0.512 (for more details see [33] [34]).
2.2. Construction of H for Irregular LDPC
1) Construction of H for Irrugular QC LDPC.
R. M. Tanner, D. Sridhara, A. Sridharan, et al. in [30] choose a regular
parity check matrix H at first. Then for
, they replace the last
circulant submatricess in the row of circulant submatrices with all-zero matrices. The modified parity-check matrix
is as follows:
(2.13)
where 0 is the
all-zero matrix and the LDPC code is now irregular. The irregular codes are still QC, and hence their parity check matrices can be described efficiently and they can be used to generate LDPC convolutional codes (see Section II-B in [30]).
Example 2.6. A [155, 63] irregular QC code [30].
Consider the [155, 64, 20] QC code of Example 3.1. This irregular LDPC code with parity-check matrix given by
, (2.14)
where
is an
identity matrix with rows cyclically shifted to the left by x positions and 0 is the
all-zero matrix (for more details also can see [35] [36] [37] [38]).
2) Construction of LDPC Convolutional Codes
R. M. Tanner et al. in [30] proved an LDPC convolutional code can be constructedy by replicating the constraint structure of the QC LDPC block code to infinity. They gave the specific construction process as follows.
Each circulant in the parity-check matrix of a QC block code can be specified by a unique polynomial; the polynomial represents the entries in the first column of the circulant matrix. For example, a circulant matrix whose first column is
is represented by the polynomial
. Thus, the
binary parity-check matrix of a regular LDPC code obtained from the construction described above can be expressed in polynomial form (with indeterminate D) to obtain
matrix
. (2.15)
The rate of the LDPC convolutional codes obtained from the QC codes was
.
Example 2.7. A rate
LDPC convolutional code.
From the [155, 64, 20] QC code in Example 2.1, a rate
convolutional code with parity-check and generator matrices given by
. (2.16)
3) Construction of IrRugular SC LDPC.
H. Esfahanizadeh, E. Ram and Y. Cassuto in [39] propose two protograph constructions for local codes of a SC-LDPC code with sub-block locality and parameters
,
, and
, where
is the number of zero circulants per local code.
For integers l, k, and i such that
, let
and
be
matrices, such that
(2.17)
. (2.18)
Let
be an all-one matrix and
be an all-zero matrix with size
, and let
with integers a, b such that
. The balanced and unbalanced local code constructions are represented by the protograph matrices
and
, respectively, and defined as follows:
, (2.19)
, (2.20)
where the vertical dashed lines represent the horizontal concatenation of sub-matrices.
and
are both
matrices with
zero entries; in
, zeros are uniformly distributed among the rows, while in
, all zeros are in the first row.
Example 2.8. Let
,
,
. Then,
, (2.21)
. (2.22)
3. LDPC’s Application in QKD
Currently, there are two mainstream schemes for QKD research, namely, discrete-variable QKD (DV-QKD) and continuous variable QKD (CV-QKD) (see [40]). In DV-QKD systems, the polarization or phase of a single-photon state is encoded by key information, whereas in CV-QKD systems, the amplitude and phase quadrature of quantum states are encoded.
In typical DV-QKD protocols as, e.g. the Bennett-Brassard 1984 (BB84) protocol [11], the raw key is bit-wise encoded for the quantum communication. Hence, standard binary codes, which are highly efficient and have a large throughput, can be used for information reconciliation (for more details see [41] [42] [43] [44] [45]). Based on the belief propagation decoding of LDPC codes over Galois fields of the form GF (2q) (see [46] [47] [48]), C. Pacher, J. Martinez-Mateo, J. Duhme et al. give an information reconciliation method for continuous-variable quantum key distribution with Gaussian modulation that is based on non-binary LDPC codes in [49] (for more details see [50] [51] [52] [53] [54]).
The CV-QKD system offers good application prospects for the implementation of classical telecom components, which attracting considerable researcher’s attention. Research activities have primarily focused on extending the transmission distance and improving secret key rate between two parties in the CV-QKD systems. For example, N. Hosseinidehaj and R. Malaney in [55] investigate the role played by the Gaussian CV states as compared to non-Gaussian states. They find that beam-wandering induced atmospheric losses results in QKD performance levels that are in general quite different from those found in fixed-attenuation channels. Their findings show that the nature of the atmospheric channel can have a large impact on the QKD performance. Y. Shen et al. give an on-chip continuous-variable quantum key distribution (CV-QKD) system, which is integrated using silicon photonics fabrication process and demonstrates the capability of transceiving Gaussian-modulated coherent states and homodyne detection in [56].
MET-LDPC codes (see [10] [57]) exhibiting low rates combined with the reverse multidimensional reconciliation scheme can achieve excellent correction performance in the CV-QKD system. The signal-to-noise ratio (SNR) of an optical quantum channel is low in such a long distance transmission, thus requiring a low code rate and long code block length. For example, when the SNR is less than 15 dB, the code rate is less than 0.02 and the block length has an order of 106 [58]. However, designing a parity-check matrix with good performance is complex, and it is extremely complicated to design all matrices for different SNRs [59]. Therefore, to improve the reconciliation efficiency, the system must change the modulation variance at Alice’s side to ensure the receiving variables achieve the target SNR. The frame error rate and post-processing speed must also be considered in the practical application of the CV-QKD system (see [60] [61]). Multiple interactions and decoding steps of Alice and Bob in the information reconciliation step will increase system delay. In [59], C. Zhou, X. Y. Wang, Z. G. Zhang, et al. introduce Raptor-like LDPC codes into the continuous-variable quantum key distribution system, exhibiting both the rate compatible property of the Raptor code and capacity-approaching performance of Multi-Edge Type Low-Density Parity-Check (MET-LDPC) codes.
4. Potential Future Research Directions
N. Bonello, S. Chen, and L. Hanzo in [62] have offered a glimpse of six decades of research pertaining to LDPC codes as well as the more recent efforts concentrated on rateless coding. Ten years later, based on the improvement of LDPC code construction in recent ten years, this paper gives the following predictions:
• With the progress of electronic technology, the implementation of traditional LDPC code is no longer a difficult problem. However, due to the complexity of LDPC code structure, the current cost is still high, which limits its practicability. Therefore, how to simplify the algebraic structure of check matrix and how to improve coding and decoding algorithms are still the focus of future research (for more details can see [63]).
• Many cryptologists have given many different versions of LDPC code in the research of the theory and application of quantum key distribution (like [64]). It can be seen that LDPC code still plays an indispensable and important role in the quantum era. Therefore, the application of LDPC code in the efficient implementation of quantum key distribution and other fields of quantum information is also an important field of future research.
5. Conclusion
In this study, we give the most mainstream and classical construction methods of regular LDPC and irregular LDPC, give examples of construction to make the construction methods more specific and easy to understand, and give our views on future research trends, hoping to promote the research in this field.