Cryptography Reference
In-Depth Information
This other expression of operator
⊕
can easily be processed by using a look-up
table for function
g
defined by:
g
(
x
)=ln(1+exp(
−|
x
|
))
(9.10)
Practical example
Let us assume that Pr
(
c
1
=1)=0
.
8
and Pr
(
c
2
=1)=0
.
1
.Wethenhave,
Pr
(
c
1
=0)=0
.
2
et
Pr
(
c
2
=0)=0
.
9
It is therefore more probable that
c
1
=1
and
c
2
=0
. A direct application of
Equation (9.2) then gives
Pr
(
c
3
=0)=0
.
26
and Pr
(
c
3
=1)=0
.
74
c
3
is therefore more probably equal to 1, which intuitively is justified since
the number of 1s belonging to the parity check equation must be even. Using
Equation (9.3) gives
L
(
c
3
)=
L
(
c
1
)
⊕
L
(
c
2
)=(
−
1
.
386)
⊕
(2
.
197) =
−
1
.
045
that is, Pr
(
c
3
=0)=0
.
26
again. We find the same result again using (9.7) and
(9.9).
Parity check code with
n
bits
We can now proceed to the parity check equation with
n
bits. We consider that
the binary variables
c
1
,
···
,c
n
are linked by the parity constraint
c
1
⊕···⊕
c
n
=0
and that they make up the codeword
(
c
1
,
···
,c
n
)
. The LLR of the variables
{
c
j
}
j
=1
..n,j
=
i
is assumed to be known and we search for the LLR of variable
c
i
.
It is then simple to generalize the equations obtained for the parity code with 3
bits. Thus, taking the operator defined by (9.2) again:
L
(
c
n
)=
j
=
i
L
(
c
i
)=
L
(
c
1
)
⊕
L
(
c
2
)
⊕···⊕
L
(
c
j
=
i
)
⊕···⊕
L
(
c
j
)
(9.11)
Similarly, the hyperbolic tangent rule is expressed by:
tanh
L
(
c
i
)
2
=
j
tanh
L
(
c
j
)
2
(9.12)
=
i
or, separating the sign and the magnitude:
sgn
(
L
(
c
i
)) =
j
=
i
sgn
(
L
(
c
j
))
(9.13)
=
f
−
1
⎛
⎞
⎝
j
=
i
⎠
|
L
(
c
i
)
|
f
(
|
L
(
c
j
)
|
)
(9.14)
where
f
is defined by Equation (9.8).