Introduzione al Codice di Gray
- Il codice di Gray è un codice binario in cui due numeri consecutivi differiscono solo in un bit.
- Questo codice riduce la possibilità di errori durante la transizione tra i numeri, poiché solo un bit cambia il suo valore.
- Il codice di Gray è utile in applicazioni in cui la normale sequenza di numeri binari può produrre ambiguità o errori.
- Il codice di Gray è usato per rappresentare dati digitali convertiti da dati analogici, come la posizione angolare di un albero di un servomotore.
Il codice di Gray
I dati di output di molti sistemi fisici sono quantità che sono continue. Questi dati devono essere convertiti in forma digitale prima di essere applicati a un sistema digitale. Le informazioni continue o analogiche sono convertite in forma digitale per mezzo di un convertitore analogico-digitale.
Talvolta, risulta conveniente usare il codice di Gray per rappresentare dati digitali che sono stati convertiti da dati analogici. Questo codice prende il nome da Frank Gray, che lo sviluppò nel 1930. Il codice di Gray è un codice binario in cui due numeri consecutivi differiscono solo in un bit. Questo significa che quando si passa da un numero al successivo, solo un bit cambia il suo valore, riducendo la possibilità di errori durante la transizione tra i numeri.
Nella tabella che segue sono rappresentati i primi 16 numeri in codice di Gray e il loro equivalente decimale:
Codice di Gray | Equivalente Decimale |
---|---|
0000 | 0 |
0001 | 1 |
0011 | 2 |
0010 | 3 |
0110 | 4 |
0111 | 5 |
0101 | 6 |
0100 | 7 |
1100 | 8 |
1101 | 9 |
1111 | 10 |
1110 | 11 |
1010 | 12 |
1011 | 13 |
1001 | 14 |
1000 | 15 |
Il vantaggio del codice di Gray rispetto alla sequenza di numeri binari diretta è che solo un bit nel gruppo di codice cambia nel passare da un numero al successivo. Per esempio, nel passare da 7 a 8, il codice di Gray cambia da 0100 a 1100. Solo il terzo bit cambia, da 0 a 1; gli altri tre bit rimangono gli stessi. Al contrario, con i numeri binari il cambiamento da 7 a 8 sarà da 0111 a 1000, che causa il cambio di valori di tutti e quattro i bit.
Il codice di Gray è usato in applicazioni in cui la normale sequenza di numeri binari generata dall'hardware può produrre un errore o ambiguità durante la transizione da un numero al successivo. Se vengono usati numeri binari, un cambiamento, per esempio, da 0111 a 1000 può produrre un numero erroneo intermedio 1001 se il valore del bit più a destra impiega più tempo a cambiare rispetto ai valori degli altri tre bit. Questo potrebbe avere conseguenze serie per la macchina che usa l'informazione. Il codice di Gray elimina questo problema, poiché solo un bit cambia il suo valore durante qualsiasi transizione tra due numeri.
Un'applicazione tipica del codice di Gray è la rappresentazione di dati analogici mediante un cambiamento continuo nella posizione angolare di un albero di un servomotore. L'albero è suddiviso in segmenti, e a ogni segmento è assegnato un numero. Se ai segmenti adiacenti si fa corrispondere valori appartenenti alla sequenza del codice di Gray, l'ambiguità è eliminata tra l'angolo dell'albero e il valore codificato dal sensore.