Cryptography Reference
In-Depth Information
(1)
(2)
(1)
d
d
i
d
i
i
c
c
(2)
d
i
(m)
d
(m)
d
i
c
aa
(1)
(2)
a
(m)
aa
(1)
(2)
a
(m)
aa
(1)
(2)
a
(m)
1
1
1
2
2
2
D
D
D
(1)
(2)
s
i
()
s
i
s
i
b
b
2
b
g
g
g
(1)
1
(1)
2
(1)
(1)
r
i
g
(1)
0
g
(2)
1
g
(2)
2
g
(2)
(2)
r
i
g
(2)
0
g
(n)
(n)
g
g
(n)
r
(
n
1
2
g
(n)
0
Figure 5.4 - Generic representation of an encoder for convolutional codes.
to simplify the writing, we will call it an
m-binary
and
double-binary
code if
m
=2
(as in the example presented in Figure 5.5). When
c
=1
, the code gen-
erated is systematic, since
d
i
is transmitted at the output of the encoder. The
code is thus made up of the systematic part
d
i
on
m
bits and the redundancy
r
i
on
n
bits. The coding rate is then
R
=
m/
(
m
+
n
)
.If
c
=0
, the code is
non-systematic and the rate becomes
R
=
m/n
.
The non-systematic part is constructed with the help of a shift register made
up of
ν
flip-flops and of binary adders, in other words, of
XOR
gates. We then
define an important characteristic of convolutional codes: the
constraint length
,
here equal to
ν
+1
(some authors denote it
ν
, which implies that the register is
then made up of
ν
1
flip-flops). The register at instant
i
is characterized by the
ν
bits
s
(1
i
,s
(2
i
,...,s
i
memorized: they define its
state
, that we can thus code
on
ν
bits and represent in the form of a vector
s
i
=(
s
(1)
−
,s
(2)
i
,s
i
)
.This
type of convolutional encoder thus has
2
ν
possible state values, that we often
denote in natural binary or binary decimal form. Thus the state of an encoder
made up of three flip-flops can take
2
3
=8
values. If
s
1
=1
,
s
2
=1
and
s
3
=0
,
the encoder is in state 110 in natural binary, that is, 6 in decimal.
,
···
i