Book contents
- Frontmatter
- Contents
- Preface
- Abbreviations
- Notations
- List of algorithms
- 1 Introduction
- 2 Digital communication
- 3 Estimation theory and Monte Carlo techniques
- 4 Factor graphs and the sum–product algorithm
- 5 Statistical inference using factor graphs
- 6 State-space models
- 7 Factor graphs in digital communication
- 8 Decoding
- 9 Demapping
- 10 Equalization–general formulation
- 11 Equalization: single-user, single-antenna communication
- 12 Equalization: multi-antenna communication
- 13 Equalization: multi-user communication
- 14 Synchronization and channel estimation
- 15 Appendices
- References
- Index
8 - Decoding
Published online by Cambridge University Press: 08 January 2010
- Frontmatter
- Contents
- Preface
- Abbreviations
- Notations
- List of algorithms
- 1 Introduction
- 2 Digital communication
- 3 Estimation theory and Monte Carlo techniques
- 4 Factor graphs and the sum–product algorithm
- 5 Statistical inference using factor graphs
- 6 State-space models
- 7 Factor graphs in digital communication
- 8 Decoding
- 9 Demapping
- 10 Equalization–general formulation
- 11 Equalization: single-user, single-antenna communication
- 12 Equalization: multi-antenna communication
- 13 Equalization: multi-user communication
- 14 Synchronization and channel estimation
- 15 Appendices
- References
- Index
Summary
Introduction
Error-correcting codes are a way to protect a binary information sequence against adverse channel effects by adding a certain amount of redundancy. This is known as encoding. The receiver can then try to recover the original binary information sequence, using a decoder. The field of coding theory deals with developing and analyzing codes and decoding algorithms. Although coding theory is fairly abstract and generally involves a great deal of math, our knowledge of factor graphs will allow us to derive decoding algorithms without delving too deep. As we will see, using factor graphs, decoding becomes a fairly straightforward matter. In contrast to conventional decoding algorithms, our notation will be the same for all types of codes, which makes it easier to understand and interpret the algorithms.
In this chapter, we will deal with four types of error-correcting codes: repeat–accumulate (RA) codes, low-density parity-check (LDPC) codes, convolutional codes, and turbo codes. Repeat–accumulate codes were introduced in 1998 as a type of toy code. Later they turned out to have a great deal of practical importance [81]. We then move on to the LDPC codes, which were invented by Gallager in 1963 [50], and reintroduced in the early 1990s by MacKay [82]. Both types of codes can easily be cast into factor graphs; these factor graphs turn out to have cycles, leading to iterative decoding algorithms. Convolutional codes, on the other hand, are based on state-space models and thus lead to cycle-free factor graphs [83].
- Type
- Chapter
- Information
- Iterative Receiver Design , pp. 143 - 176Publisher: Cambridge University PressPrint publication year: 2007