Channel coding is at the core of any modern communication system; reliable communication would not be possible without the use of coding. When digital data is transmitted from one place to another it is always prone to noise or interference occurring in the transmission medium. For this reason all modern communication systems use some error correcting codes that add redundancy to the original data in order to protect it from errors occurring during the transmission.
The course covers the following topics:
- Principles of error control coding: Channel models, Linear block codes, Syndrome decoding, Constructing codes from other codes, Bounds, Cyclic codes, Convolutional codes
- Optimal decoding methods: MD vs BMD decoding, ML Decoding, Viterbi algorithm, Trellises of block codes, Decoding error probability, Weight enumerators, APP decoding, BCJR algorithm
- Iterative decoding of concatenated codes: Product codes, Parallel and serial concatenation, Turbo codes, Iterative decoding, LDPC Codes, Tanner graphs, Message passing decoding, LDPC convolutional codes
- Reed-Solomon codes: Non-binary codes, Frequency domain representation, Encoding, Algebraic decoding, Weight enumerators