06.06.2022 Views

B. P. Lathi, Zhi Ding - Modern Digital and Analog Communication Systems-Oxford University Press (2009)

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

14. 12 Low-Density Parity Check (LDPC) Codes 859

Note that the probability of P [zi = O !v1 = u, {ve : .C E <r ;, C i= j}] is either O or 1; that is, the

check node z; = 0 either succeeds or fails. The relationship Eq. (14.76) allows R;j(u) to be

updated when the ith check node receives Q;.e (ve).

Once R;j(u) have been updated, they can be passed to the variable nodes in the bottom-up

direction to update Qi,e(x). Again using Bayes' theorem (Sec. 8.1), we have

Q;,e(x) =

P [ve = x] P [ {Z m = 0 : m E /Le , m i= i}l ve = x]

P[{z m

= O : mEJLe ,mi=z}J

(14.77)

Once again assuming that each parity check is independent, we then write

P [ {Z m = 0 : m E /Le , mi= n l ve = x] =

TT R m,e(x)

mE/1, t

, m-/i

(14.78)

Now define the prior variable bit probability aspe (x) = P(ve = x). Let au be the normalization

factor such that Q;,e(l) + Qi.£ (0) = 1. We can update Qi,e(x) at the variable nodes based on

Eq. (14.76):

Q;,e(x) = au · Pe(x) TT R m,e(x) (14.79)

mEJL e

, m-li

This message will then be passed back in the top-down direction to the check nodes.

Figure 14.24 illustrates the basic operation of message passing in the bottom-up and the

top-down directions in the sum-product algorithm. The SPA can be summarized as follows.

Initialization: Let m = 0 and let m max be the maximum number of iterations. For every

h;,e = 1 in H, use prior probabilities to set

Step 1: Let the check node i update its information

Rjjl (l) = I: P [z; = O lv i

= 1, {ve }] . TT Qf7l (ve). (14.80a)

ve :fE<T;,£-1}

fE<T ;, f#}

R ( l) (O) =

ve :tE<T;,£-1}

lJ I: P [z; = O !v1 = 0, {ve }] . TT Q}7l (ve) (14.80b)

CE<r ;, E-/}

Fi g ure 14.24

Message passing

in the

sum-product

algorithm.

Variable nodes

Check nodes

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!