Hamming koder bruges til at indsætte fejlkorrektion oplysninger i datastrømme . Koderne er udformet således, at en fejl kan ikke kun opdages , men korrigeret . Tilføjelse fejlkorrektion oplysninger øger mængden af data, men øger pålideligheden af kommunikation via medier med høje fejl rates.Hamming kodning kan være vanskelig at gennemføre, men kan gøres meget hurtigt ved hjælp af bit -level aritmetiske tricks. Dette gør det til et nyttigt fejlkorrektion system for høj hastighed og indlejrede applikationer . Instruktioner
1
Opret data ord. Enhver bit med en position, der er en effekt på to ( første, andet, fjerde , etc.) bør forbeholdes paritet information. Brug så længe af et ord , som du har brug for at passe kildedata og paritetsbits
Eksempel: .
1 1 0 1 0 0 1 0 bliver __ 1 _ 1 0 1 _ 0 0 1 0
bits forbliver i den samme rækkefølge, men er blevet spredt ud til at passe paritetsbit .
2
Beregn den første paritetsbit . Begyndende med den første bit , én bit læse og derefter springe en bit og gentag , mens tælle antallet af stødt dem . Paritetsbit tæller som nuller .
Hvis antallet af ettaller er endog indstille den første bit til nul . Ellers sæt den til en
Eksempel: .
Bits 1, 3, 5, 7, 9 og 11 __ 1 _ 1 0 1 _ 0 0 1 0 , _11101 indeholder fire dem . Det er lige, så den første bit er sat til nul : 0 _ 1 _ 1 0 1 _ 0 0 1 0
3
Beregn de resterende paritetsbit . Bit to læser to bit startende ved bit to, så springer to og gentager . Bit fire læser fire bit derefter springes fire og begynder med bit fire . Fortsæt med dette mønster , indtil der ikke er paritetsbit tilbage at beregne
Eksempel: .
Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 checks _1 , 01 , 01 , der indeholder 3 dem , så bit 2 er sat til one.Bit 4 : 0 1 1 _ 1 0 1 _ 0 0 1 0 checks _101 , 0 , der indeholder 2 dem , så bit 4 er sat til zero.Bit 8 : 0 1 1 0 1 0 1 _ 0 0 1 0 checks _0010 , med blot én én , indstilling bit 8 til én.
kodede ord er derfor 011010110010 .
4
Bekræft ord . Hvis et ord er beskadiget , vil paritetsbit ikke matche, hvad der forventes. For at bekræfte , at et ord ikke er beskadiget , skal du blot beregne paritetsbit ved hjælp af trin to og tre . Hvis nogle bits ikke passer sammen, indspille deres positioner .
5.
rette den dårlige bit. Hvis du finder forkerte paritetsbit , blot opsummere de positioner bits. Summen er placeringen af den forkerte bit. Vend værdien af bit i denne position.
For eksempel, hvis de paritetsbit et og fire er forkerte , vil spejlvende værdien af den femte bit rette fejlen .