+ All Categories
Home > Education > LDPC Encoding

LDPC Encoding

Date post: 15-Jul-2015
Category:
Upload: bhagwat-singh-rathore
View: 239 times
Download: 7 times
Share this document with a friend
Popular Tags:
15
LDPC encoding INFORMATION THEORY AND CODING (ECE 307) Group Members: 1. Lokesh Jindal (11BEC1043) 2. Bhagwat Singh (11BEC1070) 3. Devanshu (11BEC1100) 4. Gurpartap Singh (11BEC1124)
Transcript
Page 1: LDPC Encoding

LDPC encodingINFORMATION THEORY AND CODING (ECE 307)

Group Members:

1. Lokesh Jindal (11BEC1043)2. Bhagwat Singh (11BEC1070)3. Devanshu (11BEC1100)4. Gurpartap Singh (11BEC1124)

Page 2: LDPC Encoding

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.

Page 3: LDPC Encoding

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)

Page 4: LDPC Encoding

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.

Page 5: LDPC Encoding

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.

Page 6: LDPC Encoding

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.

Page 7: LDPC Encoding

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.

Page 8: LDPC Encoding

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

Page 9: LDPC Encoding

Encoding

๐’„ = ๐‘ฎ๐‘ป๐’Ž

we define a complete set of successful parity-checks as:

๐ป๐‘ = 0

Where:

๐‘ = [๐‘1, ๐‘2, ๐‘3 , โ€ฆโ€ฆโ€ฆ๐‘๐‘]๐‘‡

๐ป(๐‘โˆ’๐‘˜)โˆ—๐‘ = ๐‘ โˆ’ ๐‘˜ ๐‘๐‘ฆ ๐‘ Parity-Check Matrix

Page 10: LDPC Encoding

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

Page 11: LDPC Encoding

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๐‘Œ ๐‘‡: ๐ผ]

Page 12: LDPC Encoding

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

Page 13: LDPC Encoding

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

Page 14: LDPC Encoding

Encoding

p= k by (n-k) Parity Matrix

Generator Matrix:

๐บ = [๐‘: ๐ผ๐‘˜]

Parity Check Matrix:

๐ป = [๐ผ๐‘›โˆ’๐‘˜: ๐‘๐‘‡]

Encoded message:

๐‘ฅ = ๐‘:๐‘š

Where,

๐‘ = ๐‘š๐‘

Syndrome:

๐‘  = ๐‘ฆ๐ป๐‘‡

Page 15: LDPC Encoding

Recommended