TKK | Tietoverkkolaboratorio | Opetus

Milloin virheitä korjataan ja milloin niitä ei korjata

Tiedon siirtäminen tietoverkoissa aiheuttaa aina virheitä. Kaikki virheet eivät kuitenkaan ole yhtä tärkeitä, joten aina ei ole välttämätöntä korjata syntyneitä virheitä. Näin ollen sanonta "All bits are equal but some bits are more equal than others" pätee juuri virheenkorjauksessa. Virheet aiheuttavat erilaisia tilanteita ja toimenpiteitä erilaisessa datassa. Se, korjataanko virheitä vai ei, riippuu ennen kaikkea datan tyypistä ja sen käyttötarkoituksesta sekä siitä kuinka monta virhettä tietyn mittaisessa datapätkässä voidaan hyväksyä. Jälkimmäinen taas riippuu edelleen mm. siitä mihin käyttöön data vastaanottajan päässä tulee.

Videokuvan, niin reaaliaikaisen kuin tallennetun, siirtäminen verkon välityksellä vaatii runsaasti kapasiteettia. Mikäli oletetaan, että virheitä syntyy aina bittimäärän funktiona ja toisaalta että virheitä syntyy paljon silloin, kun liikutaan siirtokapasiteetin ylärajoilla, aiheuttavat tällaiset suuret datamäärät paljon virheitä. Kuten sanottua, huolimatta siitä, että virheitä syntyy, ei niitä tarvitse korjata niin kauan kuin virheiden määrä ei nouse liian suureksi eli niiden määrä ei ole merkittävä valitun vaatimustason puitteissa. Ihmisen silmä ei kuitenkaan pysty havaitsemaan kaikkia bittejä television tai monitorin ruudulla, joten ei haittaa vaikka osa niistä olisikin muuttunut toisiksi. Juuri samaa menetelmää hyödynnetäänkin suurta kapasiteettia vaativan videokuvan pakkauksessa. Silloin ei luonnollisestikaan synnytetä lisää virheitä, vaan hävitetään kuvasta alueita, joita ihminen ei pysty havaitsemaan. Sama periaate pätee myös äänen siirtämiseen sekä äänen pakkaukseen tiedonsiirron nopeuttamiseksi. Ihmisen kuulokäyrää hyödyntämällä pystytään päättelemään alueita, joita ihmisen korva ei pysty havaitsemaan, ja sen seurauksena häivyttämään ne siirrosta. Koska ääni ja kuva ovat jatkuvaa tietovirtaa ei muutaman bitin muuttuminen tai katoaminen tässä tapauksessa muuta kokonaiskuvaa asiasta.

Vaikka suuret bittimäärät tuottavat paljon virheitä, ei voida kuitenkaan sanoa, että syntyneet virheet voitaisiin aina sivuuttaa. Usein siirron kohteena on tieto, jonka on oltava täsmälleen samanlaista sekä lähettäjällä että vastaanottajalla eikä virheisiin siis ole varaa. Esimerkiksi voitaisiin ottaa vaikka datasiirto kahden tietokoneen välillä. Tällöin yhdenkin bitin muuttuminen toiseksi, toisin sanoen nollan muuttuminen ykköseksi tai päinvastoin, voi olla kohtalokasta ohjelman tai ohjelmiston toimimisen kannalta. Tällaisissa tilanteissa virheiden havaitsemiseen ja niiden korjaukseen tarpeen tullen tulee kiinnittää erityistä huomiota. Vaikka tietoa onkin paljon, on jokaisen bitin merkitys siis yhtä suuri ja kaikki havaitut virheet on korjattava.

On siis olemassa tilanteita jolloin suurillakin tietomäärillä havaitut virheet, jolloin prosentuaalinen osuus on suhteellisen pieni, tulee aina korjata. Tämän perusteella on luonnollista, että tiedonsiirrossa syntyneiden virheiden määrän kasvaessa merkittävästi suuremmaksi on virheenkorjaus entistä tärkeämpää. Ääritapauksessa kysymys voisi olla vain yhdestä bitistä, jonka siirtäminen oikein on siis kaikki kaikessa. Esimerkkinä mainittakoon vaikka jokin yksinkertainen kysymys tai kysely, jonka vastaukseksi riittää selkeä kyllä tai ei, biteillä merkittynä yksi tai nolla. Tällaisessa tilanteessa on ehdottoman tärkeää, että tämä yksi bitti ei muutu matkalla, koska silloin vastaus kysymykseen olisi aivan päinvastainen kuin mitä lähettäjä on sen tarkoittanut olevan. Näin ollen on siis kyettävä tarjoamaan virheetöntä tiedonsiirtoa, tai vähintään syntyneiden virheiden sataprosenttista havaitsemista, mikäli halutaan palvelusta olevan hyötyä käyttäjälleen.



Tekijät:
Ilkka Miettinen
Antti Hassinen
Mikko Malinen
Tämä sivu on tehty Teletekniikan perusteet -kurssin harjoitustyönä.
Sivua on viimeksi päivitetty 20.01.2001 12:50
URL: http://www.netlab.tkk.fi/opetus/s38118/s00/tyot/8/milloin.shtml