Overordnede kursusmål
At give en indføring i kodning i kommunikationssystemer og
cyberteknologi:
- Fejlkorrigerende kodning for transmissionskanaler
- Kodning af informationskilder for datakompression
- Kryptering af information for at sikre indholdet.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- forklare lineære blokkoder og deres vigtigste egenskaber
- forklare og anvende kodere og dekodere for almindelige
blokkoder som Hamming, BCH og RS
- forklare foldningskoder og deres vigtigste egenskaber
- beskrive og anvende Viterbi algoritmen for foldningskoder
- simulere kodningssystemer
- genkende entropibegrebet
- udføre Huffman kodning af simple informationskilder
- forstå anvendelsen af prædiktion i kildekodning
- forstå de vigtigste elementer i kodning af billeder og video
(JPEG, MPEG) og kunne anvende og indstille sådanne kodere
- forklare udvalgte klassiske krypteringsmetoder
Kursusindhold
Moderne kommunikations- og cyber systemer anvender en eller flere
former for kodning og det er målet med dette kursus at give en
indføring i sådanne kodningssystemer. Dette kursus har et
anvendelsesperspektiv understøttet af praktiske øvelser og
projekter der kan udføres med MATLAB og evt. Python. Teorierne bag
kodningsmetoder indeholder stor dybde og de behandles i en række
DTU kurser. Kurset omfatter følgende emner:
• Kanalkodning (fejlkorrektion)
- Lineære blokkoder: Principper. Hamming, RS og BCH på brugerniveau
- Foldningskoder: Kodning og dekodning (Viterbi)
• Kildekodning (datakompression)
- Entropibegrebet
- Huffman-kodning
- Anvendelse af lineær prædiktion af signaler
- Video- og billedkodning
- MPEG og JPEG
• Kryptering (sikring og beskyttelse af information)
- Klassiske blok-krypteringssystemer
- McEliece's krypto-system
Kursets forelæsninger anvender detaljerede slides som er det
væsentligste undervisningsmateriale. Til hver forelæsning er
knyttet en eller flere øvelser, hvor der skal afleveres en rapport
for nogle af emnerne. Øvelserne kræver som regel programmering i
MATLAB og ofte anvendelse af værktøjer fra MATLABs toolboxes. Til
slut udarbejdes en rapport over et mindre projekt med selvvalgt
emne.
Bemærkninger
Kurset er grundlæggende og der tilbydes mange videregående kurser i
disse emner.
Det forudsættes at de studerende selv medbringer en laptop-computer
og har adgang til programmering i MATLAB, Python eller C/C++.
Sidst opdateret
29. april, 2021