Come calcolare il codice di Hamming

I codici di Hamming sono facili da implementare e spesso usati per la correzione degli errori.

Passaggio 1

Crea la parola dati. Ogni bit con una posizione che è una potenza di due (primo, secondo, quarto, ecc.) Deve essere riservato per le informazioni di parità. Usa la lunghezza di una parola che devi adattare all'origine dati e ai bit di parità.

Ad esempio:

1 1 0 1 0 0 1 0 diventa _ _ 1 _ 1 0 1 _ 0 0 1 0

I bit rimangono nello stesso ordine ma sono stati estesi per contenere i bit di parità.

Passaggio 2

Calcola prima il bit di parità. Iniziando dal primo bit, leggi un po ', poi salta un po' e ripeti l'operazione, contando il numero di quelli trovati. I bit di parità contano come zeri.

Se il numero di quelli è pari, metti il ​​primo bit a zero. Altrimenti, mettilo come uno.

Ad esempio:

I bit 1, 3, 5, 7, 9 e 11 di __ 1 _ 1 0 1 _ 0 0 1 0, _11101 contengono quattro. Questo è pari, quindi il primo bit è impostato su zero: 0 _ 1 _ 1 0 1 _ 0 0 1 0.

Passaggio 3

Calcola i bit di parità rimanenti. Il bit due legge due bit dal bit due, poi salta due e si ripete. Il bit quattro legge quattro bit, poi salta quattro e inizia con il bit quattro. Continua con questo modello fino a quando non ci sono più bit di parità da calcolare.

Ad esempio:

Bit 2: 0 _ 1 _ 1 0 1 _ 0 0 1 0 rivedere _1, 01, 01, che contiene 3, quindi il bit 2 è impostato su 1. Bit 4: 0 1 1 _ 1 0 1 _ 0 0 1 0 rivedere _101, 0, che contiene 2 uno, quindi il bit 4 è impostato a 0. Bit 8: 0 1 1 0 1 0 1 _ 0 0 1 0 rivedere _0010, con uno solo, impostare il bit 8 come 1.

La parola codificata è quindi 011010110010.

Passaggio 4

Conferma la parola Se una parola è corrotta, i bit di parità non corrisponderanno a quanto previsto. Per confermare che una parola non è corrotta, devi solo calcolare i bit di parità con i passaggi due e tre. Se uno qualsiasi dei bit non corrisponde, registra le loro posizioni.

Passaggio 5

Risolvi il problema. Se trovi bit di parità errati, aggiungi semplicemente le posizioni dei bit. La somma è la posizione del bit errato. Sposta il valore del bit in quella posizione.

Ad esempio, se i bit di parità uno e quattro non sono corretti, capovolgere il valore del quinto bit per correggere l'errore.