ECE 710 Topic 5 - Fall 2018

ECE 710 Topic 5 - Advanced Topics in Coding Theory


Professor Oussama Damen

General description

This course covers the classical algebraic coding theory and some advanced topics in coding such as turbo and LDPC codes. If time allows, more recent coding topics such as lattice codes and their application to achieve the capacity of the Gaussian channel as well as over different communications channels such as Multiple-input multiple-output (MIMO) channels. The course comprises two projects on implementing coding and decoding algorithms covered in the lectures. The following topics will be covered: finite fields Algebra, Hamming distance, bounds on the minimum distance of block codes, linear block codes, BCH codes, Reed-Solomon codes, convolutional codes, discrete channel and hard-decision decoding, algebraic decoding of BCH and Reed-Solomon codes, convolutional codes over additive white Gaussian noise channels, optimal decoding of convolutional codes (the Viterbi algorithm) and suboptimal decoding of convolutional codes (sequential decoding), forward-backward algorithm and soft-in soft-out decoding, turbo codes and iterative decoding, LDPC codes and the sum-product algorithm. MIMO channel capacity and degrees of freedom, lattice codes and their performance evaluation over MIMO channels.


No required textbook.

For some topics indicated herewith, the following references will be used.


  1. Error Control Coding, 2nd edition, by S. Lin and D. Costello, Prentice-Hall, 2004.
  2. Introduction to Coding Theory, R. M. Roth, Cambridge University Press, 2006.
  3. Papers in the Transactions of the IEEE (to be communicated during the lectures).
  4. Sphere Packing, Lattices and Groups, 3rd edition by J.H. Conway and N.J. Sloane.
  5. Information Theory and Reliable Communication, by R. Gallagar.

Course outline

  1. Introduction and finite fields Algebra
    • Revision of communication channels, representation of signals, sampling theorem, chan-nel coding theorem, error exponents.
    • Finite fields Algebra: Groups, rings, fields. Arithmetic in Galois fields. Irreducible polynomials and primitive elements.Vector spaces and matrices.
  2. Error correcting codes over discrete channels.
  3. Linear block codes and the Hamming distance properties.
  4. Cyclic codes, BCH codes and Reed-Solomon codes.
  5. Convolutional codes, trellis representation of convolutional codes and distance properties.
  6. Turbo and LDPC codes.
  7. Lattice codes, mod-λ scheme.
  8. Receiver architecture
    • Algebraic decoding of BCH and Reed-Solomon codes (The first project to cover algebraic decoding implementation over discrete channels).
    • The Viterbi algorithm.
    • Sequential decoding (The second project to cover the implementation of Viterbi or Sequential decoding).
      • The Stack algorithm.
      • The Fano algorithm.
      • Performance characteristics of sequential decoding.
    • Lattice decoding
      • Shortest and closest lattice vector problems.
      • Lattice reduction and the LLL algorithm.
      • Sphere decoding, Pohst and Schnorr-Euchner enumerations. Connection to zero-forcing (ZF) and minimum mean square error (MMSE) decision feedback equalization (DFE).
    • The turbo receiver and the sum-product algorithm.


The grading consists in two projects, a midterm and a final. Projects (2 × 10 = 20%), midterm (30%) and final (50%).