Sistemi e Tecnologie della Comunicazione

Slides:



Advertisements
Presentazioni simili
Rappresentazioni numeriche
Advertisements

Filtri FIR.
Lequivocazione By Vaccaro Maria A.. Che incidenza ha il disturbo sullinformazione? Si avrà in tal caso che lincertezza media nel messaggio trasmesso.
Modulo 4 – Seconda Parte Foglio Elettronico
Le Informazioni e la loro Rappresentazione nei calcolatori
Trasmissione delle informazioni
Capitolo 8 Sistemi lineari.
E.Mumolo. DEEI Reti di calcolatore e Applicazioni Telematiche – Livello Dati Lezioni di supporto al corso teledidattico E.Mumolo. DEEI.
Sistemi di numerazione e codici
2ab2 2b4 4x − 2y a 3b2y3 3b2y3b Definizione e caratteristiche
Gli Integrali.
Sistemi e Tecnologie della Comunicazione
Sistemi e Tecnologie della Comunicazione
Modulazione QAM: idea base
Informatica 3 Codifica binaria.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
DefinizioneUn polinomio si dice…. Operazioni con i polinomi Prodotti notevoli Regola di RuffiniTeorema del resto di Ruffini fine Mammana Achille Patrizio.
Liceo Scientifico "A.Volta" Reggio Calabria
I CODICI.
CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti.
Codici binari decimali
Modelli simulativi per le Scienze Cognitive
Sistema di comunicazione
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Rappresentazione di numeri relativi (interi con segno)
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Dalle potenze ai numeri binari
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 7.
La divisione di Ruffini
Un modem, una scheda di rete, o comunque una unità di comunicazione tra calcolatori elettronici, trasmettendo uninformazione, a causa di disturbi esterni,
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
La divisione di un polinomio
CALCOLO LETTERALE Perché?
L’architettura a strati
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
La rappresentazione delle informazioni in un computer Seconda parte.
PROPAGAZIONE DEGLI ERRORI:
TESINA DI SISTEMI.
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Rappresentazione dell’informazione nel calcolatore.
Calcolo letterale.

Protocolli avanzati di rete Modulo 3 -Wireless network Unità didattica 2 -Modulazione digitale Ernesto Damiani Università degli Studi di Milano Lezione.
Rappresentazione dell’informazione
Rappresentazioni a lunghezza fissa: problemi
AVVOLGIMENTI A CAVE FRAZIONARIE
Bit singolo e burst u un canale che trasmette voce tollera bene gli errori distribuiti uniformemente –perche’ errori singoli hanno effetti simili al rumore.
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Sistemi e Tecnologie della Comunicazione
Sistemi e Tecnologie della Comunicazione
1 Sistemi e Tecnologie della Comunicazione Lezione 12: data link layer: controllo di flusso, protocolli stop-and-wait e sliding window.
Manuale Utente – i-Sisen Questionario del Gas Naturale
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Forma normale delle equazioni di 2° grado Definizione. Un'equazione di secondo grado è in forma normale se si presenta nella forma Dove sono numeri.
Divisione tra un polinomio ed un binomio Regola di Ruffini
I sistemi di numerazione
Analisi matematica Introduzione ai limiti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
La numerazione ottale. Il sistema di numerazione ottale ha ampio utilizzo in informatica E’ un sistema di numerazione posizionale La base è 8 Il sistema.
Criteri di divisibilità
DEFINIZIONE. I multipli di un numero sono costituiti dall’insieme dei prodotti ottenuti moltiplicando quel numero per la successione dei numeri naturali.
Giangiacomo GERLA (Salerno), Sistemi di riscrittura contro calcoli numerici EDUCARE ALLA RAZIONALITA’ In ricordo di Paolo Gentilini 9-11 June 2016, Sestri.
Transcript della presentazione:

Sistemi e Tecnologie della Comunicazione Lezione 11: data link layer: codici di rilevazione di errore, gestione degli errori

La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono stati errori in trasmissione Il codice non ha la finalita’ di correggere l’errore, ma solo di rilevare che c’e’ stato Per raggiungere lo scopo si utilizzano bit di controllo in aggiunta ai bit dei dati La tecnica utilizzata e’ di assegnare in trasmissione ai bit di controllo un valore opportuno in funzione dei bit dei dati; in ricezione si calcolano nuovamente i valori dei bit di controllo e si fa la verifica con quelli ricevuti

Tecniche di codifica Abbiamo gia’ visto un esempio: il bit di parita’ questa codifica permette la rilevazione di qualunque errore singolo, ed in generale di un numero dispari di errori un numero pari di errori non potra’ essere rilevato la codifica sara’ quindi in grado di identificare burst di errori con probabilita’ del 50% Anche in questo caso si puo’ utilizzare la tecnica di trasmettere K codeword in colonna per identificare errori burst di lunghezza non superiore a K; errori piu’ estesi, o piccole serie multiple di errori produrranno un valore valido per ogni riga con probabilita’ 0.5 la probabilita’ che l’errore non venga rilevato sara’ complessivamente pari a il vantaggio di questa codifica e’ il basso overhead (1 bit per ogni frame) Generalmente si utilizza una tecnica piu’ efficiente, detta CRC (Cyclic Redundancy Check), o codifica polinomiale

Rappresentazione di sequenze di bit tramite polinomi Una sequenza di N bit puo’ essere rappresentata tramite un polinomio a coefficienti binari, di grado pari a N-1, tale che i suoi coefficienti siano uguali ai valori dei bit della sequenza Il bit piu’ a sinistra rappresenta il coefficiente del termine di grado N-1, mentre il bit piu’ a destra rappresenta il termine noto (di grado 0) Ad esempio, la sequenza 1001011011 puo’ essere rappresentata dal polinomio Il grado del polinomio e’ determinato dal primo bit a sinistra di valore 1 presente nella sequenza

Aritmetica dei polinomi in modulo 2 L’aritmetica dei polinomi a coefficienti binari si gestisce con le regole della aritmetica modulo 2: le somme e le sottrazioni non prevedono riporti; sono pertanto coincidenti ed equivalenti all’OR esclusivo: le divisioni sono eseguite normalmente, tranne che le sottrazioni seguono la regola sopra detta; in questi termini, il divisore “sta” nel dividendo quando il dividendo ha lo stesso numero di bit del divisore, mentre non si puo’ dividere quando il dividendo ha meno bit del divisore

Divisione binaria di polinomi Ad esempio:

Codifica polinomiale (CRC) La tecnica consiste nel considerare i dati (m bit) da inviare come un polinomio di grado m-1 Trasmettitore e ricevitore si accordano sull’utilizzo di un polinomio generatore G(x) di grado r Il trasmettitore aggiunge in coda al messaggio una sequenza di bit di controllo (CRC) in modo che il polinomio associato ai bit del frame trasmesso, costituito dall’insieme di dati e CRC, sia divisibile per G(x) In ricezione si divide il polinomio associato ai dati ricevuti per G(X) se la divisione ha resto nullo, si assume che la trasmissione sia avvenuta senza errori se la divisione ha resto non nullo, sono certamente avvenuti errori

Codifica polinomiale (cont.) Dal punto di vista logico, la generazione del codice CRC avviene nel seguente modo: Sia M(x) il polinomio associato agli m bit di dati Sia G(x) il polinomio generatore di grado r Si aggiungono r bit a valore 0 in fondo ai bit di dati; il polinomio associato all’insieme di m+r bit e’ quindi M(x) Si calcola il resto della divisione M(x)/G(x), che sara’ un polinomio R(x) di grado inferiore ad r, quindi rappresentativo di una sequenza di r bit Si costruisce la sequenza di bit associata al polinomio T(x) = M(x)-R(x), che equivale ad aggiungere i bit corrispondenti a R(x) in coda ai dati da inviare: vanno riportati tutti gli r bit associati ad R(x), quindi anche eventuali zeri in testa al resto; questa e’ una sequenza di m+r bit E’ evidente che il polinomio T(x) risultera’ divisibile per G(x) con resto nullo

Esempio di calcolo di CRC Supponiamo di voler trasmettere con CRC la sequenza 1101011011, utilizzando il polinomio generatore equivalente alla sequenza di bit 10011 Si costruisce la sequenza 11010110110000, e la si divide per 10011 Il resto della divisione e’ 1110 Il frame che verra’ trasmesso sara’ quindi 11010110111110 In ricezione si divide la sequenza ricevuta per lo stesso polinomio, e si verifica che il resto sia nullo

Caratteristiche del polinomio generatore La codifica CRC si basa sulla definizione del polinomio generatore G(x) Le caratteristiche del polinomio determinano quali errori saranno rilevabili e quali invece potranno passare inosservati Detto T(x) il polinomio associato al frame trasmesso, il polinomio associato al frame ricevuto puo’ essere espresso come T(x)+E(x), dove E(x) avra’ coefficiente 1 per ogni bit che e’ stato modificato da errori trasmissivi Risulta chiaro che un errore passera’ inosservato solo se T(x)+E(x) sara’ divisibile per G(x), ma essendo per definizione T(x)/G(x) = 0, l’errore passera’ inosservato se E(x) sara’ divisibile per G(x)

Caratteristiche del polinomio generatore (cont.) Errori di singolo bit: il polinomio E(x) avra’ la forma dove i e’ il bit errato; un polinomio G(x) costituito da piu’ di un termine non potra’ dividere E(x) Errori di coppie di bit: il polinomio ha la forma in questo caso G(x) non potra’ essere divisore di E(x) se G(x) non divide per ogni k: gia’ visto G(x) non divide ( +1) per ogni k possibile (cioe’ fino a k pari al numero di bit del frame): esistono in letteratura molti polinomi semplici e di basso grado che non sono divisori di ( +1) fino a valori di K molto elevati; ad esempio, il polinomio non divide ( +1) per K<32768

Caratteristiche del polinomio generatore (cont.) Errori in numero dispari di bit: se G(x) contiene a fattore (x+1) non puo’ essere divisore di un polinomio con numero dispari di elementi: Per assurdo, supponiamo che E(x) sia divisibile per (x+1) si puo’ scrivere E(x) = (x+1)Q(x) calcoliamo E(1) = (1+1)Q(1) ma 1+1 = 0, quindi E(1) = 0 Pero’ se E(x) ha un numero dispari di elementi, E(1) e’ la somma di un numero dispari di 1, che fa 1 si ha quindi un assurdo che nega l’ipotesi di partenza

Caratteristiche del polinomio generatore (cont.) Sequenze di errori di lunghezza ≤ r un burst di errori lungo K si puo’ rappresentare come E(x) = xj (xk-1+xk-2+…+1) j determina la distanza dell’ultimo bit errato dall’ultimo bit del frame come detto, E(x) non divide xj la restante parte di E(x) non potra’ essere divisibile per G(x) se K ≤ r

Caratteristiche del polinomio generatore (cont.) Sequenze di errori di lunghezza r+1 in questo caso E(x) sara’ divisibile per G(x) solo se il burst genera una sequenza identica al polinomio generatore la probabilita’ che questo accada e’ (½)r-1 Sequenze di errori di lunghezza maggiore si puo’ dimostrare, nella assunzione che tutti i bit possano essere errati con uguale probabilita’, che negli altri casi la probabilita’ che E(x) sia divisibile per G(x) e’ pari a (½)r

Polinomi standard Viste le caratteristiche dei polinomi, si sono identificati diversi polinomi opportuni per rendere molto improbabile la mancata rilevazione di errori I piu’ comuni a 16 bit sono Un polinomio standard a 32 bit utilizzato in molte applicazioni (tra cui IEEE 802) e’ il CRC-32:

Gestione degli errori I protocolli a rilevazione di errore devono gestire due tipi di evento: perdita di un frame perdita di un riscontro dove la perdita puo’ essere un evento noto (ricezione di un frame errato) o un evento ignoto (distruzione del frame in trasmissione) Generalmente si utilizzano una o piu’ delle seguenti tecniche: riscontro positivo attesa di timeout per la ricezione dell’ACK e ritrasmissione riscontro negativo Questi meccanismi si chiamano ARQ (Automatic Repeat reQuest)

Gestione degli errori Esistono diversi meccanismi di ARQ, che si basano sulle funzionalita’ dei diversi protocolli di controllo di flusso ARQ stop-and-wait ARQ go-back N ARQ selective reject Poiche’ il loro funzionamento dipende da questi protocolli, li vedremo assieme all’analisi del controllo di flusso