Iterative Receiver Design

In the previous chapters, we invariably ended up with a model y = h( a) + n, where h( ) was a known function (often in the form of a matrix H). The function h( ) depends on the physical channel ( h ch( t)) as well as on any processing done in the receiver. Since the physical channel may vary in time, the receiver needs to estimate the channel. Furthermore, transmission may be of a bursty nature, so that, for every incoming burst, the receiver has to lock on to the signal. This requires synchronization in terms of timing, carrier phase, and carrier frequency.
During the past few decades a wide variety of channel estimation and synchronization algorithms has been developed for just about any digital transmission scheme imaginable. They usually exploit statistical properties of the received signal, or sequences of known symbols in the data stream (training symbols). The resulting algorithms are known as non-data-aided (NDA) and data-aided (DA), respectively. Standard works on channel estimation and synchronization are [117, 118]. Iterative channel-estimation algorithms, which iterate between decoding/demapping/equalization and estimation, have recently become more popular. The resulting algorithms are known as code-aided (CA) [119,120]. These algorithms generally make use of the expectation maximization (EM) algorithm [121], or variations thereof.
Since factor graphs are well suited to solving inference problems, it makes sense to try to apply them to the channel estimation and synchronization. This idea was originally proposed in [122] and...