Hammingo kodas: klaidų taisymo pavyzdžiai

Kas yra klaida?

Perduodami duomenys gali būti sugadinti bendraujant. Tikėtina, kad tam įtakos turi išorinis triukšmas ar kiti fiziniai gedimai. Tokioje situacijoje įvesties duomenys negali būti tokie patys kaip išvesties duomenys. Šis neatitikimas žinomas kaip „Klaida“.

Duomenų klaidos gali prarasti svarbius ar saugius duomenis. Didžioji dalis duomenų perdavimo skaitmeninėse sistemose bus „bitų perdavimo“ forma. Net nedidelis pakeitimas gali turėti įtakos visos sistemos veikimui. Duomenų sekoje, jei 1 pakeičiamas į 0 arba 0 pakeičiamas į 1, tai vadinama "bitų klaida".

Šioje „Hamming“ kodo pamokoje sužinosite:

  • Kas yra klaida?
  • Klaidų rūšys
  • Kas yra klaidų aptikimas ir taisymas?
  • Kas yra Hammingo kodas?
  • Hammingo kodo istorija
  • „Hemming“ kodo taikymas:
  • Hammingo kodo privalumai
  • Hammingo kodo trūkumai
  • Pranešimo kodavimo procesas naudojant Hammingo kodą
  • Pranešimo iššifravimo procesas Hammingo kode

Klaidų rūšys

Duomenų perdavimui iš siuntėjo į imtuvą dažniausiai pasitaiko trys bitų klaidų tipai.

  • Vienbito klaidos
  • Kelių bitų klaidos
  • Sprogo klaidos

Vienbito klaidos

Vienu bitu atliktas pakeitimas visoje duomenų sekoje yra žinomas kaip „vieno bito klaida“. Tačiau vieno bitų klaidos pasitaiko ne taip dažnai. Be to, ši klaida įvyksta tik lygiagrečioje ryšio sistemoje, nes duomenys perduodami bitais viena linija. Todėl yra didesnė tikimybė, kad viena linija gali būti triukšminga.

Kelių bitų klaidos

Duomenų sekoje, jei pasikeičia du ar daugiau siųstuvo ir imtuvo duomenų sekos bitų, tai vadinama „kelių bitų klaidomis“.

Šio tipo klaidos dažniausiai pasitaiko tiek nuoseklaus, tiek lygiagrečio tipo duomenų perdavimo tinkluose.

Sprogimo klaidos

Bitų rinkinio pasikeitimas duomenų sekoje yra žinomas kaip „Burst error“. Šio tipo duomenų klaida apskaičiuojama nuo pirmojo bitų pakeitimo iki paskutinio bitų pakeitimo.

Kas yra klaidų aptikimas ir taisymas?

Skaitmeninio ryšio sistemoje klaida bus perkelta iš vienos ryšio sistemos į kitą. Jei šios klaidos nebus aptiktos ir neištaisytos, duomenys bus prarasti. Kad ryšys būtų efektyvus, sistemos duomenys turėtų būti perduodami labai tiksliai. Tai bus padaryta pirmiausia nustatant klaidas ir jas ištaisant.

Klaidų nustatymas yra klaidų, esančių duomenyse, perduodamuose iš siųstuvo į imtuvą, duomenų perdavimo sistemoje, nustatymo metodas.

Čia galite naudoti atleidimo kodus, kad rastumėte šias klaidas, pridėdami prie duomenų, kai jie perduodami iš šaltinio. Šie kodai vadinami „Klaida aptinkant kodus“.

Trys klaidų aptikimo kodų tipai:

  • Pariteto tikrinimas
  • Ciklinio pertekliaus patikrinimas (CRC)
  • Išilginio pertekliaus patikrinimas (LRC)

Pariteto tikrinimas:

  • Jis taip pat žinomas kaip pariteto patikrinimas.
  • Jis turi ekonomišką klaidų nustatymo mechanizmą.
  • Taikant šią techniką, nereikalingas bitas yra žinomas kaip paritinis bitas. Jis pridedamas prie kiekvieno duomenų rinkinio. Bendras 1s skaičius vienete turėtų tapti lygus, kuris žinomas kaip pariteto bitas.

Išilginio pertekliaus patikrinimas

Taikant šią klaidų aptikimo techniką, bitų blokas organizuojamas lentelių formatu. LRC metodas padeda apskaičiuoti kiekvieno stulpelio pariteto bitą. Šio pariteto rinkinys taip pat siunčiamas kartu su pradiniais duomenimis. Pariteto blokas padeda patikrinti perteklių.

Ciklinė perteklinė kontrolė

Ciklinis pertekliaus patikrinimas yra nereikalingo seka, kuri turi būti pridėta prie įrenginio galo. Štai kodėl gautas duomenų vienetas turėtų dalytis iš antro, iš anksto nustatyto dvejetainio skaičiaus.

Paskirties vietoje gaunamus duomenis reikia padalyti iš to paties skaičiaus. Jei liekanos nėra, laikoma, kad duomenų vienetas yra teisingas ir priimamas. Priešingu atveju tai rodo, kad duomenų vienetas yra sugadintas perduodant, todėl jį reikia atmesti.

Kas yra Hammingo kodas?

Hammingo kodas yra linijinis kodas, naudingas aptikti klaidoms iki dviejų betarpiškų klaidų. Jis sugeba padaryti vieno bitų klaidas.

Hammingo kode šaltinis užkoduoja pranešimą, pridėdamas pranešime nereikalingus bitus. Šie pertekliniai bitai dažniausiai įterpiami ir generuojami tam tikrose pranešimo vietose, kad būtų atliktas klaidų aptikimo ir taisymo procesas.

Hammingo kodo istorija

  • Hammingo kodas yra RWHamming sukurta technika klaidoms aptikti.
  • Hammingo kodas turėtų būti taikomas bet kokio ilgio duomenų vienetams ir naudoja duomenų ir perteklinių bitų ryšį.
  • Jis dirbo su klaidų taisymo metodo problema ir sukūrė vis galingesnį algoritmų masyvą, vadinamą Hammingo kodu.
  • 1950 m. Jis išleido Hammingo kodą, kuris šiandien plačiai naudojamas tokiose programose kaip ECC atmintis.

Hammingo kodo taikymas

Čia yra keletas įprastų Hemming kodo naudojimo programų:

  • Palydovai
  • Kompiuterio atmintis
  • Modemai
  • PlasmaCAM
  • Atviros jungtys
  • Apsauginis laidas
  • Įterptasis procesorius

Hammingo kodo privalumai

  • Hammingo kodo metodas yra efektyvus tinkluose, kur duomenų srautai pateikiami už vieno bitų klaidas.
  • „Hamming“ kodas ne tik nustato bitų klaidos aptikimą, bet ir padeda įskaityti bitą, kuriame yra klaida, kad jį būtų galima ištaisyti.
  • Lengva naudoti kenkimo kodus daro juos tinkamiausius naudoti kompiuterio atmintyje ir taisant vienos klaidos klaidas.

Hammingo kodo trūkumai

  • Vienbito klaidų aptikimo ir taisymo kodas. Tačiau, jei pagrįsta klaida yra keli bitai, rezultatas gali sukelti dar vieną bitą, kuris turėtų būti teisingas, kad būtų pakeistas. Tai gali sukelti duomenų dar daugiau klaidų.
  • Hammingo kodo algoritmas gali išspręsti tik vieno bitų klausimus.

Pranešimo kodavimo procesas naudojant Hammingo kodą

Procesas, kurį siuntėjas naudoja pranešimo kodavimui, apima šiuos tris veiksmus:

  • Bendro nereikalingų bitų skaičiaus apskaičiavimas.
  • Tikrinamas nereikalingų bitų padėtis.
  • Galiausiai, apskaičiuojant šių nereikalingų bitų vertes.

Kai aukščiau nurodyti nereikalingi bitai yra įterpiami į pranešimą, jie siunčiami vartotojui.

1 žingsnis) Apskaičiuokite bendrą nereikalingų bitų skaičių.

Tarkime, kad pranešime yra:

  • n - duomenų bitų skaičius
  • p - prie jo pridėtų nereikalingų bitų skaičius, kad np galėtų nurodyti bent (n + p + 1) skirtingas būsenas.

Čia (n + p) pavaizduota klaidos vieta kiekvienoje iš (n + p) bitų pozicijų, o viena papildoma būsena nerodo klaidos. Kadangi p bitai gali reikšti 2 p būsenas, 2 p turi būti bent lygus (n + p + 1).

2 žingsnis) Padėkite nereikalingus bitus į teisingą padėtį.

Nereikalingi bitai turėtų būti dedami į 2 galių bitų pozicijas. Pavyzdžiui, 1, 2, 4, 8, 16 ir kt. Jie vadinami p 1 (1 pozicijoje), p 2 (2 pozicijoje) , p 3 (4 pozicijoje) ir kt.

3 žingsnis) Perteklinio bito verčių apskaičiavimas.

Nereikalingi bitai turi būti paritiniai, todėl 1s skaičius yra lyginis arba nelyginis.

Dvi pariteto rūšys yra:

  • Bendras pranešime esančių bitų skaičius yra lyginis, vadinamas lyginiu paritetu.
  • Bendras pranešime esančių bitų skaičius yra nelyginis, vadinamas nelyginiu paritetu.

Čia visas nereikalingas bitas p1 turi būti apskaičiuojamas kaip paritetas. Jis turėtų apimti visas bitų pozicijas, kurių dvejetainiame vaizde turėtų būti 1 pirmoje pozicijoje, išskyrus p1 padėtį.

P1 yra kiekvieno duomenų bitų, esančių pozicijose, kurių dvejetainis atvaizdavimas apima 1 reikšmę mažiau svarbioje pozicijoje, neįskaitant 1 „Like“ (3, 5, 7, 9,

…. )

P2 yra kiekvieno duomenų bitų, esančių pozicijose, kurių dvejetainis atvaizdavimas apima 1 padėtį 2 iš dešinės, neįskaitant 2 „Like“ (3, 6, 7, 10, 11,

…)

P3 yra kiekvieno bitų, esančių pozicijose, kurių dvejetainis atvaizdavimas apima 1 padėtį 3 iš dešinės, pariteto bitas neįtraukia 4 „Patinka“ (5–7, 12–15,

…)

Pranešimo iššifravimo procesas Hammingo kode

Gavėjas gauna gaunamus pranešimus, kurie turi atlikti perskaičiavimus, kad surastų ir ištaisytų klaidas.

Perskaičiavimo procesas atliekamas atlikus šiuos veiksmus:

  • Skaičiuojant nereikalingų bitų skaičių.
  • Teisingai išdėstykite visus nereikalingus bitus.
  • Pariteto patikrinimas

1 žingsnis) Suskaičiuokite nereikalingų bitų skaičių

Kodavimui galite naudoti tą pačią formulę, nereikalingų bitų skaičių

2 p ≥ n + p + 1

Čia duomenų bitų skaičius ir p yra nereikalingų bitų skaičius.

2 žingsnis) Teisingai išdėstykite visus nereikalingus bitus

Čia p yra nereikalingas bitas, esantis 2 galių bitų pozicijose, pavyzdžiui, 1, 2, 4, 8 ir kt.

3 žingsnis) Pariteto patikrinimas

Pariteto bitus reikia apskaičiuoti remiantis duomenų bitais ir nereikalingais bitais.

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

…)

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

…)

p3 = paritetas (4–7, 12–15, 20–23

…)

Santrauka

  • Perduodami duomenys gali būti sugadinti bendraujant
  • Trys bitų klaidų tipai: 1) vieno bito klaidos 2) kelių bitų klaida 3) serijos bitų klaidos
  • Vienu bitu atliktas pakeitimas visoje duomenų sekoje yra žinomas kaip „Vieno bito klaida“.
  • Duomenų sekoje, jei pasikeičia du ar daugiau siųstuvo ir imtuvo duomenų sekos bitų, tai vadinama „kelių bitų klaidomis“.
  • Bitų rinkinio pasikeitimas duomenų sekoje yra žinomas kaip „Burst error“.
  • Klaidų nustatymas yra klaidų, esančių duomenyse, perduodamuose iš siųstuvo į imtuvą, duomenų perdavimo sistemoje, nustatymo metodas
  • Trys klaidų aptikimo kodų tipai yra 1) pariteto tikrinimas 2) ciklinio pertekliaus patikrinimas (CRC) 3) išilginio pertekliaus patikrinimas (LRC)
  • Hammingo kodas yra linijinis kodas, naudingas aptikti klaidoms iki dviejų betarpiškų klaidų. Jis sugeba padaryti vieno bitų klaidas.
  • Hammingo kodas yra RWHamming sukurta technika klaidoms aptikti.
  • Dažniausios „Hemming“ kodo naudojimo programos yra palydovo kompiuterio atmintis, modemai, įterptasis procesorius ir kt.
  • Didžiausia „hamming“ kodo metodo nauda yra veiksminga tinkluose, kur duomenų srautai pateikiami už vieno bitų klaidas.
  • Didžiausias „hamming“ kodo metodo trūkumas yra tai, kad jis gali išspręsti tik vieno bitų problemas.
  • Pranešimo šifravimo ir dekodavimo procesą galime atlikti naudodamiesi kodu.

Įdomios straipsniai...