Cos'è un codice di martellare?
Un codice di martello è un metodo per rilevare e correggere errori in una trasmissione binaria. Lo fa attraverso l'inclusione di cifre binarie aggiuntive nella sequenza utilizzata per il controllo, nonché un algoritmo che fornisce la logica di rilevamento. Tale codice è in grado di trovare due errori in qualsiasi sequenza di bit e riparare un bit che potrebbe essere errata. Il codice Hamming più comunemente referenziato è noto come Hamming (7,4), in cui i quattro indicano il numero originale di bit di partenza e i sette rappresentano il numero totale di bit in sequenza dopo che i bit di controllo aggiuntivi sono stati inclusi.
La tecnica ha ottenuto il nome di Creatore, che ha ottenuto il controllo aggiuntivo per il controllo e il Costa Assumendo le basi e il Costa Assumendo Bit e le basi che hanno ottenuto il controllo e il Ceci di Attraggissione che prendeva il controllo e si è messo in giro per il controllo e il Ceci del Costa. Bit, indicati come bit di parità, nella sequenza. I bit di controllo vengono sempre iniettati in una posizione che è una potenza di due, quindi qualsiasi numero di bit può essere verificato mediante inclluDing Ulteriori pezzi di parità. Ciò può continuare fino a quando l'ultima parità bit aggiunta nella sequenza è in una posizione che è una potenza di due che è inferiore o uguale alla posizione finale nella sequenza.
Con tutti i bit di parità in posizione, le posizioni rimanenti sono i bit di dati effettivi. Dato l'esempio a quattro bit, quindi, le posizioni bit uno, due e quattro sarebbero i bit di parità, mentre le posizioni tre, cinque, sei e sette sono i dati. Una volta stabilita questa sequenza, la logica del codice di Hamming va al lavoro.
In un codice di Hamming, ciascuno dei bit di parità che sono stati aggiunti alla sequenza vengono utilizzati per controllare alcune delle posizioni bit a cui sono vicini, comprese se stesse. La parità bit in posizione si controlla ogni altra posizione di bit, che è essenzialmente ogni posizione di strano nella sequenza. La seconda parità, in posizione due, controlla le posizioni due e treE, quindi salta due posizioni, controlla altre due posizioni, ne salta altre due e così via. Se c'è un bit di parità nella posizione quattro, agisce in modo simile in quanto controlla le posizioni da quattro a sette, quindi salta quattro posizioni, controlla altre quattro e in poi. Ogni parità bit nella sequenza continua in questo modo per tutta la sequenza.
Il processo mediante il quale un codice di martello rileva e corregge un errore è sommando i bit nella sequenza di controllo per ciascun controllo di parità, ognuno dei quali deve uscire da un numero pari. Dato l'esempio a sette bit, per il primo controllo di parità, vengono aggiunti bit uno, tre, cinque e sette. Se il totale è un numero pari, la parità controlla, ma se il totale è dispari, allora c'è un errore. Poiché i controlli di parità si sovrappongono, verranno visualizzati due di questi errori. Quando le posizioni bit a due parity che non riescono a elaborare anche i totali vengono sommate, rivelerà il bit che deve essere corretto.
Nell'esempio del codice di martello a sette bit, controIder che il bit in posizione numero cinque non è corretto. La somma dei bit in posizioni uno, tre, cinque e sette uscirà come un numero dispari, così come la somma dei bit in posizioni da quattro a sette. Ciò indica che i controlli di parità per i bit di controllo nelle posizioni uno e quattro non sono riusciti. Quando uno e quattro vengono sommati insieme, il totale è cinque, che è la posizione per il bit errato nella trasmissione che deve essere corretta.