hammingkoder används för att infoga information felkorrigering i dataströmmar . Koderna är konstruerade så att ett fel inte bara kan upptäckas , men korrigeras . Lägga informationen felkorrigering ökar mängden data , men ökar tillförlitligheten i kommunikationen över medier med höga kodningsfelet rates.Hamming kan vara knepigt att genomföra , men kan göras mycket snabbt med hjälp av bit - nivå aritmetiska tricks . Detta gör det till ett användbart felkorrigeringssystem för hög hastighet och inbyggda system . Instruktioner
1
Skapa dataordet . Varje bit med en ståndpunkt som är en effekt av två ( första , andra, fjärde , etc. ) bör reserveras för paritetsinformation . Använd så länge på ett ord som du behöver montera källdata och paritetsbitar
Exempel : .
1 1 0 1 0 0 1 0 blir __ 1 _ 1 0 1 _ 0 0 1 0
bitarna kvar i samma ordning , men har spridit ut att passa paritetsbitarna .
2
Beräkna första paritet . Från och med den första biten , läsa en bit , sedan hoppa över en bit och upprepa , samtidigt räkna antalet stött dem . Paritetsbitarna räknas som nollor .
P Om antalet ettor är även , som den första biten till noll . Annars ställa in den på en
Exempel : .
Bits 1 , 3 , 5 , 7 , 9 och 11 av __ 1 _ 1 0 1 _ 0 0 1 0 , _11101 , innehåller fyra sådana. Detta är ännu , så den första biten är satt till noll : 0 _ 1 _ 1 0 1 _ 0 0 1 0
3
Beräkna de återstående paritetsbitarna . Bit två läser två bitar börjar vid bit två , sedan hoppar två och repriser . Bit fyra läser fyra bitar och sedan hoppar fyra och börjar med lite fyra . Fortsätt med detta mönster tills inga paritetsbitar kvar att beräkna
Exempel : .
Bit 2 : 0 _ 1 _ 1 0 1 _ 0 0 1 0 kontroller _1 , 01 , 01 , som innehåller 3 ettor , så bit 2 är satt till one.Bit 4 : 0 1 1 _ 1 0 1 _ 0 0 1 0 kontroller _101 , 0 , som innehåller 2 ettor , så bit 4 är satt till zero.Bit 8 : 0 1 1 0 1 0 1 _ 0 0 1 0 kontroller _0010 , med bara en man , sätta bit 8 till en .
kodade ordet är alltså 011010110010 .
4
Bekräfta ord . Om ett ord är skadad , kommer paritetsbitarna matchar inte vad som förväntas . För att bekräfta att ett ord inte är skadad , helt enkelt beräkna paritetsbitarna med steg två och tre . Om några bitar inte stämmer , spela in sina positioner .
5
Korrigera dålig bit . Om du hittar fel paritetsbitar , helt enkelt summera positioner bitarna . Summan är läget för felaktig bit . Vänd på värdet på biten i den positionen.
Om exempelvis paritetsbitarna ett och fyra är felaktiga , kommer vända värdet av den femte biten korrigera felet.