L'obiettivo generale di codifica di canale è quello di trasmettere dati il più possibile in veste di poco la trasmissione o la larghezza di banda, di un sistema di comunicazione possibile, pur mantenendo la qualità di trasmissione accettabile . Nelle comunicazioni digitali , la qualità di trasmissione viene determinata dal tasso di errore di bit - la percentuale di bit che hanno errori , rispetto al numero totale di bit ricevuti - al ricevitore . Il ricevitore rileva se ogni elemento di una trasmissione , conosciuta come una parola in codice , contiene degli errori e , idealmente , corregge tali errori .
ARQ contro FEC
le due principali metodi di controllo degli errori sono Automatic Repeat Request ( ARQ ) e Forward Error Correction ( FEC ) . In ARQ , quando un circuito ricevitore rileva errori in un blocco di dati , richiede che i dati vengano ritrasmessi , mentre in FEC , i dati vengono codificati in modo che il ricevitore possa correggere e di rilevare errori . L' idea chiave di FEC è sufficiente trasmettere dati duplicati o ridondanti che permettono al ricevitore di riprendersi dagli errori di propria . ARQ è relativamente poco costoso da implementare ed è spesso preferito per la trasmissione simultanea, indipendentemente dai dati in entrambe le direzioni su un canale bidirezionale , noto come comunicazione full - duplex . FEC , invece , viene utilizzato per half-duplex ( unidirezionale ) di comunicazione.
Codici a blocco
I due principali tipi di codice di canale cosiddetti " codici a blocco " e " codici convoluzionali . " Per creare un codice di blocco , i dati vengono suddivisi in blocchi di lunghezza , in bit , è rappresentata dalla lettera " k" e un numero di bit di parità o controllare , rappresentata da una lettera "r ", viene aggiunto a ciascun blocco . Il risultato finale è una parola di codice con una lunghezza complessiva di bit "n" , dove n = k + r . Codici a blocco tipicamente coinvolgono un
codici convoluzionali
La creazione di un codice convoluzionale comporta trade-off tra efficienza , l'affidabilità e la complessità dei dati di codifica e decodifica . Codificante una flusso di dati piuttosto che blocchi di dati . La sequenza di bit in un codice convoluzionale dipende non solo i bit di dati attuali ma anche su precedenti bit di dati . Codici convoluzionali sono tipicamente decodificati da un insieme di regole , chiamato l'algoritmo di Viterbi , e sono particolarmente adatte per canali di comunicazione corrotta da rumore corrispondente ad un modello matematico noto come additivo rumore gaussiano bianco ( AWGN ) .