Sei sulla pagina 1di 14

CODICI CONVOLUZIONALI PUNTURATI

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).

CODICI CONVOLUZIONALI PUNTURATI Esempio: Codice convoluzionale madre di tasso 1/2


Ingresso Bit di messaggio mi mi-1 Bit di codice Stato

CODICI CONVOLUZIONALI PUNTURATI Esempio: Codice convoluzionale madre di tasso 1/2 Una sezione del traliccio 1 bit di informazione

2 bit di codice

CODICI CONVOLUZIONALI PUNTURATI Esempio: Codice convoluzionale madre di tasso 1/2 Due sezioni del traliccio 2 bit di informazione

4 bit di codice

CODICI CONVOLUZIONALI PUNTURATI


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

CODICI CONVOLUZIONALI PUNTURATI 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

CODICI CONVOLUZIONALI PUNTURATI 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

CODICI CONVOLUZIONALI PUNTURATI Esempio: Codice convoluzionale punturato di tasso 3/4

Pattern di punturazione = 100111

CODICI CONVOLUZIONALI PUNTURATI Per progettare un codice di tasso k/n ci sono 2k = 2k diversi pattern di punturazione. 2k n n Si possono generare tutti e scegliere il migliore. I pattern migliori sono comunque noti e tabulati.

DECODIFICA DI CODICI CONVOLUZIONALI PUNTURATI Ipotesi: costellazione 2-PSK I due segnali trasmessi sono simmetrici rispetto allorigine

DECODIFICA DI CODICI CONVOLUZIONALI PUNTURATI


In decodifica: in corrispondenza dei bit punturati (non trasmessi sul canale), fingo di aver ricevuto il segnale 0 (simbolo neutro equidistante da s0 e s1): come se il canale avesse introdotto degli errori. rj = 0

Applico lalgoritmo di Viterbi al codice madre di tasso 1/2: non ho un codice ottimo ma la perdita di prestazioni sufficientemente ridotta

CODICI CONVOLUZIONALI PUNTURATI: Vantaggi


Mi basta implementare lalgoritmo 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.

CODICI CONVOLUZIONALI PUNTURATI: 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).

CODICI CONVOLUZIONALI PUNTURATI: 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