Alex Grant Lars K. Rasmussen
Theoretical analysis promises performance improvements for multiple-access communications through the use of joint detection (in the case of uncoded transmission) or joint decoding (for encoded data). These gains in bit error probability and/or achievable reliable information transmission rate can be significant in non-orthogonal multiple-access channels. Except in a few special circumstances [1–3] however, the optimal joint detection/decoding problem is prohibitively complex [4,5]. Typically, the implementation complexity scales exponentially with the number of independent transmitters. This adds an additional layer of complexity, on top of that required for the optimal detection or decoding of single-user transmissions.
The ensuing engineering challenge is therefore to find practical encoders and decoders yielding performance approaching the theoretical limits. Since the 1993 “turbo revolution,” modern coding practice has been dominated by iteratively decoded codes such as parallel  and serial  turbo codes, low-density parity-check codes  and repeat-accumulate codes . The success of these codes is largely due to their iterative decoding algorithms, which approximate optimal decoding with manageable computational complexity. As a result, iterative processing has emerged as the framework of choice for the design of near-optimal systems in a variety of communications scenarios.
This chapter describes ...