Kuidas arvutada Hammingi kood

Autor: John Webb
Loomise Kuupäev: 10 August 2021
Värskenduse Kuupäev: 15 November 2024
Anonim
Kuidas arvutada Hammingi kood - Elektroonika
Kuidas arvutada Hammingi kood - Elektroonika

Sisu

Hammingi koode kasutatakse vigade parandamise teabe sisestamiseks andmevoogudesse. Koodid on loodud nii, et viga mitte ainult ei tuvastata, vaid ka parandatakse. Veaparandusteabe lisamine suurendab andmete hulka, kuid suurendab ka kõrge veamääraga meediumisuhtluse usaldusväärsust.

Hammingi kodeerimist võib olla keeruline rakendada, kuid seda saab teha bititaseme aritmeetiliste trikkide abil väga kiiresti. See võimaldab luua kasuliku ja kiire veaparandussüsteemi, mida saab kasutada manustatud rakendustes.

Samm 1

Looge andmesõna. Kõik bitid, mille positsioon on kaks (esimene, teine, neljas jne), tuleb reserveerida pariteediteabe jaoks. Kasutage nii kaua kui vaja, et sõnal oleksid algandmed ja paarsusbitid.


Näide:

1 1 0 1 0 0 1 0 saab _ _ 1 _ 1 0 1 _ 0 0 1 0

Algsed bitid jäävad samas järjekorras, kuid paarsusbitite sisestamiseks olid need laiali laotatud.

2. samm

Arvutage esimene paarsusbitt. Alates esimesest bitist loetakse natuke ja seejärel jäetakse natuke vahele ja protseduuri korratakse lõpuni. Vahepeal loetakse leitud inimeste arv. Pariteedibitte selles protsessis ei arvestata.

Kui nende arv on paaris, määrake esimene bitt nulli. Vastasel juhul määrake see ühele.

Näide:

_ _ 1 _ 1 0 1 _ 0 0 1 0, _11101 bitid 1, 3, 5, 7, 9 ja 11 sisaldavad nelja. See on ühtlane, nii et esimene bitt on nullitud: 0 _ 1 _ 1 0 1 _ 0 0 1 0

3. samm

Arvutage ülejäänud paarsusbitid. Alates teisest bitist loetakse kaks bitti ja seejärel jäetakse kaks bitti vahele ja protseduuri korratakse lõpuni. Neljas bitt loeb nelja bitti, jätab vahele veel neli, alustades neljast bitist. Samale mustrile järgnevad kõik paarsusbitid, kuni need kõik on arvutatud.


Näide:

Bitt 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 kontrollib _1, 01, 01, mis sisaldavad kolme, seega on bitt 2 seatud ühele. Bitt 4: _ 0 1 1 1 0 1 _ 0 0 1 0 kontrollib funktsiooni _101, 0, mis sisaldab kahte, seega on bitt 4 nullitud. Bitt 8: 0 1 1 0 1 0 1 _ 0 0 1 0 kontrollib funktsiooni _0010, mis sisaldab ainult ühte, seega on bitt 8 seatud ühele.

Sõna on seetõttu kodeeritud kui 011010110010.

4. samm

Kinnitage sõna. Kui mõni sõna on rikutud, ei ühti pariteedibitid loodetuga. Selle kinnitamiseks, et sõna pole rikutud, arvutage lihtsalt paarsusbitid, kasutades samme 2 ja 3. Kui bitid pole ühesugused, registreerige nende asukohad.

5. samm

Parandage vale bitt. Kui leiate valesid pariteedibitte, lisage lihtsalt bittide asukohad. Summa väärtus on vale biti positsioon. Muutke selles asendis bitiväärtust.

Näiteks kui valed paarsusbitid on üks ja neli, parandatakse viga viienda biti väärtuse muutmisega.