Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

TELECOMUNICAZIONE: Trasmissione Numerica

telecomunicazioni



TELECOMUNICAZIONE: Trasmissione Numerica

Codifica di sorgente

I simboli generati da una sorgente discreta, prima di essere inviati al trasmettitore, devono essere opportunamente codificati, cioè a ognuno di essi occorre associare una univoca combinazione di codice, detta carattere o parola, composta da un determinato numero intero M di unità di codice; tale operazione, che prende il nome di codifica di sorgente, costituisce la prima fase di una stramissione numerica. Poiché nella pratica i codici sorgente sono tutti di natura binaria, le unità di codice sono cifre binarie e sono indicate con il termine bit, scaturito dalla contrazione di binary digit (cifra binaria), che non va confuso con il bit inteso come unità di misura dell'informazione. Le unità di codice, cioè i bit, possono quindi assumere soltanto due valori, 0 e 1, e se i simboli che la sorgente può emettere sono N, il numero M dei bit necessari per codificare ciascun simbolo, detto lunghezza del codi 343i85d ce, deve essere tale che risulti:

N = 2M   [20]

Dall'equazione precedente si ricava:

M = log2N



per codificare ad esempio l'alfabeto della lingua italiana (supposto di 27 simboli, 26 lettere più lo spazio) è necessario un codice di lunghezza pari a:

M = log227 = 4,76 unità

Poiché M deve essere intero, per avere una completa codifica di tutti i simboli è necessario considerare l'intero immediatamente superiore, cioè M = 5. In questo esempio tutti i simboli dell'alfabeto hanno la stessa lunghezza di codice e pertanto non si tiene conto della ridondanza presente nelle sequenze dei simboli emessi, cioè della statistica della sergente. Per rendere più efficiente la trasmissione possono essere adottate tecniche di riduzione della ridondanza dei simboli, assegnando a ogni simbolo combinazioni di codice di lunghezza inversamente proporzionale alla probabilità di emissione, in modo tale che i simboli con più alta probabilità siano rappresentati da una sequenza formata da un numero di bit inferiori rispetto a quelli con più bassa probabilità. In questa situazione, indicando con Mi la lunghezza della i-esima  parola di codice e con pi, la relativa probabilità di emissione, la lunghezza media del codice risulta:

Mm = [21]

La prima realizzazione di un codice che consente una riduzione della ridondanza, fu effettuata da Samuel Morse che ideò il codice Morse a punti e linee, assegnando le combinazioni più brevi ai simboli con maggiore probabilità di emissione. Altri codici sorgente sono il Baudot e il CCITT n°2 utilizzati in telegrafia, l'ASCII, il BCD e l'EBCDIC utilizzati nella trasmissione dati. Il più importante tra questi è il codice ASCII, che rappresenta l'alfabeto internazionale n°5. Il codice ASCII è formato da 7 unità significative, per un totale di 27 = 128 combinazioni, ma in realtà è considerato un codice a 8 unità perché a ogni combinazione è sistematicamente aggiunto un bit di controllo che può assumere il valore 1 oppure 0 a seconda che la combinazione di codice contenga un numero dispari o pari di bit 1, facendo quindi in modo che tutte le combinazioni contengano un numero pari di bit 1. L'aggiunta del bit 1 di controllo consente una verifica degli errori in quanto, se in  ricezione si ha una combinazione di codice che contiene un numero dispari di 1, questa può essere considerata errata e quindi sottoposta a procedure di correzione con adeguate metodologie che verranno analizzate nei prossimi paragrafi. Le 128 combinazioni del codice ASCII sono suddivise in quattro gruppi da 32, che comprendono:

Il primo gruppo i segnali di comando tipici della telegrafia e una serie di caratteri di controllo impiegati nella trasmissione dati;

Il secondo gruppo le cifre, i segni d'interpunzione, gli operatori matematici e caratteri vari;

Il terzo gruppo le lettere maiuscole;

Il quarto gruppo le lettere minuscole.  

Codifica di canale

La codifica di canale è il processo mediante il quale vengono inseriti i bit ridondanti, che non hanno quindi alcun contenuto informativo, sul flusso dei simboli emessi dalla sorgente, in modo da poter rivelare e correggere in ricezione eventuali errori. A questo punto potrebbe sorgerci una domanda: perché la codifica di sorgente tende a eliminare la ridondanza, mentre quella di canale la introduce? In realtà non si tratta di una contraddizione in quanto, mentre la codifica di sorgente elimina la ridondanza legata all'informazione prodotto dalla sorgente stessa per aumentare la velocità di trasmissione, realizzando così una migliore utilizzazione della capacità trasmissiva del canale, la codifica di canale aggiunge una ridondanza sistematica con lo scopo di implementare un sistema di rivelazione e correzione degli errori. I bit ridondanti sono inseriti nel flusso dati secondo una regola nota sia al trasmettitore sia al ricevitore, in modo tale che in ricezione sia possibile effettuare la verifica: se questa regola risulta soddisfatta, la probabilità d avere correttamente ricevuto il messaggio è molto alta, in caso contrario sicuramente durante la trasmissione si è verificato almeno un errore. In pratica esistono due tipologie di codifica di canale così denominate:

ARQ (Automatic Repeat reQuest - richiesta automatica di ripetizione)

FEC ( Forward Error Correction - correzione diretta degli errori)



Alla prima tipologia appartengono i metodi che consentono solo la rivelazione di errori e, se essi sono presenti, il ricevitore richiede la ritrasmissione del messaggio effettuando così una correzione per ritrasmissione. Alla seconda tipologia appartengono invece quei metodi tramite i quali è possibile non solo rivelare la presenza di eventuali errori, ma individuare anche l'informazione originaria, effettuando la correzione senza richiedere la ritrasmissione.

Codifica ARQ (Automatic Repeat reQuest)

Nei metodi ARQ il messaggio è suddiviso in blocchi, ciascuno contenente un certo  numero di unità di codice, i quali vengono inviati a un codificatore che, in base a un algoritmo prestabilito, inserisce in coda a ogni blocco dei bit di ridondanza, denominati check bit.

In ricezione vengono estratti i check bit e, se questi hanno la stessa configurazione di quelli trasmessi, il blocco è considerato corretto; se invece la configurazione è diversa, il blocco contiene sicuramente uno o più errori e il ricevitore ne richiede al trasmettitore la ritrasmissione. Per ogni blocco ricevuto correttamente viene inviato al trasmettitore un riscontro positivo (ACK - Acknowleadge), mentre per ogni blocco errato un riscontro negativo (NACK - Negative Acknowledge). L'invio dei riscontri ACK o NACK può avvenire secondo diverse modalità. Il metodo più semplice è lo Stop and Wait, nel quale la trasmissione è regolata blocco per blocco dal tipo di riscontro: se il riscontro è un ACK il trasmettitore invia un nuovo blocco, se invece è un NACK ritrasmette lo stesso. Tale metodologia di trasmettitore è piuttosto lenta a causa dei ritardi introdotti dai riscontri presenti su tutti i blocchi; i ritardi possono essere ridotti utilizzando il sistema Go-Back-N, nel quale il trasmettitore invia un determinato numero di blocchi consecutivi e poi si arresta per attendere l'invio da parte del ricevitore di un riscontro relativo a tutti la sequenza trasmessa: se tutti i blocchi trasmessi sono stati ricevuti correttamente il ricevitore invia un ACK e il trasmettitore trasmette una nuova sequenza, mentre se uno o più di un blocco sono errati il ricevitore invia un NACK, specificando il primo, blocco errato, e il trasmettitore ritrasmette i blocchi successivi a partire da quest'ultimo. Con questa metodologia è però possibile la ritrasmissione di blocchi nei quali non sono presenti errori; ciò può essere evitato con il sistema Selective Retrasmission, secondo il quale il ricevitore, dopo la ricezione dell'ultimo blocco della sequenza, invia un NACK per ciascun blocco errato, consentendo così la ritrasmissione soltanto di quelli effetti da errori.   

Controllo di parità

Il più semplice sistema ARQ è il controllo di parità , che consiste nell'aggiungere a ciascun carattere un bit di ridondanza il cui valore (0 o 1) dipende dal numero dei bit 1 in esso contenuti. Se il carattere  contiene un numero pari di bit 1, il bit ridondante vale 0, mentre se contiene un numero dispari di bit 1 il bit ridondante vale 1: in questo modo tutti i caratteri contengono un numero di bit 1. Pertanto, se in ricezione il carattere contiene un numero dispari di bit 1 è sicuramente errato, mentre se il numero dei bit 1 è pari la probabilità che sia corretto è molto elevata; non si ha tuttavia l'assoluta certezza in quanto, se si verificano nello stesso carattere più errori il numero di bit 1 rimane pari (errori multipli), il carattere è comunque considerato corretto. Per esempio, considerato il seguente carattere avente un codice sorgente a 8 bit:


Poiché a esso viene aggiunto il bit ridondante 0 in quanto contiene quattro bit 1, la ricezione del carattere:


È considerata corretta perché contiene un numero pari di bit 1 (in questo caso due), anche se in realtà il terzo e l'ottavo bit sono errati. Dall'esempio precedente si evince che il controllo di parità non garantisce una protezione da errori multipli di ordine pari e per questo motivo può essere definito un sistema di rivelazione di errori di ordine dispari. Si può inoltre osservare che quanto più due caratteri sono diversi tra loro, tanto minore è la probabilità che eventuali errori si trasformino l'uno nell'altro. Per esempio, i seguenti due caratteri:

00011010

Hanno tre bit diversi (il primo, il quinto e l'ottavo), per cui sono necessari tre errori per trasformare uno di essi nell'altro. Il numero dei bit che differenzia due caratteri è denominato distanza; nell'esempio precedente la distanza è quindi pari a tre. Relativamente a un dato codice, la più piccola distanza tra tutte le possibili combinazioni costituisce la distanza di Hamming, indicata usualmente con la lettera D. per D = 1 non si ha ridondanza e quindi protezione, mentre per D = 2 si ha il minimo grado di protezione, come nel caso del controllo di parità in cui i vari caratteri differiscono almeno per due bit, dato che, se si verifica il cambiamento di un bit, necessariamente si ha anche i cambiamento di quello di parità.  

Sistema CRC

Il sistema CRC (Cyclic redundacy check) è un metodo ARQ di rilevazione di errori in cui i check bit, che prendono il nome di bit CRC, sono costituiti dal risultato di operazioni eseguite con l'algebra modulo 2. La determinazione dei bit CRC si basa sul principio del controllo polinomiale. Tale principio consiste nel considerare i singoli bit del blocco come coefficienti di un polinomio, detto polinomio del messaggio e indicato con P(x), il cui grado è pari al numero dei bit costituenti il blocco stesso diminuito di una unità (in corrispondenza di uno zero il relativo termine del polinomio è assente). Per esempio, per il seguente blocco costituito da 7 bit:




Il polinomio del messaggio ha grado 7 - 1 = 6 e risulta:

P(x) = 1 * x6 + 0 * x5 + 0 * x4 + 1 * x3 + 0 * x2 + 1 * x1 + 1 * x0

Cioè:

P(x) = x6 + x3 + x + 1

In generale quindi, se m è il numero di bit costituenti il blocco, il grado del polinomio è m - 1. Se r ≤ m - 1 è il numero dei bit CRC, si sceglie un polinomio G(x) di grado r, detto polinomio generatore, noto sia al trasmettitore sia al generatore e indipendente dal messaggio generato dalla sorgente. Si esegue quindi la divisione modulo 2 di P(x) per G(x), ottenendo:

P(x)/G8X) = Q(x) + R(x)

In cui Q(x) è il polinomio quoziente ed R(x) il polinomio resto formato dagli r bit che costituiscono i bit CRC che seguono gli m bit del blocco. Poiché il ricevitore conosce il polinomio generatore G(x), una volta ricevuto il blocco e ricostruito il relativo polinomio del messaggio P(x) (con le modalità viste precedentemente), esegue la divisione modulo 2 di P(x) per G(x), ottenendo come risultato una espressione simile all'equazione [23]. Se il bit ottenuti nel polinomio resto R(x) sono uguali ai bit CRC inviati, il blocco ricevuto è sicuramente corretto, mentre in caso contrario contiene dei bit errati quindi il ricevitore richiede la ritrasmissione del blocco stesso.  

Codifica FEC (Forward Error Correction)

Il principio su cui si basa il sistema FEC, cioè l'insieme delle metodologie che consentono di rilevare e correggere automaticamente gli errori, è la codifica convoluzionale, che consiste nel codificare il messaggio da trasmettere secondo regole che escludono alcune combinazioni di codice. Per esempio, poiché nella lingua italiana dopo una consonante sono consentite vocali e soltanto alcune consonanti, se è codificata la parola "fiumt", valutando la sequenza delle lettere si può dedurre che essa è errata e che la parola che ha la maggior probabilità di essere quella corretta è fiume.  

Codifica di linea

Il segnale numerico, dopo la codifica di sorgente finalizzata alla riduzione della ridondanza dei simboli e quella di canale che aggiunge bit ridondanti per consentire la rilevazione e la correzione degli errori, non è idoneo a essere trasmesso, in quanto le sue caratteristiche non sono compatibili con quelle del mezzo trasmissivo. Per questa ragione è necessario procedere a una ulteriore codifica, detta codifica di linea, la cui funzione è quella di convertire il segnale numerico in una sequenza di simboli aventi caratteristiche idonee per una corretta trasmissione in linea. Gli obbiettivi della codifica di linea sono i seguenti:

Realizzare una sagomatura dello spettro di potenza compatibile con le  caratteristiche del canale trasmissivo;

Semplificare l'operazione di estrazione del segnale di temporizzazione dalla sequenza dei dati ricevuti, per consentirne il corretto riconoscimento;

Consentire la misura della qualità della trasmissione;

Consentire la tele alimentazione degli apparati istallati lungo la linea e quindi generare un segnale senza la componente continua.







Privacy




Articolo informazione


Hits: 2927
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024