Codifica di canale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Tipologie di Codici: i codici a blocchi sono tutti lineari
aggiustate un po' di cose
Riga 1:
{{W|telecomunicazioni|aprile 2007|[[Utente:Luisa|Luisa]] 17:58, 12 apr 2007 (CEST)}}
La ''codifica di canale''' è in telecomunicazioni il processo volto a garantire la trasmissione ottimale di un [[messaggio]] trasmesso attraverso un [[Canale (telecomunicazioni)|canale]] con [[Rumore#Elettronica|rumore]].
Nelle telecomunicazioni è il processo atto a strutturare il messaggio per il controllo degli errori.
 
 
== Modalità di scambio delle informazioni e dialogo dei protocolli==
 
Le informazioni vengono scambiate in modalità :
*'''Simplexsimplex''', il messaggio viaggia in una sola direzione,
*'''Halfhalf-Duplexduplex''', i messaggi viaggiano in entrambe le direzioni, ma in tempi diversi, o alternativamente
*'''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'''
 
== Codici di Controllocontrollo e Correzionecorrezione ==
 
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.
Riga 15 ⟶ 17:
 
== ARQ (Automatic Repeat-reQuest) ==
Modalità a sua volta divisa in tetre 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.; Sese 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 o danneggiati e scartati avviene il re-invio del blocco di pacchetti interessati, I pacchetti ricevuti dal destinatario dopo quello scartato vengono eliminati.
 
*'''GoSelective Back NRepeat''': in questo caso anche il mittentedestinatario dispone di un buffer dove immagazzinamemorizzare Ni pacchetti daricevuti spedire.dopo Manquello/quelli manoscartati; che riceve la conferma ACK svuotaquando il bufferpacchetti einteressati lovengono riempiecorrettamente conricevuti, nuovientrambi pacchetti.i Nell'eventualitàbuffer divengono pacchettisvuotati persi/danneggiati(mittente) eo scartati avviene il re-invio del/deii pacchetti interessati.contenuti I Pacchetti ricevuti dalsalvati (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)
 
== FEC (Forward Error Correction) ==
Al messaggio vengono aggiunte informazioni aggiuntive che consentono di rilevare, e talvolta correggere, gli errori introdotti nella trasmissione.
Codice autocorrettivo più veloce dell'ARQ, in quanto non divide i dati, ma li spedisce così come sono
 
== Valutazione di un Codice ==
Le prestazioni di un codice vengono misurate in:
 
*''Capacitàcapacità di Rilevazionerilevazione'': numero massimo di errori che esso riesce a rilevare in una parola di codice.
*''Capacitàcapacità di Correzionecorrezione'': numero massimo di errori che esso riesce a correggere in una parola di codice (minore a quella di rilevazione)
*''Codecode rate'': è il rapporto fra la lunghezza totale della parola di codice (''n'') e bit di messaggio (''k''), <math>R_c =\frac{K}{N}\,\!</math>, rappresenta una misura in termini di efficienza del codice.
 
== Tipologie di codici ==
''Capacità di Correzione'': numero massimo di errori che esso riesce a correggere in una parola di codice (minore a quella di rilevazione)
Esistono varie tipologie di codici, principalmente divisibili in codici a ''blocchi'' (o ''lineari'', come quello di [[Codice di Hamming/Ripetizione/CRC/Parità|Hamming]]) e codici ''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.
''Code rate'': è il rapporto fra la lunghezza totale della parola di codice (''n'') e bit di messaggio (''k''), <math>R_c =\frac{K}{N}\,\!</math>, rappresenta una misura in termini di efficienza del codice.
 
== TipologieVoci di Codicicorrelate ==
* [[Codifica convoluzionale]]
Esistono varie tipologie di codici, principalmente divisibili in codici a ''blocchi'' (o ''lineari'', come Hamming/Ripetizione/CRC/Parità) e codici ''convoluzionali''.
 
[[be:Карэкцыя памылак]]
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.
[[ca:Detecció d'errors]]
[[de:Fehlerkorrekturverfahren]]
[[en:Error detection and correction]]
[[es:Detección de errores]]
[[fr:Code correcteur]]
[[ko:오류정정부호]]
[[he:קוד תיקון שגיאות]]
[[nl:Kanaalcodering]]
[[ja:誤り検出]]
[[pt:Error Correcting Code]]
[[ru:Коррекция ошибок]]
[[th:การตรวจจับ และแก้ไขความผิดพลาด (Error detection and correction)]]