Codice Gray: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
"codice riflesso" non è una terminologia rigorosa e indica semplicemente un codice in cui ogni valore codificato differisce di un solo bit dal valore codificato precedente
Nessun oggetto della modifica
Riga 1:
[[File:BCD-Scheibe.png|thumb|right|Matrice di commutazione in un encoder rotativo Gray a tre bit]]
Il '''codice Gray''' è un [[codice (teoria dell'informazione)|codice]] [[Sistema numerico binario|binario]] a [[codice a lunghezza fissa|lunghezza fissa]], con la caratteristica che due qualsiasi sue posizioni consecutive hanno solo un carattere diverso tra loro. Fu progettato e brevettato<ref>{{US patent|2632058}}</ref> nel [[1953]] dal ricercatore [[Frank Gray (ricercatore)|Frank Gray]] dei [[Bell Laboratories]].
 
Esso differisce dalla notazione posizionale binaria degli interi in quanto prevede che si passi da un intero al successivo modificando un solo bit; questa caratteristica (detta a cambio 1 o codice ciclico o riflesso)<ref name=sistemi>{{cita testo|url=https://sites.units.it//marsi/reti/dispense/capitolo%2001.pdf|titolo=Sistemi di numerazione e codici|p=14}}</ref> semplifica e rende meno soggette ad errori le operazioni di dispositivi elettronici che devono scorrere informazioni organizzate in sequenze., Evidentementesoprattutto lain codificacaso di Graytransizioni risulta poco sensata per interi da sottoporre ad operazioni come somme otra prodottivalori.
Si possono usare codici di Gray di tutte le lunghezze: il codice di lunghezza ''s'' è costituito da tutte le <math>2^s</math> sequenze di ''s'' [[bit]] e consente di rappresentare tutti gli interi da 0 a <math>2^{s} - 1</math>.
 
Esso differisce dalla notazione posizionale binaria degli interi in quanto prevede che si passi da un intero al successivo modificando un solo bit; questa caratteristica (detta a cambio 1) semplifica e rende meno soggette ad errori le operazioni di dispositivi elettronici che devono scorrere informazioni organizzate in sequenze. Evidentemente la codifica di Gray risulta poco sensata per interi da sottoporre ad operazioni come somme o prodotti.
 
[[File:BCD-Scheibe.png|thumb|right|Matrice di commutazione in un encoder rotativo Gray a tre bit]]
 
Si possono usareI codici di Gray disi tuttepossono leapplicare lunghezzea numeri binari di qualsiasi lunghezza: il codice di lunghezza ''s'' è costituito da tutte le <math>2^s</math> sequenze di ''s'' [[bit]] e consente di rappresentare tutti gli interi da 0 a <math>2^{s} - 1</math> (codice ciclico completo).<ref name=sistemi/>
Diversi [[Dispositivo elettronico|dispositivi elettronici]] di acquisizione di posizione, tra cui gli [[Trasduttore di posizione angolare|encoder]] (lineari o rotativi, come - 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.
Questi dispositivi devono produrre, in base alla misura della posizione rilevata, un particolare numero in base 2.
Ad esempio, ruotando la manopola di un encoder a 3 bit, si potrebbe ottenere in output il valore '001'.
Grazie alla corretta interpretazione di questo numero, si può conoscere la misura della posizione del dispositivo.
 
== Motivazione ==
 
Diversi [[Dispositivo elettronico|dispositivi elettronici]] di acquisizione di posizione, tra cui gli [[Trasduttore di posizione angolare|encoder]] (lineari o rotativi, come - 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. Questi dispositivi devono produrre, in base alla misura della posizione rilevata, un particolare numero in base 2; per esempio, ruotando la manopola di un encoder a 3 bit, si potrebbe ottenere in output il valore '001'.
Molti dispositivi elettronici indicano la propria posizione chiudendo e aprendo degli interruttori.
Se queste posizioni venissero rappresentate come quelle di una codifica binaria ordinata in modo naturale, le posizioni 3 e 4 sarebbero consecutive, ma avrebbero tutti i bit di valore diverso:
 
Se queste posizioni venissero rappresentate come quelle di una codifica binaria ordinata in modo naturale, vi sarebbero casi in cui posizioni consecutive, come ad esempio le posizioni 3 e 4, sarebberoavrebbero consecutive,una marappresentazione avrebberobinaria tutticostituita ida bit di valoretutti diverso:
di valore diverso:
{| class="wikitable" style="text-align:center;"
|-