Hoe de berekening van de Hamming Code

Hamming codes zijn eenvoudig te implementeren en vaak gebruikt voor foutcorrectie . afbeelding ram 3 door PeteG uit Fotolia.com

Hamming-codes worden gebruikt voor foutcorrectie informatie in datastromen te voegen.De codes zijn zodanig dat een fout kan niet alleen worden gedetecteerd, maar gecorrigeerd.Foutcorrectie informatie toe te voegen verhoogt de hoeveelheid data, maar verhoogt de betrouwbaarheid van de communicatie op media met hoge foutenpercentages.


Hamming codering kan lastig uit te voeren zijn, maar kan zeer snel worden gemaakt met behulp van bit-niveau rekenkundige trucs.Dit maakt het een bruikbaar foutcorrectie voor hoge snelheid en ingebedde toepassingen.

instructies

  1. Maak de gegevens woord.Elk bit van een positie die een macht van twee (eerste, tweede, vierde, enz.) Moet worden gereserveerd voor pariteitsinformatie.Zo lang gebruiken van een woord als je nodig hebt om de brongegevens en pariteitsbits passen.

    Voorbeeld:

    1 1 0 1 0 0 1 0 wordt 1 1 0 1 0 0 1 0

    De bits blijven in dezelfde volgorde, maar zijn verspreid naar

    de pariteitsbits passen.

  2. Bereken de eerste pariteit bit.Te beginnen met de eerste bit, las een beetje, dan sla een beetje en herhaal, terwijl het tellen van het aantal enen aangetroffen.Pariteitbits tellen als nullen.

    Als het aantal van degenen die nog, zet de eerste bit op nul.Anders zet deze op één.

    Voorbeeld:

    Bits 1, 3, 5, 7, 9 en 11 van 1 1 0 1 0 0 1 0, 11.101, bevat vier degenen.Dit is ook, dat het eerste bit op nul: 0 1 1 0 1 0 0 1 0

  3. Bereken de resterende pariteitsbits.Bit twee leest twee bits vanaf bit twee, dan slaat twee en herhalingen.Bit vier leest vier bits dan slaat vier en begint met bit vier.Ga verder met dit patroon totdat er geen pariteitsbits links te berekenen.

    Voorbeeld:

    Bit 2: 0 1 1 0 1 _ 0 0 1 0 controles 1, 01, 01, waarvan 3 degenen bevat, dus bit 2 is ingesteld op één.
    Bit 4: 0 1 1 1 0 1
    _ 0 0 1 0 cheques 101, 0, die 2 degenen, dus bit 4 op nul bevat.
    Bit 8: 1 1 0 0 1 0 1
    0 0 1 0 controles _0010, met slechts een één, het instellen van bit 8 naar één.

    De gecodeerde woord is dus 011010110010.

  4. Bevestig het woord.Als een woord is beschadigd, zal de pariteitsbits niet overeen met wat wordt verwacht.Om te bevestigen dat een woord niet wordt beschadigd, berekent gewoon de pariteitbits met stappen twee en drie.Eventuele stukjes niet overeenkomen, nemen hun posities.

  5. Corrigeer de slechte bits.Als u vindt onjuiste pariteitsbits, gewoon vatten de posities van de bits.De som is de positie van de verkeerde bit.Flip de waarde van de bit in die positie.

    Als bijvoorbeeld de pariteitsbits een en vier onjuist, wegknippen van de waarde van de vijfde bit zal de fout te corrigeren.

Tips & amp;Waarschuwingen

  • toevoegen van een extra pariteitsbit dat het aantal nullen in de hele woord berekent maakt het mogelijk om twee bits fouten op te sporen.Normaal Hamming codes de verkeerde resultaat in het geval van twee-bit error verschaffen.
740
0
3
Computer Programmeertalen