> hamming | (7,4) | ecc <
// Codice di Hamming – Codice di correzione degli errori per una trasmissione dati affidabile
Correzione degli errori
Rileva e corregge automaticamente gli errori a singolo bit nei dati.
Rilevamento errori doppi
Può rilevare (ma non correggere) errori a due bit in ogni blocco.
Overhead minimo
Solo 3 bit di parità per ogni 4 bit di dati (efficienza del 75%).
>> dettagli tecnici
Come funziona il codice Hamming:
Il codice Hamming(7,4) aggiunge 3 bit di parità a ogni gruppo di 4 bit di dati, creando blocchi da 7 bit. I bit di parità sono posizionati in posizioni che sono potenze di 2 (1, 2, 4). Quando si verificano errori, la sindrome (risultato del controllo di parità) indica direttamente la posizione del bit errato.
Struttura Hamming(7,4):
Dati: 1011 (4 bit) Posizioni: P1 P2 D1 P3 D2 D3 D4 Hamming: 1 0 1 1 0 1 1 P1 = D1 ⊕ D2 ⊕ D4 = 1 ⊕ 0 ⊕ 1 = 0 P2 = D1 ⊕ D3 ⊕ D4 = 1 ⊕ 1 ⊕ 1 = 1 P3 = D2 ⊕ D3 ⊕ D4 = 0 ⊕ 1 ⊕ 1 = 0
Perché usare il codice Hamming:
- >Correzione degli errori in memoria
- >Comunicazioni satellitari
- >Sistemi di archiviazione dati
- >Trasmissione di rete
- >Array RAID
>> domande frequenti
Che cos’è il codice Hamming?
Il codice Hamming è un codice di correzione degli errori inventato da Richard Hamming nel 1950. Aggiunge bit di parità ai dati per consentire il rilevamento e la correzione automatica degli errori a singolo bit.
Cosa significa (7,4)?
Hamming(7,4) significa 7 bit totali con 4 bit di dati e 3 bit di parità. Può correggere qualsiasi errore a singolo bit nel blocco di 7 bit. Altre varianti includono (15,11) e (31,26).
Come funziona la correzione degli errori?
Alla ricezione dei dati, i bit di parità vengono ricalcolati. Se non corrispondono, la sindrome (la differenza) indica direttamente quale bit è errato. L’errore viene corretto invertendo quel bit.
Hamming rispetto ad altri codici ECC?
Il codice Hamming è semplice ed efficiente per errori a singolo bit. Codici più complessi come Reed-Solomon possono correggere errori multipli ma con maggior overhead. Hamming è perfetto per canali a bassa rumorosità.