Hvad er en Hamming -kode?
En Hamming -kode er en metode til at detektere og korrigere fejl i en binær transmission. Det gør det gennem inkludering af yderligere binære cifre i den sekvens, der bruges til kontrol, samt en algoritme, der giver detektionslogikken. En sådan kode er i stand til at finde to fejl i enhver række af bits og reparere en smule, der kan være forkert. The most commonly referenced Hamming code is known as the Hamming(7,4), where the four indicates the original number of starting bits and the seven represents the total number of bits in the sequence after the additional checking bits have been included.
The technique got its name from its creator, Richard Hamming, who published the method in 1950. The way the Hamming code works is by taking a string of bits and inserting additional checking bits, referred to som paritetsbits ind i sekvensen. Kontrolbiterne injiceres altid i en position, der er en magt på to, så ethvert antal bits kan verificeres ved inkl.ding yderligere paritetsbits. Dette kan fortsætte, indtil den sidste paritetsbit, der er tilføjet til sekvensen, er i en position, der er en magt på to, der er mindre end eller lig med den endelige position i sekvensen.
Med alle paritetsbits på plads er de resterende positioner de faktiske databits. I betragtning af det fire-bit eksempel placerer bit, bit, to og fire paritetsbits, mens positioner tre, fem, seks og syv er dataene. Når denne sekvens er etableret, går logikken i Hamming -koden på arbejde.
I en Hamming -kode bruges hver af de paritetsbits, der er føjet til sekvensen, til at kontrollere nogle af de bitpositioner, de er tæt på, inklusive sig selv. Paritetsbiten i position en kontrollerer enhver anden bitposition, som i det væsentlige er enhver ulige nummereret position i sekvensen. Den anden paritetsbit i position to kontrollerer positioner to og treE, springer derefter over to positioner, kontrollerer yderligere to positioner, springer to mere, og så videre. Hvis der er en paritetsbit i position fire, fungerer den på lignende måde, idet den kontrollerer positioner fire til syv, derefter springer fire positioner over, kontrollerer fire mere og fremover. Hver paritetsbit i sekvensen fortsætter på denne måde gennem hele sekvensen.
Den proces, hvormed en Hamming -kode registrerer og korrigerer en fejl, er ved at tilføje bitene i kontrolsekvensen for hver paritetskontrol, som hver skal komme ud af et jævnt tal. I betragtning af det syv-bit eksempel tilføjes bit en, fem, fem og syv for den første paritetskontrol. Hvis det samlede antal er et jævnt tal, tjekker pariteten ud, men hvis det samlede beløb er underligt, er der en fejl. Da paritetskontrollerne overlapper hinanden, vises to sådanne fejl. Når to-paritetsbitpositioner, der ikke kommer med, tilføjes endda totaler sammen, vil det afsløre den bit, der skal rettes.
I eksemplet med syv-bit Hamming-kode, ulemperider, at biten i position nummer fem er forkert. Summen af bitene i positioner 1, tre, fem og syv vil komme ud som et underligt antal, ligesom summen af bitene i positioner fire til syv. Dette indikerer, at paritet kontrollerer for kontrolbits i position en og fire mislykkedes. Når en og fire tilføjes sammen, er det samlede fem, som er positionen for den forkerte bit i transmissionen, der skal rettes.