Use of error control codes to improve the reliability of digital communication and storage systems in the presence of noise. Algebraic structure of codes over finite fields. Error detecting and correcting codes. Block codes and convolutional codes, including Reed Solomon codes, LDPC codes, and turbo codes.
Why take this course?
Electrical and computer engineering graduate students who wish to pursue research or careers in the communications field use material taught in this course. Modern communications research and the design and analysis of practical digital communications systems, such as those commonly applied in computer networking and mobile computing, requires the application of the techniques taught in the course. Other courses in the curriculum on digital communications reference techniques taught in this course, and the application of these techniques is necessary to design a modern communication system to perform near theoretical limits.
The course is a graduate course because understanding of the course material is enhanced by familiarity with communication systems, such as would be acquired in senior-level undergraduate courses in communications and networking.
Major Measurable Learning Objectives
Perform numerical operations in finite fields by using both the exponential (power of a primitive element) and polynomial representations of finite field elements.
Calculate the reliability of coded data transmission over noisy channels.
Design error control schemes for noisy channels given the noise characteristics and the desired degree of reliability.
Implement error control encoders and decoders in software for common error control codes, including efficient encoders and decoders for cyclic codes and turbo decoders for convolutional codes.
Percentage of Course
1. Groups, Vector Spaces, and Finite Fields
2. Theory of Linear Block Codes and Cyclic Codes
3. BCH and Reed-Solomon Codes
4. Analysis and Bounds on Code Performance in Noisy Channels
5. Convolutional Codes
6. Turbo Codes
7. Low-Density Parity-Check Codes
8. Coding for Bursty Channels, Fading Channels, and Channels with Feedback