Kodér a dekodér Hammingova kódu (7,4)

Autor: Pavel Lipenský, xlipen00, VTI23

Použitá literatura: Doc. Ing. Vladimír Drábek, CSc: Výstavba počítačů, PC-DIR, 1995


Popis

Nejznámější SEC (Single-Error Correction) opravný kód, definovaný podle níže uvedené generující matice. Je-li index i mocninou dvojky, jedná se o kontrolní bit (C1, C2, C4), v ostatních případech jde o bity informační (I3, I5, I6, I7). Rozmístění symbolů x (odpovídá principu binárního logaritmického vyhledávání) je popsáno generujícími rovnicemi, které definují výpočet (způsob doplňování) kontrolních bitů.

Generující matice
i1234567
C1C2I3C4I5I6I7
1x x x x
2 xx  xx
4   xxxx
Generující rovnice
C1 = I3 xor I5 xor I7
C2 = I3 xor I6 xor I7
C4 = I5 xor I6 xor I7
Kontrolní rovnice
S1 = C1 xor I3 xor I5 xor I7 = 0
S2 = C2 xor I3 xor I6 xor I7 = 0
S4 = C4 xor I5 xor I6 xor I7 = 0

Výpočtem kontrolních rovnic pro kódová (správná) slova dostaneme nulové hodnoty S4, S2, S1. Pro nekódová slova, která vzniknou jednobitovou chybou z kódových slov, vyjdou výpočtem nenulové hodnoty zvané syndrom jednoduché chyby. Syndrom binárně udává index i chybného bitu. Změnou hodnoty tohoto bitu na opačnou lze pak chybu opravit.

Při vícenásobné chybě dekodér obecně selhává a syndrom chyby udává nesprávnou pozici.

Logické schema

Logické schema

Implementace

Vstupní slovo
bit1 bit2 bit3 bit4
Hammingův kód
C1 C2 I3 C4 I5 I6 I7
Výstupní slovo
bit1 bit2 bit3 bit4