0% found this document useful (0 votes)
142 views

Tutorial GFqDecoding Part1

This document discusses belief propagation decoding of low-density parity-check (LDPC) codes. It begins with an introduction to belief propagation on general graphs and binary belief propagation decoding. It then discusses non-binary belief propagation decoding, which involves message passing on Tanner graphs where symbols take values in a Galois field rather than being binary. Key points include: - Belief propagation involves passing probability messages between variable and check nodes to iteratively compute posterior probabilities. - For non-binary LDPC codes, variable nodes perform Bayesian merging of incoming messages while check nodes perform Bayesian marginalization. - Decoding involves iteratively updating messages along edges of the Tanner graph until convergence. - The independence

Uploaded by

darkprince117
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
142 views

Tutorial GFqDecoding Part1

This document discusses belief propagation decoding of low-density parity-check (LDPC) codes. It begins with an introduction to belief propagation on general graphs and binary belief propagation decoding. It then discusses non-binary belief propagation decoding, which involves message passing on Tanner graphs where symbols take values in a Galois field rather than being binary. Key points include: - Belief propagation involves passing probability messages between variable and check nodes to iteratively compute posterior probabilities. - For non-binary LDPC codes, variable nodes perform Bayesian merging of incoming messages while check nodes perform Bayesian marginalization. - Decoding involves iteratively updating messages along edges of the Tanner graph until convergence. - The independence

Uploaded by

darkprince117
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

Status of Knowledge on Non-Binary LDPC Decoders

Part I: From Binary to Non-Binary Belief Propagation Decoding

D. Declercq 1
1 ETIS - UMR8051 ENSEA/Cergy-University/CNRS France

IEEE SSC SCV Tutorial, Santa Clara, October 21st, 2010

D. Declercq (ETIS - UMR8051)

1 / 59

Outline

Introduction

Belief Propagation on a General Graph

Binary Belief Propagation Decoder

Non-Binary Belief Propagation Decoding

D. Declercq (ETIS - UMR8051)

2 / 59

Outline

Introduction

Belief Propagation on a General Graph

Binary Belief Propagation Decoder

Non-Binary Belief Propagation Decoding

D. Declercq (ETIS - UMR8051)

3 / 59

Small History of Binary LDPC Codes: Landmarks

Gallager 1962 regular LDPC codes, proof of convergence (MLD), algo. A (bit ipping), algo. B , Tanner 1981 composite codes on graphs, link with product codes and LDPC codes, MacKay 1995 Belief Propagation (BP) decoding, link with iterative turbo-decoding, irregular LDPC codes, Rich. et Urb.
2001

proof of convergence (BP), optimization of irregularity, codes approaching capacity (BEC, BI-AWGN),

Since then Optimization for other types of channels (freq. selective, multilevel, multi-user, turbo-equalization, joint source-channel coding), nding good matrices for small sizes, lowering the error oor. Golden age of LDPC codes, application in many standards.

D. Declercq (ETIS - UMR8051)

4 / 59

Small History of Non-Binary LDPC Codes: Landmarks

Gallager 1963 LDPC codes in Galois Fields, iterative hard decoding algo. B for dv = 3, MacKay 1998 Advantages for small blocks/high rates, ultra-sparse dv = 2 LDPC codes in high-order Fields,
2003-2006 2006-2010

Development of practical decoders for Non-Binary LDPC codes, Attempts to nd applications where NB-LDPC codes outperform binary LDPC codes, Golden age of Non-Binary LDPC codes ?

2010-xxx

[DAVEY 98] M. DAVEY AND D.J.C. M ACKAY, L OW DENSITY PARITY CHECK CODES OVER GF( Q ), IEEE communication letter, VOL . 2, PP 165167, J UNE 1998 [M ACKAY 99] D.J.C. M ACKAY AND M. DAVEY, E VALUATION OF GALLAGER CODES FOR SHORT BLOCK LENGTH AND HIGH RATE APPLICATIONS , proc. of IMA workshop on codes, systems and graphical models, 1999

D. Declercq (ETIS - UMR8051)

5 / 59

Denitions and Quantities


LDPC Code CH = c GF (q)N | H.c

LDPC Code
GF (q)

= 0

CG = c = G.u, u GF (q)K

with H(M N), parity check matrix, with G(N K ), generator matrix.

8 < of a codeword of information Size : of the redundancy Density of H :

N K M

R = K /N (if H is full rank)

elements in H dH = nb. nonzeroM.N

LDPC :

dH

N+

D. Declercq (ETIS - UMR8051)

6 / 59

Tanner Graph Representation of a Binary LDPC Code


Tanner Graph is a Bi-partite graph with Adjacency Matrix H LDPC: Low Density Parity Check Codes

c0 1 1 H= 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 c0 0 0 1 1 0 1 1 0 0 0 0 0 1 1

c1

c2

c3

c4

c5

c6

c7

codeword

: message 0 Parity checks

c1

c2

c3

c4

c5

c6

c7

codeword

Interleaver

Parity checks

D. Declercq (ETIS - UMR8051)

7 / 59

Tanner graph Representation of a Non-Binary LDPC code


Tanner graph of an Irregular Non-Binary LDPC code in GF (8)

c0 3 4 H= 1 0 0 6 5 0 0 0 3 1 6 2 0 0 7 c0 0 0 3 7 0 1 5 0 0 0 0 0 1 2 0

c1

c2

c3

c4

c5

c6

c7

Codeword

. . . . . . . .

: message

parity checks Codeword

c1

c2

c3

c4

c5

c6

c7

Interleaver

parity checks

D. Declercq (ETIS - UMR8051)

8 / 59

parameters for Non-Binary LDPC code irregularity


Irregularity distribution, Irregularity prole

edges proportions :

i : proportion of nonzero values {Hkl } in degree i columns, j : proportion of nonzero values {Hkl } in degree j rows,
2

node proportions :

i : proportion of columns in H with degree i, j : proportion of rows in H with degree j,


(x) =
3 dvmax X i=2

i x i1

(x) =

dcmax X j=2

j x j1

non-zero values distribution :

hij () : uniformly distributed in GF(q)\0.

D. Declercq (ETIS - UMR8051)

9 / 59

Notion of Code Family


A LDPC code family is dened by ((x), (x), N)
for characterization, proofs, theoretical studies

A xed LDPC code is dened by ((x), (x), N, , {hij })


for practical application

(x) =

4 3 2 8 3 9 8 x+ x + x + x 24 24 24 24

(x) = x 5

D. Declercq (ETIS - UMR8051)

10 / 59

Outline

Introduction

Belief Propagation on a General Graph

Binary Belief Propagation Decoder

Non-Binary Belief Propagation Decoding

D. Declercq (ETIS - UMR8051)

11 / 59

Concept of Iterative Decoder on Graph


From Local Computation to Global Optimization

The general concept of LDPC decoders is based on message passing between nodes in the Tanner graph of the code, so that iterative updates of the messages lead to a stable state of the messages: convergence to a xed point. Messages represent probability density functions of the random variables. For a discrete random variable in a set of q elements:
q1 X i=0

(0) = Prob (xn = 0|.) . . . (q 1) = Prob (xn = q 1|.)

(k) = 1

The decoding result is the a posteriori probability of one random variable xn : Prob (xn |y0 , y1 , . . . , yN1 ) a particular scheduling of the computation of the messages denes a decoding iteration.

D. Declercq (ETIS - UMR8051)

12 / 59

Terminology and some History


Belief Propagation: BP

Articial Intelligence Statistical learning : Pearls Belief Propagation (1981-86) Neural Networks : sum-product algorithm () (1985-86)

Information Theory Gallager iterative decoders for LDPC (1963), Viterbi (1967), BCJR (1974): can be analysed as BP on Factor graphs,

Statistical Physics BP = Bethe approximation of the global free energy of complex systems (1935), Generalized BP = Kikuchi approximation of the free energy (1951)

D. Declercq (ETIS - UMR8051)

13 / 59

Example
Tanner graph (for PC codes) is a special case of Factor Graph
Let A(), B(), C(), D() be dependant random variables. Let A , B , C , D be their noisy observation.

B A A p(B|A,C,D) B

With Belief propagation on a tree, we get the a posteriori density : optimal solution.

D. Declercq (ETIS - UMR8051)

14 / 59

Notations for bi-partite graphs

x xn f
variable node
(x
f , f x )

F(.)

function node

: messages = p.d.f.

The graph is not oriented: messages needed in both directions. 2 types of nodes = 2 types of local updates: data node update and function node update

D. Declercq (ETIS - UMR8051)

15 / 59

Concept of Computational Tree


Expansion of the graph from a symbol/check node.

F1

F2

Nodes seen after 1 iteration

Nodes seen after 2 iterations

LLR

LLR

LLR

D. Declercq (ETIS - UMR8051)

16 / 59

Concept of Computational Tree


Past of the graph = set of nodes.

F1

F2

Nodes seen after 1 iteration

Nodes seen after 2 iterations

LLR

LLR

LLR

Past of F1:

S F1

Past of F2:

S F2

D. Declercq (ETIS - UMR8051)

17 / 59

Concept of Computational Tree


Independence assumption

Independent F1 F2

Nodes seen after 1 iteration

Nodes seen after 2 iterations

LLR

LLR

LLR

Past of F1:

S F1

Past of F2: Disjoint

S F2

D. Declercq (ETIS - UMR8051)

18 / 59

Variable Node Update: Bayesian Merging


bitnode/symbol updates for LDPC codes

F(.) f4 F(.)
2 3
x

x1 x1
x

F(.)

f3

f2

F(.)
4 Y i=2

1 f [k] x

if

x [k]

k = 0 . . . q 1

ASSUMPTION: input messages if x are independent ASSUMPTION: noisy symbol sets leading to if x are disjoint

Update equation is NOT normalized

D. Declercq (ETIS - UMR8051)

19 / 59

Function Node Update: Bayesian Marginalization


checknode updates for LDPC codes

F( x1 x2 x, x4 ) , , 3 x1
1 f x

x4

x4
f

x3

f 2 x f

x3 x2

1 x [k1 ] = f

X
k2 ,k3 ,k4

4 Y i ` F x1 = k1 , x2 = k2 , x3 = k3 , x4 = k4 x i=2

f [ki ]

k1 = 0 . . . q 1 are independent ASSUMPTION: input messages ASSUMPTION: noisy symbol sets leading to if x are disjoint if x

D. Declercq (ETIS - UMR8051)

20 / 59

Function Node Update: Bayesian Marginalization


Non-Binary Parity-check case in GF(q)

1 x [k1 ] = f

X
k2 ,k3 ,k4

4 ` Y i F x1 = k1 , x2 = k2 , x3 = k3 , x4 = k4 x i=2

f [ki ]

let k GF(q) = 0, 1, , 2 , . . . , q1 Parity-check case: the function node reduces to an indicator function: F x1 = 1 , x2 = 2 , x3 = 3 , x4 = 4 = 1 if 1 + 2 + 3 + 4 = 0 F x1 = 1 , x2 = 2 , x3 = 3 , x4 = 4 = 0 if 1 + 2 + 3 + 4 = 0

Parity-check case: results in one less sum dimension in the marginalization: X 1 x [1 ] = 2 f [2 ] 3 f [3 ] 4 f [1 + 2 + 3 ]. f x x x


2 ,3

D. Declercq (ETIS - UMR8051)

21 / 59

Scheduling and Denition of Iteration

This ordering of the messages is called ooding schedule One decoding iteration = APP

D. Declercq (ETIS - UMR8051)

22 / 59

Concept of Computational Tree (contd)


APP

Nodes seen after 1 iteration

Nodes seen after 2 iterations

LLR

LLR

LLR

Computational span of L iterations: in L iterations, a maximum of dv (dv 1)L1 (dc 1)L nodes are seen from the top of the tree. As a consequence, a usual assumption is that the BP decoder needs at least L = log(N) iterations to converge (to see all LLRs). As a consequence, the independence assumption for the BP decoder breaks after at most L = log(N) iterations.

D. Declercq (ETIS - UMR8051)

23 / 59

Concept of Computational Tree (contd)


Breaking the independance assumption

wrong APP wrong update

wrong update

Nodes seen after 1 iteration

Nodes seen after 2 iterations

LLR

LLR

LLR

a crucial parameter of the graph is its girth g, i.e. the size of the smallest closed path/cycle,

As a consequence, only g/4 decoding iterations correspond to an exact inference !!!

D. Declercq (ETIS - UMR8051)

24 / 59

Alternate Scheduling of messages (1)


Layered BP or Shufed Scheduling

D. Declercq (ETIS - UMR8051)

25 / 59

Alternate Scheduling of messages (2)


Layered BP or Shufed Scheduling

D. Declercq (ETIS - UMR8051)

26 / 59

Alternate Scheduling of messages (3)


Layered BP or Shufed Scheduling

D. Declercq (ETIS - UMR8051)

27 / 59

Alternate Scheduling of messages (4)


Layered BP or Shufed Scheduling

Advantage: for bitnodes with degree dv 3 Messages are computed several times during ONE iteration Faster convergence.

D. Declercq (ETIS - UMR8051)

28 / 59

Outline

Introduction

Belief Propagation on a General Graph

Binary Belief Propagation Decoder

Non-Binary Belief Propagation Decoding

D. Declercq (ETIS - UMR8051)

29 / 59

Binary Belief Propagation Algorithm in the Log-Domain


denition of messages in the log-domain
[0] k f x k [1] f x [0] k x f k [1] x f

uk = log

vk = log

message update through the 2 types of nodes


U0 (LLR) C Uk Vm

vm = u0 +

dv X k =1,k=m

uk

tanh

uk = 2

dc Y m=1;m=k

tanh

vm 2

Vm

Uk

D. Declercq (ETIS - UMR8051)

30 / 59

From the Probability-Domain to the Log-Domain (1)


Bitnode Update

dv f [k] = x

dY v 1 i=1

if

x [k]

k = 0, 1

Let us consider a dv = 3 bitnode with v3 as output message:

v3

= = =

log log

3 f [0] x 3 f [1] x 0 [0] 1 x [0] 1 x [0] f f

0 [1] 1 x [1] 1 x [1] f f u0 + u1 + u2

D. Declercq (ETIS - UMR8051)

31 / 59

From the Probability-Domain to the Log-Domain (2)


Checknode Update

dc x [dc ] f

X
1 ,...,dc 1

dY c 1 i=1

ix f [i ]

! X
k

k = 0

k = 0, 1

Let us consider a dc = 3 bitnode with u3 as output message: 3 x [0] f 3 x [1] f = = 1 f [0]2 f [0] + 1 f [1]2 f [1] x x x x 1 f [0]2 f [1] + 1 f [1]2 f [0] x x x x

D. Declercq (ETIS - UMR8051)

32 / 59

From the Probability-Domain to the Log-Domain (3)


Checknode Update Intermediate step: decoding in the Fourier Domain

Now compute the factorization of the sum ... (3 x [0] + 3 x [1]) f f = (1 f [0] + 1 f [1]) (2 f [0] + 2 f [1]) x x x x

... and the factorization of the difference (3 x [0] 3 x [1]) f f = (1 f [0] 1 f [1]) (2 f [0] 2 f [1]) x x x x

"

we can write in vector form: #" # " 1 1 3 x [0] 1 f = 1 1 3 x [1] 1 f

1 1

#"

1 f [0] x 1 f [1] x

#!

"

1 1

1 1

#"

2 f [0] x 2 f [1] x

#!

D. Declercq (ETIS - UMR8051)

33 / 59

From the Probability-Domain to the Log-Domain (4)


Checknode Update Intermediate step: decoding in the Fourier Domain

with the denitions of the Fourier Transforms F = 1 1 1 1 F 1 =


1 2

1 1

1 1

we obtain the checknode update in the Fourier Domain: " 3 x [0] f 3 x [1] f # = F 1 F " 1 f [0] x 1 f [1] x # F " 2 f [0] x 2 f [1] x #!

D. Declercq (ETIS - UMR8051)

34 / 59

From the Probability-Domain to the Log-Domain (5)


link between the probability domain and the log-domain 3 f [0] = x eu3 eu3 + 1 3 f [1] = x 1 e u3 + 1

From previous equations, we have: (3 x [0] 3 x [1]) = (1 f [0] 1 f [1]) (2 f [0] 2 f [1]) x x x x f f e u3 1 = e u3 + 1 eu3 /2 eu3 /2 = eu3 /2 + eu3 /2 tanh e v2 1 e v2 + 1 ! ! v1 /2 ev1 /2 e ev2 /2 ev2 /2 ev1 /2 + ev1 /2 ev2 /2 + ev2 /2 ev1 1 ev1 + 1

u3 v1 v2 = tanh tanh 2 2 2

D. Declercq (ETIS - UMR8051)

35 / 59

Final Step: Remove all Products

Lets compute the BP checknode update in the Log-Domain: |u3 | 2 |v1 | |v2 | + log tanh 2 2

log tanh

log tanh

The sign of the message is computed in a parallel stream: u3 sign tanh 2 sign (u3 ) = v1 v2 sign tanh sign tanh 2 2 sign (v1 ) sign (v2 )

D. Declercq (ETIS - UMR8051)

36 / 59

Binary Belief Propagation Algorithm in the Log-Domain


denition of messages in the log-domain
k [0] f x k [1] f x k [0] x f k [1] x f

uk = log

vk = log

message update through the 2 types of nodes


U0 (LLR) C Uk Vm

log tanh
dv X k =1,k =m

|uk | 2

dc X m=1;m=k dc Y m=1;m=k

log tanh

|vm | 2
Vm

Uk

vm = u0 +

uk

sign(uk ) =

sign(vm )

D. Declercq (ETIS - UMR8051)

37 / 59

From the Log-Domain BP to the Min-Sum decoder


From previous equations: 3 x [0] f 3 x [1] f = = 1 f [0]2 f [0] + 1 f [1]2 f [1] x x x x 1 f [0]2 f [1] + 1 f [1]2 f [0] x x x x

u3

= =

log log

3 x [0] f 3 x [1] f

= =

e v1 e v2 1 1 + v e v1 + 1 e v2 + 1 e 1 + 1 ev2 + 1 1 1 ev2 e v1 + v log ev1 + 1 ev2 + 1 e 1 + 1 e v2 + 1 ` ` log ev1 +v2 + 1 log ev1 + ev2 max (v1 + v2 , 0) max (v1 , v2 )

` where max (x, y) = log ex + ey denotes the Jacobian Logarithm.

D. Declercq (ETIS - UMR8051)

38 / 59

From the Log-Domain BP to the Min-Sum decoder

After some transformations: u3 = = max (v1 + v2 , 0) max (v1 , v2 ) max(v1 + v2 , 0) max(v1 , v2 ) + log sign(v1 ) sign(v2 ) min (|v1 | , |v2 |) + log 1 + e|v1 +v2 | 1 + e|v1 v2 | !

1 + e|v1 +v2 | 1 + e|v1 v2 |

The additionnal term log

1 + e|v1 +v2 | 1 + e|v1 v2 |

! can be replaced by a constant value.

noting that this term is negative when v1 and v2 have the same sign, and the term is positive when v1 and v2 have different signs, ...

D. Declercq (ETIS - UMR8051)

39 / 59

We nally get the Corrected Min-Sum decoder


1

Bitnode update: same as for BP


dv X k=1,k=m

vm = u0 +

uk

Checknode update: 0 uk = @
dc Y m=1;m=k

1 sign(vm )A . min |vm |


m=k

Compensation/Correction: uk = max(0, uk ) uk = min(0, uk + ) if uk > 0 if uk < 0

D. Declercq (ETIS - UMR8051)

40 / 59

Comments on the different Decoding Algorithms

Shufed Scheduling can be parallelized if the LDPC is properly designed increased throughput, Shufed Scheduling converges approximately 2 to 3 times faster than ooding schedule reduced latency,

Bit-ipping, Gal-A and Gal-B: easier to get theorems on theoretical performance, Min-Sum with proper offset correction approaches BP for regular or slightly irregular LDPC codes, In some particular cases, the Min-Sum decoder can surpass the BP decoder in the error oor region.

D. Declercq (ETIS - UMR8051)

41 / 59

Outline

Introduction

Belief Propagation on a General Graph

Binary Belief Propagation Decoder

Non-Binary Belief Propagation Decoding

D. Declercq (ETIS - UMR8051)

42 / 59

Belief Propagation in the Probability Domain


Check Node Equations: augmenting the Factor graph representation
Now the code is dened from Non Binary Parity Check equations
dc X j=1

hij .cj = 0

in GF (q)

with GF (q) = 0, 0 , 1 , . . . , q1

c1 c1
f
f

c2

c3
Permutation Nodes

c2

c3

p
x

h 1c1
p h1c1 + h2c2 + h3c 3
c

h 2c2
c
p

h 3c3

D. Declercq (ETIS - UMR8051)

43 / 59

Belief Propagation in the Probability Domain


Variable Node Equations

Now the code is dened from Non Binary Parity Check equations
dc X j=1

hij .cj = 0

in GF (q)

with GF (q) = 0, 0 , 1 , . . . , q1

Variable node Update is the Kronecker product of all incomming messages: dv p [k ] = v


dY v 1 i=1

ip v [k]

k = 0, . . . , q 1

Or in vector form:
1 dv p = 0 v . . . dv v v p p

D. Declercq (ETIS - UMR8051)

44 / 59

Explaining the Permutation Step


cyclic permutation / rotation

GF(q) is a cyclic Field, as such, multiplication by hij acts on the symbols as a cyclic permutation of the Field elements:

ip c [k ] = iv

p [k ]

k = hij k

k = 0, . . . , q 1

GF(8)
0 0 1 2 3 4 5 6

GF(8)
0 0= 1= 2= 3= 4= 5= 6= 2 5 2 6 2 0 2 1 2 2 2 3 2 4

Internal operation in GF(8)

ci

h ji . ci

D. Declercq (ETIS - UMR8051)

45 / 59

Belief Propagation in the Probability Domain


Check Node Equations
Now the code is dened from Non Binary Parity Check equations
dc X j=1

hij .cj = 0

in GF (q)

with GF (q) = 0, 0 , 1 , . . . , q1

Check node Update is still a Bayesian marginalization. Case of dc = 3 and GF(4):

h 1c1

h 2c2
c

h 3c3
c1 \ c2 0 1 2 3 0 0 1 2 3 1 1 0 3 2 2 2 3 0 1 3 3 2 1 0

c +

D. Declercq (ETIS - UMR8051)

46 / 59

Belief Propagation in the Probability Domain


Check Node Equations

h 1c1

h 2c2
c

h 3c3
c1 \ c2 0 1 2 3 0 0 1 2 3 1 1 0 3 2 2 2 3 0 1 3 3 2 1 0

c +

Check node Update is still a Bayesian marginalization. Case of dc = 3 and GF(4):


3 p [0] = 1 c [0]2 c [0] + 1 c [1]2 c [1] + 1 c [2]2 c [2] + 1 c [3]2 c [3] c p p p p p p p p 3 p [1] = 1 c [0]2 c [1] + 1 c [1]2 c [0] + 1 c [2]2 c [3] + 1 c [3]2 c [2] c p p p p p p p p 3 p [2] = 1 c [0]2 c [2] + 1 c [2]2 c [0] + 1 c [1]2 c [3] + 1 c [3]2 c [1] c p p p p p p p p 3 p [3] = 1 c [0]2 c [3] + 1 c [0]2 c [3] + 1 c [1]2 c [2] + 1 c [2]2 c [1] p p p p p p c p p

The number of terms in the above equations grows as q 2 .


D. Declercq (ETIS - UMR8051) 47 / 59

Belief Propagation in the Probability Domain


How to simplify the checknode update ?

h 1c1

h 2c2
c

h 3c3

c + Fourier ?

D. Declercq (ETIS - UMR8051)

48 / 59

Tensorial Notation of Messages


in case of binary extension elds GF(2p ), the symbols c GF(q) could be represented by a binary map, or a polynomial: c = [c1 , . . . , cp ] c(x) =
p X i=1

with with

{c1 , . . . , cp } {0, 1} {c1 , . . . , cp } {0, 1}

ci x i1

Let put the probability weights (c = k ) in a size-2, p-dimensional tensor indexed by binary values {c1 , . . . , cp }.
Prob(c(x)=0)

C=

Prob(c(x)=1) Prob(u(x)=x) Prob(c(x)=1+x)

C[0,0] C[1,0] = C[0,1] C[1,1]

C[i,j]=

D. Declercq (ETIS - UMR8051)

49 / 59

Tensorial Notation of Messages


a GF(8) example

Prob(c(x)=0) Prob(c(x)=1) Prob(c(x)=x) Prob(c(x)=x 2) Prob(c(x)=1+x) Prob(c(x)=x+x 2) Prob(c(x)=1+x+x 2) Prob(c(x)=1+x 2)

C=

C[0,0,0] C[1,0,0] C[0,1,0] C[0,0,1] = C[1,1,0] C[0,1,1] C[1,1,1] C[1,0,1]

C[i,j,k]=

D. Declercq (ETIS - UMR8051)

50 / 59

Tensorial Notation of Messages


a GF(8) example

Prob(c(x)=0) Prob(c(x)=1) Prob(c(x)=x) Prob(c(x)=x 2) Prob(c(x)=1+x) Prob(c(x)=x+x 2) Prob(c(x)=1+x+x 2) Prob(c(x)=1+x 2)

C=

C[0,0,0] C[1,0,0] C[0,1,0] C[0,0,1] = C[1,1,0] C[0,1,1] C[1,1,1] C[1,0,1]

C[i,j,k]=

D. Declercq (ETIS - UMR8051)

51 / 59

Tensorial Notation of Messages


a GF(8) example

Prob(c(x)=0) Prob(c(x)=1) Prob(c(x)=x) Prob(c(x)=x 2) Prob(c(x)=1+x) Prob(c(x)=x+x 2) Prob(c(x)=1+x+x 2) Prob(c(x)=1+x 2)

C=

C[0,0,0] C[1,0,0] C[0,1,0] C[0,0,1] = C[1,1,0] C[0,1,1] C[1,1,1] C[1,0,1]

C[i,j,k]=

D. Declercq (ETIS - UMR8051)

52 / 59

Tensorial Notation of Messages


a GF(8) example

Prob(c(x)=0) Prob(c(x)=1) Prob(c(x)=x) Prob(c(x)=x 2) Prob(c(x)=1+x) Prob(c(x)=x+x 2) Prob(c(x)=1+x+x 2) Prob(c(x)=1+x 2)

C=

C[0,0,0] C[1,0,0] C[0,1,0] C[0,0,1] = C[1,1,0] C[0,1,1] C[1,1,1] C[1,0,1]

C[i,j,k]=

D. Declercq (ETIS - UMR8051)

53 / 59

Fast Fourier Transform applied to Tensors


Expression of the Fourier Transform C = F (C) = C 1 F 2 F . . . p F

F =

1 1

1 1

where k denotes the tensor product in the k-th dimension of the tensor C(i1 , . . . , ip ).

in the k-th dimension, (i1 , . . . , ik 1 , ik+1 , . . . , ip ) {0, 1}p1


C (i1 , . . . , ik 1 , 0, ik +1 , . . . , ip ) = C(i1 , . . . , ik1 , 0, ik +1 , . . . , ip ) + C(i1 , . . . , ik 1 , 1, ik +1 , . . . , ip ) C (i1 , . . . , ik 1 , 1, ik +1 , . . . , ip ) = C(i1 , . . . , ik1 , 0, ik +1 , . . . , ip ) C(i1 , . . . , ik 1 , 1, ik +1 , . . . , ip )

for the Fourier Transform in one dimension, we perform 2p = q operations, the total number of operations for F (.) is then p 2p = q log(q) operations: Fast Fourier Transform

D. Declercq (ETIS - UMR8051)

54 / 59

Illustration of the FFT in multiple dimensions

1 1 1 1 1

1 1

GF(8) : 3 dimensions
1 1 1 1

1 1 GF(4) : 2 dimensions 1
1

1 1

1 1

D. Declercq (ETIS - UMR8051)

55 / 59

Belief Propagation Decoding Steps in the Fourier Domain


product Information Symbols

Vpv Vcp

U vp U pc

permutation Permutation Nodes

Interleaver

Fourier Tranform

F
Fourier

Product Node product

D. Declercq (ETIS - UMR8051)

56 / 59

Belief Propagation in the Log-Domain (1)


recursive use of the max operator.

Quantization impacts on the performance are very strong in the Probability Domain

u(k) = log

c p [k] c p [0]

k = 0, . . . , q 1

v (k) = log

p c [k] p c [0]

k = 0, . . . , q 1

Case of dc = 3 and GF(4):


3 p [0] = 1 c [0]2 c [0] + 1 c [1]2 c [1] + 1 c [2]2 c [2] + 1 c [3]2 c [3] c p p p p p p p p 3 p [1] = 1 c [0]2 c [1] + 1 c [1]2 c [0] + 1 c [2]2 c [3] + 1 c [3]2 c [2] c p p p p p p p p 3 p [2] = 1 c [0]2 c [2] + 1 c [2]2 c [0] + 1 c [1]2 c [3] + 1 c [3]2 c [1] c p p p p p p p p 3 p [3] = 1 c [0]2 c [3] + 1 c [0]2 c [3] + 1 c [1]2 c [2] + 1 c [2]2 c [1] c p p p p p p p p

D. Declercq (ETIS - UMR8051)

57 / 59

Belief Propagation in the Log-Domain (2)


Limitations

After some manipulations: u3 (1) u3 (2) u3 (3) K = = = = max (v1 (1) , v2 (1) , v1 (2) + v2 (3) , v1 (3) + v2 (2)) K max (v1 (2) , v2 (2) , v1 (1) + v2 (3) , v1 (3) + v2 (1)) K max (v1 (3) , v2 (3) , v1 (1) + v2 (1) , v1 (2) + v2 (1)) K max (0 , v1 (1) + v2 (1) , v1 (2) + v2 (2) , v1 (3) + v2 (3))

The number of max operators grows in O(q 2 ), Its a recursive implementation: approximations (e.g. use of max instead of max , small LUT) become rapidly catastrophic, Log-Domain implementation and the FFT complexity reduction O(q 2 ) O(q log(q)) are not compliant.

D. Declercq (ETIS - UMR8051)

58 / 59

Conclusion on Non-Binary Belief Propagation Decoding


The bottleneck of the decoder complexity is the check node update

Belief Propagation in the Time/Probability-Domain,


[Davey,1998] M. DAVEY AND D.J.C. M ACKAY, L OW DENSITY PARITY CHECK CODES OVER GF( Q ), IEEE communication letter, VOL . 2, PP 165167, J UNE 1998

Belief Propagation in the Time/Log-Domain (limits to GF(16)),


[Wymeersch,2004] H. W YMEERSCH , H. S TEENDAM AND M. M OENECLAEY, L OG DOMAIN DECODING OF LDPC CODES
OVER

GF (q), Proceedings of IEEE ICC, PARIS , F RANCE , J UNE 2004.

Belief Propagation in the Frequency/Probability Domain,


[Davey,1998] M. DAVEY AND D.J.C. M ACKAY, L OW DENSITY PARITY CHECK CODES OVER GF( Q ), IEEE communication letter, VOL . 2, PP 165167, J UNE 1998 [Barnault,2003] L. B ARNAULT AND D. D ECLERCQ , F AST DECODING ALGORITHM FOR LDPC CODES OVER GF (2q ), Proceedings of IEEE Information theory workshop, PARIS , F RANCE , M ARCH , 2003.

Belief Propagation in the Frequency/Log-Domain (partially - limits to GF(16)),


[Song,2003] H. S ONG AND J.R. C RUZ , R EDUCED -C OMPLEXITY D ECODING OF Q- ARY LDPC C ODES FOR M AGNETIC R ECORDING , IEEE Transactions on Magnetics, VOL . 39(2), M ARCH 2003

D. Declercq (ETIS - UMR8051)

59 / 59

You might also like