Come calcolare il codice di Hamming
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.