This course introduces essential concepts of error detection and correction techniques, covering linear block codes including cyclic, Bose–Chaudhuri–Hocquenghem (BCH), Reed-Solomon, convolutional, and turbo codes. This course also enables students to learn practical decoding methods like array, syndrome, and Viterbi, as well as low-density parity-check code (LDPC) codes.
MATLAB
Upon successful completion of this course, students will be able to:
(1) Describe the channel models used in digital communications such as binary erasure, binary symmetric, and additive white Gaussian noise,
(2) Explain linear block codes, error detection, and correction methods such as Hamming, array, and syndrome decoding techniques,
(3) Utilize probability theory to determine error probabilities for decoding and detection across various channel models and coding methods,
(4) Analyze non-cyclic and cyclic codes while classifying cyclic codes into BCH, Reed-Solomon, and cyclic redundancy check (CRC) categories,
(5) Assess convolutional codes and Viterbi decoding, while discussing their evolution into turbo codes and soft Viterbi decoding,
(6) Design decoding algorithms for graph-based codes in MATLAB.
(1) Lin, S., & Costello, D. J. (2004). Error Control Coding (2nd ed.). Prentice-Hall.
(2) Richardson, T., & Urbanke R. (2008). Modern Coding Theory. Cambridge University Press.
Test/Exam (60%), Performance Project (Written, Oral) (20%), Quiz (10%), Case Studies / Homework (10%)
Workload | Hrs |
---|---|
Lectures | 42 |
Course Readings | 70 |
Exams/Quizzes | 70 |
Report on a Topic | 32 |
Case Study Analysis | 11 |