1 / 13

Limiti al trasferimento di informazione

Limiti al trasferimento di informazione. Il tempo necessario per trasmettere dell’informazione dipende da: la velocita’ di “segnalazione” (cioe’ quanto velocemente puo’ cambiare “stato” il mezzo trasmissivo il metodo di codifica usato

makaio
Download Presentation

Limiti al trasferimento di informazione

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Limiti al trasferimento di informazione • Il tempo necessario per trasmettere dell’informazione dipende da: • la velocita’ di “segnalazione” (cioe’ quanto velocemente puo’ cambiare “stato” il mezzo trasmissivo • il metodo di codifica usato • La “velocita’ di segnalazione” si misura in baud (numero di variazioni di stato per secondo) • Una linea di trasmissione da X baud non trasmette necessariamente X bit al secondo. Ad esempio, se il metodo di codifica permette di rappresentare otto valori diversi, la velocita’ di trasmissione sara’ di 3X bit/sec.

  2. Bit singolo e burst • un canale telefonico tollera meglio gli errori distribuiti uniformemente • perche’ errori singoli hanno effetti simili al rumore di fondo • un canale dati tollera meglio gli errori burst • perche’ impediscono la trasmissione corretta di una quantita’ limitata di frame • i burst sono piu’ difficili da individuare e correggere

  3. Cause di errore • rumore “termico” • rumore causato da interferenze • perdita di sincronizzazione

  4. “Error detection” e “error correction” • l’idea base di tutte le tecniche e’ di aggiungere ridondanza ai dati • Detection significa accorgersi dell’errore di uno o piu’ bit e segnalarlo all’applicazione • Correction significa poter correggere in tempo reale uno o piu’ bit senza che l’applicazione se ne accorga

  5. Codifiche • La ridondanza e’ aggiunta codificando i dati da trasmettere e decodificandoli all’arrivo • codifica puo’ significare sia aggiungere dei bit che completamente cambiare i dati

  6. Block code • i block code aggiungono a ogni frame o parte di frame, es. ad ogni carattere, dei bit di ridondanza • terminologia coerente con il testo: m bit di dati, r bit di ridondanza (check bit), n bit totali, i dati codificati, di lunghezza n=r+m bit, si chiamano codeword

  7. Parita’ (esempio di block code) • il codice piu’ semplice e meno costoso • aggiunge un bit che rende la sequenza di bit pari (o dispari), cioe’ richiede solo un bit in piu’ • error detection, niente correction • se il numero degli errori e’ pari non funziona correttamente • non funziona bene con burst • usa un semplicissimo circuito di generazione e controllo che non richiede buffering

  8. Distanza di Hamming: • numero di bit diversi tra due codeword (ovviamente di dimensioni identiche) • si calcola facendo X-OR bit a bit e contando il numero di 1 nel risultato • se la Hamming distance e’ d occorrono d errori per trasformare un codice in un’altro

  9. Spazio dei codeword • Dato un codeword di n bit vi saranno ovviamente 2n possibili codeword • Di questi 2m saranno “legali” (cioe’ i codeword che si possono trasmettere) e gli altri indicheranno la presenza di errori • Meno sono i codeword legali rispetto all’insieme dei codeword, piu’ e’ possibile riconoscere e correggere errori • la semplice parita’ aggiunge solamente un codice illegale per ciascun codice legale, quindi molti errori multipli “vanno a cadere” su codici legali

  10. Correzione di errore, esempio • rappresentiamo 1 con 111 e 0 con 000 • n=3, m=1, r=2 • Hamming distance=3 • se trasmettiamo 000 e la linea introduce 1 bit di errore i codici possibili sono tre: 001 010 100 • ciascuno di questi codici e’ a distanza 1 dal codice corretto e a distanza 2 dal codice legale non corretto • SE assumiamo che ci sia stato un bit di errore possiamo correggere ciascuno di questi codeword a 000 • MA se ci sono due bit di errore la correzione e’ sbagliata!

  11. Correzione di errore, esempio cont. • se trasmettiamo 000 e la linea introduce 2 bit di errore i codici possibili sono tre: 011 110 101 • questi codici illegali sono piu’ vicini al codice sbagliato che a quello giusto • sappiamo che c’e’ stato un errore (di uno o due bit) ma non possiamo correggerlo correttamente a meno di essere sicuri che un errore di 2 bit ha probabilita’ bassa 111 110 100 101 011 010 000 001

  12. In generale... • per riconoscere d errori ci vuole un codice con le configurazioni legali a distanza d+1 • per correggere d errori ci vuole un codice con le configurazioni legali a distanza 2d+1 • nell’esempio precedente la distanza e’ 3 e quindi si possono riconoscere 2 errori o correggere 1 errore

  13. CRC • Error detecting • bit singolo • quasi tutti gli errori doppi • un numero dispari qualunque di errori • burst al massimo lunghi quanto il “grado” del generatore, tipicamente 10-30 • burst molto lunghi se distribuiti casualmente • facile da calcolare

More Related