Mikä on Hammingin koodi: historia, työskentely ja sen sovellukset

Kokeile Instrumenttia Ongelmien Poistamiseksi





Digitaalisissa järjestelmissä lähetetty data viestintä voi vioittua ulkoisen melun ja muiden fyysisten vikojen takia. Jos lähetettyä dataa ei ole sovitettu annettuun syötetietoon, sitä kutsutaan virheeksi. Tietovirheet voivat poistaa tärkeitä tietoja digitaalisista järjestelmistä. Tiedonsiirto tapahtuu bitteinä (0 ja 1) digitaalisissa järjestelmissä. Jos jotakin bitistä muutetaan, se voi vaikuttaa koko järjestelmän suorituskykyyn. Jos bitti ”1” muutetaan bitiksi ”0” tai päinvastoin, sitä kutsutaan bittivirheeksi. On olemassa erilaisia tyypin virheitä kuten yhden bittivirheet, useita virheitä ja purskevirheitä. Tässä artikkelissa käsitellään virheenkorjausta ja havaitsemista sekä koodin häiritsemistä.

Mikä on virheen havaitseminen ja korjaaminen?

Digitaalisessa viestinnässä data menetetään, jos tietojen siirtämisessä järjestelmästä / verkosta toiseen järjestelmään / verkkoon tapahtuu virhe. Joten on tärkeää löytää ja korjata virheet. Jotkut virheet havaitseminen ja korjausmenetelmiä käytetään virheiden havaitsemiseen ja korjaamiseen tehokkaan viestinnän kannalta. Jos näitä menetelmiä käytetään, tiedot voidaan siirtää suuremmalla tarkkuudella.




Virheentunnistuksella tarkoitetaan menetelmää, jota käytetään lähettimestä / lähettimestä vastaanottimeen lähetettyjen virheiden havaitsemiseksi digitaalisissa järjestelmissä. Redundanssikoodit lisätään dataan lähetyksen aikana virheiden löytämiseksi. Näitä kutsutaan virheenilmaisukoodeiksi.

Virhekorjaus on lähettimeltä vastaanottimeen välitetyn datan korjaus. Virheenkorjaus voidaan tehdä kahdessa muodossa.



Virheen korjaus taaksepäin

Tämän tyyppisessä virheenkorjauksessa vastaanotin pyytää lähettäjää lähettämään tiedot uudelleen, jos vastaanotin havaitsee virheen.

Välitä virheiden korjaus

jos vastaanottimen vastaanottama data löytää virheen, se suorittaa virheenkorjauskoodit tietojen korjaamiseksi ja palauttamiseksi automaattisesti.


Jos databittejä on m eikä redundantteja bittejä, tietojen yhdistelmät ovat 2r.

2r> = m + r + 1

Virhetunnistuskoodien tyypit

Vastaanotettujen tietojen virheet voidaan havaita käyttämällä 3 erilaista virheenilmaisukoodia. Ne ovat pariteettitarkistus, syklinen redundanssitarkistus (CRC) ja pitkittäinen redundanssitarkistus.

Pariteettitarkistus

Pariteettibitiksi kutsuttu redundanttibitti lisätään parillisen tai parittoman parillisuuden ollessa parillinen tai pariton. Vastaanotin laskee bittien lukumäärän kehyksessä pariteettibitin lisäämiseksi. Tätä kutsutaan pariteetin tarkistukseksi. Jos kehyksen 1 numero on tasainen, parillista pariteettia käytetään lisäämällä bitti '1' nollan arvolla. Vastaavasti 1: n lukumäärä on pariton, silloin käytetään pariton pariteettia lisäämällä bitti arvolla '1'.

Virheentunnistus

virheen havaitseminen

Siksi sitä käytetään varmistamaan, että vastaanottimen lähteestä vastaanottama kehys / päivämäärä ei ole vioittunut. Tämän tyyppisessä virheen havaitsemisessa numeroiden 1 tulisi olla tasan vastaanotetussa kehyksessä. Se on erittäin halvempaa kaikentyyppisten virheiden havaitsemisessa.

Pitkittäinen redundanssitarkistus (LRC)

Bittijoukon / lohkon järjestämisen jälkeen LRC-menetelmää voidaan käyttää pariteettibitin tarkistamiseen jokaisessa kehyksessä. Se auttaa lähettämään pariteettibittijoukon alkuperäisten tietojen kanssa ja tarkistaa redundanssin.

Syklinen redundanssitarkistus

hänen tyyppiään käytetään havaitsemaan, onko lähteestä saatu tieto / kehys voimassa tai ei. Se sisältää lähetettävän datan binaarijakauman ja käyttää polynomeja (jakajan luomiseen). Ennen lähetyksen , lähettäjä suorittaa jakooperaation datalle / bitille / kehykselle loppuosan laskemiseksi.

Syklinen-redundanssitarkistus

syklinen redundanssitarkastus

Lähetettäessä todellisia tietoja lähettäjältä se lisää loput todellisten tietojen loppuun. Todellisten tietojen ja lopun yhdistelmää kutsutaan koodisanaksi. Tiedot välitetään koodisanojen muodossa. Tässä prosessissa, jos data on vioittunut, vastaanottaja hylkää tiedot, muuten se hyväksytään.

Mikä on Hammingin koodi?

Hamming-koodi määritellään lineaariseksi koodiksi, jota käytetään virheenilmaisuprosessissa 2 välivaiheeseen saakka. Se pystyy myös havaitsemaan yhden bitin virheet. Tässä menetelmässä lähettäjä lisää dataan / viestiin redundantit bitit tietojen koodaamiseksi. Virheiden havaitsemisen ja korjaamisen suorittamiseksi nämä redundantit bitit lisätään tiettyihin paikkoihin virheenkorjausprosessia varten.

Hamming-koodi

hamming-koodi

Hamming-koodien historia

Vuonna 1950 Richard W. hamming keksi Hamming-koodit havaitsemaan ja korjaamaan virheet tiedoissa. Laajemman luotettavuuden omaavien tietokoneiden kehityksen jälkeen hän esitteli 1-virheenkorjauskoodien yhdistämiskoodit ja myöhemmin laajensi 2-virheiden tunnistuskoodeja. Hamming-koodit luodaan, koska pariteettitarkistus ei pysty havaitsemaan ja korjaamaan virheitä tiedoissa. Hamming-koodit lisätään mihin tahansa tiedon lohkopituuteen todellisten tietojen ja redundanssibittien välillä. Hän kehitti joukon algoritmeja virheenkorjausmenetelmien ongelmien ratkaisemiseksi, ja näitä koodeja käytetään laajasti ECC-muistissa.

Viestin koodausprosessi Hamming-koodilla

Lähettäjän viestin koodausprosessi hamming-koodilla sisältää 3 vaihetta.

Vaihe 1: Ensimmäinen vaihe on laskea redundanttien bittien lukumäärä viestissä

  • Esimerkiksi, jos sanoma sisältää n: n bittien lukumäärää ja redundanttien bittien lukumäärä 'p', viestiin lisätään sanoja 'n', niin np tarkoittaa eri tiloja (n + p + 1).
  • Missä (n + p) edustaa virheen sijaintia jokaisessa bittipaikassa
  • 1 (ylimääräinen tila) ei ole virhe.
  • Koska ’p’ tarkoittaa 2 ^ p (2p) tilaa, jotka ovat yhtä suuria kuin (n + p + 1) tiloja.

Vaihe 2: Aseta tarpeettomat bitit tarkkaan / oikeaan asentoon

'p' -bitit lisätään bittipaikkoihin, jotka ovat 2: n tehoa, kuten 1, 2, 4, 8, 16 jne. Nämä bittipaikat ilmoitetaan p1 (sijainti 1), p2 (sijainti 2), p3 (sijainti) 4) jne.

Vaihe 3: Laske redundanttien bittien arvot

  • Tässä pariteettibittejä käytetään redundanttien bittien arvojen laskemiseen.
  • Pariteettibitit voivat tehdä viestin numeroista 1 parillisen tai parittoman.
  • Jos viestissä olevien numeroiden 1 lukumäärä on tasainen, käytetään pariteettia
  • Jos viestin 1 kokonaismäärä on pariton, käytetään pariton pariteettia.

Viestin salauksen purku Hamming-koodissa

Vastaanottajan lähettäjältä saaman viestin salauksen purkamisprosessi hamming-koodin avulla sisältää seuraavat vaiheet. Tämä prosessi ei ole muuta kuin uudelleenlaskenta viestin virheiden havaitsemiseksi ja korjaamiseksi.

Vaihe 1: Laske redundanttien bittien määrä

Kaava viestin koodaamiseksi redundanteilla biteillä on

2p ≥ n + p + 1

Vaihe 2: korjaa kaikkien redundanttien bittien sijainnit

Redundanttien bittien ”p” -numero sijoitetaan 2-bittisiin tehoasemiin, kuten 1,2,4,8,16,32 jne.

Vaihe 3: pariteetin tarkistus (pariton pariteetti ja parillinen pariteetti)

Pariteettibitit lasketaan databittien ja redundanttien bittien lukumäärän 1 perusteella.

Esimerkiksi

P1: n pariteetti olisi 1, 3, 5, 7, 9, 11,…

P2: n pariteetti olisi 2, 3, 6, 7, 10, 11,…

P3: n pariteetti olisi 4-7, 12-15, 20-23,…

Hamming-koodin edut

Hamming-koodin käytön suurin etu on kustannustehokas, jos tietovirta sisältää yhden bittisen virheen.

  • Se voi tarjota virheenilmaisun ja osoittaa myös bitin, joka sisältää virheen korjaamiseksi.
  • Hamming-koodit ovat erittäin helppoja ja parhaita käyttää tietokoneen muistissa ja yhden bitin virheiden korjauksessa ja havaitsemisessa.

Hamming-koodin haitat

  • Se on parasta vain yhden bittisen virheen korjaamiseen ja havaitsemiseen. Jos useita bittejä virheitä, koko voi vioittua.
  • Hamming-koodialgoritmi pystyy ratkaisemaan vain yhden bitin virheet.

Hamming-koodien sovellukset

Hamming-koodeja käytetään

  • Laskenta
  • Televiestintä
  • Tietojen pakkaus
  • Pulmien ja turbokoodien ratkaiseminen
  • Satelliitit
  • Plasman CAM
  • Suojatut johdot
  • Modeemit
  • Tietokoneen muisti
  • Avaa liittimet
  • Sisällytetty järjestelmä ja prosessori

UKK

1). Voiko Hamming-koodi havaita 2-bittisiä virheitä?

Hamming-koodit voivat havaita ja korjata jopa 2-bittiset virheet datavirrassa

2). Kuinka korjaat Hamming-koodin?

Hamming-koodit sijoitetaan mihin tahansa pituiseen dataan todellisen datan ja redundanttien bittien väliin. Nämä koodit ovat paikkoja, joiden vähimmäisetäisyys on 3 bittiä

3). Mikä on pariteettikoodi?

Pariteettikoodi tai pariteettibitti lisää bitin vastaanotettuun kehykseen (tiedot sisältävät 1 ja 0), jotta bittien (1) kokonaismäärä olisi parillinen tai pariton.

4). Mikä on Hammingin etäisyys tietojen välillä?

Kahden yhtä pituisen tietovirran välinen etäisyys ei ole 1: tä.

Kahden vastaavan pituisen tietojonon välinen vasaran etäisyys voidaan laskea XOR-operaatiota käyttämällä.

Esimerkiksi a = 11011001

b = 10011101

Hammingin etäisyys voidaan laskea

11011001 ⊕ 10011101 = 01000100 (1-bittisten numeroiden määrä on 2)

Hamming-etäisyys ilmaisee tulojen datavirrassa olevien lukumäärän 1

Joten d (11011001, 10011101) = 2

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

5). Onko Hamming-koodi syklinen?

Kyllä, hamming-koodit vastaavat syklisiä koodeja, joita voidaan käyttää virheenilmaisukoodeina.

Näin ollen kyse on virheenkorjauksesta ja havaitsemisesta, virhetunnistustyypeistä koodien hakeminen , viestin salauksen ja salauksen purkamisen prosessi hamming-koodien avulla, hamming-koodien sovellukset, Hamming-koodien edut ja haitat. Tässä on kysymys sinulle: 'Mitä virheiden havaitsemisen ja korjaamisen sovelluksia on?'