Skip to main content

Vad är en Hamming -kod?

En Hamming -kod är en metod för att upptäcka och korrigera fel i en binär växellåda.Det gör det genom att inkludera ytterligare binära siffror i sekvensen som används för kontroll, liksom en algoritm som ger detektionslogiken.En sådan kod kan hitta två fel i någon sekvens av bitar och reparera en bit som kan vara felaktig.Den mest refererade Hamming -koden kallas Hamming (7,4), där de fyra indikerar det ursprungliga antalet startbitar och de sju representerar det totala antalet bitar i sekvensen efter de ytterligare kontrollbitarna har inkluderats.

Tekniken fick sitt namn från sin skapare, Richard Hamming, som publicerade metoden 1950. Hur Hamming -koden fungerar är genom att ta en rad bitar och infoga ytterligare kontrollbitar, kallad paritetsbitar, i sekvensen.Kontrollbitarna injiceras alltid i en position som är en kraft på två, så att valfritt antal bitar kan verifieras genom att inkludera ytterligare paritetsbitar.Detta kan fortsätta tills den sista paritetsbiten som läggs till i sekvensen är i en position som är en kraft på två som är mindre än eller lika med den slutliga positionen i sekvensen.

Med alla paritetsbitar på plats, de återstående positionernaär de faktiska databitarna.Med tanke på det fyra-bitars exemplet, skulle bitpositioner ett, två och fyra vara paritetsbitarna, medan positionerna tre, fem, sex och sju är uppgifterna.När denna sekvens har upprättats går logiken i Hamming -koden till jobbet.

I en Hamming -kod används var och en av paritetsbitarna som har lagts till i sekvensen för att kontrollera några av bitpositionerna de är nära,inklusive sig själva.Paritetsbiten i position en kontrollerar varannan bitposition, vilket i huvudsak är varje udda numrerad position i sekvensen.Den andra paritetsbiten, i position två, kontrollerar positioner två och tre, hoppar sedan över två positioner, kontrollerar ytterligare två positioner, hoppar över två till, och så vidare.Om det finns en paritetsbit i position fyra, fungerar den på samma sätt genom att den kontrollerar positioner fyra till sju, hoppar sedan över fyra positioner, kontrollerar fyra till och framåt.Varje paritetsbit i sekvensen fortsätter på detta sätt under hela sekvensen.

Processen genom vilken en Hamming -kod upptäcker och korrigerar ett fel är genom att lägga till bitarna i kontrollsekvensen för varje paritetskontroll, som var och en måste komma utett jämnt antal.Med tanke på det sju-bitars exemplet, för den första paritetskontrollen, läggs bitar en, tre, fem och sju till.Om det totala är ett jämnt antal, checkar pariteten ut, men om det totala är udda, finns det ett fel.Sedan paritetskontrollerna överlappar varandra kommer två sådana fel att dyka upp.När tvåparitetsbitpositionerna som inte kommer med till och med totaler läggs samman kommer det att avslöja den bit som måste korrigeras.

I exemplet på sju-bitars Hamming Code, anser att biten i position nummer fem är felaktig.Summan av bitarna i position en, tre, fem och sju kommer ut som ett udda nummer, liksom summan av bitarna i positioner fyra till sju.Detta indikerar att paritetskontroller för kontrollbitarna i position en och fyra misslyckades.När en och fyra läggs samman är summan fem, vilket är positionen för felaktig bit i överföringen som måste korrigeras.