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
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 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
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?'