codici di Hamming sono utilizzati per inserire le informazioni di correzione degli errori nel flusso di dati . I codici sono progettati in modo che non può essere rilevato solo un errore , ma corretti. Aggiunta di informazioni di correzione degli errori aumenta la quantità di dati , ma aumenta l'affidabilità delle comunicazioni su supporti con codifica rates.Hamming elevati di errore può essere difficile da implementare, ma può essere fatto molto velocemente utilizzando a livello di bit aritmetici trucchi . Questo lo rende un sistema di correzione dell'errore utile per applicazioni embedded alta velocità e . Istruzioni
1
Creare la parola di dati . Ogni bit con una posizione che è una potenza di due ( prima, seconda , quarta , ecc ) dovrebbe essere riservato per le informazioni di parità . Utilizzare il tempo di una parola , come è necessario per adattare i dati di origine e dei bit di parità
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 distribuiti per misura i bit di parità .
2
Calcola il primo bit di parità . Partendo con il primo bit , leggere un po ' , quindi saltare un po' e la ripetizione , mentre contando il numero di quelli incontrati . I bit di parità contano come zeri .
Se il numero di quelli è ancora , impostare il primo bit a zero. Altrimenti impostarlo su uno
Esempio : .
Bit 1, 3, 5, 7, 9 e 11 del __ 1 _ 1 1 0 _ 0 0 1 0 , _11101 , contiene quattro quelli . Questo è anche , in modo che il primo bit è impostato a zero : 0 _ 1 _ 1 1 0 _ 0 0 1 0
3
Calcola i restanti bit di parità . Bit due legge due bit a partire po ' due, poi salta due e ripete . Bit quattro si legge quattro bit quindi salta quattro e inizia con quattro bit . Continuare con questo modello fino a quando non ci sono i bit di parità a sinistra per calcolare
Esempio : .
Bit 2 : 0 _ 1 _ 1 0 1 _ 0 0 1 0 controlli _1 , 01 , 01 , che comprende 3 quelli , quindi il bit 2 è impostato per one.Bit 4 : 0 1 1 _ 1 0 1 _ 0 0 1 0 assegni _101 , 0 , che contiene 2 quelli , quindi il bit 4 è impostato su zero.Bit 8 : 0 1 1 0 1 0 1 _ 0 0 1 0 controlli _0010 , con un solo uno , impostando il bit 8 a uno .
la parola codificata è quindi 011010110010 .
4
Conferma l' parola . Se una parola è danneggiato , i bit di parità non corrispondere a ciò che ci si aspetta . Per confermare che una parola non viene danneggiato , è sufficiente calcolare i bit di parità con passaggi due e tre . Se i bit non corrispondono , registrare le loro posizioni .
5
Correggere il male bit. Se trovate i bit di parità non corretti , è sufficiente sommare le posizioni dei bit . La somma è la posizione del bit errato . Capovolgere il valore del bit in quella posizione .
Per esempio , se i bit di parità uno e quattro sono corretti , capovolgendo il valore del quinto bit sarà correggere l'errore .