Iterative Receiver Design

Before we delve into specific types of error-correcting codes, let us first review some basic terminology, show how codes can be related to factor graphs, and introduce the concept of puncturing.
We will limit ourselves to binary codes, where the components of b and c belong to
. The binary field
contains two elements, commonly denoted 0 and 1. The field is endowed with two operators: addition (+) and multiplication ( ), defined in Table 8.1. Multiplication is distributive over addition.
| b 1 | b 2 | b 1 + b 2 | b 1 b 2 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
A code is defined as a set of codewords
, and the field of coding theory is mainly concerned with searching and analyzing these sets.For practical purposes, we also need a function that maps an information word b onto a codeword c ?
: c = f c ( b). This is a process known as encoding. The encoding process is reversible, so, for every codeword c ?
, we can write
for some
.
An ( N c, N b) block code is a set
of
distinct elements, with N