Konvoluutiokoodi
Konvoluutiokoodi on virheenkorjauskoodi, jota käytetään digitaalisessa tiedonsiirrossa ja tallennuksessa. Se luo ylimääräistä redundanssia tiedonsiirtoon lisäämällä tarkistusbittiä, jonka avulla vastaanottaja voi havaita ja korjata virheitä, jotka ovat saattaneet tapahtua tiedonsiirron aikana. Konvoluutiokoodi toimii liukuvan ikkunan periaatteella. Syöttödata käsitellään segmentteinä, ja jokainen syöttösegmentti vaikuttaa useisiin lähtösegmentteihin. Tämä luo koodatulle datalle enemmän rakennetta ja mahdollistaa tehokkaamman virheenkorjauksen. Koodausprosessissa käytetään usein rekisterisarjaa, johon syöttödata tallennetaan. Rekistereiden sisällöstä lasketaan erilaisia XOR-summia, jotka muodostavat lähtökoodin. Koodin monimutkaisuus ja tehokkuus riippuvat rekisterien määrästä ja koodausfunktion valinnasta.
Konvoluutiokoodien dekoodaukseen käytetään tyypillisesti Viterbi-algoritmia tai pehmeän päätöksen dekoodausmenetelmiä, kuten BCJR-algoritmia. Viterbi-algoritmi on ahne algoritm, joka