Theses in Progress
Bachelor's Theses
Volterra Equalization for Optical Channels with Direct Detection Receivers
A Jupyter Notebook for Digital Modulation Schemes (LB)
A Jupyter Notebook for Digital Modulation Schemes (LB)
Description
Digital modulation schemes are prevalent in almost all communication systems. They can be used to either shift baseband signals to a region, which is suitable for transmission (in regards to some specific channel), or they can be used to simultaneously transmit multiple data streams over the same physical channel [1].
The students task is to implement a demonstration of two digital modulation schemes in Python [2] (Jupyter Notebook) and visualize the results. Additionally, the student also has to arrange code and surrounding text, such that the content becomes selfexplanatory.
[1] Skript "Physical Layer Methods“
[2] "Python in 30 minutes" (https://www.programiz.com/pythonprogramming/tutorial)
Prerequisites
Since the Jupyter Notebook is to be written in german language, the student should be able to write in german at least on a basic level.
While some basics in any programming language are beneficial, this is also a great opportunity for programming beginners, wishing to expand their programming skills.
For this topic students of the "Lehramtsstudiengänge" are preferred.
Supervisor:
Student
Reduced Complexity Digital Back Propagation Algorithms
Reduced Complexity Digital Back Propagation Algorithms
Description
yle="marginbottom: 0cm; lineheight: 100%;">In the high transmission power regime, the nonlinear effects during propagation are limiting the achievable data rates of WDM systems [1]. One well studied technique, to partially mitigate these effects, is „Digital BackPropagation“ (DBP) [2]. DBP models the inverse of the optical channel, by the split step Fourier method (SSFM) [3]. Compared to linear compensation schemes, such as chromatic dispersion compensation (CDC), DBP enables higher datarates, but also increases the receivers complexity.
yle="marginbottom: 0cm; lineheight: 100%;">The students task is to understand the concept of SSFM and DBP and implement several versions of the DBP scheme. These algorithms then have to be evaluated in a WDM system simulation, with two different fiber channel models.
yle="marginbottom: 0cm; lineheight: 100%;">[1] Essiambre  "Capacity Limits of Optical Fiber Networks"
yle="marginbottom: 0cm; lineheight: 100%;">[2] Napoli  "Reduced Complexity Digital BackPropagation Methods for Optical Communication Systems“
yle="marginbottom: 0cm; lineheight: 100%;">[3] Sinkin  "Optimization of the SplitStep Fourier Method in Modeling OpticalFiber Communications Systems"
Prerequisites
No specific requirements (some basics in Matlab might be beneficial but are not strictly needed)
Supervisor:
Student
Joint Random Errors happen on Partial Defect Cells
Joint Random Errors happen on Partial Defect Cells
Keywords:
Linear Codes, Algebraic Codes, Error Correction , Masking, defects, nonvolatile memories, phasechange memories,PCMs, sagemath
Short Description:
So far, all investigated error correction for memory with partial defects works have been done for "disjoint" error such that we suppose the error cannot happen in a position where the memory already partially defects. In this thesis, we want to consider if a joint error happens what are the code constructions for a different number of partially stuck (defect) memory cells up to the code length.
Description
The demand of reliable memory solutions and in particular for nonvolatile memories such as phasechange memories (PCMs) for different applications is steadily increasing. The key characteristic of PCM cells is that they can switch between two main states: an amorphous state and a crystalline state. PCM cells may become defect (also called stuck) if they fail in switching their states. This occasionally happens due to the cooling and healing processes of the cells, and therefore cells can only hold a single phase. There are two scenarios of such a defect. Classical stuck cells, i.e. the cell level cannot switch up or down its current level. The other more flexible scenario is partially stuck cells, here, the cell can increase its level but cannot go down its current one.
So far, errorcorrecting code constructions for defect memory with additional errors have been done. Recent works focus only on the additional error that happens in a position in which the cell assumed is reliable (nonstuck).
In this thesis, we want to investigate the case where error and partially defect cells happen in the same position. Further, a mixmode of joint and disjoint error could also be considered in this thesis.
Prerequisites
 Good knowledge of Linear Algebra
 Good knowledge of Channel Coding/Coding Theory
 Basic knowledge in Information Theory
 Programming (Python  > preferably Sagemath)
Contact
M.Eng. Haider Al Kim
Doctoral Researcher
Technical University of Munich
Department of Electrical and Computer Engineering /
Coding for Communications and Data Storage (COD) Group
Building N4, Room 3417
Theresienstr. 90, 80333 München
Email: haider.alkim@tum.de
Phone: +49 8928929055
https://www.lnt.ei.tum.de/en/people/doctoralresearchers/alkim/
Supervisor:
Master's Theses
Coding for Distributed Coordinate Gradient Descent
Coding for Distributed Coordinate Gradient Descent
Description
yle="margin: 0px; fontvariantnumeric: normal; fontvarianteastasian: normal; fontstretch: normal; fontsize: 12px; lineheight: normal; fontfamily: 'Helvetica Neue';">Applying machine learning on large data became part of daily life. Scalability of distributed machine learning algorithms requires tolerance of slower computing nodes referred to as stragglers. To mitigate the effect of stragglers, one can add redundancy to the distributed data. However, stochastic gradient descent (SGD) is known to perform well even when computing on a part of the data. It is shown that for convex loss functions, a small redundancy or no redundancy at all is enough to guarantee good performance of SGD.
yle="margin: 0px; fontvariantnumeric: normal; fontvarianteastasian: normal; fontstretch: normal; fontsize: 12px; lineheight: normal; fontfamily: 'Helvetica Neue';">
yle="margin: 0px; fontvariantnumeric: normal; fontvarianteastasian: normal; fontstretch: normal; fontsize: 12px; lineheight: normal; fontfamily: 'Helvetica Neue';">In this thesis, we examine the possibility of coding (adding redundancy) over the coordinates rather than coding over the whole data. The goal is to do unequal protection of the coordinates, i.e., give higher protection to the important coordinates that affect the convergence of the algorithm. The goal is to investigate stochastic gradient coordinate descent and check the effect of the redundancy on the convergence. In addition we want to investigate the possibility of ranking the coordinates by importance in order to decide on their unequal protection.
Supervisor:
Adaptive SClike Decoding for Polar and RM codes
Modeling Optical Signal Propagation with a MultiModal Nonlinear Schrödinger Equation
Modeling Optical Signal Propagation with a MultiModal Nonlinear Schrödinger Equation
Description
Modeling Optical Signal Propagation with a MultiModal Nonlinear Schrödinger Equation
Contact
Supervisor:
Modeling Deterministic and Random Linear Crosstalk in Light Waveguides
Channel Estimation with LDPC codes
Channel Estimation with LDPC codes
Description

Prerequisites

Supervisor:
Student
Digital Signal Processing for Continuous Variable Quantum Key Distribution
Digital Signal Processing for Continuous Variable Quantum Key Distribution
Keywords:

Short Description:

Description
Digital Signal Processing for Continuous Variable Quantum Key Distribution is investigated
Supervisor:
Student
Signaling Schemes for Continuous Variable Quantum Key Distribution
Signaling Schemes for Continuous Variable Quantum Key Distribution
Short Description:
Signaling Schemes for Continuous Variable Quantum Key Distribution shall be investigated
Description
Signaling Schemes for Continuous Variable Quantum Key Distribution shall be investigated
Contact
TFehenberger@adva.com
Supervisor:
Student
Asymmetric Shaping for HigherOrder Modulation DirtyPaper Coding using Polar Codes
LearningAided Channel Estimation for Polar Coding
CD Entwickliung (Datenarchitektur) und Datenmodellierung
CD Entwickliung (Datenarchitektur) und Datenmodellierung
Description
The Common Data Environment is a central data platform that supports all the real estate management related processes from the phase of the inception of a building all the way through the whole lifecycle of it. It is a common data platform for all the participant applications, resources and actors in the real estate portfolio management for the whole BMW Group. A special focus is on the seamless data integration between the planning and the operation phase of the real estate management.
The CDE comprises of a set of integrated data storage modules that are providing data to the consumer applications in an organized and controlled manner. The structure of the CDE is given by it’s architecture and the Real Estate Data Model, this latter being the backbone of the communication between the different applications in the real estate IT landscape. A high level data model already exists in the Real Estate department, and it is already integrated in several business processes.
The scope of the project is to further develop the existing data model, to a higher level of detail and enrich it with new data objects. In the second part of the project the architecture of the CDE has to be established to support the different integration uses cases between the CDE and the satellite applications that are contributing with data or are consuming data from this central environment.
Supervisor:
Student
List decoding of Interleaved Goppa Codes
List decoding of Interleaved Goppa Codes
Keywords:
decoding; implementation
Description
Goal: implement a list decoding algorithm for binary interleaved Goppa codes and derive the decoding radius.
Fundalmentals on Goppa codes can be found in [2, Chap 12.3], [3, Chap 2].
Fundalmentals on list decoding can be found in [4, Chap 12], [5, Chap 9].
References:
[1] D. Augot, M. Barbier, and A. Couvreur, “Listdecoding of binary goppa codes up to the binary johnson bound,” in 2011 IEEE Information Theory Workshop, pp. 229–233, Oct 2011.
[2] F. J. MacWilliams and N. J. A. Sloane, The theory of errorcorrecting codes. 1978.
[3] H. Liu, “Decoding of interleaved goppa codes and their applications in codebased cryptosystem,” Master’s thesis, Technical University of Munich, Dec. 2018.
[4] J. Justesen and T. Høholdt, A course in errorcorrecting codes. Z¨urich: European Mathematical Society (EMS), 2004.
[5] R. M. Roth, Introduction to Coding Theory. Cambridge University Press, 2006.
Prerequisites
 Channel Coding
 Linear Algebra
 Programming
Supervisor:
Private, Secure and Flexible Distributed Machine Learning on the Cloud
Private, Secure and Flexible Distributed Machine Learning on the Cloud
Keywords:
Distributed machine learning, straggler mitigation, information theoretic privacy and security
Short Description:
This project aims at finding coding techniques for implementing machine learning algorithms on untrusted devices on the cloud. A key challenge is to adapt to cloud devices, e.g., IoT, is that have different compute power that change with time.
Description
In the era of big data, running learning algorithms on single computing is becoming a bottleneck. Therefore the need of distributing the computation is inevitable. However, the deployment of distributed computing introduces new challenges that, if ignored, may outweigh the benefit of parallelism.
We consider the masterworker topology in which the master needs to run a computation on its data. The master breaks the computation into smaller tasks distributed to processing nodes referred to as workers. The workers run the tasks in parallel. The master combines the results sent back from the workers to obtain its original computation.
However, heterogeneity of the workers' computation power and/or network link properties can slow down the process for some workers. Waiting for the slowest worker is shown to outweigh the effect of parallelism. Moreover, the privacy of the data is concerned since it is shared with external workers. The leakage of the master data can be harmful or even illegal. The master also risks employing an adversarial computing node as a worker, whose goal is to corrupt the whole computation.
Recently, coding theoretic techniques have been used to speed up the computation, guarantee the privacy and security of the distributed computing paradigm under different settings. The setting of interest for this project is one where the workers have different timevarying compute powers. Thus a flexible coding technique is needed. We focus on matrixmatrix multiplication as a building block in several machine learning algorithms.
In this project, we would like to design codes that allow us to overcome all the three challenges for matrixmatrix multiplication (or more types of computation if the time allows). We start by building on the work in https://arxiv.org/abs/2004.12925. The main focus of the project is on the security of the scheme, i.e., robustness against malicious workers trying to corrupt the computation. We aim to implement the designed codes on Google cloud platform, or Amazon Web Services to test their practicality.
Prerequisites
Coding Theory
Information Theory
Linear Algebra
Probability Theory
Programming skills
Selfmotivation
Contact
Marvin Xhemrishi: marvin.xhemrishi@tum.de
Rawad Bitar: rawad.bitar@tum.de
Supervisor:
Regenerating Codes with Locality
Regenerating Codes with Locality
Description
Distributed data storage systems need to be able to tolerate the failure of servers without data loss. To maintain this tolerance, newcomers replace failed servers by downloading the required data from the surviving nodes. This repair process can put severe strain on the system and in recent years several coding theoretic measures have been introduced to mitigate this effect. The most promising approaches are codes with locality, where a small number of surviving nodes suffices for repair in most failure events, and regenerating codes, where the amount of data downloaded for repair is minimized.
This thesis will investigate the combination of advanced constructions of codes with locality and regenerating codes, with the goal of designing codes for storage systems that allow for efficient repair with respect to both, the number of servers involved in repair and the the amount of data downloaded.
Supervisor:
Student
Decoding for HighThroughput Applications
Dynamic Successive Cancellation Flip Decoding of Polar Codes
Product codes with polar component codes
Product codes with polar component codes
Description
The task of the student would be to implement an iterative decoding of a product code composed of polar component codes. S/he should start by regenerating the results from [1]. Then, the work is extended to have improved decoding, which still allow for highthroughput applications, for such product codes. Later, s/he will enhance the code construction tailored to the introduced algoithms to improve the performance. The performance might be compared to the results from [2,3].
[1] https://arxiv.org/pdf/1901.06892.pdf
[2] https://arxiv.org/abs/2008.06938
[3] https://arxiv.org/abs/1908.10397
Prerequisites
The student
 should have taken the Channel Codes for Iterative Decoding, Information Theory and Channel Coding courses.
 should have some experience with programming and should be eager to implement.
Contact
mustafa.coskun@tum.de
Supervisor:
Student
Shaped OnOff Keying using Pulse Position Modulation
Zeroerror capacity for multiuser channels with feedback
Protographbased LDPC Code Design for Finite Number of Iterations
Protographbased LDPC Code Design for Finite Number of Iterations
Description
Lowdensity paritycheck (LDPC) codes are usually designed using an extrinsic information transfer (EXIT) analysis to compute the asymptotic iterative decoding threshold for a given code ensemble. The iterative decoding threshold over an additive white Gaussian noise (AWGN) channel is thereby defined as the minimum signaltonoise ratio (SNR) for which the a posteriori mutual information converges to one as the number of decoding iterations goes to infinity.
For practical applications, however, decoding is often performed using only a small number of iterations. Mulholland et al. investigated a code design for protographbased LDPC codes where the protographbased EXIT (PEXIT) analysis [1] is run for the targeted number of decoding iterations only [2]. They showed that for the binary erasure channel (BEC), the obtained iterationconstrained threshold does not match the bit error rate (BER) threshold of finitelength codes.
In this thesis, the student will understand and reproduce the results from [2], apply these tools to the AWGN channel, and compare them to code design tools developed at the institute.
[1] G. Liva and M. Chiani, “Protograph LDPC codes design based on EXIT analysis,” in Proc. IEEE Global Telecommun. Conf. (GLOBECOM), Nov. 2007, pp. 3250–3254.
[2] I. P. Mulholland, E. Paolini, and M. F. Flanagan, “Design of protographbased LDPC code ensembles with fast convergence properties,” in Proc. Int. ITG Conf. Syst. Commun. Coding (SCC), Feb. 2017, pp. 1–6.
Prerequisites
 Channel codes for iterative decoding
Supervisor:
Student
Forschungspraxis or MSCE Internships
Coded Placement in Coded Caching
Coded Placement in Coded Caching
Keywords:
Coded caching
Description
Coded caching is a study to reduce the transmission delay in broad/multicast by designing the cached data and the transmitting data with coding strategies. There are two phases in coded cahing schemes, placement phase and delivery phase. Coding scheme can be applied in both phase in order to gain in reducing the transmission delay.
Prerequisites
 Linear Algebra
 Basic Programming
 Channel Coding (Recommended)
Contact
Hedongliang Liu Doctoral Researcher Technical University of Munich Department of Electrical and Computer Engineering Coding for Communications and Data Storage (COD) Group Theresienstrasse 90 Building N4, Room 3415A D80333 Munich Phone: +49 89 289 29062 lia.liu@tum.de http://www.lnt.ei.tum.de/en/people/doctoralresearchers/liu/
Supervisor:
Adaptive compute strategies for distributed learning
Adaptive compute strategies for distributed learning
Keywords:
Distributed machine learning, straggler mitigation, adaptive worker selection, adaptive data allocation
Short Description:
We consider the master/server computing model. The goal of this project is to design coding techniques that adaptively assigns computational tasks to the workers. In addition, the technique allows the master node to adaptively choose the number of workers it waits for at every iteration. Both assignment strategy and waiting strategy aim to minimize the time spent on running the machine learning algorithm.
Description
We consider the master/server computing model. A master possesses a large amount of data and wants to run a machine learning algorithm on this data. The master offloads the data to several worker machines to parallelize the computation and reduce the time it takes. If the master waits for all the workers, he is limited by the slowest worker. This is known as the straggler problem.
To mitigate the straggler problem, the master can distribute the data with redundancy to the workers. However, adding redundancy to the workers increases the computing time. On the other hand, stochastic gradient descent is known to converge even if the master does not wait for all the workers per iteration. Therefore, a tradeoff between redundancy, and convergence speed arises.
It is shown that for convex loss functions, the master can assign data without redundancy to the workers and chooses the number of workers to wait for per iteration to minimize the waiting time.
The goal of this project is to have the best of both worlds. More precisely, we want to design coding techniques that potentially change the redundancy of the data in an adaptive manner. In addition, the technique allows the master to adaptively choose the number of workers it waits for at every iteration. Both assignment strategy and waiting strategy aim to minimize the time spent on running the machine learning algorithm.
The coding technique we aim to introduce is tailored to the problem at hand. If communication between the master and workers is fast, e.g., serverless compute service, then changing the redundancy is affordable. Otherwise, in settings such as internet of things and edge computing, the master may want to fix the redundancy a priori to a designed value and choose to adaptively wait for a different number of workers per iterations.
It is expected to program a distributed stochastic gradient descent on Google cloud platform, or Amazon Web Services to validate and/or design our system's parameters.
Prerequisites
Knowledge of coding theory, linear algebra and machine learning
Good programming skills
Selfmotivated and eager to learn
Bonus: knowledge of probability theory and convex optimization
Contact
rawad.bitar@tum.de
https://sites.google.com/site/rawadbitar1
Supervisor:
Coding for binaryadder channel
Coding for binaryadder channel
Description
The student is asked to understand the achievable rates via linear codes for 2user binary adder channel (see, e.g., [1]) for an unsourced scheme [2], i.e., if the codebook for both users are the same. Then, the results should be compared to simulations employing a polar coding scheme [3].
[1] https://ieeexplore.ieee.org/document/1055529
[2] https://ieeexplore.ieee.org/document/8006984
[3] https://ieeexplore.ieee.org/document/6532306
Supervisor:
Student
Successive cancellation inactivation decoding of single paritycheck product codes (and a nontrivial extension to improve finitelength performance)
Successive cancellation inactivation decoding of single paritycheck product codes (and a nontrivial extension to improve finitelength performance)
Description
The task of the student is to implement an efficient successive cancellation (SC) inactivation decoder for single paritycheck product codes, which is (probably) an efficient MAP decoder for such codes over the erasure channels. At the end of the internship, the aim is to assess the MAP performance of very long product codes. Note that this has strong ties with a conjecture that some product codes might be capacityachieving (although we are just after a numerical evidence for now). If the time permits, we consider the modifications to these codes to enable a better finitelength performance. Related literature is below [1,2].
[1] https://arxiv.org/abs/2004.05969
[2] https://arxiv.org/abs/2008.06938
Supervisor:
Student
Group Testing and Information Theory
Group Testing and Information Theory
Keywords:
Group Testing
Short Description:
Use ideas of Information Theory to get new group testing strategies.
Description
The concept of group testing (also called pooled testing or pooling) dates back to mathematical ideas for improving the efficiency of syphilis tests developed by Dorfman in 1943 [Dor43].The idea of Dorfman’s method is to combine portions of k different individual blood samples into onesample in a first stage. If it tested negative then that entire group could be dismissed without further testing. Then, separately retesting the samples of individuals from positive pools in a second stage. Forlow to moderate infection rates, this strategy has a high throughput since most of the group, when chosen wisely, will be declared negative. Naturally, the efficiency of pooling strategies for the current pandemichas been shown to depend on the prevalence of SARSCoV2, patientpool size and test sensitivity. While the sensitivity needs to be understood on an experimental level, the prevalence needs to be estimated from available test results and the pool size should be optimized with Information Theory models before widespread implementation.
Prerequisites
Information Theory
Supervisor:
Student
ErrorCorrection for Partially Stuck Memory Cells
Internships
Absicherung des elektrischen Antriebsstranges
Absicherung des elektrischen Antriebsstranges
Description
.
Supervisor:
Student
Random Fraction Placement in Coded Caching
Random Fraction Placement in Coded Caching
Keywords:
Coded caching; Index Coding
Description
In some communication systems end users are equiped with storages, the communication load during the peak hours can be reduced by having users prefetch part of the content during the scilent hours. Coded caching is a study to design the prefetching without the knowledge of users demands and the delivery scheme based on the users caches. However, many current schemes are facing the subpacketization problem in order to achieve the optimal load.
Prerequisites
 Basic programming
Supervisor:
Erweiterung der Agabiz App um eine automatisierte StandortErmittlung und Fahrtzeitkontrolle mit Hilfe von iBeacon/BluetoothTechnologie
Umsetzung einer frequenzselektiven IQImbalanz Korrektur für OFDM Direct Conversion Receiver
translation of coded modulation library from Matlab/C into julia
translation of coded modulation library from Matlab/C into julia
Keywords:
Matlab, C, C++, julia
Short Description:
It is the students task to translate function from MATLAB and C into julia language.
Description
the students should translate functions from Matlab and C to julia. the functions involve calculation of infomation theoretic quantities to basic function of a discrete time transmission chain.
The students task is to learn julia and matlab to a extend that the translation from one to the other language is possible. We furthermore expect the student to learn how to use git and gitlab for managing larger projects.
Prerequisites
basic programming knowledge