Hamming- codes worden gebruikt voor foutcorrectie informatie invoegen in datastromen . De codes zijn ontworpen dat een fout niet alleen kan worden gedetecteerd , maar gecorrigeerd . Foutcorrectie informatie toe te voegen verhoogt de hoeveelheid data , maar verhoogt de betrouwbaarheid van de communicatie via mediums met hoge foutenpercentages rates.Hamming codering kan lastig uit te voeren zijn , maar kan worden gemaakt zeer snel met behulp van bit - niveau rekenkundige trucs . Dit maakt het een bruikbaar foutcorrectie systeem voor hoge snelheid en embedded toepassingen . Instructies 1 Maak de gegevens woord . Elke bit met een positie die een macht van twee ( eerste, tweede , vierde , enz. ) moet worden gereserveerd voor de pariteit informatie . Zo lang gebruiken van een woord als je nodig hebt om de brongegevens en pariteitsbits fit 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 pariteitbits passen . kopen van 2 Bereken de eerste pariteit bit . , Lees een beetje te beginnen met de eerste bit , dan slaat een bit en herhalen , terwijl het tellen van het aantal enen tegengekomen . Pariteitbits tellen als nullen . Als het aantal enen is zelfs , stelt de eerste bit op nul . Anders zet deze op een Voorbeeld : . Bits 1 , 3 , 5 , 7 , 9 en 11 van __ 1 _ 1 0 1 _ 0 0 1 0 , _11101 , bevat vier degenen . Dit is zelfs , zodat de eerste bit is ingesteld op nul : 0 _ 1 _ 1 0 1 _ 0 0 1 0 3 Bereken de resterende parity bits. Bit twee leest twee bits beginnend bij beetje twee , dan slaat twee en herhalingen . Bit vier leest vier bits dan slaat vier en begint met bit vier . Ga door met dit patroon totdat er geen pariteit bits over om te berekenen Voorbeeld : . Bit Pagina 2 : 0 _ 1 _ 1 0 1 _ 0 0 1 0 controles _1 , 01 , 01 , 0 1 1 _ 1 0 1 _ 0 0 1 0 controles _101 , 0 , waarvan 2 degenen , dus bit 4 is ingesteld op zero.Bit 8 bevat : : 0 waarvan 3 degenen , dus bit 2 is ingesteld op one.Bit 4 bevat 1 1 0 1 0 1 _ 0 0 1 0 controles _0010 , met slechts een een, het instellen van bit 8 naar een. de gecodeerde woord is dus 011010110010 . 4 Bevestig de woord . Als een woord wordt beschadigd , zal de pariteitsbits niet overeen met wat er verwacht wordt . Om te bevestigen dat een woord niet wordt beschadigd , gewoon berekenen de pariteitbits met stappen twee en drie . Als een bit niet overeenkomen , nemen hun posities . 5 Corrigeer de slechte bit . Als u vindt onjuiste pariteitbits , gewoon som van de posities van de bits . De som is van de positie van de verkeerde bit . Flip de waarde van het bit in die positie . Als bijvoorbeeld de pariteitsbits een en vier onjuist , wegknippen van de waarde van de vijfde bit zal de fout corrigeren .
|