Mis on Hammingi kood: ajalugu, töö ja selle rakendused

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Digitaalsüsteemides edastatud andmed suhtlemine võib välise müra ja muude füüsiliste rikete tõttu rikutud olla. Kui edastatud andmed ei sobi antud sisendandmetega, siis nimetatakse neid 'veaks'. Andmevead võivad digitaalsüsteemides olulised andmed kustutada. Andmete edastamine toimub digitaalsüsteemides bitidena (0 ja 1). Kui kedagi bitist muudetakse, võib see mõjutada kogu süsteemi jõudlust. Kui bitt ’1’ muudetakse bittiks ’0’ või vastupidi, siis nimetatakse seda bitiveaks. Neid on erinevaid vigade tüübid nagu ühe bitiga vead, mitu viga ja purunemisvead. Selles artiklis käsitleme vigade parandamist ja tuvastamist ning koodi haamimist.

Mis on vigade tuvastamine ja parandamine?

Digitaalsuhtluses lähevad andmed kaotsi, kui teabe edastamisel ühest süsteemist / võrgust teise süsteemi / võrku ilmneb viga. Seega on oluline vead leida ja parandada. Mõni viga märkamine Tõhusa suhtluse jaoks vigade avastamiseks ja parandamiseks kasutatakse parandusmeetodeid. Nende meetodite kasutamisel saab andmeid edastada suurema täpsusega.




Vigade tuvastamine on määratletud kui meetod, mida kasutatakse digitaalsüsteemides saatjalt / saatjalt vastuvõtjale edastatud vigade tuvastamiseks. Vigade leidmiseks lisatakse andmetele edastamise ajal koondamiskoodid. Neid nimetatakse vigade tuvastamise koodideks.

Veaparandus on saatjalt vastuvõtjale edastatud andmete parandamine. Vigade parandamist saab teha kahte tüüpi.



Vigade parandamine tagasi

Seda tüüpi veaparanduste korral nõuab vastuvõtja saatjalt andmete uuesti edastamist, kui vastuvõtja tuvastab vea.

Edasta vigade parandus

kui vastuvõtja saadud andmed leiavad vea, täidab ta vead parandavad koodid, et andmed automaatselt parandada ja taastada.


Kui andmebittidest on „m” ja üleliigsetest bittidest „r”, siis on teabe kombinatsioonid 2r.

2r> = m + r + 1

Vigade tuvastamise koodide tüübid

Vastuvõetud andmete vigu saab tuvastada, kasutades kolme tüüpi vigade tuvastamise koode. Need on pariteedikontroll, tsüklilise koondamise kontroll (CRC) ja pikisuunaline koondamine.

Pariteedikontroll

Lisatakse üleliigne bitt, mida nimetatakse paarsusbitiks, et muuta bittide arv paaris või paaritu paarisuse või paaritu paarsuse korral. Vastuvõtja loeb pariteedibiti lisamiseks kaadris olevate bittide arv (1). Seda nimetatakse pariteedikontrolliks. Kui kaadri nr 1 arv on ühtlane, kasutatakse paari pariteeti, lisades biti ‘null’ nullväärtusega. Samamoodi on arv nr 1 paaritu, siis kasutatakse paaritu pariteeti, lisades bitiga väärtusega '1'.

Vigade tuvastamine

vigade tuvastamine

Seega kasutatakse seda tagamaks, et vastuvõtja allikast saadud kaader / kuupäev ei oleks rikutud. Seda tüüpi vigade tuvastamisel peaks nr 1 olema vastuvõetud kaadris ühtlane. See on kõigi vigade tuvastamise tüüpide hulgas väga odav.

Pikisuunalise koondamise kontroll (LRC)

Kui bittide komplekt / plokk on korraldatud, saab LRC meetodit kasutada igas kaadris pariteedibiti kontrollimiseks. See aitab saata paarsusbitite komplekti koos algandmetega ja kontrollib üleliigsust.

Tsükliline koondamise kontroll

tema tüüpi kasutatakse selleks, et tuvastada, kas allikast saadud andmed / raamid kehtivad või mitte. See hõlmab saadetavate andmete binaarset jagamist ja kasutab polünoome (jagaja genereerimiseks). Enne edastamine , jaotaja teostab jagamise operatsiooni andmetele / bittidele / kaadrile, et arvutada ülejäänud osa.

Tsükliline-üleliigne-kontroll

tsükliline-koondamise kontroll

Saatjalt tegelike andmete edastamise ajal lisab see ülejäänud tegelike andmete lõppu. Tegelike andmete ja ülejäänud osa kombinatsiooni nimetatakse koodsõnaks. Andmed edastatakse koodsõnade kujul. Selles protsessis, kui andmed on rikutud, lükkab vastuvõtja andmed tagasi, vastasel juhul need aktsepteeritakse.

Mis on Hammingi koodeks?

Hammingi kood on defineeritud kui lineaarne kood, mida kasutatakse vea tuvastamise protsessis kuni 2 vaheveani. Samuti on see võimeline tuvastama ühe bitiga vigu. Selle meetodi korral lisab saatja andmetele / sõnumile üleliigsed bitid andmete kodeerimiseks. Vigade tuvastamise ja parandamise jaoks lisatakse need üleliigsed bitid vigade parandamise protsessi teatud kohtades.

Hamming-kood

hamming-kood

Hammingi koodide ajalugu

1950. aastal leiutas Richard W. Hamming Hammingi koodid andmete vigade avastamiseks ja parandamiseks. Pärast suurema töökindlusega arvutite arengut tutvustas ta ühe vea parandavate koodide jaoks koodide lisamist ja laiendas hiljem kuni kahe vea tuvastamise koode. Hammingi koodid luuakse, kuna pariteedikontroll ei suuda andmetes vigu tuvastada ega parandada. Hammingi koodid sisestatakse mis tahes andmeplokkidele tegelike andmete ja koondamisbittide vahel. Ta töötas välja hulga algoritme vigade parandamise meetodite probleemide lahendamiseks ja neid koode kasutatakse laialdaselt ECC-mälus.

Sõnumi kodeerimise protsess Hammingi koodi abil

Sõnumi kodeerimise protsess, kasutades saatja hamming-koodi, sisaldab 3 etappi.

Samm 1: Esimene samm on arvutada sõnumis üleliigsete bitide arv

  • Näiteks kui sõnum sisaldab „n” bittide arvu ja sõnumisse lisatakse „p” üleliigseid bitte, siis tähis „np” (n + p + 1) erinevaid olekuid.
  • Kus (n + p) tähistab vea asukohta igas bitipositsioonis
  • 1 (lisaseisund) ei tähenda viga.
  • Kuna ‘p’ tähistab 2 ^ p (2p) olekut, mis on võrdne (n + p + 1) olekuga.

2. samm: Asetage üleliigsed bitid täpselt / õigesse asendisse

'p' bitid sisestatakse bitipositsioonidesse, mis on 2 võimsus, näiteks 1, 2, 4, 8, 16 jne. Need bittide asukohad on tähistatud kui p1 (positsioon 1), p2 (positsioon 2), p3 (positsioon 4) jne.

3. samm: Arvutage üleliigsete bittide väärtused

  • Siin kasutatakse üleliigsete bittide väärtuste arvutamiseks pariteedibitte.
  • Pariteedibitid võivad muuta sõnumis nr 1 paarisarvuks või paarituiks.
  • Kui sõnumis on ühtekokku 1, kasutatakse ühtlast pariteeti
  • Kui sõnumis on kokku 1 numbrit paaritu, siis kasutatakse paaritut pariteeti.

Hammingi koodis sõnumi dekrüptimise protsess

Saatja poolt saatja poolt vastuvõetud sõnumi dekrüpteerimine toimub hamming-koodi abil järgmiste sammudega. See protsess pole midagi muud kui sõnumi vigade avastamiseks ja parandamiseks ümberarvutamine.

Samm 1: Loendage üleliigsete bitide arv

Valem sõnumi kodeerimiseks üleliigsete bittide abil on

2p ≥ n + p + 1

2. samm: parandage kõigi üleliigsete bitide asukohad

'P' üleliigsete bittide arv asetatakse 2-bitistesse võimsuspositsioonidesse nagu 1,2,4,8,16,32 jne

3. samm: pariteedi kontrollimine (paaritu pariteet ja pariteet)

Pariteedibitti arvutamisel võetakse aluseks andmebittide ja üleliigsete bitide arv.

Näiteks

P1 pariteet oleks 1, 3, 5, 7, 9, 11,…

P2 pariteet oleks 2, 3, 6, 7, 10, 11,…

P3 pariteet oleks 4–7, 12–15, 20–23,…

Hammingi koodeksi eelised

Hamming-koodi kasutamise peamine eelis on tasuv, kui andmevoog sisaldab ühe bitiga vigu.

  • See võimaldab tuvastada vigu ja näitab ka bitti, mis sisaldab viga parandamiseks.
  • Hammingi koode on arvuti mälus ning ühebittiste vigade parandamisel ja tuvastamisel väga lihtne kasutada.

Hammingi koodi puudused

  • See on parim ainult ühebittiste vigade parandamiseks ja tuvastamiseks. Kui viga on mitu bitti, võib kogu rikutud olla.
  • Hammingi koodi algoritm suudab lahendada ainult ühe bitiga vead.

Hammingi koodide rakendused

Hammingi koode kasutatakse

  • Arvutamine
  • Telekommunikatsioon
  • Andmete tihendamine
  • Mõistatuste ja turbokoodide lahendamine
  • Satelliidid
  • Plasma CAM
  • Varjestatud juhtmed
  • Modemid
  • Arvuti mälu
  • Avage pistikud
  • Manustatud süsteemid ja protsessor

KKK

1). Kas Hammingi kood suudab tuvastada 2-bitiseid vigu?

Hammingi koodid suudavad tuvastada ja parandada andmevoo kuni 2-bitiseid vigu

2). Kuidas saate parandada Hammingi koodi?

Hammingi koodid paigutatakse ükskõik millise pikkusega andmetesse tegelike andmete ja üleliigsete bitide vahele. Need koodid on kohad, mille minimaalne kaugus on 3 bitti

3). Mis on paarsuskood?

Pariteedikood või paarsusebitt lisab vastuvõetud kaadrile natuke (andmed sisaldavad 1-sid ja 0-e), et muuta bittide (1) arv paaris või paaritu.

4). Kui suur on andmete vaheline Hammingi kaugus?

Kahe erineva võrdse pikkusega andmevoo vaheline kaugus ei ole 1.

Kahe võrdse pikkusega andmerida vahelise kauguse saab arvutada XOR-operatsiooni abil.

Näiteks a = 11011001

b = 10011101

Hammingi kaugust saab arvutada järgmiselt:

11011001 ⊕ 10011101 = 01000100 (1-bitiste arv on 2)

Hammingi kaugus näitab saadud andmevoogude arvu nr. 1

Niisiis, d (11011001, 10011101) = 2

Samamoodi 010 ⊕ 011 = 001, d (010, 011) = 1.

5). Kas Hammingi kood on tsükliline?

Jah, segamiskoodid on samaväärsed tsükliliste koodidega, mida saab kasutada vigade tuvastamise koodidena.

Seega on see kõik seotud vigade parandamise ja tuvastamise, vigade tuvastamise tüüpide, koodide haamimine , sõnumi krüptimise ja dekrüpteerimise protsess, kasutades hamming-koode, hamming-koodide rakendusi, Hamming-koodide eeliseid ja puudusi. Siin on teile küsimus: 'Millised on vigade tuvastamise ja parandamise rakendused?'