Del teorije kode je blokovno kodiranje oblika popravljanja napak naprej (FEC), znana tudi kot kanalna koda, ki pretvori sporočila v posebne kode in pošlje informacije kot blok podatkov z vnaprej določeno dolžino. Večji bloki podatkov prejemnemu računalniku olajšajo dekodiranje informacij in popravljanje napak, ki se pojavijo med prenosom. Blok kode in konvolucijski kodi sta dve vrsti kod, ki se običajno uporabljata v FEC. Te vrste kode omogočajo pošiljanje sporočila prek nezanesljive povezave in ga je še vedno mogoče razbrati, ko prispe.
Uporaba blokovnega kodiranja je nujna zaradi hrupa, ki nastane ob pošiljanju sporočila. Ko morajo podatki potovati na veliko razdaljo ali prek nezanesljive povezave, se za določitev verjetnosti napak uporabita Hammingova teža in razdalja. Hammingova teža je število števk, potrebnih za izražanje vseh možnih kodnih kombinacij, Hamingova razdalja pa je, koliko napak bi se moralo pojaviti, preden bi bit predstavljal legitimen, a napačen podatek.
Na primer, če bi pošiljatelj, ki uporablja blokovno kodiranje, želel poslati sporočilo, ki bi lahko uporabilo samo tri možne kode, ki so bile vsake dolge tri števke, bi bila Hammingova teža tri. Kode so lahko 000, 010 in 011. Če bi se zaradi napake spremenila katera koli številka, na primer 000 se spremeni v 010, bi se koda prebrala kot zakonita koda (010), ne pa kot koda, ki jo je pošiljatelj nameraval (000). . Tako je Hammingova razdalja za to kodo ena, ker je treba spremeniti samo eno številko, da povzroči napako, ki je računalnik ne more popraviti.
Za zmanjšanje Hammingove razdalje in zmanjšanje napak se podatki pošljejo kot blok kode, ki je kodiran v določene kodne besede določene dolžine. Prvotni podatkovni biti sporočila se imenujejo k bitov. K bitov se prevedejo v ustreznih n bitov, ki so kode, ki so bile izbrane kot daljše kode za vsak k bit. Enice ali ničle se dodajo, da postanejo biti enotne dolžine in zmanjšajo Hammingovo razdaljo. Nato se ti bloki po n bitov prenesejo v prejemni računalnik.
Razmišljanje o blokovnem kodiranju je najpreprostejše, če ga primerjamo z dvema osebama, ki se pogovarjata. Ko govorite v hrupnem prostoru ali kričite na dolge razdalje, je več prostora za napake v tem, kar sliši sogovornik. Če je stavek dolg, lahko oseba popravi več napak tako, da vzame celoten stavek v kontekst, vendar imajo kratki stavki višjo stopnjo napak, ker je težje razvozlati, kaj oseba govori.
Na primer, če ena oseba zavpije »Rdeča mačka«, druga oseba pa sliši »Nahranjena mačka«, prekinjajo stavek napačno. Če pa je prva oseba rekla: »Imam rdeče obarvano mačko«, druga oseba pa je slišala »Imam hranjeno obarvano mačko«, je v kontekstu stavka enostavno ugotoviti, kdo je dejansko rekel »rdeča« in ni “nahranjen”. To je osnovno načelo za kodiranje blokov in uporabo daljših, enotnih kod, ki pomagajo računalnikom natančno prevesti blok informacij.