Course syllabus for Error control coding

Course syllabus adopted 2023-02-02 by Head of Programme (or corresponding).

Overview

  • Swedish nameKodning för felkontroll
  • CodeSSY196
  • Credits7.5 Credits
  • OwnerMPICT
  • Education cycleSecond-cycle
  • Main field of studyElectrical Engineering
  • DepartmentELECTRICAL ENGINEERING
  • GradingUG - Pass, Fail

Course round 1

  • Teaching language English
  • Application code 13112
  • Open for exchange studentsYes

Credit distribution

0114 Project 7.5 c
Grading: UG
7.5 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

Solid foundation in probability and linear algebra. Basic knowledge of digital communications is an advantage but not required. The course difficulty is on the Ph.D. level, which means that it is mathematically more advanced and runs at a higher pace than most Master courses.

Aim

Error control coding is the science of adding redundancy to the transmitted (or stored) data, with the purpose of detecting if any errors were introduced during transmission on a communication link, and possibly to correct those errors. This course provides students with the theoretical and practical tools to understand, analyze, and apply error control codes, and covers both classical and modern coding theory.

This course is highly recommended to
  • master students with an interest in the theory behind engineering approaches
  • master students planning to continue their education with doctoral studies
  • doctoral students

in the field of wireless and optical communications, data storage, or data compression.

Learning outcomes (after completion of the course the student should be able to)

  • Define common families of block codes (Hamming, Reed-Solomon, BCH codes) and analyze their properties
  • Explain the relations between minimum distance, error correcting and error detecting capability, block and bit error rate and coding gain, and calculate or estimate these quantities for simple block codes
  • Implement a transmitter and syndrome-based decoder for an arbitrary block code, and evaluate their performance by simulations
  • Calculate the minimum free distance and bit error rate of simple convolutional codes, and evaluate their performance by simulations
  • Implement transmitters and receivers, based on the Viterbi and BCJR decoding algorithms, for an arbitrary convolutional code
  • Define and analyze the properties of LDPC codes and turbo-like codes
  • Explain the principles of iterative decoding, the sum-product algorithm, EXIT chart analysis and density evolution
  • Implement transmitters and receivers for turbo and LDPC codes using iterative decoding
  • Choose a code family, code parameters, and a decoding method, to fulfill given requirements on error correcting capability and complexity
In addition, students of this course will practice some general (non-technical) skills and after the course should be able to:

  • Independently identify relevant literature and use it to learn a selected research topic
  • Participate in a scientific discussion by sharing ideas and experiences, asking and answering questions, explaining problem solutions and giving and taking criticism
  • Prepare and give a presentation on a research paper matched to the audience pre-knowledge, while keeping time limits, crediting and referencing other researchers, and answering questions in a professional manner

Students who have only studied regular Master courses before may have had limited opportunity to practice these general skills, whereas they are part of the daily life for Ph.D. students and other researchers.


Content

  • Linear block codes
  • Convolutional codes
  • Modern coding theory: Low-density parity-check (LDPC) codes, turbo-like codes
  • Iterative decoding: the sum-product algorithm, EXIT charts, density evolution

Organisation

The course is organised as a discussion club, which is possible because a relatively small number of students follow the course. It comprises about 13 group meetings, divided into text sessions and problem sessions, 6 homework assignments, and 1 research seminar per student. There are no "classical lectures''.

Literature

W. E. Ryan and S. Lin, Channel Codes: Classical and Modern, Cambridge, 2009 (ISBN 978-0-521-84868-8).

Examination including compulsory elements

The assessment is based on
  • solutions of homework problems
  • understanding homework texts
  • participation in discussions at group meetings
  • giving a seminar
  • participation at the other seminars

There is no written examination, and hence no re-examinations. Grades are pass/fail only. To miss 1-2 group meetings and to fail up to 20% of the homework problems may be acceptable, if the student performs very well otherwise.

The examination is a continuous process throughout the course. You can always ask the teacher how you are doing with respect to the passing threshold.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.