controllo degli errori - comlab errori - fec...ack, anche se questa non è una necessità nel caso...
TRANSCRIPT
CONTROLLO DEGLI ERRORI
Protocolli FEC, ARQ e HARQ
Emanuele Maiorana
COMLAB (Laboratorio di Comunicazioni Multimediali)
Dipartimento di Elettronica Applicata
Università degli Studi “Roma TRE”, Roma, Italia
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
SOMMARIO
• Efficienza Spettrale
• Controllo degli errori tramite FEC
• Controllo degli errori tramite ARQ
• Combinazione FEC – ARQ: HARQ
• Prestazioni protocolli HARQ
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CAPACITÀ DI CANALE
• Livello di Collegamento (Data Link): genera i pacchetti e gestisce il
trasferimento dati effettuato dal livello fisico;
• Livello Fisico: trasferisce, dal trasmettitore al ricevitore, i pacchetti (frame)
ricevuti dal livello di collegamento nella maniera più affidabile possibile.
o a tal fine sono impiegate le capacità del canale e le tecniche di modulazione
La comunicazione per mezzo di un canale reale non può essere mai
completamente affidabile:
o in un canale affetto da rumore gaussiano additivo (AWGN), si ha:
( ) , /S NR SNR P P=2log 1C B SN= +
• un incremento lineare della capacità di canale richiede un incremento
esponenziale della potenza del trasmettitore.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
EFFICIENZA SPETTRALE
L’efficienza spettrale η è definita come il numero medio di bit di informazione che
vengono trasmessi nell’unità di tempo, per unità di banda fisica ( bfB
η = ).
Si consideri una sorgente senza memoria a simboli (bit) equiprobabili, e sia:
o fb (bit/s): ritmo di emissione simboli
o Eb: l’energia del segnale ricevuto per singolo simbolo trasmesso
o No: lo spettro di densità del rumore per il rapporto segnale rumore
si ha:
PS
PN
=Eb fbN0B
= ηEb
N0
SNR =
bf C< ): da cui, per il teorema di Shannon sulla capacità di canale (
20 0
log 1 b bb
E Ef C BN N
η⎛ ⎞
< = +⎜ ⎟⎝ ⎠
2 1η
η−
→ <
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
LIMITE TEORICO
0
2 1 bEN
η
η−
<
o indica il valore minimo di Eb/N0 richiesto per una specifica efficienza spettrale
desiderata (ottenibile con una probabilità di errore arbitrariamente bassa)
o indica la massima efficienza spettrale (sfruttamento del canale) alla quale un sistema
può operare, in un ambiente condizionato da un valore fissato del rapporto Eb/N0.
Esiste un limite teorico che non può essere superato da nessuna modalità di
trasferimento dell’informazione (modulazione)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
MODULAZIONI
Confronto prestazioni schemi di modulazione col limite teorico efficienza spettrale
All'aumentare del rapporto Eb/N0, è necessario aumentare la cardinalità della
costellazione per non incorrere nella saturazione dell'efficienza spettrale.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
ADATTIVITÀ
L'adattatività dei formati di modulazione è fondamentale nei sistemi di
comunicazione di nuova concezione (WiMAX, UMTS, ecc.), soprattutto se il
segnale ricevuto presenta una dinamica di SNR molto elevata.
Al fine di conseguire la massima efficienza spettrale, le tecniche correnti
prevedono una gestione dinamica sia dei formati di modulazione che della
ridondanza introdotta dalla codifica di canale.
I protocolli di livello due vengono impiegati per:
o sincronizzare il trasmettitore ed il ricevitore sul formato e l’ordinamento dei dati
scambiati
o la gestione del rilevamento, ed eventualmente della correzione, degli errori che
possono verificarsi durante la trasmissione dei dati.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
PARAMETRI DI VALUTAZIONE
Le prestazioni di uno schema di controllo degli errori sono espresse in termini di:
o efficienza (spesso indicata anche come throughput): rapporto tra il numero medio di
bit accettati dal ricevitore nell’unità di tempo, ed il numero totale di bit che potrebbero
essere inviati nell’unità di tempo
o affidabilità (reliability): rapporto tra il numero medio di bit correttamente trasferiti e
quello di bit accettati dal ricevitore.
Per i controlli basati su Forward Error Correction (FEC) o Automatic Repeat
Request (ARQ) si ha:
o FEC: efficienza di trasferimento pari ad 1 (il trasmettitore non interrompe mai il
trasferimento dei dati), affidabilità dipendente da codice e canale.
o ARQ: affidabilità pari ad 1 (i pacchetti devono essere consegnati tutti correttamente,
altrimenti non sono accettati), efficienza dipendente dal protocollo e dal canale
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
Forward Error Correction (FEC)
Le tecniche di gestione errore tramite FEC sono le più semplici (per difficoltà
implementativa), non prevedendo alcuna forma di ritrasmissione dei dati.
o il trasmettitore invia i pacchetti con continuità senza mai fermarsi, sino allo
svuotamento del proprio buffer di trasmissione
o azione preventiva di correzione
• si cerca di prevenire la consegna di pacchetti affetti da errori, inserendo
dell’informazione di ridondanza che può consentire il recupero degli errori, e
non solamente la loro rivelazione
• diminuzione del rapporto tra lunghezza del pacchetto e lunghezza del payload
contenuto all’interno del pacchetto.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
TIPI DI CODICE
I codici a correzione d’errore di recente maggiore diffusione sono tipicamente di
tipo concatenato, e si distinguono in due categorie:
o codici concatenati di tipo seriale
• il primo stadio è costituito da un codice lineare a blocco di tipo sistematico, il
secondo stadio da un codice convoluzionale, eventualmente punturato
o codici concatenati di tipo parallelo
• tipicamente a due canali, in cui ciascun canale è costituito da un codificatore
sistematico di tipo ricorsivo (turbocodici)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
REED SOLOMON
I codici a blocco maggiormente impiegati (e tra i più prestanti) sono i codici di
Reed-Solomon (RS).
o una parola di K simboli (generalmente m=8 bit: 256 possibili simboli) viene mappata
in una parola di codice di N simboli
• sistematicità: i primi K sono pari a quelli della parola da codificare
• N = 2m-1: parole da 255 simboli
o la capacità di correzione è determinata dal valore t = (dmin-1)/2=(N-K)/2.
• per K=223, si correggono fino a 16 simboli su 255
• se un numero maggiore di t errori si verifica, il blocco viene decodificato in un
messaggio diverso da quello originario
Funzionamento: le parole da codificare sono mappate come coefficienti di un
polinomio di grado K-1, del quale vengono calcolati N punti, usati in decodifica per
determinare i coefficienti del polinomio
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONCATENAZIONE PARALLELA - TURBOCODICI
Banco di permutatori, ciascuno seguito da un codificatore convoluzionale di tipo
ricorsivo sistematico (RSC: Recursive Systematic Convolutional) e punturazione.
o ogni RSC produce, per ciascun bit d’ingresso, una replica dello stesso bit concatenata
con una sequenza di bit di parità;
o poichè la componente sistematica di ciascun RSC è semplicemente la permutazione
della sequenza in ingresso, viene trasmessa una volta per tutti gli RSC.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
COMPARAZIONE TRA APPROCCI FEC (CANALE AWGN)
o Curva 1: limite teorico raggiungibile dai turbocodici
o Curva 2: realizzazione tipica turbocodici
• lunghezze del pacchetto relativamente elevate
• trasmissione dati più che fonia (bassa latenza)
o Curva 3: codici concatenati di tipo seriale
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
AUTOMATIC REPEAT REQUEST (ARQ)
Le procedure ARQ impiegano un canale di feedback tra ricevitore e trasmettitore
o il trasmettitore viene messo a conoscenza dell’esito del trasferimento di un pacchetto
Scenario:
o L (bit): lunghezza complessiva di un pacchetto
o fb (bit/sec): velocità di trasmissione → T (sec) = L/ fb
o D (m): distanza del collegamento
o τ = D/v (sec): intervallo di trasmissione (v ≈ c = 3·108 m/sec)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
MODALITÀ
Codici di rivelazione d’errore sono impiegati per determinare se il pacchetto
ricevuto sia affetto da errori
o viene indicato con TE il tempo necessario al ricevitore per compiere l’operazione di
controllo (tempo generalmente trascurabile)
I protocolli ARQ richiedono che il ricevitore comunichi al trasmettitore l’esito di un
trasferimento dati con appositi pacchetti di riscontro (ACK).
o modalità esplicita: uno per ogni pacchetto correttamente ricevuto, oppure in modalità
cumulativa (uno relativo ad una successione di pacchetti tutti correttamente ricevuti)
• possono essere impiegati anche messaggi di NACK (condizione di errore)
o piggy-backing: addossando l’informazione di ACK all’interno di un altro pacchetto che
viaggia autonomamente nel verso opposto
I protocolli ARQ devono prevedere l’uso di intervalli di time-out
o valore determinato in base alle caratteristiche del canale e del buffer di trasmissione
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
FINESTRE IN TRASMISSIONE E RICEZIONE
I protocolli ARQ sono indicati anche come protocolli di tipo “sliding-window”:
o il mittente mantiene una finestra di trasmissione, riempita ogni volta che viene inviato
un nuovo pacchetto, e svuotata quando viene ricevuto un ACK
o il ricevente può mantenere una finestra di ricezione, corrispondente all’insieme di
pacchetti che può accettare, riempita se si riceve un pacchetto fuori sequenza (con un
identificativo superiore a quello di pacchetti non ancora ricevuti, eventualità che può
verificarsi quando la rete preveda diversi possibili percorsi)
• a seconda della procedura ARQ selezionata, il destinatario può scartare il
pacchetto ricevuto (anche se questo è stato ricevuto correttamente), oppure
immagazzinarlo e rimanere in attesa di quelli non ancora ricevuti.
Metodologie ARQ:
o Stop-and-wait (SW)
o Go-back-N (GBN)
o Selective-repeat (SR)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
STOP & WAIT
Impiegando questa procedura è possibile trasmettere un solo pacchetto alla volta.
o inviato il frame il trasmettitore si arresta, in attesa dell’ACK/NACK corrispondente.
• se arriva un NACK o se scade il temporizzatore, il frame viene ritrasmesso
• se arriva l’ACK, il frame corrispondente è eliminato dal buffer del
trasmettitore, il quale può proseguire con l’invio del successivo frame.
o equivale ad avere una finestra di trasmissione di dimensione pari ad 1
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
STOP & WAIT: TIME-OUT
Per gestire in maniera efficace la comunicazione è necessario definire dei limiti
temporali superati i quali il trasmettitore, se non ha ancora ricevuto un riscontro,
effettua comunque nuovamente la trasmissione del pacchetto.
Durata temporale minima di time-out:
tout > 2τ + 2TE + TR ≈ 2τ
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
STOP & WAIT: NUMERAZIONE PACCHETTI
Lo SW, anche se invia messaggi solo se i precedenti son stati recapitati, non può
comunque prescindere dall’utilizzo di codici identificativi nei pacchetti
o nel momento in cui il ricevitore riceve un pacchetto correttamente e restituisce un
ACK, si mette in attesa di un altro pacchetto ipotizzando che sia il successivo rispetto
a quello appena ricevuto.
o se però l’ACK non arriva al trasmettitore o arriva corrotto, questo restituirà
nuovamente lo stesso pacchetto precedentemente inviato, senza aver modo di
comunicarlo al ricevitore.
o nel caso del protocollo SW, è consentito anche usare un solo bit (due soli valori) per
rappresentare il numero di sequenza: è sufficiente indicare al ricevitore che il
pacchetto attuale è diverso da quello ricevuto immediatamente prima
• l’identificativo di sequenza dovrebbe essere incluso anche nel pacchetto di
ACK, anche se questa non è una necessità nel caso del protocollo SW.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
STOP & WAIT: Efficienza (1/2)
Efficienza: rapporto tra tempo impiegato a trasmettere un pacchetto, e tempo
necessario a trasferirlo al destinatario (non si considera il rate rispetto alla
precedente definizione)
CASO 1: SW in assenza di errori
TTOT = τ + T + TE + τ + TR + TE = 2τ + T + 2TE + TR
Efficienza di utilizzo del canale
E RR
1T TT 2 1 2
T T T
=τ+ + +TOT E
T TEffT 2 T 2T
= =τ + + +
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
STOP & WAIT: Efficienza (2/2)
Caso 2: presenza di errori
o si ipotizza che il timer di time-out sia impostato al suo valore minimo (quello cioè di
un ciclo completo)
o ad ogni errore il denominatore viene aumentato del tempo TTOT
E RT T] 2 1 2T T Tτ⎛ ⎞⋅ + + +⎜ ⎟
⎝ ⎠T TOT
T
T 1EffE[n ] T E[n
= =⋅
o E[nT]: numero medio di trasmissioni effettuate per comunicare un solo pacchetto.
o P: probabilità che un pacchetto arrivi a destinazione corrotto
• [ ] ( ) ( )i 1 i 1 iT
i 1 i 0 i 0
d dE n i P (1 P) (1 P) i P (1 P) PdP
∞ ∞ ∞− −
= = =
= ⋅ ⋅ − = − ⋅ ⋅ = − ⋅ i
i 0
1(1 P) PdP 1 P
∞
=
= − ⋅ =−∑ ∑ ∑ ∑ , da cui
E RE R
1 1 P 1 1 PEff EffT T1 T T 1 22 1 2 1 22 1 2T T T T1 P T T T
Pa
− − −= = → ≅ =
τ ττ +⎛ ⎞ + + + +⋅ + + +⎜ ⎟− ⎝ ⎠
essendo a = τ /T il tempo di propagazione del segnale normalizzato rispetto al
tempo di trasmissione del generico pacchetto di lunghezza L.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONTINUOUS ARQ
Il Go Back N, (GBN), insieme al Selective Repeat (SR), rappresenta una strategia
Continuous ARQ.
o in assenza di errori il comportamento del GBN e del SR è il medesimo
o si è assunto che la finestra del trasmettitore possa contenere W=4 pacchetti di
lunghezza L. Saturata la finestra, il trasmettitore attende il primo ACK per inviare altri
frame.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
GBN
In caso di errori, il protocollo GBN re-invia il pacchetto errato insieme a tutti che
sono stati successivamente inviati sul collegamento.
o deve essere impostato un time-out per ogni pacchetto inviato sul canale.
o è possibile impiegare un ACK cumulativo per notificare l’avvenuta ricezione di un certo
numero di frame consecutivi: il time-out viene impostato di conseguenza.
Il protocollo GBN è tipicamente impiegato su linee di bassa qualità, con elevata
probabilità di errore, o per canali dove gli errori avvengono tipicamente a burst
o in questi casi è lecito aspettarsi che ad un pacchetto ricevuto corrotto ne possano
seguire altri anch’essi corrotti
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
GBN: ERRORI E FINESTRA
• Nel momento in cui il destinatario riceve un pacchetto errato, smette di inviare
ACK per non occupare inutilmente il canale
• Numerazione dei pacchetti e finestra del trasmettitore:
o se la dimensione della finestra è W, il trasmettitore può inviare al massimo W
pacchetti prima di ricevere il primo riscontro dalla destinazione.
o se M è il numero di bit impiegati per rappresentare l’identificativo sequenziale di un
pacchetto, deve risultare che 2M>M.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
IPOTESI PER ANALISI PRESTAZIONI
Ipotesi:
o viene trascurato l’intervallo di tempo tra la conclusione dell’immissione sulla linea di
un pacchetto e l’inizio dell’immissione del pacchetto successivo: in assenza di errori il
tempo impiegato per saturare la finestra del trasmettitore è pari a W·T
o viene ipotizzato che il time-out di ogni pacchetto sia scelto in modo tale da essere pari
al tempo minimo che il trasmettitore impiega per attendere il primo riscontro (2τ)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
GBN: EFFICIENZA(1/2)
CASO 1: assenza di errori e W·T >T + 2τ (finestra del trasmettitore mai satura)
o l’efficienza trasmissiva è pari ad Eff=1: la linea viene perennemente impiegata.
CASO 2: presenza di errori e W·T >T + 2τ (finestra del trasmettitore mai satura:
o il trasmettitore non si arresta mai: se scade il timer, re-invia i pacchetti
o l’efficienza si riduce di una quantità pari al numero medio di trasmissioni E[nT] che
vengono effettuate per trasferire un singolo pacchetto (Eff=1/ E[nT])
• indicando con P la probabilità di errore di un generico pacchetto, e con K il
numero pacchetti ritrasmessi per ogni pacchetto consegnato errato, si ha:
[ ] i iT
i 0
E n (1 iK) P (1 P) (1 P)∞ ∞
= =i 0
K P(1 iK)P 11 P⋅⎡ ⎤= + − = −⎣ ⎦ + = +−∑ ∑
• dato che la finestra non satura, si ha che K=1+2a, dove a=τ/T da cui:
T1 2aPE[n ]1 P T
1 1 PEffE[n ] 1 2aP
+ −= → = =
− +
• miglioramento rispetto all’efficienza del protocollo SW, essendo tipicamente
molto piccola la probabilità P.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
GBN: EFFICIENZA(2/2)
CASO 3: assenza di errori e W·T <T + 2τ (finestra del trasmettitore satura)
o l’utilizzazione del canale in assenza di errori viene limitata proprio dalla dimensione
della finestra, divenendo pari a
W T WT 2 1 2
Effa
⋅= =
+ τ +
CASO 4: presenza di errori e W·T <T + 2τ (finestra del trasmettitore satura)
o anche in questo caso l’efficienza si riduce del valore nR, ovvero del numero di
ritrasmissioni che vengono effettuate per un generico pacchetto.
• il numero di pacchetti che vengono ritrasmessi per ogni pacchetto errato è
pari a W, da cui
[ ] [ ]TT
1 P PK 1 P PW WE n Eff1 P 1 P E n (1− + − +
= = → =− −
W(1 P)2a) (1 2a)(1 P PW)
−=
+ + − +
o ponendo W=1, il protocollo GBN si comporta esattamente come il protocollo SW
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
Selective Repeat (SR)
Ritrasmessi solo i frame con time-out scaduto o per i quali sono arrivati dei NACK
o impiegato con canali affidabili con bassa probabilità d’errore: poco probabile che, dopo
un pacchetto ricevuto corrotto, ve ne siano immediatamente altri anch’essi inservibili.
o il protocollo migliora l’efficienza di utilizzo della risorsa rispetto al GBN
o è necessario disporre in ricezione di un buffer di memorizzazione per eseguire il
riordinamento dei frame ricevuti: in seguito alla ritrasmissione dei soli frame non
correttamente ricevuti, questi possono arrivare al ricevitore fuori sequenza
• dimensione M del campo per l’identificativo di sequenza → WT + WR <2M.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
SR: Efficienza
CASO 1: assenza di errori e WT·T >T + 2τ (finestra del trasmettitore mai satura)
o l’efficienza trasmissiva è pari ad Eff=1: la linea viene perennemente impiegata.
CASO 2: presenza di errori e WT ·T >T + 2τ (finestra del trasmettitore mai satura)
o riduzione del fattore E[nT] che, indicando con P la probabilità di errore di un generico
pacchetto, è dato da
[ ] ( )i 1T
i 1
E n iP 1 P1 P
∞−
=
1 Eff 1 P= − =∑ → = −−
CASO 3: assenza di errori e WT·T <T + 2τ (finestra del trasmettitore satura)
o stesse prestazioni del GBN:
T TW T WEffT 2 1 2a
⋅= =
+ τ +
CASO 4: presenza di errori e WT·T <T + 2τ (finestra del trasmettitore satura)
o riduzione del fattore E[nT]
[ ]T T
T
W W (1 P)(1 2a) 1 2a
−+ +
EffE n
= =
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
PROTOCOLLI ARQ BASE: COMPARAZIONE
o l’efficienza del protocollo GBN è significativamente superiore a quello dello SW,
richiedendo una minima elaborazione supplementare da parte del trasmettitore.
o il protocollo SR è migliore del GBN dal punto di vista delle prestazioni, ma richiede
un’elaborazione più onerosa dal punto di vista della memoria e del processing.
• i due protocolli vengono spesso selezionati in base alle proprietà del canale.
o in caso di assenza di errori, l’efficienza di SW è limitata dal parametro a=τ/T. Per
GBN e SR il valore a=τ/T si ripercuote sulle prestazioni a seconda della finestra in
trasmissione WT (se tale finestra è maggiore o minore del termine (1+2a)).
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
Protocolli HARQ
I protocolli Hybrid ARQ (HARQ) cercano di fondere in un’unica tipologia i vantaggi
delle tecniche ARQ e quelli delle tecniche FEC.
o gli approcci basati sulle tecniche di ARQ sono in grado di fornire una elevata
affidabilità ma sono limitati nel throughput
o i metodi basati su FEC riescono a garantire un elevato throughput, ma la loro
affidabilità non è elevata, dato che non prevedono meccanismi di ritrasmissione.
Gli schemi HARQ impiegano tecniche FEC per gestire i pattern di errori
maggiormente frequenti, e ricorrono alla ritrasmissione con tecniche ARQ se i non
è possibile ripristinare il messaggio originariamente inviato tramite correzione.
o sono di particolare interesse per i sistemi caratterizzati da canali tempo-varianti (es.:
canali satellitari o comunicazioni wireless)
o possono prevedere una interazione con il livello fisico, per modificare la potenza e la
modulazione di trasmissione, sulla base delle caratteristiche del mezzo trasmissivo.
o tre tipologie: Protocolli HARQ di tipo I, tipo II e tipo III.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ - TIPO I
Caso più semplice di modello ibrido: il ricevitore, se non in grado di correggere gli
errori tramite FEC, scarta il pacchetto e ne richiede la ritrasmissione.
o soluzione adatta a sistemi in cui la variabilità del SNR è relativamente limitata
o la capacità correttiva del FEC viene stimata sulla base del valore di SNR
o la caratteristica distintiva di questo tipo di approccio è quella di scartare i pacchetti
ritenuti affetti da un numero troppo elevato di errori per poter essere corretti in
maniera affidabile, e richiederne la ritrasmissione.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ I – USO DI UN SOLO CODICE (1/3)
Diverse situazioni si ottengono a seconda del singolo codice (rivelazione o
correzione) che viene usato in combinazione con le tecniche ARQ
CASO 1: uso di un solo codice a correzione d’errore
Il ricevitore usa una logica a massima verosimiglianza per ricostruire la sequenza
originale più probabile (parola di codice a minore distanza da quella ricevuta)
o PC: ricezione di un pacchetto corretto
o PE: accettazione di un pacchetto anche se corrotto (data dalla soglia β del FEC)
o PARQ: valutazione errata di un pacchetto corretto, e richiesta di ritrasmissione (PARQ=0)
La situazione è la stessa che si ottiene con la sola modalità di controllo FEC.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ I – USO DI UN SOLO CODICE (2/3)
CASO 2: uso di un solo codice a rivelazione d’errore
La parola viene accettata se essa coincide con una parola di codice (soglia β=0).
o PC: ricezione di un pacchetto corretto
o PE: accettazione di un pacchetto anche se corrotto (PE=0)
o Pf=PARQ: ritrasmissione (fallimento del trasferimento)
La situazione è la stessa che si ottiene con la sola modalità di controllo ARQ.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ I – USO DI UN SOLO CODICE (3/3)
CASO 3: uso della Bounded Distance decoding
o si restituisce una parola di codice solo se quest’ultima si trova ad una distanza dw
dalla parola ricevuta inferiore a quella consentita dbd < (dmin-1)/2.
o se non esiste nessuna parola di codice a distanza inferiore di dbd, il decodificatore
decide che la trasmissione in esame è fallita e deve essere rieffettuata.
• PE: il decodificatore commette errori se la parola ricevuta è a distanza dw< dbd da
una parola di codice diversa da quella impiegata durante la codifica.
• PARQ: il decodificatore richiede una ritrasmissione inutile se la parola è a distanza
dw, con dbd <dw< (dmin-1)/2, dalla parola di codice trasmessa
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ I – USO DI DUE CODICI
Gli approcci HARQ di tipo I possono prevedere l’impiego di due codici, uno per la
rilevazione ed uno per la correzione degli errori.
o la sequenza da trasmettere viene prima codificata con un codice a rilevazione
d’errore, e la sequenza ottenuta viene successivamente codificata con un codice a
correzione d’errore.
o in fase di decodifica, dalla sequenza ricevuta viene prima estratta la sequenza a
massima verosimiglianza (tramite codice a correzione d’errore), e successivamente,
sulla parola così ottenuta, viene verificato il controllo di parità del codice CRC:
• se il controllo di parità restituisce esito positivo, il pacchetto viene accettato.
• altrimenti, viene scartato e viene richiesta una nuova trasmissione.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ – USO DELLA DIVERSITÀ
Nei protocolli HARQ di Tipo I l’informazione ricevuta con il primo trasferimento, se
non va a buon fine, viene scartata e non più utilizzata
o è però possibile mantenere memoria dei pacchetti ricevuti anche affetti da errore
(senza quindi scartarli)
• l’informazione in essi contenuta può essere utilizzata, insieme a quella relativa
a pacchetti successivamente ricevuti, per aumentare l’affidabilità delle
successive trasmissioni
Tecniche di packet combining techniques, di tipo
o Code combining techniques (protocolli HARQ II)
o Diversity combining techniques (protocolli HARQ III)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ II (1/3)
I pacchetti ricevuti vengono concatenati per formare parole appartenenti a codici
progressivamente più lunghi ed a tasso di codice sempre inferiori.
o metodi Incremental Redundancy (IR): la ridondanza calcolata in fase di codifica viene
inviata su successive trasmissioni
Procedura ARQ II (Incremental Redundancy)
1. l’informazione d’utente viene prima codificata con un codice a ridondanza ciclica per
la rilevazione degli errori
2. la sequenza di bit ottenuta viene successivamente codificata da un codice
sistematico a correzione d’errore.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ II – (2/3)
3. la parte sistematica, insieme ad una porzione dei bit di parità del codice (che
corrisponde ad una punturazione del codice), viene quindi trasmessa al ricevitore.
4. il ricevitore cerca di decodificare la sequenza ricevuta. Se non ci riesce, memorizza la
sequenza ricevuta e richiede una nuova trasmissione.
• vengono inviati solo ulteriori bit di parità ottenuti tramite una nuova
punturazione, definita sulla base delle condizioni del canale, anche utilizzando
in trasmissione una potenza maggiore per migliorare la situazione di SNR.
• la decodifica è nuovamente tentata da parte del ricevitore, combinando i bit di
parità ricevuti da diverse trasmissioni e verificando il codice di rivelazione
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ II (3/3)
Caratteristiche fondamentali di un protocollo HARQ di tipo II
o mantenimento dei segnali precedentemente ricevuti, anche se affetti da errore
o trasmissione di pacchetti ogni volta diversi
• modifica del tasso di codifica delle parole disponibili a lato del ricevitore
o combinazione dell’informazione contenuta su diverse ricezioni (IR)
Differenza tra schemi di tipo I e II:
bianco: bit di informazione d'utente; striato: bit di ridondanza
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ II - IMPLEMENTAZIONE
Scelte implementative relative a:
o procedura ARQ (SW, GBN o SR)
o codice a correzione d’errore (Reed-Solomon, convoluzionale o turbo codice)
• possibilità di ritenere correttamente ricevuti dei codici errati (invio di ACK al
posto di un NACK): throughput immune, ma si impedisce la ricostruzione dei dati
• possibilità di ritenere errati dei codici che invece sono stati ricevuti correttamente
(invio di NACK al posto di un ACK): affidabilità immune, ma riduzione throughput
o numero massimo M di ritrasmissioni previste dalla procedura, dettato da
• round-trip delay τ,
• complessità implementativa del sistema (memorizzazioni al ricevitore)
• Quality of Service (QoS): trasferimento entro determinati limiti temporali
o potenza del segnale (e aggiornamento della stessa)
o pattern di punturazione: numero di bit che devono essere inviati durante la
trasmissione j, se fallisce la precedente trasmissione j-1, con 2 ≤ j ≤ M-1.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
HARQ III
In questa modalità ciascun pacchetto è decodificabile autonomamente.
o viene ritrasmesso sempre lo stesso pacchetto, con la stessa codifica e modulazione
(eventualmente, viene variato il livello di potenza, agendo sul livello fisico).
o come per i protocolli di tipo II, le trasmissioni ricevute e ritenute affette da errore non
vengono scartate
• le tecniche di diversity combining prevedono l’utilizzo combinato delle diverse
ricezioni, adottando ad esempio meccanismi di majority voting a livello del
ricevitore, allo scopo di migliorare la probabilità di una ricezione corretta.
o le prestazioni ottenibili sono generalmente inferiori rispetto ai sistemi di tipo II basati
su metodi di code combining, ma sono maggiormente semplici da implementare.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONFRONTO PRESTAZIONI ARQ vs HARQ-I (1/4)
Canale di riferimento: Binary Symmetric Channel (BSC).
o sia Pb la probabilità di errore sul singolo bit
• la probabilità di errore su un blocco di S bit (simbolo) è ( )SS bP 1 1 P= − −
( )S MMb b
S1 P
M
• la probabilità del verificarsi di M errori sul blocco è pari a (Bernoulli)
S,MP P −⎛ ⎞⎜ ⎟⎝ ⎠
= −
o nel protocollo HARQ-I vengono utilizzati codici di Reed-Solomon (RS) e controlli di
parità CRC
• le prestazioni di efficienza di un codice RS (rapporto tra il numero dei pacchetti
correttamente ricevuti dal ricevitore e quelli inviati dal trasmettitore) sono
esprimibili come:
( )N
iRS S S
i t 1
NK 1 P 1 P ( )N i , t N / 2iN
−
= +
⎡ ⎤⎛ ⎞η = − − = −⎢ ⎥⎜ ⎟
⎝ ⎠⎣ ⎦∑ K
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONFRONTO PRESTAZIONI ARQ vs HARQ-I (2/4)
Le prestazioni dei protocolli HARQ con codici RS sono modificate analiticamente in
( )N
iS S
i t 1HSW
N1 P 1
i1 2a
N iPK
−
= +
⎛ ⎞− −⎜ ⎟
⎝ ⎠η = ⋅+
∑ ( )
N
( )
N
i t 1HGBN N
i t
1 P
1 2a
= +
= +
− − N iiS S
N iiS S
1
N1 P
i KN N
P 1 Pi
−
−
⎛ ⎞⎜ ⎟⎝ ⎠η = ⋅
+ −
∑
∑ ⎛ ⎞⎜ ⎟⎝ ⎠
( ) N
N iiHSR S S
i t 1
N K1 P 1 Pi N
−
= +
⎡ ⎤⎛ ⎞η = − − ⋅⎢ ⎥⎜ ⎟
⎝ ⎠⎣ ⎦∑
o ipotesi di finestra del trasmettitore mai satura
ARQ vs HARQ per 2τ = T
o lo schema HSW è meno prestante degli schemi HGBN e HSR (tra loro molto simili
nonostante non lo siano le prestazioni dei protocolli puri GBN e SR)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONFRONTO PRESTAZIONI ARQ vs HARQ-I (3/4)
GBN vs SR per 2τ = 20T (più realistico)
o con l’aumento della distanza trasmettitore/ricevitore, il throughput dello schema GBN
puro scende rapidamente
o i protocolli ibridi HGBN e HSR risentono in maniera minimale della modifica
• soluzione maggiormente efficiente e stabile: HGBN (requisiti di complessità
computazionale e disponibilità di memoria notevolmente inferiori ad HSR)
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONFRONTO PRESTAZIONI ARQ vs HARQ-I (4/4)
Solo GBN Canale Land Mobile Satellite Cammini Multipli, 2τ = 20T
N K Rate t Block size
511 459 0.9 26 4599
511 307 0.6 102 4599
511 153 0.3 179 4599 ← efficace a basso SNR
Per ottenere con uno schema GBN puro lo stesso throughput ottenibile con gli
approcci HGBN è necessario ricorrere a livelli di SNR molto elevati.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONFRONTO PRESTAZIONI HARQ-I vs HARQ-II (1/3)
Utilizzo di codici denominati Adaptive Forward Error Correction (AFEC): famiglie di
codici generati a partire da codici convoluzionali a tasso ½, composte da:
o codici punturati (puntured codes) ad elevato tasso di codifica (V-1)/V.
• ottenuti da un codice convoluzionale a tasso ½ eliminando (V-2) bit da ogni
2(V-1) bit codificati (relativi alla codifica (V-1) bit)
o codici di ripetizione (repetition code) a basso tasso di codifica (V-1)/[2(V-1)+L], L>1.
• ottenuti da una codifica convoluzionale a tasso ½, ripetendo L bit tra i 2(V-1)
bit ottenuti dalla codifica di un gruppo di (V-1) bit.
• Generazione, da un solo codice convoluzionale, di codici a differenti tassi
• Imposizione della condizione di rate compatibility ai codici di una famiglia
o i bit di un codice della famiglia sono impiegati anche da tutti quanti i codici a tasso di
codifica inferiore: rate compatible convolutional code (RCC).
• se si usa un codice della famiglia, ad una parola si può aggiungere la parità di
altri codici per generare codifiche a tassi inferiori
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONFRONTO PRESTAZIONI HARQ-I vs HARQ-II (2/3)
Uso adattivo dei protocolli HARQ-I: Adaptive Coding Rate (ACR)
o viene variato il tasso di codifica per successive trasmissioni del pacchetto errato
• la condizione di rate compatibility non è necessaria, come non è strettamente
necessaria l’adattività del codice, che però migliora le prestazioni
Uso adattivo dei protocolli HARQ-II: Adaptive Incremental Redundancy (AIR)
o su successive ritrasmissioni sono inviati solo i bit di parità per codici a tasso inferiore
• la condizione di rate compatibility è necessaria
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
CONFRONTO PRESTAZIONI HARQ-I vs HARQ-II (3/3)
Confronto tra protocolli ACR, AIR, e Type I non adattivi
o le prestazione ACR sono significativamente migliori di quelle HARQ non adattivo
o gli schemi ACR ed AIR hanno invece delle prestazioni pressoché uguali nei casi SW e
GBN, dove il fattore dominante è dato dal parametro a=τ/T
o con uno schema AIR SR si ottengono prestazioni migliori rispetto a quelle relative ad
un approccio ACR SR, specialmente per valori elevati di SNR.
Controllo degli Errori – Protocolli FEC, ARQ e HARQ
RIFERIMENTI BIBLIOGRAFICI
C. Berrou, “The ten-year-old turbo codes are entering into service”, IEEE Communications Magazine, IEEE, Volume 41, Issue 8, pp. 110-116, Aug. 2003. J. M. Wozencraft, M. Horstein, “Digitalised communication over two-way channels,” Fourth London Symposyum on Information Theory, Londra, U.K., Settembre 1960. E. Soljanin, R. Liu, P. Spasojevic, “Hybrid ARQ with random transmission assignments”, in P. Gupta, G. Kramer, A. Wijngarden editori, “Advances in Network Information Theory”, Volume 66, pp. 321-334, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Agosto 2004. H. Jin, R.J. McEliece, “Coding Theorems for turbo-code ensembles”, IEEE Transactions on Information Theory, Vol. 48, pp. 1451-1461, Giugno 2002 K. Kotuliakova, J. Polec, “Analysis of HARQ schemes using Reed-Solomon codes”, 15th International Conference on Systems, Signals and Image Processing, pp 323-326, Giugno 2008. P. Košút, "Analysis of the adaptive properties of the Go-Back-N schemes", PhD. thesis, Slovak University of Technology, 2001 F. Babich, E. Valentinuzzi, F. Vatta, “Performance of hybrid ARQ schemes for the LEO satellite channel”, IEEE Global Telecommunications Conference (GLOBECOM), Volume 4, pp: 2709 – 2713, 25-29 Nov. 2001. I. Ali, N. Al-Dhahir, J. E. Hershey, “Doppler characterization for LEO satellites”, IEEE Transactions on Communication, Volume 46, pp. 309–313, Marzo 1998. E. Lutz, D. Cygan, M. Dippold, F. Dolainsky, W. Papke, “The land mobile satellite communication channel-recording, statistics, and channel model”, IEEE Transactions on Vehicle Technology, Volume 40, pp. 375–386, Maggio 1991. S. Kallel, “Efficient hybrid ARQ protocols with adaptive forward error correction”, IEEE Transactions on Communications, Volume 42, Issue 234, pp:281 - 289 , Feb-Apr 1994. S. Kallel, D. Haccoun, “Generalized Type II Hybrid ARQ Scheme Using Punctured Convolutional Coding”, IEEE Transactions on Communications, Volume 38, pp. 1938-1946, Novembre 1990
Controllo degli Errori – Protocolli FEC, ARQ e HARQ