Mikä on lohkokoodaus?

Osa kooditeoriaa, lohkokoodaus on eräänlainen eteenpäin suuntautuva virheenkorjaus (FEC), joka tunnetaan myös nimellä kanavakoodi, joka muuntaa viestit erityisiksi koodeiksi ja lähettää tiedot tietolohkona ennalta määrätyllä pituudella. Suuremmat tietolohkot helpottavat vastaanottavan tietokoneen tietojen purkamista ja siirron aikana ilmenevien virheiden korjaamista. Lohko- ja konvoluutiokoodit ovat kaksi koodityyppiä, joita käytetään yleisesti FEC: ssä. Tämäntyyppiset koodit mahdollistavat viestin lähettämisen epäluotettavan yhteyden kautta ja ovat edelleen tulkittavissa sen saapuessa.

Lohkokoodaus on tarpeen viestin lähettämisen yhteydessä esiintyvän kohinan vuoksi. Kun tietojen on kuljettava pitkä matka tai epäluotettavan yhteyden yli, virheiden todennäköisyyden määrittämiseen käytetään Hammingin painoa ja etäisyyttä. Hamming -paino on kaikkien mahdollisten koodiyhdistelmien ilmaisemiseen tarvittava numero, ja lyöntietäisyys on se, kuinka monta virhettä tulee tapahtua ennen kuin bitti edustaa oikeutettua, mutta väärää tietoa.

Jos esimerkiksi lohkokoodausta käyttävä lähettäjä haluaisi lähettää viestin, joka voisi käyttää vain kolmea mahdollista numeroa, jotka ovat kolme numeroa pitkiä, Hamming -paino olisi kolme. Koodit voivat olla 000, 010 ja 011. Jos virheen seurauksena jokin numero muuttuu, esimerkiksi 000 muuttuu 010: ksi, koodi luetaan lailliseksi koodiksi (010), mutta ei lähettäjän tarkoittamaksi (000) . Näin ollen tämän koodin Hamming -etäisyys on yksi, koska vain yksi numero on muutettava, jotta tietokone voi korjata virheen.

Hamming -etäisyyden pienentämiseksi ja virheiden vähentämiseksi tiedot lähetetään koodilohkona, joka on koodattu tiettyihin tietyn pituisiin koodisanoihin. Alkuperäisistä sanomadatabiteistä käytetään nimitystä k bittiä. K bittiä käännetään vastaaviksi n bitiksi, jotka ovat koodeja, jotka on valittu seisomaan pidempinä koodeina kullekin k bitille. Yksittäisiä tai nollia lisätään, jotta bitit ovat tasaisia ​​ja pienentävät Hamming -etäisyyttä. Sitten nämä n bitin lohkot lähetetään vastaanottavalle tietokoneelle.

Lohkokoodauksen ajattelu on yksinkertaisinta, kun verrataan sitä kahteen keskusteluun osallistuvaan ihmiseen. Kun puhutaan meluisassa huoneessa tai huudetaan pitkiä matkoja, vastaanottajan kuulemassa on enemmän tilaa virheille. Jos lause on pitkä, henkilö voi korjata enemmän virheitä ottamalla koko lauseen asiayhteyteen, mutta lyhyillä lauseilla on suurempi virhetaso, koska henkilön sanomaa on vaikeampi tulkita.

Esimerkiksi jos joku huutaa “Punainen kissa” ja toinen kuulee “ruokittu kissa”, he keskeyttävät lauseen väärin. Jos ensimmäinen henkilö kuitenkin sanoi: “Minulla on punainen kissa” ja toinen kuuli: “Minulla on ruokittu värillinen kissa”, lauseen kontekstista on helppo päätellä, kuka todella sanoi “punainen” ja ei “syötetty” Tämä on perusperiaate lohkokoodauksen ja pidempien, yhtenäisten koodien käytön takana, jotta tietokoneet voivat kääntää tietolohkon tarkasti.