Mi az a Hamming-kód: Történelem, munka és alkalmazásai

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Digitális rendszerekben a kommunikáció megsérülhet a külső zaj és bármilyen egyéb fizikai meghibásodás miatt. Ha az átadott adatok nincsenek egyeztetve az adott bemeneti adatokkal, akkor azt „hibának” nevezzük. Az adathibák törölhetik a létfontosságú adatokat a digitális rendszerekben. Az adatátvitel bitek formájában (0 és 1) történik a digitális rendszerekben. Ha a bit bármelyikét megváltoztatja, akkor ez a teljes rendszer teljesítményét befolyásolhatja. Ha az „1” bitet „0” bitre változtatjuk, vagy fordítva, akkor bit hibának hívjuk. Vannak különböző típusú hibák mint az egybites hibák, többszörös hibák és sorozathibák. Ebben a cikkben a hibajavításról és -felderítésről, valamint a kódolásról beszélünk.

Mi a hibadetektálás és -javítás?

A digitális kommunikáció során az adatok elvesznek, ha hiba lép fel az információk egyik rendszerből / hálózatból egy másik rendszerbe / hálózatba történő átvitelében. Tehát fontos megtalálni és kijavítani a hibákat. Valami hiba érzékelés korrekciós módszereket alkalmaznak a hibák észlelésére és kijavítására a hatékony kommunikáció érdekében. Ha ezeket a módszereket alkalmazzák, akkor az adatok nagyobb pontossággal továbbíthatók.




A hibadetektálás a digitális rendszerekben az adó / feladó által a vevő felé továbbított hibák észlelésére szolgáló módszer. Redundancia kódokat adunk az adatokhoz az átvitel során a hibák megtalálásához. Ezeket hibadetektáló kódoknak nevezzük.

A hibajavítás az adóról a vevőre továbbított adatok javítása. A hibajavítás két típusban végezhető el.



Visszafelé történő hibajavítás

Ilyen típusú hibajavítás esetén a vevő visszakéri az adót, hogy továbbítsa az adatokat, ha a vevő észleli a hibát.

Továbbítási hiba javítása

ha a vevő által beérkezett adatok megtalálja a hibát, akkor végrehajtja a hibajavító kódokat az adatok automatikus kijavítása és helyreállítása érdekében.


Ha van „m” no bit bit és „r” redundáns bit, akkor az információ kombinációi 2r lesznek.

2r> = m + r + 1

A hibakereső kódok típusai

A fogadott adatok hibái 3 típusú hibadetektáló kód használatával detektálhatók. Ezek: paritásellenőrzés, ciklikus redundanciaellenőrzés (CRC) és hosszanti redundanciaellenőrzés.

Paritásellenőrzés

A paritásbitnek nevezett redundáns bit hozzáadódik, hogy páros vagy páratlan paritás esetén a no.of bitek párosak vagy páratlanok legyenek. A vevő megszámolja a keret bitjeinek számát (1), hogy hozzáadja a paritásbitet. Ezt paritásellenőrzésnek nevezzük. Ha egy keretben az 1-ek száma nem egyenletes, akkor az egyenletességi paritást az „1” bit nulla értékű hozzáadásával kell használni. Hasonlóképpen, az 1-es számok száma páratlan, akkor a páratlan paritást úgy használjuk, hogy az bitet hozzáadjuk az „1” értékhez.

Hibakeresés

hibadetektálás

Ezért annak biztosítására szolgál, hogy a vevő által a forrásból kapott keret / dátum ne sérüljön. Ebben a fajta hibadetektálásban az 1-ek száma egyenlőnek kell lennie a vett keretben. Nagyon olcsóbb minden típusú hibafelismerés között.

Hosszanti redundancia-ellenőrzés (LRC)

Ha a bitek halmaza / blokkja rendeződik, akkor az LRC módszerrel ellenőrizhetjük a paritásbitet minden keretben. Segít elküldeni a paritásbit készletet az eredeti adatokkal együtt, és ellenőrzi a redundanciát.

Ciklikus redundancia ellenőrzés

az ő típusát használják arra, hogy észleljék a forrásból kapott adatok érvényességét vagy sem. Ez magában foglalja az elküldendő adatok bináris felosztását, és polinomokat használ (osztó előállításához). Előtt az átvitel , a feladó osztási műveletet hajt végre az adatok / bitek / kereten a maradék kiszámításához.

Ciklikus redundancia ellenőrzés

ciklikus redundancia ellenőrzés

A tényleges adatok küldőtől történő továbbítása során hozzáadja a fennmaradó részt a tényleges adatok végén. A tényleges adatok és a maradék kombinációját kódszónak nevezzük. Az adatokat kódszavak formájában továbbítják. Ebben a folyamatban, ha az adatok megsérültek, akkor az adatokat a vevő elutasítja, különben elfogadják.

Mi a Hamming-kód?

A Hamming-kód egy lineáris kód, amelyet a hibadetektálási folyamatban 2-köztes hibákig használnak. Képes egyetlen bites hibák felderítésére is. Ebben a módszerben a feladó a redundáns biteket hozzáadja az adatokhoz / üzenetekhez az adatok kódolásához. A hibadetektálás és -javítás érdekében ezeket a redundáns biteket hozzáadják a hibajavítási folyamat bizonyos pozícióihoz.

Hamming-Code

hamming-kód

A Hamming-kódok története

1950-ben Richard W. Hamming feltalálta a Hamming-kódokat az adatok hibáinak felderítésére és kijavítására. A nagyobb megbízhatóságú számítógépek fejlődése után bevezette az 1-hibakorrekciós kódok hamming-kódjait, majd később 2-hibás detektáló kódokra is kiterjesztette. A Hamming-kódok azért jönnek létre, mert a paritásellenőrzés nem képes észlelni és kijavítani az adatok hibáit. A Hamming-kódokat az adatok bármely blokkhosszához beillesztjük a tényleges adatok és a redundancia bitek közé. A hibajavítási módszerek problémáinak kezelésére algoritmusok tömbjét fejlesztette ki, és ezeket a kódokat széles körben használják az ECC memóriájában.

Üzenet Hamming-kóddal történő kódolásának folyamata

Az üzenet kódolásának folyamata egy kódoló kód segítségével a feladó 3 lépést tartalmaz.

1. lépés: Az első lépés az üzenet redundáns bitjeinek kiszámítása

  • Például, ha egy üzenet „n” bit / no bitet tartalmaz, és „p” redundáns biteket tartalmaz az üzenethez, akkor az „np” különböző állapotokat jelöl (n + p + 1).
  • Ahol (n + p) a hiba helyét jelenti minden bitpozícióban
  • 1 (extra állapot) nem jelent hibát.
  • Mivel a „p” 2 ^ p (2p) állapotot jelöl, amelyek megegyeznek (n + p + 1) állapotokkal.

2. lépés: Helyezze a felesleges biteket pontos / helyes helyzetbe

A „p” bitek olyan bitpozíciókba kerülnek be, amelyek a 2 teljesítménye, például 1, 2, 4, 8, 16 stb. 4) stb.

3. lépés: Számítsa ki a redundáns bitek értékeit!

  • Itt a paritásbiteket használjuk a redundáns bitek értékének kiszámításához.
  • A paritásbitekkel páros vagy páratlan lehet az üzenetben szereplő 1-es szám.
  • Ha egy üzenetben az 1 teljes száma nem egyenletes, akkor egyenletes paritást használunk
  • Ha az üzenetek száma összesen 1 páratlan, akkor páratlan paritást használunk.

Az üzenet visszafejtésének folyamata a Hamming-kódban

A fogadó által a küldőtől kapott üzenet visszafejtésének folyamata a hamming kód segítségével a következő lépéseket tartalmazza. Ez a folyamat nem más, mint újraszámítás az üzenet hibáinak észlelésére és kijavítására.

1. lépés: Számolja meg a redundáns bitek számát

A képlet az üzenet redundáns bitek használatával történő kódolásához:

2p ≥ n + p + 1

2. lépés: javítsa az összes redundáns bit helyzetét

A redundáns bitek „p” száma 2 bit bitpozícióba kerül, például 1,2,4,8,16,32 stb.

3. lépés: paritásellenőrzés (páratlan paritás és páros paritás)

A paritásbiteket az adatbitek és a redundáns bitek első száma alapján számítják ki.

Például

A p1 paritása 1, 3, 5, 7, 9, 11,…

A p2 paritása 2, 3, 6, 7, 10, 11,…

A p3 paritása 4-7, 12-15, 20-23,…

A Hamming-kód előnyei

A kódoló kód használatának fő előnye költséghatékony, ha az adatfolyam egyetlen bites hibákat tartalmaz.

  • Biztosíthatja a hibák észlelését, és jelzi azt a bitet is, amely hibát tartalmaz a javításhoz.
  • A Hamming kódokat nagyon könnyű és legjobb használni a számítógép memóriájában, valamint az egybites hibajavításban és -felderítésben.

A Hamming-kód hátrányai

  • A legjobb csak egybites hibák kijavítására és felderítésére. Ha több bit hibás, akkor az egész megsérülhet.
  • A Hamming kód algoritmus csak egybites hibákat képes megoldani.

A Hamming-kódok alkalmazása

Hamming kódokat használnak,

  • Számítástechnika
  • Távközlés
  • Adattömörítés
  • Rejtvények és turbókódok megoldása
  • Műholdak
  • Plazma CAM
  • Árnyékolt vezetékek
  • Modemek
  • Számítógépes memória
  • Nyissa ki a csatlakozókat
  • Beágyazott rendszerek és processzor

GYIK

1). A Hamming kód képes észlelni a 2 bites hibákat?

A Hamming-kódok akár 2 bites hibákat is képesek észlelni és kijavítani egy adatfolyamban

2). Hogyan javíthatja a Hamming kódot?

A Hamming-kódok tetszőleges hosszúságú adatokba kerülnek a tényleges adatok és a redundáns bitek között. Ezek a kódok olyan helyek, amelyek minimális távolsága 3 bit

3). Mi az a paritáskód?

A paritáskód vagy paritásbit hozzáad egy bitet a fogadott kerethez (az adatok 1-et és 0-at tartalmaznak), hogy az összes bitszám (1) páros vagy páratlan legyen.

4). Mekkora az adatok közötti Hamming-távolság?

A két azonos hosszúságú adatfolyam közötti távolság 1-nél nem nagyobb.

Két azonos hosszúságú adatsor között az XOR művelet segítségével kiszámítható a távolság.

Például a = 11011001

b = 10011101

Hamming távolsága kiszámítható,

11011001 ⊕ 10011101 = 01000100 (az 1 bit száma 2)

A dörzsölési távolság jelzi az 1-es számot a kapott adatfolyamban

Tehát d (11011001, 10011101) = 2

Hasonlóképpen 010 ⊕ 011 = 001, d (010, 011) = 1.

5.) A Hamming kód ciklikus?

Igen, a hamming kódok egyenértékűek a ciklikus kódokkal, amelyek hibadetektáló kódként használhatók.

Ez tehát a hibajavításról és -felderítésről szól, a hibaérzékelés típusairól, kódolással , az üzenet titkosításának és visszafejtésének folyamata hamming kódok alkalmazásával, a hamming kódok alkalmazásával, a Hamming kódok előnyeivel és hátrányaival. Itt van egy kérdés: „Melyek a hibadetektálás és -javítás alkalmazásai?”