Codice di Hamming: esempi di correzione degli errori

Sommario:

Anonim

Cos'è un errore?

I dati trasmessi possono essere danneggiati durante la comunicazione. È probabile che sia influenzato da rumori esterni o altri guasti fisici. In una situazione del genere, i dati di input non possono essere gli stessi dei dati di output. Questa mancata corrispondenza è nota come "Errore".

Gli errori nei dati possono causare la perdita di dati importanti o protetti. La maggior parte del trasferimento di dati nei sistemi digitali avverrà sotto forma di "trasferimento di bit". Anche un piccolo cambiamento può influire sulle prestazioni dell'intero sistema. In una sequenza di dati, se 1 viene modificato in 0 o 0 viene modificato in 1, viene chiamato "Errore di bit".

In questo tutorial sul codice di Hamming imparerai:

  • Cos'è un errore?
  • Tipi di errori
  • Che cos'è il rilevamento e la correzione degli errori?
  • Cos'è un codice Hamming?
  • Storia del codice di Hamming
  • Applicazione del codice Hemming:
  • Vantaggi del codice Hamming
  • Svantaggi del codice Hamming
  • Processo di codifica di un messaggio utilizzando il codice Hamming
  • Processo di decrittografia di un messaggio nel codice di Hamming

Tipi di errori

Esistono principalmente tre tipi di errori di bit che si verificano nella trasmissione dei dati dal mittente al destinatario.

  • Errori di bit singolo
  • Errori di bit multipli
  • Errori di burst

Errori a bit singolo

La modifica effettuata in un bit nell'intera sequenza di dati è nota come "Errore bit singolo". Tuttavia, il verificarsi di errori a bit singolo non è così comune. Inoltre, questo errore si verifica solo in un sistema di comunicazione parallela perché i dati vengono trasferiti bit per bit in una singola riga. Pertanto, ci sono più possibilità che una singola linea possa essere rumorosa.

Errori multipli di bit

Nella sequenza di dati, se c'è un cambiamento in due o più bit di una sequenza di dati da un trasmettitore a un ricevitore, è noto come "Errori di bit multipli".

Questo tipo di errore si verifica principalmente nelle reti di comunicazione dati di tipo seriale e parallela.

Errori di burst

La modifica del set di bit nella sequenza di dati è nota come "Burst error". Questo tipo di errore di dati viene calcolato dalla modifica del primo bit all'ultima modifica del bit.

Che cos'è il rilevamento e la correzione degli errori?

Nel sistema di comunicazione digitale l'errore verrà trasferito da un sistema di comunicazione a un altro. Se questi errori non vengono rilevati e corretti, i dati andranno persi. Per una comunicazione efficace, i dati di sistema devono essere trasferiti con elevata precisione. Questo sarà fatto identificando prima gli errori e correggendoli.

Il rilevamento degli errori è un metodo per rilevare gli errori presenti nei dati trasmessi da un trasmettitore a un ricevitore in un sistema di comunicazione dati.

Qui è possibile utilizzare codici di ridondanza per trovare questi errori, aggiungendoli ai dati quando vengono trasmessi dalla sorgente. Questi codici sono chiamati "Codici di rilevamento errori".

Tre tipi di codici di rilevamento degli errori sono:

  • Controllo di parità
  • Controllo di ridondanza ciclico (CRC)
  • Controllo di ridondanza longitudinale (LRC)

Controllo di parità:

  • È anche noto come controllo di parità.
  • Dispone di un meccanismo conveniente per il rilevamento degli errori.
  • In questa tecnica, il bit ridondante è noto come bit di parità. Viene aggiunto per ogni unità di dati. Il numero totale di 1 nell'unità dovrebbe diventare pari, noto come bit di parità.

Controllo di ridondanza longitudinale

In questa tecnica di rilevamento degli errori, un blocco di bit è organizzato in formato tabulare. Il metodo LRC ti aiuta a calcolare il bit di parità per ogni colonna. Insieme ai dati originali viene inviato anche l'insieme di questa parità. Il blocco di parità ti aiuta a controllare la ridondanza.

Controllo di ridondanza ciclico

Cyclic Redundancy Check è una sequenza di ridondanza che deve essere aggiunta all'estremità dell'unità. Ecco perché l'unità di dati risultante dovrebbe diventare divisibile per un secondo numero binario predeterminato.

A destinazione, i dati in arrivo devono essere divisi per lo stesso numero. Nel caso in cui non ci sia resto, si presume che l'unità di dati sia corretta e viene accettata. In caso contrario, indica che l'unità dati è danneggiata durante la trasmissione e quindi deve essere rifiutata.

Cos'è un codice Hamming?

Il codice Hamming è un codice di linea utile per il rilevamento di errori fino a due errori di bit immediati. È in grado di errori a bit singolo.

Nel codice di Hamming, la sorgente codifica il messaggio aggiungendo bit ridondanti nel messaggio. Questi bit ridondanti vengono per lo più inseriti e generati in determinate posizioni nel messaggio per completare il processo di rilevamento e correzione degli errori.

Storia del codice di Hamming

  • Il codice di Hamming è una tecnica creata da RWHamming per rilevare gli errori.
  • Il codice di Hamming deve essere applicato a unità di dati di qualsiasi lunghezza e utilizza la relazione tra dati e bit di ridondanza.
  • Ha lavorato sul problema del metodo di correzione degli errori e ha sviluppato una serie di algoritmi sempre più potenti chiamati codice di Hamming.
  • Nel 1950 pubblicò il codice Hamming, oggi ampiamente utilizzato in applicazioni come la memoria ECC.

Applicazione del codice di Hamming

Ecco alcune applicazioni comuni dell'utilizzo del codice Hemming:

  • Satelliti
  • Memoria del computer
  • Modem
  • PlasmaCAM
  • Connettori aperti
  • Filo schermante
  • Processore integrato

Vantaggi del codice Hamming

  • Il metodo del codice Hamming è efficace sulle reti in cui vengono forniti i flussi di dati per gli errori a bit singolo.
  • Il codice di Hamming non solo fornisce il rilevamento di un errore di bit, ma ti aiuta anche a indentare l'errore contenente bit in modo che possa essere corretto.
  • La facilità d'uso dei codici hamming li rende adatti per l'uso nella memoria del computer e per la correzione di un singolo errore.

Svantaggi del codice Hamming

  • Rilevamento di errori a bit singolo e codice di correzione. Tuttavia, se vengono rilevati più bit di errore, il risultato potrebbe comportare la modifica di un altro bit che dovrebbe essere corretto. Ciò può causare ulteriori errori nei dati.
  • L'algoritmo del codice di Hamming può risolvere solo problemi di singoli bit.

Processo di codifica di un messaggio utilizzando il codice Hamming

Il processo utilizzato dal mittente per codificare il messaggio include i seguenti tre passaggi:

  • Calcolo del numero totale di bit ridondanti.
  • Verifica della posizione dei bit ridondanti.
  • Infine, calcolando i valori di questi bit ridondanti.

Quando i bit ridondanti di cui sopra sono incorporati nel messaggio, viene inviato all'utente.

Passaggio 1) Calcolo del numero totale di bit ridondanti.

Supponiamo che il messaggio contenga:

  • n - numero di bit di dati
  • p - numero di bit ridondanti che vengono aggiunti ad esso in modo che np possa indicare almeno (n + p + 1) stati diversi.

Qui, (n + p) rappresenta la posizione di un errore in ciascuna delle (n + p) posizioni dei bit e uno stato extra indica nessun errore. Poiché i bit p possono indicare 2 stati p , 2 p deve essere almeno uguale a (n + p + 1).

Passaggio 2) Posizionamento dei bit ridondanti nella posizione corretta.

I bit ridondanti p devono essere posizionati nelle posizioni dei bit di potenze 2. Ad esempio, 1, 2, 4, 8, 16, ecc. Sono indicati come p 1 (in posizione 1), p 2 (in posizione 2) , p 3 (in posizione 4), ecc.

Step 3) Calcolo dei valori del bit ridondante.

I bit ridondanti dovrebbero essere bit di parità che rendono il numero di 1 pari o dispari.

I due tipi di parità sono:

  • Il numero totale di bit nel messaggio è fatto anche è chiamato parità pari.
  • Il numero totale di bit nel messaggio che viene reso dispari viene chiamato parità dispari.

Qui, tutto il bit ridondante, p1, deve essere calcolato come parità. Dovrebbe coprire tutte le posizioni dei bit la cui rappresentazione binaria dovrebbe includere un 1 nella prima posizione escludendo la posizione di p1.

P1 è il bit di parità per ogni bit di dati in posizioni la cui rappresentazione binaria include un 1 nella posizione meno importante escluso 1 Like (3, 5, 7, 9,

…. )

P2 è il bit di parità per ogni bit di dati nelle posizioni la cui rappresentazione binaria include 1 nella posizione 2 da destra, escluso 2 Like (3, 6, 7, 10, 11,

...)

P3 è il bit di parità per ogni bit nelle posizioni la cui rappresentazione binaria include un 1 nella posizione 3 da destra non include 4 Like (5-7, 12-15,

...)

Processo di decrittografia di un messaggio nel codice di Hamming

Il destinatario riceve i messaggi in arrivo che richiedono di eseguire ricalcoli per trovare e correggere gli errori.

Il processo di ricalcolo eseguito nei seguenti passaggi:

  • Conteggio del numero di bit ridondanti.
  • Posizionamento corretto di tutti i bit ridondanti.
  • Controllo di parità

Passaggio 1) Conteggio del numero di bit ridondanti

È possibile utilizzare la stessa formula per la codifica, il numero di bit ridondanti

2 p ≥ n + p + 1

Qui, il numero di bit di dati ep è il numero di bit ridondanti.

Passaggio 2) Posizionare correttamente tutti i bit ridondanti

Qui, p è un bit ridondante che si trova nelle posizioni dei bit di potenze di 2, ad esempio 1, 2, 4, 8, ecc.

Passaggio 3) Controllo della parità

I bit di parità devono essere calcolati in base ai bit di dati e ai bit ridondanti.

p1 = parità (1, 3, 5, 7, 9, 11

...)

p2 = parità (2, 3, 6, 7, 10, 11

...)

p3 = parità (4-7, 12-15, 20-23

...)

Sommario

  • I dati trasmessi possono essere danneggiati durante la comunicazione
  • Tre tipi di errore bit sono 1) Errori bit singolo 2) Errore bit multiplo 3) Errori bit burst
  • La modifica apportata a un bit nell'intera sequenza di dati è nota come "Errore di bit singolo".
  • Nella sequenza di dati, se c'è un cambiamento in due o più bit di una sequenza di dati da un trasmettitore a un ricevitore, è noto come "Errori di bit multipli".
  • La modifica del set di bit nella sequenza di dati è nota come "Burst error".
  • Il rilevamento degli errori è un metodo per rilevare gli errori presenti nei dati trasmessi da un trasmettitore a un ricevitore in un sistema di comunicazione dati
  • Tre tipi di codici di rilevamento degli errori sono 1) Controllo di parità 2) Controllo di ridondanza ciclico (CRC) 3) Controllo di ridondanza longitudinale (LRC)
  • Il codice Hamming è un codice di linea utile per il rilevamento di errori fino a due errori di bit immediati. È in grado di errori a bit singolo.
  • Il codice di Hamming è una tecnica creata da RWHamming per rilevare gli errori.
  • Le applicazioni comuni dell'utilizzo del codice Hemming sono la memoria del computer satellitare, i modem, il processore integrato, ecc.
  • Il più grande vantaggio del metodo del codice hamming è efficace sulle reti in cui vengono forniti i flussi di dati per gli errori a bit singolo.
  • Il più grande svantaggio del metodo del codice hamming è che può risolvere solo problemi di singoli bit.
  • Possiamo eseguire il processo di crittografia e decodifica del messaggio con l'aiuto del codice hamming.