ECE 5684 Error Control Coding | ECE | Virginia Tech


Course Information


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.


Graduate Standing

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.

Course Topics


Percentage of Course

1. Groups, Vector Spaces, and Finite Fields 10%
2. Theory of Linear Block Codes and Cyclic Codes 20%
3. BCH and Reed-Solomon Codes 10%
4. Analysis and Bounds on Code Performance in Noisy Channels 15%
5. Convolutional Codes 15%
6. Turbo Codes 10%
7. Low-Density Parity-Check Codes 10%
8. Coding for Bursty Channels, Fading Channels, and Channels with Feedback 10%