User Tools

Site Tools


tanszek:oktatas:infrendalapjai_architekturak:informacio_ellenorzes:hamming_algoritmus

1 bites hibajavítás

Ha 16 biten akarunk kódvédelmet és kódjavítást elérni, akkor 5 paritásbitet használunk. Az előző részben bemutatott táblázat alapján.

A biteket nem 0-val, hanem 1-gyel kezdődően sorszámozzuk, a legkisebb helyértékű az 1-es sorszámú lesz.

Fontos: Minden olyan bit paritásbit lesz, amelynek sorszám a 2 hatványa, a többi pedig adatbit.

Minden paritásbit meghatározott bitpozíciókat ellenőriz a paritásbit értékét úgy állítjuk be, hogy az ellenőrzött pozíciókon lévő 1-esek szám a páros legyen. Az egyes paritásbitek által ellenőrzött bitpozíciók a következők: (A sorok a paritásbitet az oszlopok a bitpozíciókat jelentik)

p1 = 1. bit13579111315171921
p2 = 2. bit2367101114151819
p3 = 4. bit4567121314152021
p4 = 8. bit89101112131415
p5 = 16. bit161718192021

A táblázat azt fejezi ki, hogy egy adott számot melyik helyiértéken (bit-en) lévő 1-esek fejezik ki. Pl. az 5-ös az 1. és a 3. bithez tartozik. A 7-es esetén az 1., 2., 3. bit egyes.

Más szóval az első sorban azok a számok vannak, aminek bináris alakjában az első bit 1.es. A második sorban azok a számok vannak, amelyek bináris alakjában (felírásakor) a 2. bit 1-es. Így tovább…

Az algoritmust működés közben egy példán mutatjuk be. Legyen a kódszavunk a 16 bites:

1111000010101110

A parításbitekkel betoldva így fog kinézni:

sorszám123456789101112131415161718192021
p1p21p3111p40000101p501110

p1 = 0, p2 = 0, p3 = 0, p4 = 0, p5 = 1

Tehát, behelyettesítve:

001011100000101101110

Tegyük fel, hogy az üzenetben egy hiba miatt az 5. bit elromlik. Az 5. bit miatt az első és a harmadik paritásbit hibás értéket fog adni, a többi viszont nem, mert azok nem számolnak az ötödik helyi értéken tárolt bittel. Az első és harmadik paritásbit közös helyi értékei: 5, 7, 13, 15, 21. Ezek között kell lenni a hibásnak!

Viszont ebből a 7, 13, 15, 21 a jó paritásbitek sorában is szerepelnek, ezért azok biztosan jók → következésképpen csak az 5. bit marad, ami hibás.

tanszek/oktatas/infrendalapjai_architekturak/informacio_ellenorzes/hamming_algoritmus.txt · Last modified: 2024/11/13 16:51 by knehez