Title: Low Density Parity Check Codes
1Low Density Parity Check Codes
LDPC ( Low Density Parity Check ) codes are a
class of linear bock code. The term Low Density
refers to the characteristic of the parity check
matrix which contains only few 1s in comparison
to 0s. LDPC codes are arguably the best error
correction codes in existence at present. LDPC
codes were first introduced by R. Galager in his
PhD thesis in 1960 and soon forgotten due to
introduction of Reed-Solomon codes and the
implementation issues with limited technological
knowhow at that time. The LDPC codes were
rediscovered in mid 90s by R. Neal and D. Mackay
at the Cambridge University.
We can define N bit long LDPC code in terms of M
number of parity check equations and describing
those parity check equations with a M x N parity
check matrix H.
Where, M Number of parity check equations N
Number of bits in the codeword
2Low Density Parity Check Codes
Consider the 6 bit long codeword in the form
which satisfies 3 parity check equations as shown
below.
We can now define 3x6 parity check matrix as,
The density of 1s in LDPC code parity check
matrix is very low
If the parity check matrix has uniform row weight
and uniform column weight (same number of 1 in
a column and same number of 1 in a row) we call
that a regular parity check matrix.
3Low Density Parity Check Codes
Codeword is said to be valid if it satisfies the
syndrome calculation
We can obtain the generator matrix from
parity check matrix by,
1.) Arranging the parity check matrix in
systematic form using row and column
operations 2.) Rearranging the systematic parity
check matrix 3.) We can verify our results as
4Low Density Parity Check Codes
Tanner graph is a graphical representation of
parity check matrix specifying parity check
equations.
Tanner graph consists of N number of variable
nodes and M number of check nodes
In Tanner graph mth check node is connected to
nth variable node if and only if nth element in
mth row in parity check matrix is a
1.
The marked path z2 ? c1 ? z3 ? c6 ? z2 is an
example for short cycle of 4
The number of steps needed to return to the
original position is known as the girth of the
code
5Low Density Parity Check Codes
a.) Determine the parity check matrix H by using
the above equation b.) Show the systematic form
of H by applying Gauss Jordan elimination c.)
Determine Generator matrix G from H and prove G
HT 0 d.) Find out the dimension of the H,
G e.) State whether the matrix is regular or
irregular
6Low Density Parity Check Codes
6 columns and 3 rows
7Low Density Parity Check Codes
Dimensions of H 3x6 Dimensions of G 3x6
Since the column weight and row weight changes,
this is an irregular parity check matrix
8Low Density Parity Check Codes
2. The parity check matrix H of LDPC code is
given below
a.) Determine the degree of rows and column b.)
State whether the LDPC code is regular or
irregular c.) Determine the rate of the LDPC
code d.) Draw the tanner graph representation of
this LDPC code. e.) What would be the code rate
if we make rows equals to column f.) Write down
the parity check equation of the LDPC code
9Low Density Parity Check Codes
Dimensions of the matrix 6x12
Since the parity check matrix has a uniform row
weight and uniform column weight, this is a
regular LDPC parity check matrix
Since the parity check matrix has a uniform row
weight and uniform column weight, this is a
regular LDPC parity check matrix
Code rate
If we make the number of rows equal to columns
code rate will be equal to 0
10Low Density Parity Check Codes
The parity check equations of the matrix are
11Low Density Parity Check Codes
3. Consider parity check matrix H generated in
question 1, a.) Determine message bits length
K, parity bits length M, codeword length N
b.) Use the generator matrix G obtained in
question 1 to generate all possible codewords c.
All possible message set
All possible codeword set
12Low Density Parity Check Codes
- Question 4.
- a.) What is the difference between regular and
irregular LDPC codes? - b.) What is the importance of cycles in parity
check matrix? - c.) Identify the cycles of 4 in the following
tanner graph.
If the parity check matrix has uniform row weight
and uniform column weight (same number of 1 in
a column and same number of 1 in a row) we call
that a regular parity check matrix.
The decoding algorithm assumes that the LDPC code
is cycle free ( large girth sizes ). The short
cycles in the code ( cycles with a girth of 4 and
cycles of girth of 6 ) weakens the code.
Therefore the codes must be carefully constructed
to be free of short cycles.