Programs for Low Density Parity Check Codes

Programs are available for creating LDPC codes, encoding messages, simulating transmission through a channel, and decoding the received message. There are links here to the general documentation on each of these operations, and to the detailed documentation on the relevant programs.

The programs names below are followed by the form of arguments they take; a similar usage message is displayed when a program is run with no arguments. In these descriptions, things to be entered literally are in roman font, descriptions of something to be supplied are in italic. Arguments in square brackets are optional. A vertical bar separates alternatives. Dots represent indefinite repetition.

Many of the arguments are file names, which can be a dash ("-") in order to specify that standard input or standard output is to be used. (However, you can't use standard input or output for more than one thing.)

Click on a main title below for general information on that aspect of the software, or on the name of a program for detailed information.

Creating a parity check matrix for a code:

make-pchk pchk-file n-checks n-bits row:col ...

print-pchk [ -d ] pchk-file

make-ldpc pchk-file n-checks n-bits seed method

Encoding message blocks as codewords:

make-gen pchk-file gen-file method

print-gen [ -d ] gen-file 

encode pchk-file gen-file source-file encoded-file

Transmitting bits through a simulated channel:

transmit encoded-file|n-zeros received-file seed channel

Decoding received blocks:

decode [ -t | -T ] pchk-file received-file decoded-file [ bp-file ] channel method

extract gen-file decoded-file extracted-file

Support programs:

rand-src source-file seed n-bits

verify [ -t ] pchk-file decoded-file [ gen-file [ source-file ] ]
See also the discussions of linear dependence in parity check matrices and of sparse LU decomposition methods, and the examples of program usage.
Back to index for LDPC software