Codifica di canale: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m wikilink |
|||
(123 versioni intermedie di 51 utenti non mostrate) | |||
Riga 1:
{{S|telecomunicazioni}}
{{C|La voce mescola in modo confuso gli aspetti relativi agli scopi della codifica di canale propriamente detta con la gestione della comunicazione corretta in genere|telecomunicazioni|marzo 2022}}
In [[telecomunicazioni]] il termine '''codifica di canale''' designa, in una [[trasmissione digitale]], l'insieme di tecniche di elaborazione del segnale [[informazione|informativo]], a monte della trasmissione, volte a garantire il più possibile la [[trasmissione (telecomunicazioni)|trasmissione]] ottimale di un [[messaggio]], ossia l'[[integrità dei dati]] attraverso un [[Canale (telecomunicazioni)|canale]] [[Rumore (elettronica)|rumoroso]] che introduce errori nella [[trasmissione (telecomunicazioni)|trasmissione]] dei dati.<ref name=Britannica>{{cita web|lingua=en|url=https://www.britannica.com/technology/telecommunication/Channel-encoding|titolo=Channel encoding}}</ref> In particolare si tratta di tecniche che introducono ''ridondanza'' in un flusso informativo digitale utilizzata poi per la rilevazione e/o la correzione dell'errore a valle in ricezione.<ref name=Britannica /> Nelle telecomunicazioni la codifica di canale, assieme alla [[codifica di sorgente]], rappresenta dunque uno dei vantaggi delle trasmissioni digitali rispetto a quelle [[trasmissione analogica|analogiche]] essendo una prerogativa della rappresentazione in formato digitale dell'informazione.
L'elemento in trasmissione deputato alla codifica di canale è detto ''codificatore di canale'', quello complementare in ricezione è detto ''decodificatore di canale''.<ref>{{Cita web|lingua=en|url=http://homepage.ntu.edu.tw/~ihwang/Teaching/Sp17/Scribe/CommLab_Sp17_Lecture_1_v0.pdf|titolo=Lecture 1: Introduction to Digital Communication Systems|editore=National Taiwan University}}</ref> La tecnica, a parità di [[Bit error ratio|BER]], in virtù della rilevazione e correzione degli errori, consente eventualmente anche la riduzione del [[rapporto segnale/rumore]], che è un parametro direttamente legato alla probabilità di errore, ovvero quindi della potenza del segnale utile consentendo così un risparmio di potenza in trasmissione.<ref>{{Cita web|lingua=en|url=https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-451-principles-of-digital-communication-ii-spring-2005/video-lectures/chap4.pdf|titolo=Chapter 4 - The gap between uncoded performance and the Shannon limit|editore=M.I.T.}}</ref> Il prezzo che si paga per l'uso queste tecniche è la riduzione di efficienza di trasmissione di dati utili (''Goodput'') ovvero la riduzione di [[efficienza spettrale]], data l'introduzione di ridondanza e la necessità di una [[banda (informatica)|banda]] maggiore per la nuova trasmissione a parità di [[velocità di trasmissione]].<ref>{{Cita pubblicazione|lingua=en|url=https://www.comsoc.org/publications/ctn/coding-network-next-generation-coding-flexible-network-operation|titolo=Coding the Network: Next Generation Coding for Flexible Network Operation|autore=Kerim Fouli|autore2=Muriel Médard|autore3=Kavim Shroff|editore=IEEE Communications Society|data=6 agosto 2018}}</ref> L'operazione di codifica di canale fa uso di conoscenze proprie della [[teoria dei codici]].
== Descrizione ==
Esistono varie tipologie di codici, principalmente divisibili in codici a blocchi (o ''lineari'', come quello di [[Codice di Hamming|Hamming]]) e [[Codice convoluzionale|codici convoluzionali]].<ref>{{cita web|lingua=en|url=https://www.eit.lth.se/fileadmin/eit/courses/etin15/slides2017/Lecture07_ChannelCoding2017.pdf|titolo=Channel Coding|autore=Ove Edfors|editore=Faculty of Engineering Lund University|data=18 aprile 2016}}</ref>
Nel
Un caso particolare è costituito invece dall'uso di sistemi di codifica di canale concatenata ovvero l'utilizzo di più ''codici concatenati'' in cascata tra loro, per aumentare l'efficacia della correzione di errore (''outer code'' e ''inner code'').<ref>{{cita web|lingua=en|url=https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.125/staff/mueelich/GCC_Example_Handout.pdf|titolo=Generalized Code Concatenation: Recapitulation and Examples|data=28 gennaio 2015|editore=Università di Ulma|autore=Sven Müelich}}</ref>
== 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. Per
Di seguito sono brevemente introdotte le due modalità di [[codifica]] più usate: si distinguono codici a rilevazione d'errore e codici a rilevazione e correzione d'errore.<ref>{{cita pubblicazione|lingua=en|url=https://ieeexplore.ieee.org/document/6772729|titolo=Error detecting and error correcting codes|autore=R. W. Hamming|rivista=The Bell System Technical Journal|volume=29|numero=2|data=aprile 1950|doi=10.1002/j.1538-7305.1950.tb00463.x|issn=0005-8580|editore=Nokia Bell Las}}</ref>
Le prestazioni di un codice vengono misurate in:<ref name=bitt>{{cita web|lingua=en|url=http://bittpolytechnic.com/images/pdf2/ECE_DCN%20error%20detection.pdf|titolo=Error detection and correction|editore=BITT Polytechnic}}</ref>
* ''
* ''capacità di correzione'': numero massimo di errori che si riescono a correggere in una parola di codice. Questa è sempre minore della capacità di rilevazione; di conseguenza in un codice a rilevazione/correzione non tutti gli errori vengono eliminati: tipicamente si riesce a ridurre il [[Bit Error Ratio|BER]] fino a valori dell'ordine di 10<sup>-6</sup>.
* ''code rate'': è il rapporto (minore di 1) fra i bit di messaggio (cioè l'informazione ''k'') e la lunghezza totale della parola di codice (''n''), <math>R_c =\frac{k}{n}</math>, con <math>n-k</math> pari alla ridondanza introdotta. Rappresenta una misura in termini di efficienza del codice: tanto più tale rapporto è basso (cioè tanto più <math>n-k</math> è alto) e tanto più si introduce ridondanza ed il codice di canale è efficiente, ma diminuisce l'efficienza di trasmissione dei dati utili ed aumenta la necessità di banda per la trasmissione (l'inverso del ''code rate'' <math>R_c</math> è il ''fattore d'espansione di banda'', spesso indicato con β).
In particolare se il codificatore di canale riceverà in ingresso un flusso di bit con tasso pari a Rs, esso dovrà garantire in uscita un ritmo di emissione almeno pari a quello di ingresso per evitare perdita di informazione; poiché di fatto esso introduce della ridondanza di bit il flusso in uscita dovrà avere un bit-rate complessivo Rc più alto di quello di ingresso per garantire la suddetta condizione.<ref>{{Cita web|url=https://didattica-2000.archived.uniroma2.it//infocod/deposito/Informazione_e_Codifica_09.pdf|titolo=Codifica di canale|autore=Mauro De Sanctis|editore=Università di Roma Tor Vergata}}</ref>
== FEC (Forward Error Correction) ==
{{vedi anche|Forward Error Correction}}
▲== Valutazione di un Codice ==
Il FEC (acronimo di ''[[Forward Error Correction]]'') è un meccanismo di codifica che consente di mantenere la qualità di un segnale digitale rilevando ed entro certi limiti correggendo gli errori introdotti dal canale, trasmettendo insieme al segnale codificato utile una serie di dati di controllo aggiuntivi, ricavati dal segnale stesso applicando diversi tipi di algoritmi (es. [[Reed-Solomon]]). In ricezione, i dati di controllo vengono ricalcolati sul segnale utile ricevuto e confrontati con quelli trasmessi.<ref>{{cita pubblicazione|lingua=en|url=https://www.signalintegrityjournal.com/articles/1284-what-is-fec-and-how-do-i-use-it|titolo=What is FEC, and How Do I Use It?|rivista=Signal Integrity Journal|autore=Cathy Liu|data=1 luglio 2019}}</ref> Questo consente di rilevare dove sono presenti errori e di conseguenza correggere in tutto o in parte i dati ricevuti, a seconda dell'algoritmo e della quantità di errori introdotti dal canale. La tecnica si applica per ridurre gli effetti degli errori indotti per esempio dai disturbi atmosferici nel caso delle trasmissioni in aria libera o dall'attenuazione e da altri effetti fisici nelle trasmissioni su fibra ottica, aumentando di fatto sia la robustezza che la portata utile ottenibile a spese di un piccolo aumento di banda per l'aggiunta dei dati di verifica.<ref>{{Cita pubblicazione|lingua=en|url=https://ieeexplore.ieee.org/document/4099521|titolo=FEC in optical communications - A tutorial overview on the evolution of architectures and the future prospects of outband and inband FEC for optical communications|autore=Afxendios Tychopoulos|autore2=Odysseas Koufopavlou|autore3=Ioannis Tomkos|rivista=IEEE Circuits and Devices Magazine|volume=22|numero=6, Nov-Dic|anno=2006|pp=79-86|doi=10.1109/MCD.2006.307281|editore=IEEE}}</ref>
▲''Capacità di Rilevazione'': numero massimo di errori che esso riesce a rilevare in una parola di codice.
== Note ==
<references />
== Voci correlate ==
* [[Codice a blocchi]]
* [[Codifica convoluzionale]]
{{portale|telecomunicazioni}}
▲== Tipologie di Codici ==
[[Categoria:Teoria dei codici]]
▲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.
[[Categoria:Teoria dell'informazione]]
|