Codifica di canale
Da Wikipedia, l'enciclopedia libera.
Nelle telecomunicazioni è il processo atto a strutturare il messaggio per il controllo degli errori.
Indice |
[modifica] Modalità di scambio delle informazioni e dialogo dei protocolli
Le informazioni vengono scambiate in modalità Simplex, il messaggio viaggia in una sola direzione, Half-Duplex, i messaggi viaggiano in entrambe le direzioni ma in tempi diversi, o Duplex, in cui i messaggi vengono scambiati in entrambe le direzioni anche contemporaneamente.
I protocolli comunicano tra loro usando le discipline One Way, Two Way Alternate o Two Way Simultaneous
[modifica] Codici di Controllo e Correzione
A seconda del tipo di messaggio da trasmettere si sceglierà il tipo di controllo degli errori e, eventualmente, di correzione (infatti, nell'invio es.: di fotogrammi video in videoconferenza non sarà richiesto che arrivino integri tutti i dati; al contrario, es.: trasmissione FTP, sarà imperativo garantire l'arrivo corretto di tutti i dati. Di seguito sono brevemente introdotte le due modalità di codifica più usate.
[modifica] ARQ (Automatic Repeat-reQuest)
Modalità a sua volta divisa in te politiche: Stop and Wait, Selective Repeat e Go Back N.
Stop and Wait: il mittente invia un messaggio e attende dal destinatario una conferma positiva (ACK), negativa (NACK) o un comando. Se scade il tempo di attesa per uno di questi tre, il mittente provvederà a rispedire il pacchetto e il destinatario si incaricherà di scartare eventuali repliche.
Go Back N: il mittente dispone di un buffer dove immagazzina N pacchetti da spedire. Man mano che riceve la conferma ACK svuota il buffer e lo riempie con nuovi pacchetti. Nell'eventualità di pacchetti persi/danneggiati e scartati avviene il re-invio del/dei pacchetti interessati. I Pacchetti ricevuti dal destinatario dopo quello scartato vengono eliminati.
Selective Repeat: in questo caso anche il destinatario dispone di un buffer dove memorizzare i pacchetti ricevuti dopo quello/quelli scartati. Quando il pacchetto/i interessatti vengono correttamente ricevuto entrambi i buffer vengono svuotati(mittente) o i pacchetti contenuti salvati (destinatario)
[modifica] FEC (Forward Error Correction)
Codice autocorrettivo più veloce dell'ARQ, in quanto non divide i dati, ma li spedisce così come sono
[modifica] Valutazione di un Codice
Le prestazioni di un codice vengono misurate in:
Capacità di Rilevazione: numero massimo di errori che esso riesce a rilevare in una parola di codice.
Capacità di Correzione: analogalmente è il numero massimo di errori che esso riesce a correggere in una parola di codice calcolata con Rc = , dove K rappresenta il numero di bit del messaggio e N il numero di bit informativi della parola di un codice.
Complessità Realizzativa
[modifica] Tipologie di Codici
Esistono vaire tipologie di codici, principalmente divisibili in Codice a Blocci(a sua volta divisibile in Lineari, come Hamming/Ripetizione/CRC/Parità, e Non Lineari) e Convoluzionali.
Nel primo caso, codici a blocchi, tutti i blocchi-dati sono legati tra loro da sequenze aggiunte ai pacchetti e distinguibili tra loro; nel secondo caso, invece, ai pacchetti viene raggiunta una certa ridondanza Q e i pacchetti, sebbene non distinguibili, sono comunque tra loro legati.