Low Density Parity Check (LDPC) codes belong to the class of forward error correction codes which are used for sending a
message over noisy transmission channels. These codes can be described by a parity-check matrix which contains mostly 0's and a relatively
small amount of 1's. Thus, the decoding complexity is small when compared to other code constructions. A very efficient iterative decoding algorithm is known as belief propagation (BP) decoder.

Therefore, LDPC codes are widely used as a powerful forward error correction (FEC) in nowadays communication standards such as Wifi (802.11n) or the WiMAX standard.

LDPC Codes can be divided into two types:

• Regular LDPC Codes: An LDPC code is called regular if the column weight $w_c$ and the row weight $w_r$ is constant.

• Irregular LDPC Codes: An LDPC code is called irregular if the column weight $w_c$ and the row weight $w_r$ is not constant. This means the number of 1's per row and column is not constant.

Representations of LDPC codes

There are different ways how to represent LDPC codes. As for all linear block codes, a matrix representation by the corresponding generator matrix $\mathbf{G}$ or the parity-check matrix $\mathbf{H}$ is possible.
Thus, if there is $k$ input bits and $n$ output bits and their parity check matrix $\mathbf{H}$ is expressed as a $m\times n$ matrix, where $m=n-k$.

The second possibility is a graphical representation, so called Tanner Graph (see next slide).