Overordnede kursusmål
At give en indføring i kodning i kommunikationssystemer og
cyberteknologi:
- Fejlkorrigerende kodning for kommunikationskanaler
- 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 Python eller MATLAB. Teorierne bag
kodningsmetoder indeholder stor dybde og de behandles i en række
efterfølgende 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. Øvelserne kræver som regel
programmering i Python (eller MATLAB hvis du foretrækker det). 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 Python, MATLAB, eller C/C++.
Sidst opdateret
02. maj, 2024