- [Instructors | Announcements | Lectures | Homework | Course Outline | References | Online Resources]
- Navin Kashyap
Office: SP 2.17
P. Vijay Kumar
Office: SP 2.03
- Mondays & Wednesdays, 11:30am to 1pm
- Homework Assignments
- Homework assignments will be posted here roughly every two weeks. While students are expected to solve all homework problems, the solutions will not be graded. Discussion sessions will be held for the purpose of helping students solve homework problems.
Discussion sessions will be held on alternate Wednesdays, 6:00pm to 7:30pm, in Room 1.08 of the ECE building.
(Please note the exception for Homework Assignment 3 below.)
- There will be one midterm exam, and a final exam.
The midterm exam will be held on Wednesday, October 5, 6:00-7:30pm, in ECE 1.08.
- The course grade will be based on the two exams, with 40% weightage assigned to the midterm, and 60% to the final exam.
- Introductory Concepts: Noisy channels, block codes, encoding and decoding, maximum-likelihood decoding, minimum-distance decoding, error detection and correction. Shannon's noisy-channel coding theorem.
- Linear codes: Minimum distance, generator and parity-check matrices, dual codes, standard array decoding, syndrome decoding. Repetition codes, Hamming codes.
- Bounds on Code Parameters: Hamming bound, Singleton bound, Gilbert-Varshamov bound, Plotkin bound. Using bounds to determine and design good codes for a given set of parameters.
- Convolutional Codes: Definitions, encoders, state and trellis diagrams, Viterbi decoder, catastrophic error propagation
- The Generalized Distributive Law: As expounded in the paper
S.M. Aji and R.J. McEliece, "The generalized distributive law", IEEE Transactions on Information Theory, vol. 46, no. 2, pp. 325-343, March 2000.
- Low-Density Parity-Check (LDPC) Codes: Definitions, Tanner graph, iterative message-passing decoding algorithms. Material largely based on the paper
- T. Richardson and R.L. Urbanke, "The capacity of low-density parity-check codes under message-passing decoding", IEEE Transactions on Information Theory, vol. 47, no. 2, pp. 599-618, Feb. 2001.
- Basic Finite Field Theory: Definitions, prime fields, construction of prime power fields via irreducible polynomials, existence of primitive elements, minimal polynomials.
- Algebraic Codes: Bose-Choudhury-Hocquenghem (BCH) codes, Reed-Solomon codes, and alternant codes as instances of generalized Reed-Solomon (GRS) codes. Decoding algorithms for GRS codes. Applications of Reed-Solomon codes in digital communications and storage.
- Cyclic codes: Definition, characterization as ideals of polynomial rings. BCH codes viewed as cyclic codes.
- Other topics to be selected from, as time permits: List decoding of Reed-Solomon codes, Golay codes, Reed-Muller codes, Goppa codes and algebraic geometry codes, convolutional codes, turbo codes, expander codes, low-density parity-check (LDPC) codes.
The following books are recommended as references:
- R.M. Roth, Introduction to Coding Theory, Cambridge University Press, 2006. (An excellent textbook primarily covering block codes.)
- T. Richardson and R. Urbanke, Modern Coding Theory, Cambridge University Press, 2008. (Focuses on LDPC and related codes.)
- R. Johanneson and K.Sh. Zigangirov, Fundamentals of Convolutional Coding, IEEE Press, 1999. (Covers exactly what the title says.)
- S. Lin and D.J. Costello, Error Control Coding (2nd edition), Prentice-Hall, 2004. (A good introduction from the engineering perspective.)
- R.E. Blahut, Algebraic Codes for Data Transmission, Cambridge University Press, 2002. (This is an updated version of the original classic, now out of print, Theory and Practice of Error-Control Codes, Addison-Wesley, 1983.)
- F.J. MacWilliams and N.J.A. Sloane, The Theory of Error-Correcting Codes, Elsevier/North-Holland, 1977. (All you wanted to know about classical coding theory but were afraid to ask. An encyclopaedic reference.)
- E.R. Berlekamp, Algebraic coding theory, McGraw-Hill, 1968. Revised edition published by Aegean Park Press in 1984.
- W.C. Huffman and V. Pless, Fundamentals of Error Correcting Codes, Cambridge University Press, 2003. (A good book from which to learn the basics. Written at an undergraduate level, assuming only knowledge of linear algebra.)
- R.J. McEliece, Theory of Information and Coding (2nd edition), Cambridge University Press, 2002. (A concise and well-written introduction to information and coding theory.)
- Vera Pless, Introduction to the Theory of Error-Correcting Codes (3rd edition), Wiley-Interscience, 1998. (A classic undergraduate text.)
- J.H. van Lint, Introduction to Coding Theory (3rd edition), Springer-Verlag (Graduate Texts in Mathematics), 1999. (Not really the most accessible introduction to the subject, but if you are comfortable with elementary abstract algebra and combinatorics, then it's a great book to read. Written for advanced undergraduates and graduate students in mathematics.)
- Online Resources
The following online resources are likely to be useful:
- Lecture notes from a video course on error-correcting codes given by Prof. P. Vijay Kumar as part of the National Programme on Technology Enhanced Learning (NPTEL).
- Online lecture notes on coding theory, prepared and maintained by Prof. Jonathan I. Hall. [Link provided with the permission of Prof. Hall.]