Ako vypočítať Hammingov kód

Autor: Robert White
Dátum Stvorenia: 3 August 2021
Dátum Aktualizácie: 10 Smieť 2024
Anonim
Ako vypočítať Hammingov kód - Elektronika
Ako vypočítať Hammingov kód - Elektronika

Obsah

Hammingove kódy sa používajú na vkladanie informácií o oprave chýb do dátových tokov. Kódy sú navrhnuté tak, aby sa chyba nielen zistila, ale aj opravila. Pridanie informácií o oprave chyby zvyšuje množstvo dát, ale tiež zvyšuje spoľahlivosť komunikácie cez médiá s vysokou chybovosťou.

Hammingovo kódovanie môže byť komplikované pri implementácii, ale dá sa to urobiť veľmi rýchlo pomocou aritmetických trikov na bitovej úrovni. To umožňuje vytvorenie užitočného a vysokorýchlostného systému korekcie chýb, ktorý sa bude používať vo vstavaných aplikáciách.

Krok 1

Vytvorte údajové slovo. Akýkoľvek bit s pozíciou, ktorá je silou dvoch (prvý, druhý, štvrtý atď.), Musí byť vyhradený pre paritné informácie. Používajte tak dlho, ako je to potrebné na to, aby slovo malo pôvodné údaje a paritné bity.


Príklad:

1 1 0 1 0 0 1 0 sa stáva _ _ 1 _ 1 0 1 _ 0 0 1 0

Pôvodné bity zostávajú v rovnakom poradí, ale boli rozložené na vloženie paritných bitov.

Krok 2

Vypočítajte prvý paritný bit. Počnúc prvým bitom sa bit trochu načíta, potom sa bit trochu preskočí a postup sa opakuje až do konca. Medzitým sa počíta počet nájdených. Paritné bity sa do tohto procesu nezapočítavajú.

Ak je počet párnych párov, nastavte prvý bit na nulu. V opačnom prípade nastavte jeden.

Príklad:

Bity 1, 3, 5, 7, 9 a 11 z _ _ 1 _ 1 0 1 _ 0 0 1 0, _11101, obsahujú štyri. Je to párne, takže prvý bit je nastavený na nulu: 0 _ 1 _ 1 0 1 _ 0 0 1 0

Krok 3

Vypočítajte zostávajúce paritné bity. Počnúc druhým bitom sa načítajú dva bity, potom sa dva bity preskočia a postup sa opakuje až do konca. Štvrtý bit číta štyri bity, preskočí ďalšie štyri, počnúc bitom štyri. Rovnaký vzor nasleduje všetky paritné bity, kým sa nevypočítajú všetky.


Príklad:

Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 kontroluje _1, 01, 01, ktoré obsahujú tri, takže bit 2 je nastavený na jednu. Bit 4: _ 0 1 1 1 0 1 _ 0 0 1 0 kontroluje _101, 0, ktorý obsahuje dva, takže bit 4 je nastavený na nulu. Bit 8: 0 1 1 0 1 0 1 _ 0 0 1 0 kontroluje _0010, ktorý obsahuje iba jeden, takže bit 8 je nastavený na jednu.

Slovo je preto kódované ako 011010110010.

Krok 4

Potvrďte slovo. Ak je slovo poškodené, paritné bity sa nezhodujú s očakávaním. Na potvrdenie, že slovo nie je poškodené, stačí pomocou krokov 2 a 3 vypočítať paritné bity. Ak bity nie sú rovnaké, zaznamenajte ich polohy.

Krok 5

Opravte nesprávny bit. Ak nájdete nesprávne paritné bity, jednoducho pridajte polohy bitov. Celková hodnota je pozícia nesprávneho bitu. V tejto polohe zmeňte bitovú hodnotu.

Napríklad ak sú nesprávne paritné bity jedna a štyri, zmenou hodnoty piateho bitu chybu opravíte.