Advanced Topics in Signal Processing (at TUM)

Lecturer: Professor Frank FitzekMain lecturer:Professor Frank Fitzek
Co-lecturer:M.Sc. Juan Cabrera



This course introduces the students to the challenges and approaches of the state of the art implementations of network coding. The course is taught not just through lectures, but also with hands-on exercises using the KODO software library. KODO is available as a C++ and Python library, and also as a web tool. Therefore, students with different programming preferences will be able to approach it. 

The initial lectures refresh the knowledge of the students of the theoretical background of network coding, e.g., the min-cut max-flow of a network, inter-flow network coding, and intra-flow Random Linear Network Coding (RLNC). The student is then introduced to the state of the art software library KODO and the advanced implementations of network coding such as systematic, sparse, tunable sparse, sliding window, etc. The course also covers the benefits of network coding in distributed storage applications. By the end of the course, the student will be introduced to advanced applications of network coding, e.g., Coded TCP, MORE, FULCRUM.

The exercises will teach the students how to use sockets in python as well as the python bindings of the KODO software library for implementing unicast and broadcast communication applications. They will also provide the students with a intuitive understanding of the principles behind network coding.

Language of the course: English

Number of ECTS: 5

Module Number: EI7601



75 minutes written exam on the 13th of July of 2018

Time: 09:45 – 11:00

Room: N1080

Possibility of re-taking: Ask the TUM administration.

Time Schedule

Lectures: Fridays 09:45 – 11:15 – break – 11:45 – 13:15

13.Apr.2018Module 1N1135The organization of the course. Butterfly example. Min cut-max flow theorem. Inter Flow NC. Index Coding. Zick Zack Coding. CATWOMAN. Alice Relay and Bob scenario under IEEE802.11 networks and asymmetric traffic. Analog Inter Flow NC.
27.Apr.2018Module 2N1080Intra-flow network coding. Random Linear Network Coding (basics). Finite field operations (basics). Field size analysis. Recoding potential. Impact of protocol design (PlaynCool).
04.May.2018Exercise 1N1135Analysis of the activity, throughput, power, and energy per bit of a system with the cross topology when using forwarding, network coding, and network coding with overhearing. Analysis of the processes of encoding and decoding in intra-session network coding, and analysis of the overhead due to linear dependencies of RLNC.
11.May.2018Exercise 2N1135Basic UDP transmissions over WIFI with Python. Example of Inter-Session Network coding: XORing packets.Introduction to KODO.
18.May.2018Module 3N1135KODO overhead and energy consumption. Heterogeneous packet lengths
Network coding for transport. RLNC, advanced topics: systematic, sparse, sliding window RLNC. RLNC extensions: Telescopic codes, FULCRUM codes, and the CORE protocol.
01.Jun.2018Module 4N1135Network coding for storage. The role of network coding within the 5G paradigm.
08.Jun.2018Exercise 3N1110aFinite fields operations. Lossless Encoding and Decoding. Code efficiency. The number of linear dependencies. Where do the linear dependencies occur? Multi-path and Multi-hop with NC.
15.Jun.2018Module 5N1110aNetwork coding use cases and applications. Novel research topics in network coding: Joint compressed sensing and network coding; PRAC (Packetized Rateless Algebraic Consistency).
22.Jun.2018Module 6N1110aGuided hands-on session: Let's put into practice what we learned in theory.
Week 26thQ&Aappear.inQ&A session in preparation for the exam. We will schedule online meetings through

13.Jul.2018ExamTBDWritten exam with a duration of 90 minutes

Recommended Literature


  • Ahlswede, Rudolf, et al. “Network information flow.” Information Theory, IEEE Transactions on 46.4 (2000): 1204-1216.
  • Koetter, Ralf, and Muriel Médard. “An algebraic approach to network coding.”IEEE/ACM Transactions on Networking (TON) 11.5 (2003): 782-795.
  • Médard, Muriel, et al. “Network coding mythbusting: why it is not about butterflies anymore.” IEEE Communications Magazine 52.7 (2014): 177-183.


Inter-flow Network Coding

Intra-flow Network Coding (updated 11.Jun.18)

Distributed storage

5G Paradigm

A video of different encoders-decoders pairs.

Material for Exercise 1

Exercise 1 will be written. Therefore, it is only required that you bring pen and paper.

The solutions to the exercises are here:

Cross Topology

Intra-session NC

Asymmetric Alice and Bob

Material for Exercise 2

In this exercise session, we will work with Kodo. You require a valid Kodo license in order to use the library. Please request a license by filling out the license request form. Kodo is available under a research and education-friendly license, you can see the details here.

Once you obtain a valid license, please go to the Kodo Python repository here and follow the instructions to build it on your PC.

The lecturers can give you better support if you are building and running Kodo in a GNU/Linux system. Therefore, if you only have Windows installed, please install a GNU/Linux virtual machine first. You could use Virtualbox to install Ubuntu.

Material for Exercise 6

We will understand better the finite field operations involved in network coding by using this exercise: finite fields exercises