next up previous contents index
Avanti: Scrambling Su: Codifica di Canale Indietro: Codici a blocchi   Indice   Indice analitico

Sottosezioni

Codici a correzione

Si è detto che un codificatore di canale a blocchi può aggiungere k bit (e non uno soltanto!) ogni m. Questo può essere realizzato, ad esempio, se ognuno dei k bit rappresenta la parità calcolata su un sottogruppo degli m bit di ingresso. Dato che questi bit in più non sono qualsiasi, ma dipendono dai primi m (4.22), non tutte le 2m + k possibili configurazioni possono essere emesse: tutte quelle possibili costituiscono il codebook, e prendono il nome di codeword (parole di codice). In presenza di errori, il decodificatore se ne accorge per il fatto di aver ricevuto una non-codeword4.23; se queste ultime sono sufficientemente ``differenti'' l'una dall'altra, allora si può anche tentare di correggere l'errore, anziché chiedere la ritrasmissione della parola.

Codice a ripetizione

Un esempio molto semplice di codice a blocchi con proprietà correttive è il codice a ripetizione k : 1, che per ogni bit in arrivo ne produce k identici in uscita, in modo che (se gli errori sono indipendenti) il decisore possa correggere l'errore in base ad una ``votazione a maggioranza'' (majority voting)4.24. In presenza di errori a gruppi, occorre ricorrere allo scrambler, descritto nel seguito.

Distanza di Hamming.

La capacità di un codice, di correggere uno o più errori, oltre che rivelarne la presenza, è legata (come abbiamo detto) alla ``differenza'' tra le parole del codebook. Una misura di questa differenza è la distanza di Hamming (dH), che rappresenta il minimo numero di bit diversi tra due parole di codice (ad esempio, nel codice a ripetizione 3 : 1 si hanno 2 parole di codice, 000 ed 111, e risulta dH = 3). Si dimostra che un codice di canale è in grado di correggere $ {\frac{d_{H}-1}{2}}$ errori per parola e di rivelare dH - 1 errori per parola.

FEC e ARQ

Qualora un codice di canale sia utilizzato in modalità correttiva, si usa descrivere la codifica come una FORWARD ERROR CORRECTION, ossia una correzione di errore ``in avanti''. Se invece il codice è usato solo per rivelare gli errori, allora sarà necessario prevedere l'uso di protocolli detti ARQ (AUTOMATIC REQUEST) che si occupano di chiedere la ritrasmissione della parola errata.


next up previous contents index
Avanti: Scrambling Su: Codifica di Canale Indietro: Codici a blocchi   Indice   Indice analitico
alef@infocom.uniroma1.it
2001-06-01