Course

Error Correcting Codes

Indian Institute of Science Bangalore

This course is typically meant for an Masters-level or final-year BE student. Error-correcting codes are in widespread use for data storage as well as most forms of communication where reliability is of importance. Examples range from compact discs to deep-space communication. This course will cover both classical error-correcting codes such as BCH, Reed-Solomon and convolutional codes as well as the more modern class of iteratively decodable codes, low-density, parity-check codes in particular.

Course details:

  • Course overview; Basics of binary block codes for the binary symmetric channel; Mathematical preliminaries: groups, subgroups and cosets.
  • Linear block codes; Bounds on the size of a block code; Bounded and maximum-likelihood decoding of binary block codes; standard array decoding.
  • Basics of convolutional codes; the Viterbi decoding algorithm.
  • The generalized distributive law (GDL).
  • The GDL perspective on the Viterbi and BCJR decoding algorithms; Turbo codes in brief.
  • LDPC codes.
  • Fields; Polynomials rings; construction of finite fields.
  • Deducing the structure of a finite field; Subfields and cyclotomic cosets.
  • The finite field (Fourier) transform; cyclic codes via finite field transforms.
  • BCH and Reed-Solomon codes; decoding of BCH and RS codes.
Course Lectures