Here is a list of LDPC codes.
| Code | Description |
|---|---|
| Accumulate-repeat-accumulate (ARA) code | A generalization of the RA code in which the outer repetition-code encoding step is augmented with an accumulator acting on a fraction of the incoming bits. In addition, the code may be punctured after the final accumulating step. |
| Affine-permutation-matrix LDPC (APM-LDPC) code | LDPC code whose parity-check matrix can be put into the form of a block matrix consisting of permutation submatrices representing the affine permutation group or the zero submatrix. Given a cyclic group \(\mathbb{Z}_r\), the affine permutation group is \(\mathbb{Z}_r \rtimes \mathbb{Z}_r^{\times}\), where \(\mathbb{Z}_r^{\times}\) is the multiplicative group of integers modulo \(r\). Such codes are often constructed by lifting certain protographs into such block matrices [1]. |
| Algebraic LDPC code | LDPC code whose parity check matrix is constructed explicitly (i.e., non-randomly) from a particular graph [2,3] or an algebraic structure such as a combinatorial design [4–6], balanced incomplete block design [7], a partial geometry [8], a generalized polygon [9,10], or a Latin square [11–13]. The extra structure and/or symmetry [14] of these codes can often be used to gain a better understanding of their properties. |
| Array-based LDPC (AB-LDPC) code | QC-LDPC code constructed deterministically from a disk array code known as a B-code. Its parity-check matrix admits a compact representation [15] and is related to RS codes. |
| Block LDPC (B-LDPC) code | Member of a particular class of irregular QC-LDPC codes with efficient encoders. |
| Cycle LDPC code | An LDPC code whose parity-check matrix forms the incidence matrix of a graph, i.e., has weight-two columns. |
| Difference-set cyclic (DSC) code | Cyclic LDPC code constructed deterministically from a difference set. Certain DSC codes satisfy more redundant constraints than Gallager codes and thus can outperform them [16]. |
| Expander code | LDPC code whose parity-check matrix is derived from the adjacency matrix of a bipartite expander graph [17] such as a Ramanujan graph or a Cayley graph of a projective special linear group over a finite field [18,19]. Expander codes admit efficient encoding and decoding algorithms and yield an explicit (i.e., non-random) asymptotically good LDPC code family. |
| Extended IRA (eIRA) code | A generalization of the IRA code in which the outer LDGM code is replaced by a random sparse matrix containing no weight-two columns. |
| Finite-geometry LDPC (FG-LDPC) code | LDPC code whose parity-check matrix is the incidence matrix of points and hyperplanes in either a Euclidean or a projective geometry. Such codes are called Euclidean-geometry LDPC (EG-LDPC) and projective-geometry LDPC (PG-LDPC), respectively. Such constructions have been generalized to incidence matrices of hyperplanes of different dimensions [20]. |
| Gallager (GL) code | The first LDPC code. The rows of the parity-check matrix of this regular code are divided into equal subsets, and columns in the first subset are randomly permuted to yield the corresponding rows in subsequent subsets. |
| Hsu-Anastasopoulos LDPC (HA-LDPC) code | A regular LDPC code obtained from a concatenation of a certain random regular LDPC code and a certain random LDGM code. An \((l,r,g)\)-HA-LDPC code can be written using punctured LDPC and LDGM parts, and it is dual to the corresponding \((r,l,g)\)-MN-LDPC code [21]. Using rate-one LDGM codes eliminates high-weight codewords while admitting an amount of low-weight codewords that asymptotically vanishes, allowing code families to achieve the GV bound with high probability. |
| Irregular LDPC code | An LDPC code whose parity-check matrix has a variable number of entries in each row or column. |
| Irregular repeat-accumulate (IRA) code | A generalization of the RA code in which the outer 1-in-3 repetition encoding step is replaced by an LDGM code. A simple version is when different bits in the RA block are repeated a different number of times. |
| Lazebnik-Ustimenko (LU) code | LDPC code whose Tanner graph comes from a particular family of \(q\)-regular graphs [22] of known girth and relatively large stopping sets. |
| Low-density parity-check (LDPC) code | A binary linear code with a sparse parity-check matrix. Often a member of an infinite family of \([n,k,d]\) codes for which the numbers of nonzero entries in each row and in each column of the parity-check matrix are both bounded above by a constant as \(n\to\infty\). |
| MacKay-Neal LDPC (MN-LDPC) code | A code whose parity-check matrix is constructed non-deterministically via the MacKay-Neal prescription. |
| Margulis LDPC code | Member of a class of LDPC codes deterministically constructed from explicit sparse regular expander graphs. The underlying Margulis-Gabber-Galil graph family provides explicit expanders [2,23], yielding deterministic sparse parity-check matrices. Related explicit LDPC constructions [24] utilize Ramanujan graphs [18,19]. |
| Multi-edge LDPC code | Irregular LDPC code whose construction generalizes those of the original examples of irregular LDPC as well as RA codes. |
| Pinwheel code | A geometrically local binary LDPC code defined on planar graphs obtained from the pinwheel tiling [25]. Both bits and checks live on vertices of the graph. If \(L_N\) is the graph Laplacian at generation \(N\), the undepleted check matrix is \(\tilde H_N=(L_N-\mathbb{I})\bmod 2\), and the actual parity-check matrix \(H_N\) is obtained by removing an evenly spaced fraction of boundary checks. |
| Protograph LDPC code | Binary version of a \(q\)-ary protograph LDPC code. Its parity-check matrix can be written as a block matrix whose blocks are either sums of permutation matrices or the zero matrix. |
| Quasi-cyclic LDPC (QC-LDPC) code | LDPC code that can be put into quasi-cyclic form. Its parity check matrix can be put into the form of a block matrix consisting of either circulant permutation sub-matrices or the zero sub-matrix. Such codes are often constructed by lifting certain protographs into such block matrices [1]. Their simple structure makes them useful for several wireless communication standards. |
| Regular LDPC code | An LDPC code whose parity-check matrix has a fixed number of ones in each row and each column. Such a code is called \((j,k)\)-regular if each column has weight \(j\) (variable-node degree) and each row has weight \(k\) (check-node degree). If the parity-check matrix has \(n\) columns and \(m\) rows, then regularity implies \(nj = mk\). |
| Repeat-accumulate (RA) code | An LDPC code whose parity-check matrix has weight-two columns arranged in a step-like pattern for its last columns [26]. |
| Repeat-accumulate-accumulate (RAA) code | Generalization of the RA code in which two accumulators and permutations are used. |
| Spatially coupled LDPC (SC-LDPC) code | An LDPC code whose parity-check matrix is constructed by “spatially” coupling several copies of a regular LDPC parity-check matrix in chain-like fashion (or, more generally, in grid-like fashion) to yield a band matrix. A finite-length chain is then capped by imposing either open boundary conditions (yielding non-tail-biting SC-LDPC codes) or periodic boundary conditions (yielding tail-biting SC-LDPC codes); sometimes extra terminating vertices are added to the ends of the chain. Matrices corresponding to translationally invariant chains are called time-invariant, and otherwise are called time-varying. These codes can be constructed, e.g., using the lifting procedure or using edge-cutting vectors [27]. Spatial coupling can also be applied to MN-LDPC and HA-LDPC protographs, yielding bounded-density SC-MN and SC-HA families [21]. |
| Tanner-Sridhara-Fuja (TSF) code | Array QC-LDPC code constructed from a cyclically shifted identity matrix; see [28; Exam. 21.6.5]. |
| Tornado code | Linear binary erasure code that is a precursor to fountain codes and is built from a multilayer cascade of sparse bipartite graphs. Its encoding and decoding operations involve only XOR gates [29,30][31; Sec. 30.2]. |
| \([7,3,4]\) simplex code | Second-smallest nontrivial member of the simplex-code family. The columns of its generator matrix are in one-to-one correspondence with the elements of the projective space \(PG(2,2)\), with each column being a chosen representative of the corresponding element. The codewords form a \((8,9)\) simplex spherical code under the antipodal mapping. As a simplex code, it is equidistant: every nonzero codeword has Hamming weight \(4\). |
| \(q\)-ary LDPC code | A \(q\)-ary linear code with a sparse parity-check matrix. Alternatively, a member of an infinite family of \([n,k,d]_q\) codes for which the number of nonzero entries in each row and column of the parity-check matrix are both bounded above by a constant as \(n\to\infty\). |
| \(q\)-ary protograph LDPC code | A \(q\)-ary LDPC code whose parity-check matrix is constructed using the lifting procedure applied to the incidence matrix of a sparse graph called, in this context, a protograph. An ability to assign non-binary edge weight called edge scaling can also be used in code construction. |
References
- [1]
- I. E. Bocharova, F. Hug, R. Johannesson, B. D. Kudryashov, and R. V. Satyukov, “Searching for Voltage Graph-Based LDPC Tailbiting Codes With Large Girth”, IEEE Transactions on Information Theory 58, 2265 (2012) arXiv:1108.0840 DOI
- [2]
- G. A. Margulis, “Explicit constructions of graphs without short cycles and low density codes”, Combinatorica 2, 71 (1982) DOI
- [3]
- C. A. Kelley, D. Sridhara, and J. Rosenthal, “Tree-Based Construction of LDPC Codes Having Good Pseudocodeword Weights”, IEEE Transactions on Information Theory 53, 1460 (2007) DOI
- [4]
- S. J. Johnson and S. R. Weller, “Regular low-density parity-check codes from combinatorial designs”, Proceedings 2001 IEEE Information Theory Workshop (Cat. No.01EX494) 90 DOI
- [5]
- S. J. Johnson and S. R. Weller, “Construction of low-density parity-check codes from Kirkman triple systems”, GLOBECOM’01. IEEE Global Telecommunications Conference (Cat. No.01CH37270) 2, 970 DOI
- [6]
- S. J. Johnson and S. R. Weller, “Resolvable 2-designs for regular low-density parity-check codes”, IEEE Transactions on Communications 51, 1413 (2003) DOI
- [7]
- B. Vasic and O. Milenkovic, “Combinatorial Constructions of Low-Density Parity-Check Codes for Iterative Decoding”, IEEE Transactions on Information Theory 50, 1156 (2004) DOI
- [8]
- S. J. Johnson and S. R. Weller, “Codes for iterative decoding from partial geometries”, Proceedings IEEE International Symposium on Information Theory, 310 DOI
- [9]
- P. O. Vontobel and R. M. Tanner, “Construction of codes based on finite generalized quadrangles for iterative decoding”, Proceedings. 2001 IEEE International Symposium on Information Theory (IEEE Cat. No.01CH37252) 223 DOI
- [10]
- Z. Liu and D. A. Pados, “LDPC Codes From Generalized Polygons”, IEEE Transactions on Information Theory 51, 3890 (2005) DOI
- [11]
- O. Milenkovic and S. Laendner, “Analysis of the cycle-structure of LDPC codes based on Latin squares”, 2004 IEEE International Conference on Communications (IEEE Cat. No.04CH37577) 777 (2004) DOI
- [12]
- S. Laendner and O. Milenkovic, “LDPC Codes Based on Latin Squares: Cycle Structure, Stopping Set, and Trapping Set Analysis”, IEEE Transactions on Communications 55, 303 (2007) DOI
- [13]
- L. Zhang, Q. Huang, S. Lin, K. Abdel-Ghaffar, and I. F. Blake, “Quasi-Cyclic LDPC Codes: An Algebraic Construction, Rank Analysis, and Codes on Latin Squares”, IEEE Transactions on Communications 58, 3126 (2010) DOI
- [14]
- R. M. Tanner, D. Sridhara, and T. Fuja, “A class of group-structured LDPC codes.” Proc. ISTA. 2001
- [15]
- T. Mittelholzer, “Efficient encoding and minimum distance bounds of Reed-Solomon-type array codes”, Proceedings IEEE International Symposium on Information Theory, 282 DOI
- [16]
- D. J. C. MacKay and M. C. Davey, “Evaluation of Gallager Codes for Short Block Length and High Rate Applications”, The IMA Volumes in Mathematics and its Applications 113 (2001) DOI
- [17]
- S. Hoory, N. Linial, and A. Wigderson, “Expander graphs and their applications”, Bulletin of the American Mathematical Society 43, 439 (2006) DOI
- [18]
- A. Lubotzky, R. Phillips, and P. Sarnak, “Ramanujan graphs”, Combinatorica 8, 261 (1988) DOI
- [19]
- G. Davidoff, P. Sarnak, and A. Valette, Elementary Number Theory, Group Theory and Ramanujan Graphs (Cambridge University Press, 2001) DOI
- [20]
- Heng Tang, Jun Xu, S. Lin, and K. A. S. Abdel-Ghaffar, “Codes on finite geometries”, IEEE Transactions on Information Theory 51, 572 (2005) DOI
- [21]
- K. KASAI and K. SAKANIWA, “Spatially-Coupled MacKay-Neal Codes and Hsu-Anastasopoulos Codes”, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E94-A, 2161 (2011) arXiv:1102.4612 DOI
- [22]
- F. Lazebnik and V. A. Ustimenko, “Explicit construction of graphs with an arbitrary large girth and of large size”, Discrete Applied Mathematics 60, 275 (1995) DOI
- [23]
- O. Gabber and Z. Galil, “Explicit constructions of linear-sized superconcentrators”, Journal of Computer and System Sciences 22, 407 (1981) DOI
- [24]
- J. Rosenthal and P. O. Vontobel, “Constructions of regular and irregular LDPC codes using Ramanujan graphs and ideas from Margulis”, Proceedings. 2001 IEEE International Symposium on Information Theory (IEEE Cat. No.01CH37252) 4 DOI
- [25]
- J. H. Conway and C. Radin, “Quaquaversal tilings and rotations”, Inventiones Mathematicae 132, 179 (1998) DOI
- [26]
- S. J. Johnson, “Introducing low-density parity-check codes.” University of Newcastle, Australia 1 (2006): 2006
- [27]
- H. Esfahanizadeh, A. Hareedy, and L. Dolecek, “Finite-Length Construction of High Performance Spatially-Coupled Codes via Optimized Partitioning and Lifting”, IEEE Transactions on Communications 67, 3 (2019) DOI
- [28]
- C. A. Kelley, “Codes over Graphs.” Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
- [29]
- J. W. Byers, M. Luby, M. Mitzenmacher, and A. Rege, “A digital fountain approach to reliable distribution of bulk data”, ACM SIGCOMM Computer Communication Review 28, 56 (1998) DOI
- [30]
- M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, and D. A. Spielman, “Efficient erasure correcting codes”, IEEE Transactions on Information Theory 47, 569 (2001) DOI
- [31]
- I. F. Blake, “Coding for Erasures and Fountain Codes.” Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI