Naar de inhoud

Hammingcode berekenen

Codeer gegevens of controleer een Hammingcodewoord met duidelijk genummerde posities en even pariteit.

Hamming-invoer

Verwerkt in je browser.

Coderen: 4 of 11 gegevensbits. Controleren: 7 of 15 codewoordbits. De grijze waarde is een uitgewerkt voorbeeld. Berekenen gebruikt die waarde; zodra je een veld selecteert, wordt het voorbeeld gewist voor je eigen gegevens.

Coderesultaat

Kies een modus en actie, voer bits in en bereken het resultaat.

Zo werkt het

Kies Hamming(7,4) voor vier gegevensbits of Hamming(15,11) voor elf. Coderen voegt pariteitsbits in; Controleren beoordeelt een ontvangen codewoord van 7 of 15 bits en toont het gecorrigeerde woord onder de aanname van één fout.

Conventie voor posities en pariteit

De getoonde reeks is van links naar rechts genummerd vanaf positie 1. Machten van twee zijn pariteitsposities. Elke controle op even pariteit omvat de posities waarvan het binaire positienummer die pariteitsbit bevat.

Uitgewerkt voorbeeld

Voor gegevens 1011 in modus (7,4) is het resultaat 0110011 volgens de conventie van links naar rechts op deze pagina. Positie 5 omkeren geeft syndroom 5, zodat correctie van één bit het oorspronkelijke codewoord en de gegevens herstelt.

Beperkingen en veelgestelde vragen

Voorloopnullen blijven behouden. Een syndroom van nul betekent dat alle controles zijn geslaagd, niet dat willekeurige beschadiging onmogelijk is. Twee of meer gewijzigde bits kunnen een misleidend syndroom geven; SECDED en simulatie vallen buiten deze tool.

Het syndroom lezen

Elke mislukte pariteitscontrole draagt het nummer van zijn pariteitspositie bij. De som van die posities is het syndroom. Syndroom 0 betekent dat geen fout in één bit is gevonden; een andere waarde wijst alleen onder de aanname van één fout het om te keren bit aan.

Wanneer een Hammingcode nuttig is

Een Hammingcode helpt bij het leren plaatsen van pariteitsbits en wordt gebruikt in systemen voor correctie van één fout. Het is geen versleuteling, compressie, controlesom voor willekeurige bestanden of bescherming tegen foutbursts. Echte systemen kunnen een algemeen pariteitsbit (SECDED) of sterkere foutcorrigerende codes toevoegen.