Teoria informacji i kodowania
Ćwiczenia
Piotr Chołda
Katedra Telekomunikacji Akademii Górniczo-Hutniczej
Plan prezentacji
1 Zaawansowane kody liniowe (modyfikacje, łączone,
iterowane, R-M, wielomianowe)
Katedra Telekomunikacji AGH 2/18
Plan prezentacji
1 Zaawansowane kody liniowe (modyfikacje, łączone,
iterowane, R-M, wielomianowe)
Katedra Telekomunikacji AGH 3/18
Podstawowe modyfikacje kodów liniowych
(n, k, dmin)
Wydłużanie (lengthening) kodu
Idea: dodanie pozycji informacyjnej.
Jeśli G jest w postaci kanonicznej: dodanie kolumny i wiersza
o tym samym numerze; dodanie kolumny do H.
kLe = k + 1.
nLe = n + 1.
dminLe ≤ dmin.
Operacja odwrotna: skracanie (shortening) — w celu
zaoszczędzenia zasobów.
Katedra Telekomunikacji AGH 4/18
Podstawowe modyfikacje kodów liniowych
(n, k, dmin) cd.
Rozszerzanie (extending) kodu
Idea: dodanie pozycji kontrolnych (w celu polepszenia
właściwości detekcyjno-korekcyjnych).
Dodanie nowej kolumny w G oraz nowego wiersza i nowej
kolumny w H.
nEt = n + 1.
kEt = k.
dminEt ≥ dmin.
Operacja odwrotna: przebijanie (puncturing).
Katedra Telekomunikacji AGH 5/18
Podstawowe modyfikacje kodów liniowych
(n, k, dmin) cd.
Powiększanie (augmenting) kodu
Idea: dodanie nowych słów kodowych (w celach
oszczędnościowych).
Dodanie nowego wiersza w G oraz usunięcie wiersza w H wraz
ze zmianą kolumny o numerze usuniętego wiersza (jeśli H jest
w postaci kanonicznej) — tzn. jedna z pozycji kontrolnych
zaczyna być używana jako pozycja przenosząca informację.
nAu = n.
kAu = k + 1.
dminAu ≤ dmin.
Operacja odwrotna: okrajanie (expurgating).
Katedra Telekomunikacji AGH 6/18
Podstawowe modyfikacje kodów liniowych
Podsumowanie
Modyfikacja nmod kmod dminmod
Wydłużanie nLe ↑ kLe ↑ dminLe ↓
Skracanie nSh ↓ kSh ↓ dminSh ↑
Rozszerzanie nEt ↑ kEt dminEt ↑
Przebijanie nPu ↓ kPu dminPu ↓
Powiększanie nAu kAu ↑ dminAu ↓
Okrajanie nEp kEp ↓ dminEp ↑
Katedra Telekomunikacji AGH 7/18
Kody łączone
Generowanie kodu łączonego
Potrzebne jest m kodów o tym samym parametrze k — (ni , k)
dla kodu i (niekoniecznie systematycznego czy rozdzielnego).
Słowo kodowe kodu łączonego jest tworzone przez złożenie
(zestawienie bit po bicie) m słów kodowych (każde
pochodzące z innego kodu wyjściowego (ni , k)), ale
kodujących ten sam ciąg informacyjny u.
Parametry kodów łączonych
n = i ni .
k = ki , ponieważ k1 = k2 = · · · = ki = . . . .
dmin = i dmini .
Katedra Telekomunikacji AGH 8/18
Kody łączone cd.
Przykład
m = 2,
kod A — (5, 2), kod B — (6, 2),
n = 11, k = 2.
Jakie jest słowo kodowe kodujące ciąg informacyjny u = 11 w
kodzie łączonym otrzymanym z kodów A i B?
W kodzie A ciąg informacyjny u = 11 jest kodowany np. jako
11 |000,
u
W kodzie B ciąg informacyjny u = 11 jest kodowany np. jako
101| 11 |0,
u
Więc: w kodzie łączonym ciąg informacyjny u = 11 zostanie
zakodowany słowem kodowym 11000101110.
Katedra Telekomunikacji AGH 9/18
Kody iterowane
Generowanie kodu iterowanego
Potrzebne jest m kodów o niekoniecznie identycznych
parametrach (ni , ki ), i = 1, 2, . . . , m, kody powinny być
rozdzielne (da się odróżnić pozycje informacyjne i kontrolne).
Słowo kodowe kodu iterowanego jest tworzone przez
konstrukcję macierzy dla m = 2, lub macierzy
wielowymiarowych dla m ≥ 3.
Symbole informacyjne w słowie kodowym są określone przez
ciąg informacyjny u (o długości k1 × k2 × . . . ), która ma być
wysłana za pomocą kodu iterowanego; symbole kontrolne są
generowane zgodnie z zasadą wyliczania bitów kontrolnych dla
kodu i na podstawie ui , tj. podzbiorów ciągów informacyjnych
u związanych z wymiarem i macierzy.
Katedra Telekomunikacji AGH 10/18
Kody iterowane cd.
Parametry kodów iterowanych
n = i ni .
k = i ki .
dmin = i dmini .
Katedra Telekomunikacji AGH 11/18
Kody iterowane cd.
Przykład
m = 2,
kod A — (3, 2) & kod B — (4, 3) ⇒ n = 12, k = 6.
Jakie jest słowo kodowe kodujące ciąg informacyjny u = 000110 w
kodzie iterowanym otrzymanym z kodów A i B?
W kodzie A ciąg informacyjny 00 jest kodowany np. jako
00|0, 01 np. jako 01|1, 10 np. jako 10|1, i 11 np. jako 11|0;
W kodzie B ciąg informacyjny 001 jest kodowany np. jako
001|1, i 010 np. jako 010|1;
Zatem: 0 0 0
0 1 1 ⇒ 000|011|101|110
0 1
1
110
Katedra Telekomunikacji AGH 12/18
Kody Reeda-Mullera
Kody Reeda-Mullera
Kody R-M są definiowane za pomocą dwóch parametrów
[m, l]:
rząd kodu l,
pewna liczba m > l.
Przy tłumaczeniu na notację standardową (n, k):
n = 2m;
l m
i
k= ;
i =0 m m
n−k = m (ponieważ 2m = (1 + 1)m = m ).
i i
i =l +1 i =0
Katedra Telekomunikacji AGH 13/18
Kody Reeda-Mullera cd.
Minimalna odległość Hamminga dla kodów Reeda-Mullera
Dla kodu [m, l]-RM zachodzi:
dmin = 2m−l .
Katedra Telekomunikacji AGH 14/18
Kody wielomianowe
Kod wielomianowy
Kod wielomianowy (n, k) charakteryzuje się co najmniej dwoma
właściwościami:
Ma wielomian generujący:
g (x ) = x n−k + gn−k−1x n−k−1 + · · · + g1x + 1,
reprezentujący sekwencję binarną:
g = 1 gn−k−1 . . . g1 1,
n−k+1 pozycji
gdzie: gn−k−1, . . . , g1 ∈ {0, 1}.
Każde słowo kodowe, przedstawione jako wielomian, jest
podzielne przez g (x).
Katedra Telekomunikacji AGH 15/18
Kody wielomianowe niesystematyczne i
systematyczne
Kody niesystematyczne i systematyczne o tych samych
wielomianach generujących to te same zbiory słów kodowych —
czyli te same podprzestrzenie liniowe — ale z innym przypisaniem
ciągom informacyjnym słów kodowych (kody ekwiwalentne).
Ciąg informacyjny reprezentujemy jako:
u(x ) = uk−1x k−1 + · · · + u0.
Ciąg kodowy odpowiadający u(x) w k. niesystematycznym
u(x)g (x).
Ciąg kodowy odpowiadający u(x) w k. systematycznym
u(x)xn−k + r u(x )x n−k .
g (x)
Katedra Telekomunikacji AGH 16/18
Macierze generujące kodów
wielomianowych
Kod niesystematyczny
g 00 . . . 0
g (x)xk−1 k−1 pozycji
k −2 0g 0 . . . 0
g (x )x
k−2 pozycji
...
g (x)x2
= ...
=
Gk ×n =
0 . . . 0 g0
g (x)x
k−2 pozycji
g (x)
00 . . . 0 g
k−1 pozycji
1 gn−k−1 . . . g1 1 0 . . . . . . 0
0 1 gn−k−1 . . . g1 1 0 . . . 0
... ... ... ... ... ... ... ... ...
00 . . . . . . . . . . . . . . . g1 1
Katedra Telekomunikacji AGH 17/18
Macierze generujące kodów
wielomianowych
Kod systematyczny
x n−1
x n−1 + r g (x)
x n−2
g (x)
x n−2 + r
x n−k+2
g (x)
...
+r
Gk ×n = [Ik |PT ] =
n−k +2
x
n−k +1 + r x n−k+1
x
g (x)
g (x)
Katedra Telekomunikacji AGH 18/18