Turbo codici: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 32:
Esistono molti casi diversi di turbo codici, che utilizzano diversi componenti di codificatori, rapporti di input/output, interleaver e pattern di foratura. Questo esempio di implementazione dell'encoder descrive un classico codificatore turbo e mostra la progettazione generale dei turbo codici paralleli.
 
Questa implementazione dell'encoder invia tre sotto-blocchi di bit. Il primo sottoblocco è il blocco ''m''-bit dei dati del payload o carico utile che è spedito senza modifiche (codifica ''sistematica''). Il secondo sottoblocco è costituito da ''n/2'' bit di parità calcolati dai dati del payload utilizzando un codice convoluzionale sistematico ricorsivo (codice RSC). Il terzo sottoblocco è costituito da ''n/2'' bit di parità calcolati su una permutazione nota dei bit del payload, ancora utilizzando un codice RSC. Pertanto due sottogruppi ridondanti ma diversi di bit di controllo di parità sono inviati insieme al carico utile. Il blocco completo è composto da ''m + n'' bit di dati, con rapporto D/C (Dati/Controllo) ''m / ( m + n )''. La permutazione dei bit del payload tra le i due RSC in parallelo viene eseguito da un dispositivo chiamato interleaver.
La permutazione dei bit del payload tra le i due RSC in parallelo viene eseguito da un dispositivo chiamato interleaver. L'interleaver installato tra i due codificatori (e i decodificatori) è utilizzato per diffondere e sfumare i picchi di errore prodotti sull'output dal rumore che affligge il mezzo trasmissivo.
 
Dal punto di vista dell'hardware, il codificatore complessivo consiste di due codificatori RSC in parallelo, ''C''<sub>1</sub> e ''C''<sub>2</sub>, come illustrato in figura, che sono collegati tra loro usando uno schema di concatenazione parallela:
Riga 50 ⟶ 51:
[[File:turbo decoder.svg]]
 
Un interleaver installato tra i due decodificatori viene utilizzato per diffondere e sfumare i picchi di errore prodotti in output <math>\scriptstyle DEC_1</math>. Il blocco ''DI'' è un modulo di demultiplexing e inserimento di zeri che funziona come un doppio interruttore, reindirizzando alternativamente i bit di input a <math>\scriptstyle DEC_1</math> e a <math>\scriptstyle DEC_2</math>, e nello stato OFF alimenta entrambi gli ingressi <math>\scriptstyle y_{1k}</math> and <math>\scriptstyle y_{2k}</math> con dei bit di riempimento (zeri).
 
Consideriamo un canale AWGN senza memoria [[additive white Gaussian noise|AWGN]] e assumiamo che alla ''k''-esima iterazione il decodificatore riceva una coppia di variabili casuali: