Institute for Communication Technologies and Embedded Systems

Iterative MIMO receivers


One of the limiting and most costly resources in current and future communication systems is the bandwidth. Therefore, there is a strong need for techniques that aim at better exploiting the available spectrum. MIMO systems are a promising approach to increase the data rates maintaining the channel bandwidth. In this technology, multiple antennas are employed at the transmitter (Tx) and at the receiver (Rx), resulting in a communication channel with multiple inputs and multiple outputs (MIMO).

One possible realization of a MIMO system employing two antennas at both the transmitter and the receiver is illustrated below. A stream of bits is demultiplexed into two substreams (spatial multiplexing), and each is sent over a different antenna. The two signals superpose each other at each Rx antenna. The task of the receiver is now to reconstruct the transmitted bits.


The figure sketches the physical layer of a typical MIMO system. It is composed of

  • the channel encoder which adds redundancy, that is used for error correction in the receiver
  • the demultiplexer which separates the code bits into several spatial streams
  • a symbol mapper for each stream, which maps code bits onto complex signal points
  • the effective channel with discrete-time input and output
  • the digital baseband receiver, shown here as a generic “black box”.

In this project, we are investigating different implementations of the receiver. When we adopt an abstract point of view as in the above figure, regarding the whole receiver as a black box, then its input is a sequence of signal samples yk, where k is the discrete time index of the A/D converter, and its output consists of estimates of the transmitted data bits bn. Ultimately, the receiver can thus be interpreted as a mapping f : ℂR×K →{0,1}N, where R is the number of receive antennas, K is the number of data samples per packet, and N is the number of bits. With this notation, the receiver output can simply be written as = f({yk}), where {yk} denotes the whole sequence of received samples, with k = 1,…,K.


There are two main design criteria for the receive algorithm (the function f), namely its performance in terms of bit or packet error rates, and its computational complexity. The receiver that achieves the lowest bit error rate among all possible receiver implementations is based on the following rule: If p(bn = 1|{yk}) > p(bn = 0|{yk}), then decide on = 1, otherwise, decide on n = 0. The function p(bn|{yk}) is the posterior probability of the nth bit, i.e., the probability that the nth bit is equal to 0 or 1 after the signal samples {yk} have been received.

In principle, the posterior probability can be evaluated with the two basic rules: p(x|y) = p(x,y)∕p(y) (conditioning) and p(x) = ∫ p(x,y)dy (marginalization). All that is needed is a probability distribution which describes the interactions between all random variables that are involved in the transmission, from the data source up to the A/D converter in the receiver.

Let us consider a simple example: Under the assumption of perfect synchronization between transmitter and receiver, and a frequency-flat fading channel, the joint distribution has the form p(b,c,{xk},{Hk},{yk}), and the posterior probability of the nth bit can be expressed as


Unfortunately, an exact evaluation of this probability is far too complex; both because of the high-dimensional integrals, and because of the enormous number of terms in the sum (for example, if the packet contains 1024 bits, then the first sum is over 21023 terms). Clearly, approximations must be made in order to enable a real-time implementation of the receiver in hardware.

Conventionally, the algorithm design has mainly been based on heuristical approaches. For example, in order to remove the high-dimensional integral over the channel matrices Hk, a channel estimation unit is used to obtain an estimate of the channel, based on some training data. Later stages of the algorithm are designed under the assumption of a perfectly known channel, and the estimate is treated as the true channel value.

Recently, the research focus has shifted towards more systematic receiver designs, especially sparked by the success of modern channel codes. Turbo and LDPC codes are two well-known examples, which enable virtually error-free communication at data rates close to the theoretical limit (Shannon capacity). The breakthrough in coding theory, starting in 1993, was the discovery of approximate decoding algorithms for these channel codes, which iteratively refine the estimate of parts of the codeword, based on the current knowledge about the other parts.

In modern receiver design, the idea behind iterative decoding is extended to cover the whole receiver: In each step, the estimate of a subset of the unknown random variables is updated, based on the current knowledge about the other variables. Picking up the example of channel estimation, instead of calculating a fixed channel estimate, an iterative receiver re-estimates the channel after decoding the data bits, this time based on the training symbols as well as the newly available knowledge about the data bits. The improved channel estimate in turn allows for a more reliable data decoding, and so on. Below is the structure of a typical triple-loop iterative receiver.

In this project, our research focus is on the implementation of the receiver components (e.g., the channel estimator and the MIMO detector), the communication between them, and the order in which they are activated (scheduling). Due to our tight interaction with the architecture research group at our institute (see “Flexible Architectures for Next-Generation Iterative MIMO Receivers”), the algorithmic complexity is of particular interest to us.


Dan Zhang, Martin Senst