Jak vypočítat kód Hammingu

Hammingové kódy se snadno implementují a často se používají k opravě chyb.

Krok 1

Vytvořte datové slovo. Každý bit s pozicí, která je síla dvou (první, druhý, čtvrtý atd.) Musí být vyhrazena pro paritní informace. Použijte délku slova, které potřebujete přizpůsobit zdrojům dat a bitům parity.

Například:

1 1 0 1 0 0 1 0 se stává _ _ 1 _ 1 0 1 _ 0 0 1 0

Bity zůstávají ve stejném pořadí, ale byly rozšířeny tak, aby vyhovovaly paritním bitům.

Krok 2

Nejprve vypočtete bit parity. Počínaje prvním bitem, přečtěte si trochu, potom trochu přeskočte a operaci zopakujte a počítat počet nalezených. Paritní bity se počítají jako nuly.

Pokud je počet jednotek rovnoměrný, zadejte první bit jako nulu. V opačném případě ji dejte jako jeden.

Například:

Bity 1, 3, 5, 7, 9 a 11 z __ 1 _ 1 0 1 _ 0 0 1 0, _11101 obsahují čtyři. To je vyrovnané, takže první bit je nastaven na nulu: 0 _ 1 _ 1 0 1 _ 0 0 1 0.

Krok 3

Vypočtěte zbývající paritní bity. Bit č. 2 čte dva bity z druhého kousek, pak skočí dva a opakuje. Bit čtyři čte čtyři bity, pak skoky čtyři a začíná bit čtyř. Pokračujte v tomto vzoru, dokud nejsou k výpočtu žádné parity.

Například:

Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 revize _1, 01, 01, která obsahuje 3, takže bit 2 je nastaven na 1. Bit 4: 0 1 1 _ 1 0 1 _ 0 0 1 0 revize _101, 0, která obsahuje 2, takže bit 4 je nastaven na 0. Bit 8: 0 1 1 0 1 0 1 _ 0 0 1 0 revize _0010, s pouze jedním, nastavený bit 8 jako 1

Kódované slovo je tedy 011010110010.

Krok 4

Potvrďte slovo. Pokud je slovo poškozeno, paritní bity neodpovídají očekávanému. Chcete-li potvrdit, že slovo není poškozeno, stačí vypočítat paritní bity se dvěma a třemi kroky. Pokud se některý z bitů neshoduje, zaregistrujte své pozice.

Krok 5

Opravte špatný bit. Pokud zjistíte nesprávné paritní bity, stačí přidat pozice bitů. Součtem je pozice nesprávného bitu. Přesuňte hodnotu bitů v této pozici.

Například pokud parity bitů jedna a čtyři jsou nesprávné, přepnout hodnotu pátého pátého bitu opravit chybu.