Questa volta ci ho capito davvero poco!
Per rilevare E errori serve un codice con distanza di Hamming (E+1). Infatti, in questo caso qualunque combinazione di E errori non riesce a trasformare un codeword valido in un altro codeword valido, per cui si ha per forza un codeword non valido, che quindi rivela il fatto che ci sono stati degli errori;
1011 0101 1
1000 0111 0
Questo codice, detto codice di parità (parity code) ha distanza di Hamming uguale a due, e dunque è in grado di rilevare singoli errori. Infatti, un singolo errore produce un numero dispari di 1 e quindi un codeword non valido.
Per correggere E errori, serve un codice di Hamming con distanza (2E+1). Infatti in questo caso un codeword contenente fino a Eerrori è più vicino a quello originario che a qualunque altro codeword valido.
Come secondo esempio, consideriamo il codice costituito dalle seguenti codeword:
00000 00000
00000 11111
11111 00000
11111 11111
Esso ha distanza 5, per cui corregge due errori (cifre rosse). Infatti, se arriva
00000 00111
si può risalire correttamente al codeword più vicino, che è
00000 11111
Però, se ci sono tre errori ed arriva:
00000 00111
non saremo in grado di ricostruirlo correttamente ; perché esso verrà interpretato erroneamente come:
00000 11111
anziché come:
00000 00000
a questo punto comincia a spiegare hamming e mi sn totalmente perso...
qualcuno se lo ricorda e me lo può spiegare? come se lo stesse spiegando a vostra nonna possibilmente...