Error Correction Coding
Catalog Data: 

Graduate Course Information


ECE 637A - Error Correction Coding

Credits: 3.00

Course Website:

UA Catalog Description:

Course Assessment:

Homework:  assigned but not graded

Project:  1-2 projects

Exams:  2 Midterm Exams, 1 Final Exam

Grading Policy:

Typically: 30% Midterms,

                  35% Final Exam,

                    15% Homework,

                    0% Laboratory,

                    20% Project.

Course Summary:

This graduate course provides an in-depth treatment of error correction codes and decoding algorithms. It covers both algebraic and codes on graphs and their decoding algorithms. 

            Error correcting codes (ECC) are an integral part of modern day communications, computer and data storage systems and play a vital role in ensuring he integrity of data in the presence of errors. In the most general terms, the purpose of error correcting code is to protect user data, and this is achieved by appending redundant, so called parity bits, along with the data bits. Low-density parity-check (LDPC) codes are a class of error-correction codes that have revolutionized communications and data storage industry. They have been the focus of intense research over more than a decade because they can approach theoretical limits of reliable transmission over various communications and storage channels even when decoded by sub-optimal low complexity iterative algorithms. The past decade in

information theory has been marked by the quest for low complexity decoders, and the emergence of iterative message passing decoders.        Efficient and high-speed implementations coupled with recent advances in integrated circuit technologies, have made LDPC codes de-facto industry standards in a number of systems. With emerging technologies requiring much faster processing speeds with stricter energy utilization constraints while still requiring very low target error-rates, there has been an increasing need for reduced-complexity iterative decoders that provide improved performance.

            Wireless networks, satellite communications, deep-space communications, power line communications are among applications where the LDPC codes are the standardized ECC scheme. More specifically LDPC codes are used as an error correcting scheme in: digital video broadcast over satellite (DVB-S2 Standard) and over cable (DVB-C2 Standard), terrestrial television broadcasting (DVB-T2, DVB-T2-Lite Standards), GEO-Mobile Radio (GMR) satellite telephony (GMR-1 Standard), local and metropolitan area networks (LAN/MAN) (IEEE 802.11 (WiFi)), wireless personal area networks (WPAN) (IEEE 802.15.3c (60 GHz PHY)), wireless local and metropolitan area networks (WLAN/WMAN) (IEEE 802.16 (Mobile WiMAX), near-earth and deep space communications (CCSDS), wire and power line communications ( ITU-T (G.9960)), utra-wide band technologies (WiMedia 1.5 UWB), etc. [11]. Very recently LDPC codes have found their way in magnetic hard disk drives and optical communications, and they are the main candidates for ECC system in ash memories.

Graduate Standing

S. Wicker, Error Control Systems for Digital Communications and Storage, Prentice-Hall, 1995.J.

S. Lin and D. Costello, Error Control Coding, 2nd edition, Prentice-Hall, 2004.

Course Topics: 

1.     Overview of error correction coding

2.     An introduction to abstract algebra (groups, fields, Galois fields, vector spaces in Galois fields)

3.     Linear block codes (syndrome, minimum distance, error correction capabilities, probability of error, important block codes: Hamming and Reed-Muller codes, cyclic codes)

4.     Convolutional codes (encoding, trellis, free distance, Viterbi and BCJR decoding algorithms)

5.     Algebraic codes: BCH and Reed-Solomon codes (primitive BCH codes over binary and nonbinary fields, majority logic decodable and finite geometry codes)

6.     Codes on graphs and low-density parity-check codes

7.     Graphical representation of a code (trellis, Tanner graph), low-density parity check (LDPC) codes (codes constructed from combinatorial designs and other structures, expander codes and expander arguments, graph topology and code parameters)

8.     Iterative decoding(Bayesian networks, exact and approximate inference (factor graphs, inference, counting, message passing algorithms, Gallager type algorithms, bit-flipping, analysis of LDPC codes and error floor phenomenon )

9.     Advanced topics (linear programming decoding, polar codes)

Class/Laboratory Schedule: 

Lecture:  150 minutes/week

Prepared by: 
Bane Vasic
Prepared Date: 
April 2013

University of Arizona College of Engineering