Što je Hammingov kod: Povijest, rad i njegove primjene

Isprobajte Naš Instrument Za Uklanjanje Problema





U digitalnim sustavima preneseni podaci za komunikacija može biti oštećen zbog vanjske buke i bilo kojih drugih fizičkih kvarova. Ako se preneseni podaci ne podudaraju s danim ulaznim podacima, tada se to naziva ‘pogreškom’. Pogreške u podacima mogu izbrisati vitalne podatke u digitalnim sustavima. Prijenos podataka bit će u obliku bitova (0 i 1) u digitalnim sustavima. Ako se bilo tko promijeni, to može utjecati na izvedbu cijelog sustava. Ako se bit ‘1’ promijeni u bit ‘0’ ili obrnuto, tada se to naziva pogreška bita. Postoje različiti vrste pogrešaka poput jednobitnih pogrešaka, višestrukih pogrešaka i pogrešaka praska. U ovom članku raspravljamo o ispravljanju i otkrivanju pogrešaka te o hamming kodu.

Što je otkrivanje i ispravljanje pogrešaka?

U digitalnoj komunikaciji podaci će se izgubiti ako dođe do pogreške u prijenosu podataka iz jednog sustava / mreže u drugi sustav / mrežu. Dakle, važno je pronaći i ispraviti pogreške. Neka pogreška otkrivanje i metode ispravljanja koriste se za otkrivanje i ispravljanje pogrešaka radi učinkovite komunikacije. Ako se koriste ove metode, tada se podaci mogu prenositi s većom točnošću.




Otkrivanje pogrešaka definirano je kao metoda koja se koristi za otkrivanje pogrešaka prenesenih od odašiljača / pošiljatelja do prijamnika u digitalnim sustavima. Šifre viška dodaju se podacima tijekom prijenosa kako bi se pronašle pogreške. To se nazivaju kodovi za otkrivanje pogrešaka.

Ispravljanje pogrešaka je ispravljanje podataka koji se prenose s odašiljača na prijamnik. Ispravljanje pogrešaka može se izvršiti u dvije vrste.



Ispravljanje pogreške unatrag

U ovoj vrsti ispravljanja pogreške, primatelj traži natrag od pošiljatelja da ponovno pošalje podatke ako primatelj otkrije pogrešku.

Ispravljanje pogreške prema naprijed

ako podaci koje je primio primatelj pronađu pogrešku, tada izvršava kodove za ispravljanje pogrešaka kako bi se podaci automatski popravili i obnovili.


Ako postoji „m“ broja bitova podataka i „r“ broja suvišnih bitova, tada će kombinacija informacija biti 2r.

2r> = m + r + 1

Vrste kodova za otkrivanje pogrešaka

Pogreške u primljenim podacima mogu se otkriti pomoću 3 vrste kodova za otkrivanje pogrešaka. To su provjera pariteta, ciklična provjera redundancije (CRC) i provjera uzdužne redundancije.

Provjera pariteta

Suvišni bit nazvan bit parnosti dodaje se kako bi broj bitova bio paran ili neparan u slučaju parnog ili neparnog pariteta. Prijemnik broji brojeve bitova (1) u okviru da doda bit parnosti. To se naziva provjera pariteta. Ako je broj 1 u okviru jednak, tada se koristi parni paritet dodavanjem bita „1“ s nultom vrijednošću. Slično tome, od broja 1 je neparan, tada se koristi neparni paritet dodavanjem bita s vrijednošću '1'.

Otkrivanje pogrešaka

otkrivanje pogrešaka

Stoga se koristi kako bi se osiguralo da okvir / datum primljeni od prijemnika od izvora nisu oštećeni. U ovoj vrsti otkrivanja pogrešaka, broj 1 trebao bi biti jednak u primljenom okviru. Vrlo je jeftin među svim vrstama otkrivanja pogrešaka.

Provjera uzdužnog viška (LRC)

nakon što su skup / blok bitova organizirani, tada se LRC metoda može koristiti za provjeru bita parnosti u svakom okviru. Pomaže u slanju bitova pariteta zajedno s izvornim podacima i provjerava suvišnost.

Provjera cikličkog viška

njegov se tip koristi za otkrivanje podataka / okvira primljenih iz izvora koji vrijede ili ne. Uključuje u binarnu podjelu podataka koje treba poslati i koristi polinome (za generiranje djelitelja). Prije prijenos , pošiljatelj izvodi operaciju podjele na podacima / bitovima / okviru kako bi izračunao ostatak.

Provjera cikličke suvišnosti

provjera cikličke redundancije

Tijekom prijenosa stvarnih podataka od pošiljatelja dodaje ostatak na kraju stvarnih podataka. Kombinacija stvarnih podataka i ostatka naziva se kodna riječ. Podaci se prenose u obliku kodnih riječi. U ovom procesu, ako su podaci oštećeni, primatelj će podatke odbiti, inače će biti prihvaćeni.

Što je Hammingov kod?

Hammingov kôd definiran je kao linearni kôd koji se koristi u procesu otkrivanja pogrešaka do dvostrukih pogrešaka. Također je sposoban otkriti jednobitne pogreške. U ovoj metodi pošiljatelj dodaje podatke / poruku suvišnim bitovima za kodiranje podataka. Da bi se otkrile i ispravile pogreške, ti se suvišni bitovi dodaju u određene položaje za postupak ispravljanja pogrešaka.

Hamming-kod

hamming-kod

Povijest Hammingovih kodova

1950. Richard W. Hamming izumio je Hammingove kodove kako bi otkrio i ispravio pogreške u podacima. Nakon razvoja računala s većom pouzdanošću, uveo je hamming kodove za kodove za ispravljanje 1 pogreške, a kasnije je proširio do kodova za otkrivanje 2 pogreške. Hammingovi kodovi se stvaraju jer provjera pariteta ne može otkriti i ispraviti pogreške u podacima. Hammingovi kodovi umetnuti su u bilo koju blokovnu duljinu podataka između stvarnih podataka i bitova viška. Razvio je niz algoritama za rad na problemima metoda ispravljanja pogrešaka i ti se kodovi naširoko koriste u ECC memoriji.

Proces kodiranja poruke pomoću Hamming koda

Postupak kodiranja poruke pomoću Hamming koda od strane pošiljatelja uključuje 3 koraka.

Korak 1: Prvi korak je izračunavanje broja suvišnih bitova u poruci

  • Na primjer, ako poruka sadrži ‘n’ br. Bitova i u poruku je dodan ‘p’ br. Suvišnih bitova, tada ‘np’ označava (n + p + 1) različita stanja.
  • Gdje (n + p) predstavlja mjesto pogreške u svakom položaju bita
  • 1 (ekstra stanje) ne predstavlja pogrešku.
  • Budući da ‘p’ označava 2 ^ p (2p) stanja, koja su jednaka (n + p + 1) stanjima.

Korak 2: Postavite suvišne bitove u točan / ispravan položaj

'p' bitovi su umetnuti u položaje bitova koji su snage 2 poput 1, 2, 4, 8, 16 itd. Ti su položaji bitova označeni kao p1 (položaj 1), p2 (položaj 2), p3 (položaj 4) itd.

Korak 3: Izračunajte vrijednosti suvišnih bitova

  • Ovdje se bitovi pariteta koriste za izračunavanje vrijednosti suvišnih bitova.
  • Paritetni bitovi mogu u broju poruke označiti broj 1 u parnom ili neparnom obliku.
  • Ako je ukupni broj 1 u poruci paran, tada se koristi čak i paritet
  • Ako je ukupni broj 1 u poruci neparan, tada se koristi neparni paritet.

Proces dešifriranja poruke u Hamming Codeu

Proces dešifriranja poruke koju je primatelj primio od pošiljatelja pomoću hamming koda uključuje sljedeće korake. Ovaj postupak nije ništa drugo do ponovno izračunavanje radi otkrivanja i ispravljanja pogrešaka u poruci.

Korak 1: Prebrojite broj suvišnih bitova

Formula za kodiranje poruke pomoću suvišnih bitova je,

2p≥ n + p + 1

Korak 2: ispraviti položaje svih suvišnih bitova

„P“ br. Suvišnih bitova postavljeni su u bitske položaje snage 2 poput 1,2,4,8,16,32 itd.

Korak 3: provjera pariteta (neparni parnost i parni paritet)

Bitovi pariteta izračunavaju se na temelju broja 1 u podatkovnim bitovima i redundantnim bitovima.

Na primjer

Paritet p1 bio bi 1, 3, 5, 7, 9, 11,…

Paritet p2 bio bi 2, 3, 6, 7, 10, 11,…

Paritet p3 bio bi 4-7, 12-15, 20-23,…

Prednosti Hammingovog kodeksa

Glavna prednost upotrebe hamming koda isplativa je ako tok podataka sadrži jednobitne pogreške.

  • Može pružiti otkrivanje pogrešaka, a također ukazuje na bit koji sadrži pogrešku za ispravljanje.
  • Hammingovi kodovi vrlo su jednostavni i najbolje ih je koristiti u računalnoj memoriji i ispravljanju i otkrivanju jednobitnih pogrešaka.

Nedostaci Hammingovog kodeksa

  • Najbolje je samo za jednobitno ispravljanje i otkrivanje pogrešaka. Ako greška više bitova, cijela se može oštetiti.
  • Algoritam Hammingova koda može riješiti samo jednobitne pogreške.

Primjene Hammingovih kodova

Hammingovi kodovi se koriste u,

  • Računarstvo
  • Telekomunikacija
  • Kompresija podataka
  • Rješavanje zagonetki i turbo kodova
  • Sateliti
  • CAM za plazmu
  • Zaštićene žice
  • Modemi
  • Računalna memorija
  • Otvoreni konektori
  • Ugrađeni sustavi i procesor

Najčešća pitanja

1). Može li Hammingov kôd otkriti 2-bitne pogreške?

Hamming kodovi mogu otkriti i ispraviti do 2-bitne pogreške u toku podataka

2). Kako popraviti Hammingov kod?

Hammingovi kodovi postavljaju se u bilo koju duljinu podataka između stvarnih podataka i suvišnih bitova. Ovi kodovi su mjesta na minimalnoj udaljenosti od 3 bita

3). Koji je paritetni kod?

Kôd parnosti ili bit parnosti dodaje bit primljenom okviru (podaci sadrže 1 i 0) kako bi ukupni broj bitova (1) bio paran ili neparan.

4). Kolika je Hammingova udaljenost između podataka?

Udaljenost udara između dva različita toka podataka jednake duljine iznosi 1.

Udaljenost udaranja između dva niza podataka jednake duljine može se izračunati pomoću XOR operacije.

Na primjer, a = 11011001

b = 10011101

Udaljenost Hamminga može se izračunati kao,

11011001 ⊕ 10011101 = 01000100 (broj 1-bita je 2)

Udaljenost udaranja označava broj 1 u rezultantnom toku podataka

Dakle, d (11011001, 10011101) = 2

Slično tome, 010 ⊕ 011 = 001, d (010, 011) = 1.

5). Je li Hammingov kod cikličan?

Da, hamming kodovi ekvivalentni su cikličkim kodovima koji se mogu koristiti kao kodovi za otkrivanje pogrešaka.

Stoga se ovdje radi o ispravljanju i otkrivanju pogrešaka, vrstama otkrivanja pogrešaka, hamming kodovi , postupak šifriranja i dešifriranja poruke pomoću hamming kodova, primjena hamming kodova, prednosti i nedostaci Hammingovih kodova. Evo pitanja za vas: 'Koje su aplikacije otkrivanja i ispravljanja pogrešaka?'