Iterative processing is an important technique with numerous applications. Exploiting the power of factor graphs, this detailed survey provides a general framework for systematically developing iterative algorithms for digital receivers, and highlights connections between important algorithms. Starting with basic concepts in digital communications, progressively more complex ideas are presented and integrated resulting in the development of cutting-edge algorithms for iterative receivers. Real-world applications are covered in detail, including decoding for turbo and LDPC codes, and detection for multi-antenna and multi-user systems. This accessible framework will allow the reader to apply factor graphs to practical problems, leading to the design of new algorithms in applications beyond digital receivers. With many examples and algorithms in pseudo-code, this book is an invaluable resource for graduate students and researchers in electrical engineering and computer science, and for practitioners in the communications industry. Additional resources for this title are available online at www.cambridge.org/9780521873154.