Iterative Receiver Design

In this chapter we have focused on opening the node representing the function p( C B,
) and describing the SPA on the resulting factor graph, assuming that messages from the C k-edges and the B k-edges are available. We covered four types of error-correcting codes.
RA codes: the factor graph consists of equality nodes and check nodes of degree three, as well as an interleaver. The graph contains cycles, so the SPA is iterative.
LDPC codes: these codes are based on sparse parity-check matrices. The factor graph consists again of equality nodes and check nodes. The graph contains cycles, so the SPA is iterative.
Convolutional codes: these codes are based on state-space models. The factor graph is a variation of those presented in Chapter 6. The SPA is not iterative. When the factor graph of the factorization of p( B, Y = y
) contains no cycles, we can apply the max sum algorithm (the Viterbi algorithm) to log p( B, Y = y
) to obtain the most likely sequence.
Turbo codes: by concatenating two convolutional encoders separated by an interleaver we obtain a turbo code. The factor graph consists of linking together the two factor graphs of the convolutional codes. This creates cycles, resulting in an iterative SPA. We covered PCCC and SCCC turbo codes.
The decoder requires messages
,
and
,
. The messages
are...