Codice Gray

codice binario a lunghezza fissa

Il codice Gray è un codice numerico binario.

Conformemente allo standard, una qualunque coppia di bit adiacenti (appartenenti ad una sequenza di n bit rappresentanti un valore) differisce al suo interno solamente di un bit.

Matrice di commutazione in un encoder rotativo Gray a tre bit

Diversi dispositivi elettronici di acquisizione di posizione, gli encoder di posizione lineare o rotativa (per esempio i regolatori di volume digitali negli impianti Hi-Fi), codificano il valore digitale della posizione chiudendo o aprendo una serie di contatti elettrici o barriere ottiche. Il problema è che a causa delle tolleranze meccaniche è improbabile che due o più bit di una cifra possano commutare esattamente nello stesso istante. Viene a crearsi un periodo intermedio in cui è codificato un valore indesiderato, che può generare confusione nella successiva elaborazione.

Per questo scopo fu progettato e brevettato nel 1953 dal ricercatore Frank Gray dei laboratori Bell un apposito codice, il codice Gray.

Negli encoder che utilizzano questo codice, il passaggio da un valore al successivo o precedente comporta la commutazione di un unico circuito, eliminando ogni possibile valore equivoco.

Codice Gray a 2 bit
00
01
11
10
Codice Gray a 3 bit
000
001
011
010
110
111
101
100
Codice Gray a 4 bit
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000


Voci correlate