Here is a list of LDPC codes.

[Jump to code graph excerpt]

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
  • Home
  • Code graph
  • Code lists
  • Concepts glossary
  • Search

Classical Domain

  • Binary Kingdom
  • Galois-field Kingdom
  • Matrix Kingdom
  • Analog Kingdom
  • Spherical Kingdom
  • Ring Kingdom
  • Group Kingdom
  • Homogeneous-space Kingdom

Quantum Domain

  • Qubit Kingdom
  • Modular-qudit Kingdom
  • Galois-qudit Kingdom
  • Bosonic Kingdom
  • Spin Kingdom
  • Group quantum Kingdom
  • Homogeneous-space quantum Kingdom
  • Category Kingdom

Classical-quantum Domain

  • Binary c-q Kingdom
  • Analog c-q Kingdom

  • Add new code
  • Team
  • About

  • 🌒
≡
Error correction zoo by Victor V. Albert, Philippe Faist, and many contributors. This work is licensed under a CC-BY-SA License. See how to contribute.