Mis on plokkkodeerimine?

Kooditeooria osana on plokkkodeerimine edasisuunamise veaparanduse (FEC) vorm, mida tuntakse ka kanalikoodina, mis teisendab sõnumid konkreetseteks koodideks ja saadab teabe etteantud pikkusega andmeplokina. Suuremad andmeplokid hõlbustavad vastuvõtval arvutil teabe dekodeerimist ja edastuse käigus ilmnevate vigade parandamist. Plokikoodid ja konvolutsioonikoodid on kaks FEC-is tavaliselt kasutatavat kooditüüpi. Seda tüüpi koodid võimaldavad sõnumit saata ebausaldusväärse ühenduse kaudu ja on selle saabumisel siiski dešifreeritavad.

Plokkkodeerimise kasutamine on vajalik sõnumi saatmisel tekkiva müra tõttu. Kui andmed peavad liikuma pika vahemaa või ebausaldusväärse ühenduse kaudu, kasutatakse vigade tõenäosuse määramiseks Hammingi kaalu ja kaugust. Hammingu kaal on numbrite arv, mis on vajalik kõigi võimalike koodikombinatsioonide väljendamiseks, ja hammimise kaugus näitab, kui palju vigu peaks esinema enne, kui bitt esindab õigustatud, kuid vale teavet.

Näiteks kui plokkkodeeringut kasutav saatja sooviks saata sõnumi, mis võiks kasutada ainult kolme võimalikku koodi, millest igaüks on kolmekohaline, oleks Hammingi kaal kolm. Koodid võivad olla 000, 010 ja 011. Kui mõni tõrge põhjustas ühe numbri muutumise, näiteks 000 muutumise 010-ks, loetakse kood seaduslikuks koodiks (010), kuid mitte koodiks, mida saatja kavatses (000) . Seega on selle koodi Hammingi kaugus üks, sest arvuti ei saa parandada vea tekitamiseks tuleb muuta ainult ühte numbrit.

Hammingi kauguse vähendamiseks ja vigade vähendamiseks saadetakse andmed koodiplokina, mis on kodeeritud kindlateks teatud pikkusega koodisõnadeks. Algseid sõnumiandmebitte nimetatakse k bittideks. K bitti tõlgitakse vastavateks n bitideks, mis on koodid, mis on valitud iga k biti jaoks pikemate koodidena. Ühed või nullid lisatakse, et muuta bitid ühtlaseks ja vähendada Hammingi kaugust. Seejärel edastatakse need n-bitised plokid vastuvõtvasse arvutisse.

Plokkkodeerimisele mõtlemine on kõige lihtsam, kui võrrelda seda kahe inimese vestlusega. Mürarikkas ruumis rääkides või pika vahemaa tagant karjudes on vastuvõtva inimese kuuldes rohkem ruumi vigadele. Kui lause on pikk, saab inimene parandada rohkem vigu, võttes kogu lause kontekstis, kuid lühikeste lausete veamäär on suurem, kuna inimese öeldut on raskem dešifreerida.

Näiteks kui üks inimene karjub “Punane kass” ja teine ​​kuuleb “Fed cat”, katkestab ta lause valesti. Kui aga esimene inimene ütles: “Mul on punast värvi kass” ja teine ​​inimene kuulis: “Mul on toidetud värviline kass”, on lause kontekstist lihtne kindlaks teha, kes tegelikult ütles “punane” ja mitte “toidetud”. See on plokkkodeerimise ja pikemate ühtsete koodide kasutamise aluspõhimõte, mis aitab arvutitel teabeplokki täpselt tõlkida.