|
Article on other languages:
|
Nelle telecomunicazioni il codice di Hamming è un codice correttore lineare che prende il nome dal suo inventore Richard Hamming. Il codice di Hamming può rivelare e correggere gli errori di singolo bit. In altre parole, la distanza di Hamming tra le code-word trasmesse e ricevute deve essere zero o uno per una comunicazione affidabile. In alternativa, il codice può rivelare (ma non correggere) errori singoli e doppi. Il codice di Hamming fa parte dei codici lineari, ed i suoi parametri sono Il codice di parità consente la rivelazione dell'errore ma non la sua correzione. Aumentando la ridondanza nel messaggio (aggiunta di bit per la rivelazione e la correzione degli errori) è possibile conoscere anche la posizione del bit errato e quindi correggerlo. Il codice di Hamming fornisce questa possibilità. Se un codice contiene N informazioni distinte, la rappresentazione in forma binaria di ciascuna di esse avviene utilizzando una parola di n bit in modo che si verifichi: Se, Ad esempio, supponiamo di voler codificare le cifre decimali da 0 a 9 utilizzando 5 bit. Con 5 bit sono possibili
Metodo di costruzione del codiceLegenda:
Rilevazione e correzione dell'erroreUna volta codificato il messaggio secondo Hamming, questi arriva al ricevitore il quale lo controlla prima di utilizzarlo dato che a causa dei rumori di segnale il messaggio può subire delle modifiche. Supposto che al ricevitore arrivi un messaggio errato si procede seguendo la regola prima descritta, cioè facendo il bit di parità dei bit legati fra loro dallo stesso K. Esempio: Messaggio corretto: Messaggio Originale: 10
Si ottiene cosi il messaggio codificato: 11100 Ricevitore Messaggio ricevuto (errato): 11000
Ottenuti i valori dei K, si esegue l'operazione logica XOR fra i K corrispondenti del messaggio del ricevitore e quelli della sorgente. Si otterrà cosi una sequenza verticale di numeri binari. Esempio: K1 (1) XOR K1r (0)= 1 K2 (1) XOR K2r (0)= 1 K3 (0) XOR K3r (0)= 0 I risultati ottenuti vengono poi letti dal basso verso l'alto ottenendo la posizione in binario del bit errato (nel nostro caso otteniamo 011 (3dec)) Nel caso in cui ad essere sbagliato sia un K, la posizione trovata sarà O, ma l'informazione utile al ricevitore non ha subito modifiche di conseguenza il messaggio è corretto; diversamente, quando la posizione trovata supera i bit vuol dire che nel messaggio sono presenti più di un errore, allora il ricevitore chiede alla sorgente di ri-inviare il messaggio perché questi non riesce a correggere l'errore. Voci correlate
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net