Iterative Receiver Design

Repeat accumulate (RA) codes are a very simple but powerful type of error-correcting code. An RA codeword is created as follows: every bit in b is copied N c/ N b times, [1] resulting in a sequence d of length N c. This sequence is passed to an interleaver, which essentially shuffles the bits around so that they look more random. We will denote the interleaver function by ?( ) and set e = ?( d). Finally, the coded sequence c is passed through an accumulator:
It is easily verified that we can express the relationship between b and c in a generator-matrix representation as
where G rep is an N c N b repeater matrix with N c/ N b consecutive 1s per column and one 1 per row, the matrix G ? is an N c N c interleaver matrix (more commonly referred to as a permutation matrix), with exactly one 1 per row and per column, and G acc is an N c N c accumulator matrix. An accumulator matrix is defined as follows: introduce 1 k as a row-vector of k 1s, and 0 k as a row-vector of k 0s, then the kth row (1 ? k ? N c) is given by
.