LDPC Introduction

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).