Iterative Receiver Design

We will consider the two most important types of turbo codes: parallel concatenation of convolutional codes (PCCC) and serial concatenation of convolutional codes (SCCC). The former were the original turbo codes, as described by Berrou et al. in 1993 [3]. The latter were introduced a few years later by Benedetto et al. [89]. As the names suggest, turbo codes consist of the concatenation of two convolutional encoders, separated by an interleaver.
In PCCC, we encode our information sequence b using a ( N in = 1, N out = 2) systematic convolutional encoder ( CC (A)). This leads to a codeword
. We will write the coded bits in a funny way,
such that d k = b k for k = 1, , N b (since the code is systematic). The last 2 L (A) bits correspond to the termination. As always, puncturing these last 2 L (A) bits leads to an unterminated code. We then interleave the information bits, e = ?( d) = ?( b), and encode this interleaved sequence using a ( N in = 1, N out = 2) systematic convolutional encoder, leading to
. We will write the coded bits as follows:
Since the code is systematic, we know that c 3 k ?2 = e k = b ?( k), for