Domanda

 Inserire la descrizione dell'immagine qui La mia domanda è ciò che fa [questa costruzione dà una distanza di hamming una distanza di 3] significa?Perché la distanza di hamming della lettera ASCII A è 3?Come si determina la distanza di hamming è 3?

Questo è un estratto dalla rete di computer di Andrew S. Tanenbaum Page 206.

È stato utile?

Soluzione

A Codice è una raccolta di vettori binari di una lunghezza $ n $ , noto come codewords .La distanza hamming tra due codeword $ x, y $ è il numero di posizioni $ i $ in modo tale da $ x_i \ neq y_i $ .La distanza minima di un codice è la distanza minima di hamming tra due diversi codici.

Ad esempio, Hamming (7,4) codice consistedi 16 codice di lunghezza 7:

0000000
1110000
1001100
0111100
0101010
1011010
1100110
0010110
1101001
0011001
0100101
1010101
1000011
0110011
0001111
1111111
.

È possibile verificare che due due codici differiscano in 3 o 4 posizioni.Ad esempio, 1010101 e 0100101 differiscono nelle prime 3 posizioni.Pertanto la distanza minima del codice è 3.

Non c'è assolutamente alcun significato per la distanza di hamming di un singolo codeword.Hamming Distance è una proprietà di coppie di codici.

Altri suggerimenti

Tanenbaum non sta dicendo che il carattere ASCII "A" ha una particolare distanza di hamming.ComputerPhile ha Un video che può liberare le cose.

La distanza di hamming tra due codici è il numero di volte che è un bit diverso tra di loro, ad esempio tra 1011 e 1111 una distanza di hamming di 1.

L'esempio che stai vedendo è la correzione del codice.Quando si invia qualcosa attraverso un cavo ci potrebbero essere alcuni errori ( cambio di bit 1 to 0 o 0 to 1 ).Quindi ci sono alcuni algoritmi comuni che minimizzano questi errori all'interno del dominio della teoria delle informazioni .In questo esempio mostrano il codice binario della lettera A prima e dopo essere stato ricevuto per destinazione, è stata trovata una distanza di hamming di 3 significa che 3 bit sono cambiati.

In precedenza ho implementato alcune funzioni correlate e altri dettagli sono spiegati sul mio GitHub.Puoi controllare il mio repository git se sei interessato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top