Con un unico decodificatore si possono ottenere vari tassi. Partendo da un unico codice convoluzionale madre di tasso 1/2, si ottiene un insieme di codici convoluzionali di tasso k/n, con k>1. Vantaggi: buona soluzione dal punto di vista della complessità (un solo algoritmo di Viterbi da implementare, per il codice madre di tasso 1/2). Svantaggi: prestazioni non ottimali (fissato k/n ed il numero di stati, con la punturazione non è sempre possibile ottenere il codice migliore).
Esempio: Codice convoluzionale madre di tasso 1/2 Ingresso Stato Bit di messaggio m i m i-1 Bit di codice
Esempio: Codice convoluzionale madre di tasso 1/2 Una sezione del traliccio 1 bit di informazione 2 bit di codice
Esempio: Codice convoluzionale madre di tasso 1/2 Due sezioni del traliccio 2 bit di informazione 4 bit di codice
Punturare un bit = non trasmettere quel bit Esempio Se punturo 1 bit ogni 2 sezioni, ad esempio il quarto: Due sezioni del traliccio 2 bit di informazione 3 bit di codice Tasso complessivo = 2/3
In generale, per realizzare un codice di tasso k/n: prendo un codice convoluzionale madre di tasso ½; considero k sezioni: k bit di informazione 2k bit di codice; punturo (2k-n) bit di codice; a k bit di informazione corrispondono n bit di codice. Tasso complessivo = k/n
In k sezioni ho 2k bit di codice: (2k-n) bit di codice vengono punturati; n bit di codice vengono trasmessi. La punturazione viene descritta mediante un PATTERN DI PUNTURAZIONE Vettore binario di 2k componenti: Componente = 0 se il bit è punturato Componente = 1 se il bit è trasmesso Esempio precedente: Pattern = 1110
Esempio: Codice convoluzionale punturato di tasso 3/4 Pattern di punturazione = 100111
Per progettare un codice di tasso k/n ci sono 2k 2 k n = 2 n k diversi pattern di punturazione. Si possono generare tutti e scegliere il migliore. I pattern migliori sono comunque noti e tabulati.
DECODIFICA DI CODICI CONVOLUZIONALI Ipotesi: costellazione 2-PSK I due segnali trasmessi sono simmetrici rispetto all origine
DECODIFICA DI CODICI CONVOLUZIONALI In decodifica: in corrispondenza dei bit punturati (non trasmessi sul canale), fingo di aver ricevuto il segnale 0 (simbolo neutro equidistante da s 0 e s 1 ): è come se il canale avesse introdotto degli errori. r j = 0 Applico l algoritmo di Viterbi al codice madre di tasso 1/2: non ho un codice ottimo ma la perdita di prestazioni è sufficientemente ridotta
: Vantaggi Mi basta implementare l algoritmo di Viterbi per il codice madre di tasso ½. Posso cambiare il code rate semplicemente cambiando il pattern di punturazione e inserendo il segnale ricevuto zero in corrispondenza dei bit punturati. Facilità nel cambiare il code-rate sia in trasmissione che in ricezione. Ciò è utile per le applicazione riconfigurabili, che richiedono di cambiare il tasso del codice velocemente in funzione delle condizioni del canale.
: Svantaggi Fissato il tasso del codice k/n e il numero di stati, non sempre è possibile ottenere il codice migliore mediante punturazione di un codice madre di tasso ½. Possibile perdita di prestazioni (a fronte, però, della semplicità di implementazione).
: Esempio di applicazione Standard DVB-S (televisione digitale via satellite) Utilizza un codice convoluzionale madre di tasso ½ a 64 stati Mediante punturazione si possono ottenere i seguenti tassi di codifica: k/n = 2/3 3/4 5/6 7/8