Académique Documents
Professionnel Documents
Culture Documents
Decoding at Destination
Jaweria Amjad
I. I NTRODUCTION
Decoding at destination consists of two stages.
Recovering quantization indices W by running SPA over IRA code graph.
Using these indices and channel information Yd2 to recover message m
A. LLRs for IRA Code
Yd1 can be thought of as an output of a virtual correlation channel that has systematic bits as inputs, thus it can
be used to calculate the channel Log-Likelihood Ratios (LLR) for the systematic bits.
Since we are using a 4-PAM constellation for our frame-work. We shall have two codes.
1) IRA0 :
0
= log
Lch
s
= log P
k=
w{0,1} (w+kM )q
R (w+1+kM )q
w{2,3} (w+kM )q
(1)
0
Lch
s
= log
= log
R (4k+2)q
R (4k+5)q
(4k+1)q
(4k+4)q
(2)
We have two types of parity bit nodes. LLRs for them can be evaluated as follows:
= log
P (Xr0 [i] = Pr0 | yd2 [i], Lxr1 [i])
P
P
Lxr1 [i] f (y [i] c
rd0 crd1 csd2 ) + xs2 fg (yd2 [i] crd0 + crd1 csd2 )
g d2
xs2 e
= log P
P
Lxr1 [i] f (y [i] + c
rd0 crd1 csd2 ) + xs2 fg (yd2 [i] + crd0 + crd1 csd2 )
g d2
xs2 e
Lp2 = log
P (Xr1 [i] = Pr1 | yd2 [i], Lxr0 [i])
P
P
Lxr0 [i] f (y [i] c
rd1 crd0 csd2 ) + xs2 fg (yd2 [i] crd1 + crd0 csd2 )
g d2
xs2 e
= log P
P
Lxr0 [i] f (y [i] + c
rd1 crd1 csd2 ) + xs2 fg (yd2 [i] + crd1 + crd0 csd2 )
g d2
xs2 e
with crd1 = crd Pr1 , crd0 = crd Pr0 , csd2 = csd Ps2
2) IRA1 :
0
Lch
p1
1
Lch
= log
s
We know that :
(3)
(4)
(5)
w0
=
=
(6)
P (w0 | yd1 )
1
= log P
Lch
s
P (w0 [i] = 0)P (W1 [i] = 0, w0 [i] = 0 | yd1 [i]) + P (w0 [i] = 1)P (W1 [i] = 0, w0 [i] = 1 | yd1 [i])
P (w0 [i] = 0)P (W1 [i] = 1, w0 [i] = 0 | yd1 [i]) + P (w0 [i] = 1)P (W1 [i] = 1, w0 [i] = 1 | yd1 [i])
eLw0 [i] P (W1 [i] = 0, w0 [i] = 0 | yd1 [i]) + P (W1 [i] = 0, w0 [i] = 1 | yd1 [i])
= log L [i]
e w0 P (W1 [i] = 1, w0 [i] = 0 | yd1 [i]) + P (W1 [i] = 1, w0 [i] = 1 | yd1 [i])
= log
For M = 4
R
Lw0 [i] (4k+1)q
k= e
4kq
R (4k+2)q
P
L
[i]
w0
k= e
(4k+1)q
P
1
= log
Lch
s
R (4k+3)q
R (4k+5)q
(4k+2)q
(4k+4)q
For the parity bit nodes, the LLRs can be calculated using (3),(4).
B. LLRs for LDPC Codes
Let us first derive the LLRs for a BPSK modulation. For type-2 bit nodes, they can be evaluated as:
L2ch [i]
= log
P (Xs2 [i] = Ps2 | yd2 [i], Lxr [i])
p(xr = crd )fg (yd2 [i] csd2 crd ) + p(xr =
crd )fg (yd2 [i] csd2 + crd )
= log
p(xr = crd )fg (yd2 [i] + csd2 crd ) + p(xr =
crd )fg (yd2 [i] + csd2 + crd )
L
xr
e fg (yd2 [i] csd2 crd ) + fg (yd2 [i] csd2 + crd )
= log Lx
e r fg (yd2 [i] + csd2 crd ) + fg (yd2 [i] + csd2 + crd )
= log
P (Xs1 [i] = Ps1 | yd1 [i], Lw [i])
P
w P (w)P (Xs1 [i] = +Ps1 | yd1 [i], w[i])
= log P
w P (w)P (Xs1 [i] = Ps1 | yd1 [i], w[i])
P P (w)P (Xs1 [i]=+Ps1 ,w[i]|yd1 [i])
w
P (w[i]|yd1 [i])
= log P
P
w P (w)P (Xs1 [i] = +Ps1 , w[i] | yd1 [i])
= log P
w P (w)P (Xs1 [i] = Ps1 , w[i] | yd1 [i])
(7)
P
w P (w)P (Xs1 [i] = +Ps1
= log P
P (w)P (Xs1 [i] = Ps1
Pw
w P (w)P (Xs1 [i] = +Ps1
= log P
w P (w)P (Xs1 [i] = Ps1
(8)
(9)
eLw (1 ) +
eLw + (1 )
1) LDP C0 : There wil be two types of bit nodes and their LLRs will be calculated accordingly:
q
(0)
(0)
P (Xs2 [i] = Ps2 | yd2 [i], Lxr0 , Lxr1 )
2
q
Lch0 [i] = log
(0)
(0)
P (Xs2 [i] = Ps2 | yd2 [i], Lxr0 , Lxr1 )
p(xr [i] = crd0 , crd1 ) + + p(xr0 [i] = crd0 , crd1 ) + + p(xr0 [i] = crd0 , crd1 ) + + p(xr [i] = crd0 , crd1 ) +
p(xr [i] = crd0 , crd1 ) + p(xr0 [i] = crd0 , crd1 ) + p(xr0 [i] = crd0 , crd1 ) + p(xr [i] = crd0 , crd1 )
eLxr0 [i] eLxr1 [i] + + eLxr1 [i] + + eLxr0 [i] + + +
= log L [i] L [i]
(10)
e xr0 e xr1 + eLxr1 [i] + eLxr0 [i] +
= log
with
(0)
(1)
(0)
(1)
(0)
(1)
(0)
(1)
(0)
(1)
(0)
(1)
(0)
(1)
(0)
(1)
= fg (yd2 [i] csd2 csd2 crd0 crd1 ) + fg (yd2 [i] csd2 + csd2 crd0 crd1 )
= fg (yd2 [i] csd2 csd2 + crd0 crd1 ) + fg (yd2 [i] csd2 + csd2 + crd0 crd1 )
= fg (yd2 [i] csd2 csd2 crd0 + crd1 ) + fg (yd2 [i] csd2 + csd2 crd0 + crd1 )
= fg (yd2 [i] csd2 csd2 + crd0 + crd1 ) + fg (yd2 [i] csd2 + csd2 + crd0 + crd1 )
q
(0)
= + Ps1 | yd1 [i], Lw [i])
q
L1ch0 [i] = log
(0)
(0)
P (Xs1 [i] = Ps1 | yd1 [i], Lw [i])
q
P
(1)
(1)
(0)
(0)
(1)
(1)
xs1 P (xs1 [i] = csd1 )P (Xs1 [i] = + Ps1 | yd1 [i], xs1 [i])
q
= log
P
(1)
(1)
(0)
(0)
(1)
(1)
xs1 P (xs1 [i] = csd1 )P (Xs1 [i] = Ps1 | yd1 [i], xs1 [i])
(0) (1)
(1)
(1)
(0)
P
P (xs1 [i]=csd1 )P (Xs1 [i]=+ Ps1 ,xs1 [i]|yd1 [i])
(0)
P (Xs1 [i]
(1)
(1)
xs1
= log P
(1)
s1
(1)
(0)
(0)
(1)
(11)
(1)
P (xs1 [i]
(1)
xs1
= log
(1)
(0)
csd1 )P (Xs1 [i]
q
=+
(0)
(1)
q
(0) (1)
(1)
=
= Ps1 , xs1 [i] | yd1 [i])
xs1
q
P P
(0) (1)
(1)
(0)
(1)
w
xs1 P (w[i])P (xs1 [i])P (Xs1 [i] = + Ps1 , xs1 [i] | yd1 [i], w[i])
q
= log
P P
(1)
(0)
(0) (1)
(1)
w
xs1 P (w[i])P (xs1 [i])P (Xs1 [i] = Ps1 , xs1 [i] | yd1 [i], w[i])
(0) (1)
P
(1)
(0)
Ps1 ,xs1 [i],w[i]|yd1 [i])
(1) P (w[i])P (xs1 [i])P (Xs1 [i]=+
P
x
s1
(1)
P (xs1 [i]
(1)
(0)
csd1 )P (Xs1 [i]
= log
P (w[i]|yd1 [i])
(1)
P
x
(1)
s1
(0)
(0)
(1)
P (w[i]|yd1 [i])
q
(0) (1)
(1)
= + Ps1 , xs1 [i], w[i] | yd1 [i])
w
xs1
q
= log
P P
(0) (1)
(1)
(0)
(1)
w
x P (w[i])P (xs1 [i])P (Xs1 [i] = Ps1 , xs1 [i], w[i] | yd1 [i])
(1)
(0)
P (w[i])P (xs1 [i])P (Xs1 [i]
P P
s1
(1)
(0)
P (w[i])P (xs1 [i])P (Xs1 [i]
s1
= log
fg (yd1
fg (yd1 +
(0)
csd1
(0)
csd1
X
(0)
(0)
(0)
(0)
(0)
(0)
eLw0 eLw1
(4k+1)q
4kq
k=
Lw1
(0)
(0)
(4k+3)q
fg (yr [i]
+e
(4k+2)q
(0)
csd1
(0)
csd1 )
(4k+2)q
(4k+1)q
(4k+4)q
fg (yr [i]
+
(4k+3)q
(0)
(0)
(12)
(0)
csd1
(0)
csd1 )
2) LDP C1 : There wil be two types of bit nodes and their LLRs will be calculated accordingly:
q
(1)
(1)
P
(X
[i]
=
Ps2 | yd2 [i], Lxr0 , Lxr1 , Lx0s2 )
s2
2
q
Lch1 = log
(1)
(1)
P (Xs2 [i] = Ps2 | yd2 [i], Lxr0 , Lxr1 , Lx0s2 )
L (0) [i]
Lxr1 [i] + + eLxr0 [i] + + + + eLxr0 [i] eLxr1 [i] + + eLxr1 [i] + + eLxr0 [i] + + +
e xs2 eLxr0 [i] eLxr1 [i] +
++e
+
+
+
= log L [i]
(0)
Lx [i]
Lx [i]
Lx [i] Lx [i]
Lx [i]
Lx [i]
e xs2 eLxr0 [i] eLxr1 [i]
+ + e r1 + + e r0 + + + + e r0 e r1 + e r1 + e r0 +
with
(0)
(1)
(0)
(0)
(0)
(0)
(0)
(0)
(13)
L2ch1
= log
Lx(0)
Lx(0)
sd1
sd1
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(14)