LDPC Communication Project - Jacobs University...

49
October LDPC Communication Project Implementation and Analysis of LDPC codes over BEC Bar-Ilan university, school of engineering Chen Koker and Maytal Toledano

Transcript of LDPC Communication Project - Jacobs University...

Page 1: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPCCommunication Project

Implementation and Analysis of

LDPC codes over BEC

Bar-Ilan university, school of engineering

Chen Koker and Maytal Toledano

Page 2: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Outline

LDPC

Definitions of Channel and Codes.

Introduction to LDPC.

Decoding base on Belief Propagation.

Implementation of the decoder.

Density Evolution.

Results.

Page 3: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Project Description

LDPC

Implementation decoder of LDPC codes

over BEC.

Density Evolution algorithm.

Asymptotic analytic results versus

simulations results.

Page 4: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Outline

LDPC

Definitions of Channel and Codes.

Introduction to LDPC.

Decoding base on Belief Propagation.

Implementation of the decoder.

Density Evolution.

Results.

Page 5: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of channel

LDPC

Digital channel:

Page 6: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of channel

LDPC

BEC = Binary Erasure Channel:

"E" equal probability for "0" and "1“.

Page 7: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of channel

LDPC

BEC = Binary Erasure Channel:

we can assume that the conditional probabilities are

Page 8: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of channel

LDPC

C = Channel Capacity:

The amount of information that can be reliably

transmitted over a channel.

In BEC the Capacity is:

Pe = probability of erasure.

Page 9: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of codes

LDPC

Block code:

Page 10: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of codes

LDPC

R = Code Rate:

k - number of bits of the effective data.

n - number of bits of the effective data

+ redundancy bits.

Page 11: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of codes

LDPC

G = Generator Matrix:

141424 12rcsG ChannelT

Page 12: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of codes

LDPC

Notice H*G = 0

(H = Parity Matrix)

222442 0GH

0

1

0

0

1

0

1

0

1

1101

0010

Page 13: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Definitions of codes

LDPC

H = Parity Check Matrix:

01442 rH

Page 14: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Outline

LDPC

Definitions of Channel and Codes.

Introduction to LDPC

Decoding base on Belief Propagation.

Implementation of the decoder.

Density Evolution.

Results.

Page 15: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Introduction to LDPC

LDPC

Low density parity check code –

the parity check matrix H is binary

and sparse.

10000101

00011000

01100011

10001010

Page 16: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Introduction to LDPC

LDPC

LDPC codes represented by:

matrix

or by

bipartite graph

Page 17: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Introduction to LDPC

LDPC

Tanner Graph – (bipartite graph)

Page 18: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Outline

LDPC

Definitions of Channel and Codes.

Introduction to LDPC.

Decoding base on Belief Propagation

Implementation of the decoder.

Density Evolution.

Results.

Page 19: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Decoding base on Belief Propagation

LDPC

Decoding is iterative algorithms based on message

passing.

Messages are passed Messages are passed

from check nodes to bit nodes. from bit nodes to check nodes.

Page 20: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm:

Step 1 -

All variable nodes send their qij messages.

Over BEC

for “0” or “1” -

for “E” -

Page 21: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

Step 2 -

The check nodes

calculate their response

messages rji,

Page 22: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

step 2….

For BEC it is Hard-Decision,

for “0” or “1” - rji(b) = 1,0

for “E” - rji(b) = 1/2

In words, if all other bits in the equation

are known the message is the correct

value of the bit otherwise the message is „E‟.

Page 23: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

step 2….

The calculate is done by the logic XOR operation.

Equation A: X1 + X2 + X4 = 0

Equation B: X2 + X3 = 0

Equation A: 1 + E + 0 = 0

Equation B: 0 + 0 = 0

X2 1

Page 24: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

Step 3 -

The variable nodes update their response messages to the check nodes.

Page 25: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

Step 3 -

Over BEC qij(b) = 1, 0, 1/2

If the bit is already revealed then it

sends it real value, otherwise it

sends „E‟.

Page 26: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

Before at step 1:

At step 2 we found: Equation A: X1 + X2 + X4 = 0

Equation B: X1+ X2 + X3 +X4 = 0

Equation A: 0 + 1 + E = 0

Equation B: 0 + 1 + 0 + E = 0

X4 1

Page 27: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

Now at step 3:

Page 28: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

LDPC BEC using Belief Propagation

LDPC

The Iterative Algorithm….

Step 4 -

Go to step 2 (The check nodes calculate their response

messages rji).

Page 29: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Algorithm Performance

LDPC

The algorithm for may be executed for a

maximum number of rounds till:

1. It founds legal codeword not necessarily

the right one.

2. It doesn‟t convergence to solution.

Page 30: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Algorithm Performance

LDPC

For BEC :

1. It fulfils the precise codeword.

2. It reach saturation -no solution.

“Stopping Set” situation.

Page 31: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Algorithm Performance

LDPC

The “Stooping Set” situation….

The bits can not be decoded.

Page 32: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Outline

LDPC

Definitions of Channel and Codes.

Introduction to LDPC.

Decoding base on Belief Propagation.

Implementation of the decoder

Density Evolution.

Results.

Page 33: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Implementation of the Decoder

LDPC

The implementation includes 3 components:

1. Initialization.

2. Iterative Decoding.

3. Analysis performance.

Page 34: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Implementation of the Decoder

LDPC

Iterative Decoding – efficient data structure

Bit Vector –

1. Value –'0','1', or 'E„.

2. Pointer to the equations it take part.

3. Number of equations.

Equation Vector –

1. Number of known & unknown bits.

2. Equation value of XOR function.

Stack – index of unknown bits.

Page 35: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Implementation of the Decoder

LDPC

Iterative Decoding

The stack is scanned,

Is update of unknown bit is possible?

Yes: value updates in all the equations it

involved.

No: skip to the next unknown bit.

Page 36: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Implementation of the Decoder

LDPC

Iterative Decoding

The process relies on - equation with only one

unknown bit.

The Stack halt condition –

1. The stack is empty.

2. No bit was updated (“Stopping Set”).

Page 37: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Outline

LDPC

Definitions of Channel and Codes.

Introduction to LDPC.

Decoding base on Belief Propagation.

Implementation of the decoder.

Density Evolution

Results.

Page 38: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Density Evolution

LDPC

DE = Density Evolution:

An asymptotic analysis method for LDPC

code performance under the Message-

passing decoding.

Page 39: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Density Evolution

LDPC

= probability of bit to be unknown

after t iterations of massage passing algorithm.

– initial probability of error.

– number of bits in each equation.

– number of equations each bit involved.

)1()1(

1 ))1(1( mn

tet fPf

tf

ep

m

n

Page 40: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Outline

LDPC

Definitions of Channel and Codes.

Introduction to LDPC.

Decoding base on Belief Propagation.

Implementation of the decoder.

Density Evolution.

Results

Page 41: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Results

LDPC

"waterfall“ - success per 5000 bit.

Page 42: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Results

LDPC

"waterfall“ - success per bit.

0 0.2 0.4 0.6 0.8 1 1.20

0.2

0.4

0.6

0.8

1

Success rate per bit vs probability of error

Probability of error

Suc

cess

rat

e

Page 43: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Results

LDPC

Number of iteration to reach a decision:

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

1

2

3

4

5

6

7x 10

4 Number Of Iterations vs probability of error

Probability of error

Suc

cess

rat

e

Page 44: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Results

LDPC

Density Evolution:

0 0.2 0.4 0.6 0.8 1 1.20

0.2

0.4

0.6

0.8

1

Probability of error

Suc

cess

rat

e

DENSITY EVOLUTION-Success rate per bit vs probability of error

Success rate

Page 45: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Results

LDPC

Density Evolution: Number of iteration to reach a decision.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

10

20

30

40

50

60

70

80

90

100

Probability of error

Iter

atio

ns N

umbe

r

DENSITY EVOLUTION-Number of Iterations vs probability of error

Number of Iterations

Page 46: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Results

LDPC

Density Evolution versus our decoder performance

0 0.2 0.4 0.6 0.8 1 1.20

0.2

0.4

0.6

0.8

1

DENSITY EVOLUTION-Success rate per bit vs probability of error

Probability of error

Success r

ate

Page 47: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Results

LDPC

We expect: P < 1/2 recover all erased bits.

We got: sharp degradation in the success rate around probability P=0.43.

Why ?

1.Our decoder is not ideal.

2.The code (H matrix) is not optimally.

Page 48: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

Suggestions for continuing

LDPC

Extending the check of each equation for more

than one unknown bit.

but….

Complexity growing.

The decoder would not fit a real time system

requirements.

Page 49: LDPC Communication Project - Jacobs University Bremenmath.jacobs-university.de/archive/summer-academy/talks/koker.pdf · October LDPC Communication Project Implementation and Analysis

October

The End.

LDPCCommunication Project