Generalization of the iterative decoding techniques invented for turbo codes has led to the theory of factor graphs as a general model for receiver processing. This course will develop the general theory of factor graphs and explore several of its important applications. Illustrations of the descriptive power of this theory include the development of high performance decoding algorithms for classical and modern forward error correction codes (trellis codes, parallel concatenated codes, serially concatenated codes, low-density parity check codes). Additional applications include coded modulation systems in which the error correction coding and modulation are deeply intertwined as well as a new understanding of equalization techniques from the factor graph perspective.
Course prerequisites: 
Background in linear algebra, such as 625.409 Matrix Theory; in probability, such as 525.414 Probability and Stochastic Processes for Engineers; and in digital communications, such as 525.416 Communication Systems Engineering. Familiarity with MATLAB or similar programming capability.
Course instructor: 
Hammons