Lo scopo della comunicazione a errore indotto (FEC) è quello di migliorare la capacità di trasmissione dei dati di un canale aggiungendo ai dati trasmessi attraverso il canale alcune informazioni ridondanti attentamente studiate. Il processo di aggiunta di queste informazioni ridondanti è noto come codifica del canale. La codifica convoluzionale e la codifica a blocchi sono le due forme principali di codifica di canale. I codici convoluzionali operano su dati seriali, uno o pochi bit alla volta. I codici a blocchi operano su blocchi di messaggi relativamente grandi. La codifica a convoluzione con decodifica viterbi è una delle tecniche di correzione degli errori più popolari ed eccellenti per la correzione degli errori casuali. È uno dei metodi FEC più utilizzati in molti sistemi di comunicazione digitale.