David MacKay

Search :


Source code for Progressive Edge Growth parity-check matrix construction

- kindly supplied by Xiao-Yu Hu [xhu:-:AT:-:zurich.ibm.com]

The PEG construction creates matrices with very large girth. This construction has proved to produce the best known Gallager codes, and is especially significant for small blocklengths such as 500, 1000, or 2000.

Examples of rate-1/2 codes constructed in this way can be found in the Encyclopedia of Sparse Graph Codes.

| Download tar file | | Download Linux/GCC Makefile |

Patched version: ! Download Patch provided by fokko.beekhof | ! Download tar file containing patched source files | ! explanation by fokko.beekhof |

The source files have been tested through the C++ compiler xlC on IBM RS/6000 running AIX operating system. On other compilers and platforms, minor changes may be needed on Makefile and/or source C++ files.

Here are some examples for the commands:

  1. MainPEG -numM 252 -numN 504 -codeName irReg504252.dat -degFileName DenEvl_15.deg
    Remarks: The density-evolution-optimized symbol-node degree sequence of maximum symbol node degree of 15 is used. PEG does not use check node degree sequence; instead it makes the check-node degree as concentrated as possible.
  2. MainPEG -numM 252 -numN 504 -codeName Reg504252.dat -degFileName Reg_3.dat
    Remarks: Each symbol node has a uniform of degree of 3
  3. MainPEG -numM 252 -numN 504 -codeName Reg504252.dat -degFileName Reg_3.dat -sglConcent 0
    Remarks: By specifying -sglConcent 0, the check-node degree sequence is made strictly concentrated or regular
  4. MainPEG -numM 252 -numN 504 -codeName Reg504252.dat -degFileName Reg_3.dat -sglConcent 0 -tgtGirth 8
    Remarks: Non-greedy PEG with target girth of 8
Example PEG codes included in the encyclopedia are as follows:
  • (Reg252x504.dat, Reg504x1008.dat): Symbol-node degree of 3, check-node almost regular
  • (irReg252x504.dat, irReg504x1008.dat): Irregular PEG using density-evolution optimized degree distribution of maximum degree of 15.
  • (irUppTriang518x1024.dat, irUppTriang1030x2048.dat): Irregular linear-time-encodeable PEG codes using density-evolution optimized degree distribution of maximum degree of 15. Upper triangular form.

The Inference Group is supported by the Gatsby Foundation
and by a partnership award from IBM Zurich Research Laboratory
David J.C. MacKay
Site last modified Tue Aug 19 18:43:54 BST 2008