Kaj je Hammingova koda?

Hammingova koda je metoda za odkrivanje in popravljanje napak v binarnem prenosu. To naredi z vključitvijo dodatnih binarnih števk v zaporedje, ki se uporablja za preverjanje, kot tudi z algoritmom, ki zagotavlja logiko odkrivanja. Takšna koda je sposobna najti dve napaki v katerem koli zaporedju bitov in popraviti en bit, ki je morda napačen. Najpogosteje sklicevana Hammingova koda je znana kot Hamming (7,4), kjer štiri označuje izvirno število začetnih bitov, sedem pa skupno število bitov v zaporedju po vključitvi dodatnih kontrolnih bitov.

Tehnika je dobila ime po njenem ustvarjalcu Richardu Hammingu, ki je metodo objavil leta 1950. Hammingova koda deluje tako, da vzame niz bitov in v zaporedje vstavi dodatne kontrolne bite, imenovane paritetni bit. Preverjevalni biti se vedno vbrizgajo na položaj, ki je potenca dveh, tako da je mogoče poljubno število bitov preveriti z vključitvijo dodatnih bitov parnosti. To se lahko nadaljuje, dokler zadnji paritetni bit, dodan v zaporedje, ni v položaju, ki je potenca dvojke, ki je manjša ali enaka končnemu položaju v zaporedju.

Ko so vsi paritetni biti na mestu, so preostali položaji dejanski podatkovni biti. Glede na štiri-bitni primer bi bili položaji bitov ena, dva in štiri parnostni biti, medtem ko so pozicije tri, pet, šest in sedem podatki. Ko je to zaporedje vzpostavljeno, začne logika Hammingove kode delovati.

V Hammingovi kodi se vsak od paritetnih bitov, ki so bili dodani zaporedju, uporablja za preverjanje nekaterih položajev bitov, ki so jim blizu, vključno z njimi samimi. Paritetni bit v položaju ena preverja vsak drugi položaj bita, ki je v bistvu vsak lih položaj v zaporedju. Drugi bit parnosti, na položaju dva, preveri položaje dva in tri, nato preskoči dva položaja, preveri še dva položaja, preskoči še dva itd. Če je parnostni bit na položaju štiri, deluje podobno, saj preveri položaje od četrtega do sedmega, nato preskoči štiri pozicije, preveri še štiri in naprej. Vsak parnostni bit v zaporedju se nadaljuje na ta način skozi celotno zaporedje.

Postopek, s katerim Hammingova koda zazna in popravi napako, je tako, da sešteje bite v zaporedju preverjanja za vsako preverjanje parnosti, od katerih mora vsak dobiti sodo število. Glede na sedembitni primer se za prvo preverjanje parnosti seštejejo prvi, tri, pet in sedem bitov. Če je vsota sodo število, se parnost preveri, če pa je vsota liha, potem pride do napake. Ker se preverjanja parnosti prekrivajo, se bosta prikazali dve takšni napaki. Ko se seštejejo položaji dvoparitetnih bitov, ki ne dosežejo enakih vsot, bo razkril bit, ki ga je treba popraviti.

V primeru sedembitne Hammingove kode upoštevajte, da je bit na položaju številka pet napačen. Vsota bitov na pozicijah ena, tri, pet in sedem bo izšla kot liho število, prav tako vsota bitov na pozicijah od štiri do sedem. To pomeni, da preverjanje parnosti za kontrolne bite na pozicijah ena in štiri ni uspelo. Ko seštejeta ena in štiri, je skupno pet, kar je položaj za napačen bit v prenosu, ki ga je treba popraviti.