Channel Coding



Exercise 14 will be shiftet from Thursday February 8 to Wednesday February 7 from 10:15 until 11:45 instead of lecture. (On February 8 from 17:00 - 19:00 no exercise or lecture will be held.)
In the last week of the lecture period (from February 12 - 16) no lecture or exercise will be held.

Learning Lounge (CT)

The Learning Lounge is available for Communications Technology students (room 47.2.102 on Thursdays, 10-12am). The Learning Lounge is an optional tutorial-style offer by UULM PRO MINT & MED, which helps students to improve their learning strategies and offers help in subject-related questions (with a focus on mandatory subjects within the CT MSc program). For questions, please contact Dr. Ulrich Galster.


Channel coding has become an essential part in communication and storage systems. Block and convolutional codes are used in all digital standards. The aim of channel coding is to protect the information against disturbances during transmission or write/read. Thereby redundancy is added for error correction and for error detection. This course is about the basic methods in channel coding and gives an introduction to the more advanced methods of coded modulation.

The course is intended for Master students in electrical engineering with major in communication engineering. In addition it may be suited for students in computer science and mathematics.


Linear block-codes

  • Generator and parity-check matrix
  • Cosets
  • Principles of decoding
  • Hamming codes
  • Bounds for code parameters (Hamming-, Singleton-, Gilbert-Varshamov-Bounds)
  • Trellis representation of block-codes
  • Plotkin construction, Reed-Muller (RM) codes (relationship to binary PN- and Walsh-Hadamard sequences)
  • APP and ML decoding (sequence and symbol based)

Algebraic coding

  • Prime fields, primitive elements, component- and exponent representation
  • Reed-Solomon (RS) codes as cyclic codes with generator- and check-polynomials
  • Algebraic error and erasure correction with the Euclidean algorithm
  • BCH codes (as subfield subcodes of RS codes)
  • The perfect Golay-code as non-primitive BCH-code
  • Decoding of algebraic codes (key equation, Euclidean- and Berlekamp-Massey algorithm)

Convolutional codes

  • Algebraic properties
  • State Diagram
  • Trellis representation
  • Error correction capabilities of convolutional codes
  • Viterbi- and BCJR algorithm (flow in graphs)

Further coding and decoding techniques

  • LDPC codes
  • Permutations-, Majority- and Information-Set decoding
  • Dorsch algorithm (ordered statistics decoding)
  • Parallel (Turbo)- and serial concatenated codes and their iterative decoding

Introduction to generalized code concatenation and coded modulation


Introductory Lecture

Exercise Sheet 1 (October 26, Solution)

Exercise Sheet 2 (November 2, Solution)

Exercise Sheet 3 (November 9, Solution)

Exercise Sheet 4 (November 16, Solution)

Exercise Sheet 5 (November 23, Solution)

Exercise Sheet 6 (November 30, Solution)

Exercise Sheet 7 (December 7, Solution)

Exercise Sheet 8 (December 14, Solution)

Exercise Sheet 9 (December 20, Solution)

Exercise Sheet 10 (January 11, Solution)

Exercise Sheet 11 (January 18, Solution)

Exercise Sheet 12 (January 25, Solution)

Exercise Sheet 13 (February 1, Solution)

Exercise Sheet 14 (February 7, Solution)

Lab 1 ( Unique Decoding of Reed–Solomon Codes with the Extended Euclidean Algorithm  | Templates )

Lab 2 ( Decoding of Convolutional Codes using the Viterbi Algorithm | Template )

Handout 1 (relevant topics)

Handout 2 (further topics)

Relevant chapters for examination: Download

Sample Exam



  • Main book of the course (German/English)
    • Bossert M., Kanalcodierung, 3. Auflage, Oldenbourg, 2013
    • Bossert M., Channel Coding for Telecommunications, John Wiley & Sons, 1999
    • Johannesson, Zigangirov: Fundamentals of Convolutional Coding , IEEE Press
    • Lin, Costello: Error Control Coding, 2nd Edition, Prentice Hall, 2004
  • Further reading Coding Theory
    • Blahut R. E., Algebraic Codes for Data Transmission, Cambridge University Press, 2003
    • Roth R., Introduction to Coding Theory, Cambridge University Press, 2006
    • Justesen J. and Hoeholdt, T., A Course In Error Correcting Codes, EMS Publishing House, 2004
    • MacWilliams F. J. and Sloane N. J. A., The Theory of Error-Correcting Codes, Elsevier, 1977
  • Further reading Finite Fields/Algebra
    • McEliece R. J., Finite Fields for Computer Scientists and Engineers, Kluwer, 1987
    • Lidl R. and Niederreiter H., Introduction to Finite Fields and their Applications, Cambridge, 2002
    • Menezes A. and Blake I. F., Applications of Finite Fields, Kluwer, 1993
    • Lipson J. D., Elements of Algebra and Algebraic Computing, Addison-Wesley, 1981
  • Further reading Stochastics and Probability
    • Gubner J. A., Probability and Random Processes for Electrical and Computer Engineers, Cambridge, 2006


Additionally, the "Semesterapparat" to this Lecture may be of interest.

Winter Term 2017/18

Lecture:Wednesday, 10:00 - 13:00,
Exercise:Thursday, 17:00 - 19:00,






Written exam of 90min duration.

Further Information

Hours per Week:  3V + 2Ü + 1P
8 ECTS Credits
LSF - ENGJ 7004