Turbo codici: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 46:
 
==Il decoder==
Il decodificatore è costruito in modo simile all'encoder. Due decodificatori elementari sono interconnessi tra loro ma in modo seriale non in parallelo. Il decodificatore <math>\scriptstyle DEC_1</math> funziona a bassa velocità (es. <math>\scriptstyle R_1</math>) quindi è riferito al codificatore <math>\scriptstyle C_1</math> e corrispondentemente <math>\scriptstyle DEC_2</math> èsta per il <math>\scriptstyle C_2</math>. <math>\scriptstyle DEC_1</math> produce una decisione di tipo ''soft decision'' che causa un ritardo <math>\scriptstyle L_1</math>. Lo stesso ritardo è prodotto dalla linea di ritardo nell'encoder. L'operazione <math>\scriptstyle DEC_2</math> causa un ritardo <math>\scriptstyle L_2</math>.
 
[[File:turbo decoder.svg]]
 
Un interleaver installato tra i due decodificatori viene utilizzato per diffondere e sfumare i picchi di errore prodotti dall'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).
 
ConsiderandoConsideriamo un canale AWGN senza memoria [[additive white Gaussian noise|AWGN]] sie supponeassumiamo che alla ''k''-esima iterazione, il decodificatore riceva una coppia di variabili casuali:
 
:<math>\begin{align}
Riga 67:
:<math>\Lambda(d_k) = \log\frac{p(d_k = 1)}{p(d_k = 0)}</math>
 
e la consegna a <math>\scriptstyle DEC_2</math>. <math>\scriptstyle \Lambda(d_k)</math> è il codiddetto ''logaritmo del rapporto di verosimiglianza'' (LLR). <math>\scriptstyle p(d_k \;=\; i),\, i \,\in\, \{0,\, 1\}</math> è la ''è la probabilità a posteriori'' (APP) del <math>\scriptstyle d_k</math> bit di dati dove è messa la probabilità nell'interpretare un bit ricevuto <math>\scriptstyle d_k</math> come <math>\scriptstyle i</math>. Prendendo in considerazione l'''LLR'', <math>\scriptstyle DEC_2</math> produce una decisione ''hard''; cioè ilun bit decodificato.
 
L'[[algoritmo Viterbi ]] non è in grado di calcolare l'APP, quindi non può essere utilizzato in <math>\scriptstyle DEC_1</math>. Invece di questo, può essere usato utilizzato un algoritmo BCJR modificato [[BCJR algorithm]]. Per <math>\scriptstyle DEC_2</math> invece l' algoritmo di Viterbi è più appropriato.