Coding Theory for Storage and Networks

Vortragende/r (Mitwirkende/r)
Nummer0000004339
ArtVorlesung
Umfang2 SWS
SemesterSommersemester 2019
UnterrichtsspracheEnglisch
Stellung in StudienplänenSiehe TUMonline
TermineSiehe TUMonline

Termine

Teilnahmekriterien & Anmeldung

Lernziele

Am Ende der Lehrveranstaltung sind die Studierenden in der Lage - aktuelle Anwendungsbereiche der Codierungstheorie zu nennen, - für die in der Vorlesung behandelten Anwendungen ein passendes Codierungsschema auszuwählen, die Parameter anzupassen, es zu evaluieren und in Software zu implementieren. - für ein gegebenes bekanntes Codierschema und eine gegebene Anwendung die Korrekturfähigkeit und Grenzen zu beurteilen, auch im Vergleich zu klassischen fehlerkorrigierenden Codes. - nicht in der Vorlesung behandelte Codierschemata nach entsprechender Literaturrecherche zu verstehen.

Beschreibung

- Decodierung von Reed-Solomon Codes über die halbe Mindestdistanz: Listendecodierung, Power-Decodierung. - Interleaved Reed-Solomon Codes und Algorithmen zur Burst-Fehler-Korrektur. - Network Coding: Rang-Metrik Codes, Untervektorraum Codes, Anwendung zur Fehlerkorrektur in Netzwerken. - Codierung für Flash Speichermedien: Write-Once-Memory Codes, Codierung von defekten Speicherzellen. - Codierung für verteilte Datenspeicher: Locally Repairable Codes, Regenerating Codes. - Codes zur Korrektur von Insertions und Deletions.

Inhaltliche Voraussetzungen

- Mathematische Grundkenntnisse (vor allem lineare Algebra). - Für das Praktikum: Grundkenntnisse in Python oder einer anderen Programmiersprache. - Der vorherige Besuch der Vorlesung "Channel Coding" wird empfohlen.

Lehr- und Lernmethoden

Vorlesung mit integriertem Praktikum VL: Die notwendigen theoretischen Inhalte werden im Vortrag vermittelt (mit Folienpräsentation und Tafelanschrieb) und durch kurze Beispiele veranschaulicht. Die Studierenden sind zur Diskussion der Inhalte angehalten und werden mit zahlreichen Zwischenfragen zur Beteiligung motiviert. P: In einem begleitenden Praktikum werden die Inhalte der Vorlesung in sagemath (Python) umgesetzt. Hierzu werden Praktikumsanleitungen gestellt, welche zunächst vorgestellt und erklärt werden. Die Studierenden sollen anschließend eigenständig (in Zweier-Teams), mit Begleitung der Praktikumsbetreuer, die Programmieraufgaben umsetzen. Nach Fertigstellung des Versuches erfolgt eine Besprechung jedes Teams mit einem Betreuer.

Studien-, Prüfungsleistung

Die Studierenden können einen Bericht über zwei der Praktikumsversuche abgeben. Wenn dieser positiv bewertet wird, bekommen diese Studierenden einen 0,3-Notenbonus. Das Verfassen dieses Berichts erfordert zunächst, die Inhalte der Vorlesung unter Verwendung von MATLAB im Praktikum anzuwenden und die Ergebnisse zweier Praktikumsversuche verständlich zu dokumentieren. In einer schriftlichen Prüfung über den Inhalt der Vorlesung demonstrieren die Studierenden ihr Verständnis der vorgetragenen Codierungschemata und der behandelten Anwendungen. Sie zeigen ferner ohne Rückgriff auf Hilfmittel, dass sie für die entsprechenden Anwendungen (Network coding, distributed data storage, flash memories) Codeklassen evaluieren und designen können. Die Modulnote ist somit die Note der schriftlichen Prüfung über die Vorlesung minus dem eventuellen Notenbonus von 0,3.

Links