Sådan Beregn Hamming kode

Hamming koder er enkel at gennemføre og ofte bruges til fejlretning. ram 3 billede ved PeteG fra Fotolia.com

Hamming koder anvendes til at indsætte fejlkorrektion oplysninger i datastrømme.Koderne er designet, så der ikke kun registreres en fejl, men rettet.Tilføjelse oplysninger fejlkorrektion øger mængden af ​​data, men øger pålideligheden af ​​kommunikation i medier med høje fejlprocenter.


Hamming kodning kan være vanskelig at gennemføre, men kan gøres meget hurtigt ved hjælp af bit-niveau aritmetiske tricks.Dette gør det til et nyttigt fejlkorrektion for høj hastighed og indlejrede applikationer.

Instruktioner

  1. Opret data ord.Enhver bit med en position, der er en potens af to (første, anden, fjerde, etc.) bør være forbeholdt paritet oplysninger.Brug så længe af et ord som du har brug for at passe kildedata og paritetsbit.

    Eksempel:

    1 1 0 1 0 0 1 0 bliver til 1 1 0 1 0 0 1 0

    Bittene forbliver i samme rækkefølge, men er blevet spredt ud til at passe de paritetsbit.

  2. Beregn den første paritet bit.Fra og med den første

    bit, læse en bit, så springe en bit og gentage, mens tælle antallet af dem, stødt.Paritetsbit tæller som nuller.

    Hvis antallet af dem er endog indstille den første bit til nul.Ellers sæt den til en.

    Eksempel:

    Bits 1, 3, 5, 7, 9 og 11 i 1 1 0 1 0 0 1 0, 11101, indeholder fire dem.Dette er endnu, så den første bit er sat til nul: 0 1 1 0 1 0 0 1 0

  3. Compute de resterende paritetsbit.Bit to læser to bit starter ved bit to, så springer to og gentagelser.Bit fire læser fire bit derefter springer fire og begynder med bit fire.Fortsæt med dette mønster indtil der ikke er paritetsbit venstre at beregne.

    Eksempel:

    Bit 2: 0 1 1 0 1 _ 0 0 1 0 checks 1, 01, 01, som indeholder 3 dem, så bit 2 er sat til én.
    Bit 4: 0 1 1
    1 0 1 _ 0 0 1 0 checks 101, 0, som indeholder 2 dem, så bit 4 er sat til nul.
    Bit 8: 0 1 1 0 1 0 1
    0 0 1 0 checks _0010, med blot en én, indstilling bit 8 til én.

    Den 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 paritetsbittene hjælp trin to og tre.Hvis nogle bits ikke passer sammen, registrere deres positioner.

  5. Ret dårlige bit.Hvis du finder forkerte paritetsbit, blot opsummere positioner bits.Summen er placeringen af ​​den ukorrekte bit.Vend værdien af ​​bit i denne stilling.

    For eksempel, hvis den paritetsbit et og fire er forkerte, spejlvende værdien af ​​den femte bit vil rette fejlen.

Tips & amp;Advarsler

  • Tilføjelse af en ekstra paritetsbit, der beregner antallet af nuller i hele ordet gør det muligt at detektere to-bit fejl.Normale Hamming koder vil give et forkert resultat i tilfælde af to-bit-fejl.
248
0
3
Computer Programmeringssprog