Cryptography Reference
In-Depth Information
As the permutation function ( Π ) concerns a message of finite size k ,theturbo
code is by construction a block code. However, to distinguish it from concate-
nated algebraic codes decoded in a "turbo" way, like product codes which were
later called block turbo codes , this turbo coding scheme is called a convolutional
code or, more technically, a Parallel Concatenated Convolutional Code (PCCC).
Arguments in favour of this coding scheme (some of which have already been
introduced in Chapter 6) are the following:
1. A decoder for convolutional codes is vulnerable to errors arriving in pack-
ets. Coding the message twice, following two different orders (before and
after permutation), makes fairly improbable the simultaneous appearance
of error packets at the input of the decoders of C 1 and C 2 .Ifthereare
errors grouped at the input of the decoder of C 1 , the permutation dis-
perses them over time and they become isolated errors that are easy for
the decoder of C 2 to correct. This reasoning also holds for error packets at
the input of this second decoder, which correspond, before permutation,
to isolated errors. Thus two-dimensional coding, on at least one of the
two dimensions, greatly reduces the vulnerability of convolutional coding
concerning grouped perturbations. But which of the two decoders should
be relied on to take the final decision? No criterion allows us to be more
confident about one or the other. The answer is given by the "turbo" algo-
rithm that avoids having to make this choice. This algorithm implements
exchanges of probabilities between the two decoders and constrains them
to converge, during these exchanges, towards the same decisions.
2. As we saw in Section 6.1, parallel concatenation leads to a higher coding
rate than that of serial concatenation. Parallel concatenation is therefore
more favourable when signal to noise ratios close to the theoretical limits
are considered, with average error rates targeted. It can be different when
very low error rate are sought for since the MHD of a serial concatenated
code can be larger.
3. Parallel concatenation uses systematic codes and at least one of these codes
must be recursive, for reasons also described in Section 6.1
4. Elementary codes are small codes: codes with 16, 8, or even 4 states. Even
if the decoding implements repeated probabilistic processing, it remains of
reasonable complexity.
Figure 7.4 presents turbo codes used in practice and Table 7.2 lists some
industrial applications. For a detailed overview of the applications of turbo and
LDPC codes see [7.29]. The parameters defining a particular turbo code are the
following:
a- m is the number of bits in the symbols applied to the turbo encoder. The
applications known to this day consider binary ( m =1 ) or double-binary
( m =2 ) symbols.
Search WWH ::




Custom Search