Date post: | 15-Jul-2015 |
Category: |
Education |
Upload: | bhagwat-singh-rathore |
View: | 239 times |
Download: | 7 times |
LDPC encodingINFORMATION THEORY AND CODING (ECE 307)
Group Members:
1. Lokesh Jindal (11BEC1043)2. Bhagwat Singh (11BEC1070)3. Devanshu (11BEC1100)4. Gurpartap Singh (11BEC1124)
LDPC(Low Density Parity Codes)
LDPC Codes are characterized by the sparseness of ones in the parity-check matrix.
This low number of ones allows for a large minimum distance of the code, resulting in improved
performance.
PARITY-CHECK MATRIX
LDPC codes are classified into two different classes of codes: regular and irregular codes.
Regular codes are the set of codes in which there is a constant number of ๐ค๐ถ 1โs distributed throughout
each column and a constant number of ๐ค๐ 1โs per row.
For a determined column weight (๐ค๐ถ), we can determine the row weight as๐โ๐ค๐ถ
๐โ๐, (N is the block-length
of the code and k is the message length).
Irregular codes are those of which do not belong to this set (do not maintain a consistent row weight)
MINIMUM DISTANCE OF LDPC CODES
The minimum distance is a property of any coding scheme.
Ideally this minimum distance should be as large as possible, but there is a practical limit on how large
this minimum distance can be.
LDPC posses a large problem when calculating this minimum distance efficiently as an effective LDPC
code requires rather large block-lengths.
Using random generation it is very difficult to specify the minimum distance as a parameter, rather
minimum distance will become a property of the code.
CYCLE LENGTH OF LDPC CODES
Using a Tanner Graph it is possible to view the definition of the minimum cycle length of a code.
It is the minimum number of edges travelled from one check node to return to the same check node.
Length 4 and Length 6 cycles with the corresponding parity-check matrix configurations are shown in
Figures 5 and 6 respectively.
Contdโฆ
It has been shown that the existence of these cycles degrade the performance during iterative decoding
process.
Therefore when generating the parity-check matrix, the minimum cycle length permitted must be
determined.
It is possible control the minimum cycle length when generating the matrix, however computational
complexity and time increases exponentially with each increase in minimum cycle length.
LINEAR INDEPENDENCE
The generator matrix G, is defined such that:
๐ = ๐ฎ๐ป๐
Where,
๐ = [๐1, ๐2, ๐3 , โฆโฆโฆ๐๐]๐ โ Code-word
๐ = [๐1, ๐2, ๐3 , โฆโฆโฆ๐๐]๐ โ Message Word
๐บ = ๐ by ๐ Generator matrix
In order to guarantee the existence of such a matrix G, the linear independence of all rows of the parity-
check matrix must be assured.
LDPC SYSTEM OVERVIEW
Where:
โข m- Message
โข c - Code-word
โข x- Modulated signal
โข n- AWGN noise
โข y- Received signal
โข cห- Estimated code-word
โข mห- Estimated message
Encoding
๐ = ๐ฎ๐ป๐
we define a complete set of successful parity-checks as:
๐ป๐ = 0
Where:
๐ = [๐1, ๐2, ๐3 , โฆโฆโฆ๐๐]๐
๐ป(๐โ๐)โ๐ = ๐ โ ๐ ๐๐ฆ ๐ Parity-Check Matrix
Contdโฆ The location of the parity-bits in the code-word is arbitrary, therefore we will form our code-word such
that:
๐ = [๐:๐]๐
Where:
๐ = [๐1, ๐2, ๐3 , โฆโฆโฆ๐๐]๐ โ Message Word
๐ = [๐1, ๐2, ๐3 , โฆโฆโฆ๐๐โ๐]๐โ Parity Bits
Therefore:
๐ป[๐:๐]๐= 0
H can be partitioned as:
๐ป = [๐: ๐]
Where:
X = N-k by N-k Sub-matrix
Y = N-k by k Sub-matrix
Contdโฆ
From this we can find:
๐๐ + ๐๐ = 0
Using modulo-2 arithmetic we can solve for p as:
๐ = ๐โ1๐๐
Then we solve for c as:
๐ = [ ๐โ1๐ ๐: ๐ผ]๐๐
Where I is the k by k identity matrix and we define G as:
๐บ = [ ๐โ1๐ ๐: ๐ผ]
G Matrix for this project
In our project we directly chose the G matrix from โCommunication Systemsโ by Simon Haykin.
The G matrix is:
๐บ =
1 0 0 1 1 0 1 0 0 00 0 0 1 1 1 0 1 0 00 0 1 1 1 0 0 0 1 00 1 0 1 1 0 0 0 0 1
Hamming Code
Linear block code is said to be Hamming code if following parameters are obeyed:
1. No. of bits in the code-word (n) = 2๐ โ 1
2. No. of message bits (k) = 2๐ โ๐ โ 1
3. No. of parity bits (n-k) = ๐ and ๐ โฅ 3
Encoding
p= k by (n-k) Parity Matrix
Generator Matrix:
๐บ = [๐: ๐ผ๐]
Parity Check Matrix:
๐ป = [๐ผ๐โ๐: ๐๐]
Encoded message:
๐ฅ = ๐:๐
Where,
๐ = ๐๐
Syndrome:
๐ = ๐ฆ๐ป๐