Teachers
Person in charge
- Francesc Tiñena Salvañà ( francesc.tinena@upc.edu )
Weekly hours
Theory
3
Problems
0
Laboratory
1
Guided learning
0
Autonomous learning
6
Competences
Information technology specialization
- CTI1.4 - To select, design, deploy, integrate, evaluate, build, manage, exploit and maintain the hardware, software and network technologies, according to the adequate cost and quality parameters.
- CTI3.3 - To design, establish and configure networks and services.
Information literacy
- G6.3 - To plan and use the necessary information for an academic essay (for example, the final project of the grade) using critical reflection about the used information resources. To manage information in a competent, independent and autonomous way. To evaluate the found information and identify its deficiencies.
Objectives
-
To learn the concepts of information of an event and the entropy of a probability distribution. To learn the concepts of information source and communication channel. To learn the concepts of source coding (data compression) and channel coding (error-detection and error-correction) and Shannon's theorems.
Related competences: G6.3, -
To learn the basic concepts of block codes: their parameters and their relationship to the error-detecting and error-correcting abilities. To learn the main applications of modular arithmetic to the construction of block codes. To learn the protocols of error-detection and error-correction used in communication networks.
Related competences: G6.3, CTI1.4, CTI3.3, -
To learn the basic structure of finite fields, mainly those of characteristic 2. To learn the finite dimensional vector spaces over a finite field. To learn the ways of defining a linear code, determining its parameters and decoding using the algorithm based on syndromes. To learn the particularities of some specific linear codes (specially the perfect codes) and their corresponding error-correction algorithms.
Related competences: G6.3, -
To learn the general structure of cyclic codes and Meggit"s algorithm. To learn CRC technique: cyclic codes used for detection purposes in communication networks. To learn the binary BCH codes and their error-correction algorithms. To learn Reed-Solomon codes and their application to compact disks.
Related competences: CTI3.3, G6.3, CTI1.4,
Contents
-
Information and entropy.
Mathematical definition of the amount of information. Entropy of a probability distribution and mutual information of two random variables. -
Source coding and channel coding
Variable-length codes. Kraft's inequality. Huffman's codes. Extensions of a source. First Shannon's theorem. Channel capacity . Decision schemes. Second Shannon's theorem: channel coding with noise. The binary symmetric channel. Decoding by maximum likelihood. -
Error-detection and error-correction with block codes.
Hamming distance. Tangency radius and covering radius. Error-detecting and error-correcting. Error-detecting protocols. The fundamental problem of coding theory. -
Finite fields
Construction of finite fields, specially those of characteristic 2. Elementary properties and efective computations in finite fields. -
Linear codes
Vector spaces over finite fields. Linear codes. Generating and parity-check matrices. Standard array and syndrome correction. Operations with linear codes. Perfect codes. Hamming codes, binary Golay codes and ternary Golay codes. -
Cyclic codes and CRC
Polynomials over finite fields. Polynimals codes. Generating and parity-check polynomials. Systematic encoding. Meggitt's correction algorithm. Cyclic codes used for detection purposes: CRC. Ethernet CRC. -
Binary BCH codes
Roots of a cyclic code: description of a cyclic code by its roots. BCH codes over a finite field. Binary primitive and stric BCH codes. The key equation. Euclid's algorithm for decoding. Berlekamp-Massey decoding. -
Reed-Solomon codes
Reed-solomon codes as cyclic codes. The finite Fourier transform. Algorithm for error-correction. Application: coding of the audio compact disc.
Activities
Activity Evaluation act
Theory
3h
Problems
0h
Laboratory
1h
Guided learning
0h
Autonomous learning
5.5h
Developing the subject "Source coding and channel coding"
Developing the subject "Source coding and channel coding"Objectives: 1
Contents:
Theory
3h
Problems
0h
Laboratory
1h
Guided learning
0h
Autonomous learning
14h
Developing the subject "Error-detection and error-correction with block codes".
Developing the subject "Error-detection and error-correction with block codes".Objectives: 2
Contents:
Theory
4h
Problems
0h
Laboratory
1h
Guided learning
0h
Autonomous learning
4h
Developing the subject "Finite fields"
Developing the subject "Finite fields"Objectives: 3
Contents:
Theory
6h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
5h
Theory
5h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
6h
Developing the subject "Cyclic codes and CRC"
Developing the subject "Cyclic codes and CRC"Objectives: 4
Contents:
Theory
6h
Problems
0h
Laboratory
3h
Guided learning
0h
Autonomous learning
6h
Developing the subject "Binary BCH codes"
Developing the subject "Binary BCH codes"Objectives: 4
Contents:
Theory
6h
Problems
0h
Laboratory
3h
Guided learning
0h
Autonomous learning
7h
Developing the subject "Reed-Solomon codes"
Developing the subject "Reed-Solomon codes"Objectives: 4
Contents:
Theory
6h
Problems
0h
Laboratory
1h
Guided learning
0h
Autonomous learning
4h
Teaching methodology
In theoretical sessions the professor explains the theoretical issues giving examples and solving problems. It combines both the master methodology, in which the professor presents, explains and illustrates the concepts of the subject, and the interaction with students.In the lab sessions, and during the hours of personal study, students should try to solve problems from a collection. The teacher supports the student with the difficulties that may raise. It is intended that students take the initiative in solving problems, evaluating solutions and learn from their mistakes.
Evaluation methodology
There will be two partial exams.The final mark is obtaining averaging the gradings of the partial exams.
Bibliography
Basic
-
Apunts de Teoria de la Informació i Codificació
- Farré, Rafel,
2003.
-
Informació i codis
- Brunat Blay, Josep M; Ventura Capell, Enric,
Edicions UPC,
2001.
ISBN: 8483015285
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002316969706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
A Course in algebraic error-correcting codes
- Ball, Simeon,
Birkhäuser,
[2020].
ISBN: 9783030411527
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004198669706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Introduction to coding theory
- Bierbrauer, Jürgen,
CRC Press,
2017.
http://cataleg.upc.edu/record=99100492344570671~S1*cat
Complementary
-
A first course in coding theory
- Hill, R,
Clarendon Press,
1988.
ISBN: 0198538030
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991000254769706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Reed-Solomon codes and their applications
- Wicker, Stephen B.; Bhargava, Vijay K. (editores),
IEEE Press,
1994.
ISBN: 078031025X
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001296739706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Foundations of coding: theory and applications of error-correcting codes, with an introduction to cryptography and information theory
- Adámek, J,
Wiley,
1991.
ISBN: 0471621870
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991000948639706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
Previous capacities
The student should:(a) know the logarithm function and its properties,
(b) basic properties of finite probability distributions and random variables,
(c) know the ring of modular integers and perform calculations;
(d) know the basics of vector spaces: systems of linear equation, linear dependence and independence, basis and dimension, matrix operations (sums, products) and compute inverse;
(d) know the basic properties of polynomials and know how to operate with them.