1 / 14

Bit singolo e burst

Bit singolo e burst. un canale che trasmette voce tollera bene gli errori distribuiti uniformemente perche’ errori singoli hanno effetti simili al rumore di fondo un canale dati tollera meglio gli errori burst, cioe’ una sequenza di errori vicini

maris
Download Presentation

Bit singolo e burst

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. Bit singolo e burst • un canale che trasmette voce tollera bene gli errori distribuiti uniformemente • perche’ errori singoli hanno effetti simili al rumore di fondo • un canale dati tollera meglio gli errori burst, cioe’ una sequenza di errori vicini • perche’ impediscono la trasmissione corretta di una quantita’ limitata di frame (frame e’ un’insieme di bit che vengono trattati come un solo pacchetto) • i burst sono piu’ difficili da individuare e correggere

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

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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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!

  10. 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

  11. Numero minimo di bit • Supponiamo di voler correggere errori di 1 bit (n bit totali, m dati, r controllo) • Ciascuna parola legale avra’ n parole illegali vicine che si ottengono cambiando 1 bit della parola legale: quindi le configurazioni sono n+1 per ciascuna delle 2m configurazioni legali • Quindi: (n+1) 2m <= 2n Se n = m+r (m + r + 1) <= 2r Fissato m viene fissato il limite inferiore di r per correggere errori di un bit

  12. Bit necessari per correggere errori di 1 bit • Un codice che soddisfa questa tabella si puo’ trovare con l’algoritmo di Hamming

  13. 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

  14. 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