Indføre de studerende i teori for foldningskoder og deres anvendelser. Endvidere indføring i nyere iterative dekodningsmetoder for avancerede kodningssystemer (fx turbo-koder).
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
forklare foldningskoder og deres egenskaber
forklare relation mellem foldningskoder og blokkoder
udregne vægtfordelinger og grænser for fejlsandsynligheder
implementere Viterbi algoritmen for hårde og bløde beslutninger
vælge og tilpasse foldningskoder til anvendelser
forklare turbo-kode systemet
forklare relationen mellem dekodning af en turbo-kode og belief propagation algoritmen
implementere en avanceret iterativ dekoder
simulere foldningskoder og iterative algoritmer
læse moderne litteratur om avancerede kodningssystemer med iterativ dekodning
Kursusindhold:
Foldningskoder er fejlkorrigerende koder med en meget stor udbredelse i moderne kommunikationssystemer såsom mobilkommunikation, satellitkommunikation og digitalt TV. Kurset omfatter følgende emner: - Definition af foldningskoder med hastighed 1/n ved tilstandsformulering. - Afstandsbegreber og relation til blokkoder. - Viterbi algoritmen (dynamisk programmering). - Grænser for fejlsandsynligheder. - Simulering af dekodning i gaussisk støj. - Punktering og hastighed k/n koder. - Eksempler på anvendelser. - Turbo-kode systemet. - Dekodning af turbo-koder. - Belief propagation algoritmen.
Kurset indeholder dels forelæsninger med øvelser og dels to obligatoriske projekter (Viterbi dekoder og simulering af et avanceret kodningssystem).
Bemærkninger:
Det forudsættes at de studerende selv medbringer en laptop-computer og har adgang til programmering i MATLAB eller C.