Error control coding is an indispensible part of any digital communication system. In this introductory course, we will discuss theory of convolutional codes, their encoding and decoding techniques as well as their applications in real world scenarios. We will also study how from simple codes by concatenation we can build more powerful error correcting codes. In particular, we will study in details, one such capacity approaching codes called turbo codes.
Week 1: Lecture 1: Introduction to error control coding Lecture 2: Introduction to convolutional codes-I: state diagram, trellis diagram Lecture 3: Introduction to convolutional codes-II: classification, realization, distance properties
Week 2: Lecture 4: Decoding of convolutional codes-I: Viterbi algorithm Lecture 5: Decoding of convolutional codes-II: BCJR algorithm
Week 3: Lecture 6: Introduction to concatenated codes: parallel, serial Lecture 7: Turbo codes: encoding, and properties
Week 4: Lecture 8: Turbo decoding Lecture 9: Convergence of turbo decoding algorithm Lecture 10: Applications of convolutional codes