Hammingov kod: Primjeri ispravljanja pogrešaka

Sadržaj:

Anonim

Što je pogreška?

Preneseni podaci mogu biti oštećeni tijekom komunikacije. Vjerojatno će na to utjecati vanjska buka ili drugi fizički kvarovi. U takvoj situaciji ulazni podaci ne mogu biti isti kao izlazni podaci. Ova neusklađenost poznata je pod nazivom "Pogreška".

Pogreške u podacima mogu rezultirati gubitkom važnih ili sigurnih podataka. Većina prijenosa podataka u digitalnim sustavima bit će u obliku "prijenosa bitova". Čak i mala promjena može utjecati na performanse cijelog sustava. U nizu podataka, ako se 1 promijeni u 0 ili 0 promijeni u 1, to se naziva "Bit error".

U ovom tutorijalu Hammingovog koda naučit ćete:

  • Što je pogreška?
  • Vrste pogrešaka
  • Što je otkrivanje i ispravljanje pogrešaka?
  • Što je Hammingov kod?
  • Povijest Hammingova koda
  • Primjena Hemming koda:
  • Prednosti Hammingova koda
  • Mane Hammingova koda
  • Postupak kodiranja poruke pomoću Hamming koda
  • Proces dešifriranja poruke u Hammingovom kodu

Vrste pogrešaka

Uglavnom postoje tri vrste bitnih pogrešaka koje se javljaju u prijenosu podataka od pošiljatelja do primatelja.

  • Pogreške jednog bita
  • Višestruke bitne pogreške
  • Rafalne pogreške

Pogreške jednog bita

Promjena izvršena u jednom bitu u cijelom nizu podataka poznata je pod nazivom "Pogreška jednog bita". Međutim, pojava jednobitne pogreške nije toliko česta. Štoviše, ova se pogreška događa samo u paralelnom komunikacijskom sustavu jer se podaci prenose bitovno u jednoj liniji. Stoga je više šansi da jedan redak može biti bučan.

Višestruke bitne pogreške

U slijed podataka, ako dođe do promjene u dva ili više bitova niza podataka odašiljača do prijamnika, to je poznato kao "Višestruke bitne pogreške".

Ova vrsta pogreške uglavnom se javlja u mrežama za podatkovnu komunikaciju serijskog i paralelnog tipa.

Rafalne pogreške

Promjena skupa bitova u nizu podataka poznata je pod nazivom "Burst error". Ova vrsta pogreške podataka izračunava se od promjene prvog bita do promjene posljednjeg bita.

Što je otkrivanje i ispravljanje pogrešaka?

U digitalnom komunikacijskom sustavu pogreška će se prenijeti iz jednog u drugi komunikacijski sustav. Ako se te pogreške ne otkriju i ne isprave, podaci će se izgubiti. Za učinkovitu komunikaciju, sistemski podaci trebali bi se prenositi s velikom točnošću. To će se učiniti tako da se prvo identificiraju pogreške i isprave oni.

Otkrivanje pogrešaka metoda je otkrivanja pogrešaka prisutnih u podacima koji se prenose s odašiljača na prijemnik u sustavu za komunikaciju podataka.

Ovdje možete koristiti redundantne kodove da biste pronašli ove pogreške dodavanjem podataka kada se prenose iz izvora. Ti se kodovi nazivaju "Pogreška u otkrivanju kodova".

Tri su vrste kodova za otkrivanje pogrešaka:

  • Provjeravanje pariteta
  • Provjera cikličkog viška (CRC)
  • Provjera uzdužnog viška (LRC)

Provjera pariteta:

  • Također je poznat kao provjera pariteta.
  • Ima isplativ mehanizam za otkrivanje pogrešaka.
  • U ovoj je tehnici suvišni bit poznat kao paritetni bit. Dodaje se za svaku podatkovnu jedinicu. Ukupan broj 1s u jedinici trebao bi postati paran, što je poznato kao paritetni bit.

Provjera uzdužnog viška

U ovoj tehnici otkrivanja pogrešaka blok bitova organiziran je u tabličnom formatu. LRC metoda pomaže vam u izračunavanju bita pariteta za svaki stupac. Skup ovog pariteta također se šalje zajedno s izvornim podacima. Blok pariteta pomaže vam u provjeri suvišnosti.

Provjera cikličkog viška

Provjera cikličke redundancije slijed je redundanta koji se mora dodati na kraj jedinice. Zbog toga bi rezultirajuća podatkovna jedinica trebala postati djeljiva s drugim, unaprijed određenim binarnim brojem.

Na odredištu, dolazne podatke treba podijeliti s istim brojem. U slučaju da nema ostatka, tada se pretpostavlja da je podatkovna jedinica ispravna i prihvaćena. Inače, to znači da je podatkovna jedinica oštećena u prijenosu, pa je stoga mora odbiti.

Što je Hammingov kod?

Hammingov kôd je linijski kôd koji je koristan za otkrivanje pogrešaka do dvije trenutne pogreške bita. Sposoban je za jednobitne pogreške.

U Hammingovom kodu izvor kodira poruku dodavanjem suvišnih bitova u poruku. Ti se suvišni bitovi uglavnom ubacuju i generiraju na određenim položajima u poruci kako bi se postigao postupak otkrivanja i ispravljanja pogrešaka.

Povijest Hammingova koda

  • Hammingov kod tehnika je koju RWHamming gradi za otkrivanje pogrešaka.
  • Hammingov kod treba primijeniti na podatkovne jedinice bilo koje duljine i koristi odnos između podataka i bitova viška.
  • Radio je na problemu metode ispravljanja pogrešaka i razvio sve moćniji niz algoritama koji se nazivaju Hammingov kod.
  • 1950. objavio je Hammingov kod koji se danas široko koristi u aplikacijama poput ECC memorije.

Primjena Hammingova koda

Evo nekoliko uobičajenih aplikacija korištenja Hemming koda:

  • Sateliti
  • Računalna memorija
  • Modemi
  • PlasmaCAM
  • Otvoreni konektori
  • Zaštitna žica
  • Ugrađeni procesor

Prednosti Hammingova koda

  • Metoda Hammingova koda učinkovita je na mrežama u kojima se tokovi podataka daju za jednobitne pogreške.
  • Hammingov kôd ne samo da otkriva pogrešku bita, već vam pomaže i uvlačenje bitova koji sadrže pogrešku kako bi se mogao ispraviti.
  • Jednostavnost upotrebe hamming kodova čini ih najbolje prikladnima za upotrebu u memoriji računala i ispravljanje jedne pogreške.

Mane Hammingova koda

  • Jednobitni kod za otkrivanje i ispravljanje pogrešaka. Međutim, ako se utvrdi greška u više bitova, tada ishod može rezultirati drugim bitom koji bi trebao biti točan za promjenu. To može uzrokovati daljnju pogrešku u podacima.
  • Algoritam Hamming koda može riješiti samo pojedinačne probleme.

Postupak kodiranja poruke pomoću Hamming koda

Proces koji pošiljatelj koristi za kodiranje poruke uključuje sljedeća tri koraka:

  • Izračun ukupnog broja suvišnih bitova.
  • Provjera položaja suvišnih bitova.
  • Na kraju, izračunavanje vrijednosti ovih suvišnih bitova.

Kada su gore navedeni suvišni bitovi ugrađeni u poruku, ona se šalje korisniku.

Korak 1) Izračun ukupnog broja suvišnih bitova.

Pretpostavimo da poruka sadrži:

  • n - broj podatkovnih bitova
  • p - broj suvišnih bitova koji mu se dodaju tako da np može ukazivati ​​na najmanje (n + p + 1) različita stanja.

Ovdje, (n + p) prikazuje mjesto pogreške u svakom od (n + p) položaja bitova, a jedno dodatno stanje ukazuje na pogrešku. Kako p bitovi mogu označavati 2 p stanja, 2 p mora biti najmanje jednako (n + p + 1).

Korak 2) Postavljanje suvišnih bitova u njihov ispravan položaj.

P suvišni bitovi trebaju se postaviti u položaje bitova s ​​potencijalom od 2. Na primjer, 1, 2, 4, 8, 16 itd. Oni se nazivaju p 1 (na položaju 1), p 2 (na položaju 2) , p 3 (na položaju 4) itd.

Korak 3) Izračun vrijednosti suvišnog bita.

Suvišni bitovi trebali bi biti bitovi pariteta, što znači da je broj 1 s paran ili neparan.

Dvije vrste pariteta su -

  • Ukupan broj bitova u poruci napravljen je čak i naziva se parni paritet.
  • Ukupan broj bitova u poruci je neparan naziva se neparni paritet.

Ovdje se sav suvišni bit, p1, mora izračunati kao paritet. Trebao bi pokriti sve položaje bitova čiji binarni prikaz treba sadržavati 1 na 1. položaju, isključujući položaj p1.

P1 je bit parnosti za sve bitove podataka na pozicijama čiji binarni prikaz uključuje 1 u manje važnom položaju ne uključujući 1 Like (3, 5, 7, 9,

... )

P2 je bit parnosti za sve bitove podataka na pozicijama čiji binarni prikaz uključuje 1 na položaju 2 zdesna, ne uključujući 2 Like (3, 6, 7, 10, 11,

…)

P3 je bit parnosti za svaki bit na pozicijama čiji binarni prikaz uključuje 1 na položaju 3 zdesna, a ne uključuje 4 Like (5-7, 12-15,

…)

Proces dešifriranja poruke u Hammingovom kodu

Primatelj dobiva dolazne poruke koje trebaju izvršiti ponovni izračun kako bi pronašao i ispravio pogreške.

Proces ponovnog izračuna izvršen je u sljedećim koracima:

  • Brojanje broja suvišnih bitova.
  • Ispravno pozicioniranje svih suvišnih bitova.
  • Provjera pariteta

Korak 1) Brojanje broja suvišnih bitova

Za kodiranje možete koristiti istu formulu, broj suvišnih bitova

2 p ≥ n + p + 1

Ovdje je broj podatkovnih bitova i p broj suvišnih bitova.

Korak 2) Ispravno postavljanje svih suvišnih bitova

Ovdje je p suvišni bit koji se nalazi na položajima bitova snage 2, Na primjer, 1, 2, 4, 8 itd.

Korak 3) Provjera pariteta

Bitovi pariteta moraju se izračunati na temelju podatkovnih bitova i suvišnih bitova.

p1 = paritet (1, 3, 5, 7, 9, 11

…)

p2 = paritet (2, 3, 6, 7, 10, 11

…)

p3 = paritet (4-7, 12-15, 20-23

…)

Sažetak

  • Preneseni podaci mogu biti oštećeni tijekom komunikacije
  • Tri su vrste pogrešaka bita 1) greške pojedinačnog bita 2) greške više bitova 3) pogreške burst bita
  • Promjena izvršena u jednom bitu u cijelom nizu podataka poznata je pod nazivom "Pogreška jednog bita".
  • U slijed podataka, ako dođe do promjene u dva ili više bitova niza podataka odašiljača do prijamnika, to je poznato kao "Višestruke bitne pogreške".
  • Promjena skupa bitova u nizu podataka poznata je pod nazivom "Burst error".
  • Otkrivanje pogrešaka metoda je otkrivanja pogrešaka prisutnih u podacima koji se prenose s odašiljača na prijemnik u sustavu za prijenos podataka
  • Tri vrste kodova za otkrivanje pogrešaka su 1) Provjeravanje pariteta 2) Provjera cikličkog viška (CRC) 3) Provjera uzdužnog viška (LRC)
  • Hammingov kôd je linijski kôd koji je koristan za otkrivanje pogrešaka do dvije trenutne pogreške bita. Sposoban je za jednobitne pogreške.
  • Hammingov kod tehnika je koju RWHamming gradi za otkrivanje pogrešaka.
  • Uobičajene primjene korištenja Hemming koda su Satelitska računalska memorija, modemi, ugrađeni procesor itd.
  • Najveća korist metode hamming koda učinkovita je na mrežama u kojima se tokovi podataka daju za jednobitne pogreške.
  • Najveći nedostatak metode hamming koda je taj što može riješiti samo pojedinačne probleme.
  • Proces šifriranja i dekodiranja poruke možemo izvršiti uz pomoć hamming koda.