Virheenhallinta on joukko menetelmiä datan virheiden havaitsemiseksi ja korjaamiseksi niiden tallennuksen ja toiston tai tiedonsiirtolinjojen kautta siirron aikana.
Tietojen eheyden hallinta ja virheenkorjaus ovat tärkeitä tehtäviä monilla tiedon kanssa työskentelyn tasoilla (erityisesti OSI -verkkomallin fyysiset , kanava- , siirtokerrokset ) johtuen siitä, että tiedon tallennus- ja siirtoprosessissa tapahtuu väistämättä virheitä. viestintäverkkojen kautta. Virheenhallinnan eri sovellusalueet sanelevat erilaisia vaatimuksia käytettäville strategioille ja koodeille.
Viestintäjärjestelmissä on useita strategioita virheiden käsittelemiseksi:
Virheenhallinnassa käytetään pääsääntöisesti virheenkorjauskoodausta - tietojen koodaamista kirjoitettaessa tai lähetettäessä ja dekoodausta luettaessa tai vastaanotettaessa käyttämällä korjaavia koodeja , joiden avulla voit havaita ja mahdollisesti korjata tiedoissa olevat virheet. Virheenkorjaavat koodausalgoritmit eri sovelluksissa voidaan toteuttaa sekä ohjelmistossa että laitteistossa.
Korjauskoodien nykyaikainen kehitys on ollut Richard Hammingin ansiota vuodesta 1947 [1] . Hamming-koodin kuvaus ilmestyi Claude Shannonin artikkelissa " Mathematical Theory of Communication " [2] ja Marcel Golay [3] tiivisti siitä .
Forward error correction (myös forward error correction , eng. Forward error correction, FEC ) on kohinaa korjaava koodaus- ja dekoodaustekniikka, jonka avulla voit korjata virheet ennaltaehkäisevällä menetelmällä. Sitä käytetään tiedonsiirron epäonnistumisten ja virheiden korjaamiseen välittämällä redundantteja palvelutietoja, joiden perusteella voidaan palauttaa alkuperäinen sisältö. Käytännössä sitä käytetään laajasti tiedonsiirtoverkoissa , tietoliikennetekniikoissa. Eteenpäin suunnatut virheenkorjauskoodit vaativat enemmän redundanssin lisäämistä lähetettyyn dataan kuin koodit, jotka havaitsevat vain virheitä.
Esimerkiksi satelliittitelevisiossa , kun digitaalista signaalia lähetetään FEC 7/8:sta, lähetetään kahdeksan bittiä tietoa: 7 bittiä hyödyllistä tietoa ja 1 ohjausbitti [4] ; DVB-S : ssä käytetään vain 5 tyyppiä: 1/2, 2/3, 3/4 (suosituin), 5/6 ja 7/8. Jos muut asiat ovat samat, voidaan väittää, että mitä pienempi FEC-arvo on, sitä vähemmän paketteja sallitaan kadota, ja näin ollen sitä korkeampi signaalin laatu on.
Virheenkorjaustekniikkaa käytetään laajalti erilaisissa tallennuslaitteissa - kiintolevyissä, flash-muistissa, RAM-muistissa. Erityisesti palvelinsovellukset käyttävät ECC-muistia - RAM-muistia, joka tunnistaa ja korjaa spontaanisti tapahtuvat virheet.
ARQ ( Automatic Repeat Request) -järjestelmät perustuvat virheentunnistustekniikkaan . Seuraavat automaattiset kyselytavat ovat yleisiä:
Pysäytys -ja odota ARQ :n ideana on, että lähetin odottaa, että vastaanotin kuittaa edellisen tietolohkon onnistuneen vastaanoton ennen kuin aloittaa seuraavan lähetyksen. Jos datalohko vastaanotettiin virheellisesti, vastaanotin lähettää negatiivisen kuittauksen (NAK) ja lähetin toistaa lohkon lähetyksen. Tämä menetelmä sopii half-duplex- tietoliikennekanavalle. Sen haittana on alhainen nopeus suuren odotusmäärän vuoksi.
Jatkuva ARQ takaisinvetomenetelmällä vaatii kaksisuuntaisen linkin . Tiedonsiirto lähettimestä vastaanottimeen tapahtuu samanaikaisesti. Virheen sattuessa lähetys jatkuu virhelohkosta alkaen (eli virhelohko ja kaikki sitä seuraavat lähetetään).
Käytettäessä jatkuvaa ARQ:ta selektiivisellä toistomenetelmällä vain virheellisesti vastaanotettuja datalohkoja lähetetään.
Tietoteorian osaa , joka tutkii tiedonsiirron optimointia verkossa käyttämällä datapakettien vaihtamistekniikoita välisolmuissa, kutsutaan verkkokoodaukseksi . Selvittääksesi verkkokoodauksen periaatteet, käytä esimerkkiä perhosverkosta, joka ehdotettiin ensimmäisessä verkkokoodausta koskevassa työssä "Verkon tiedonkulku" [5] . Toisin kuin staattinen verkkokoodaus, kun vastaanottaja tietää kaikki paketilla tehdyt manipulaatiot, satunnainen verkkokoodaus otetaan huomioon myös silloin, kun tätä tietoa ei tunneta. Ensimmäisten tätä aihetta koskevien teosten kirjoittaja kuuluu Kötterille, Krzyszangille ja Silvalle [6] . Tätä lähestymistapaa kutsutaan myös verkkokoodaukseksi satunnaiskertoimilla - kun kertoimet, joiden alittavat lähteen lähettämät alkuperäiset paketit sisällytetään vastaanottajan vastaanottamiin tuloksena oleviin paketteihin, tuntemattomilla kertoimilla, jotka voivat riippua nykyisestä verkkorakenteesta ja jopa satunnaisista kertoimista. välisolmuissa tehdyt päätökset . Ei-satunnaisessa verkkokoodauksessa voidaan käyttää tavallisia häirintä- ja anti-aliasointitekniikoita, joita käytetään tiedon yksinkertaiseen siirtämiseen verkon yli.
Lähetettäessä informaatiota viestintäkanavalla virhetodennäköisyys riippuu signaali-kohinasuhteesta demodulaattorin sisääntulossa, joten vakiokohinatasolla lähettimen teholla on ratkaiseva merkitys. Satelliitti- ja matkaviestinjärjestelmissä sekä muissa viestintätyypeissä energiansäästökysymys on akuutti. Lisäksi tietyissä viestintäjärjestelmissä (esim. puhelin) tekniset rajoitukset eivät salli signaalitehon rajatonta lisäystä.
Koska virheenkorjaava koodaus mahdollistaa virheenkorjauksen, sen sovellus voi vähentää lähettimen tehoa jättäen informaationopeuden ennalleen. Energian vahvistus määritellään erotuksena s/n-suhteiden välillä koodauksen läsnäollessa ja ilman sitä.