Gray-kode

Gray-kode, eller «reflektert binær kode» er et binært kodesystem der to etterfølgende verdier bare er ett bit forskjellige. Koden har fått navn etter Frank Gray som søkte patent på koden i 1947.

Poenget med Gray-kode 

Mange instrumenter angir posisjon ved å skru av og på brytere. Ved vanlig binærkoding vil f.eks. posisjon 3 (binært 011) og 4 (binært 100) ha 3 bit som er forskjellige. Ved bruk av fysiske mekaniske brytere er det usannsynlig at alle bryterne vil endre verdi helt samtidig, og i den korte perioden endringen skjer vil verdien midlertidig bli en annen. En endring fra 011 til 100 kan f.eks. være innom både 001 og 101 underveis, og det er vanskelig å si om verdien skyldes treg endring eller om verdien faktisk skulle være 101 en kort stund.

Gray-kode løser dette ved å endre bare en bryter om gangen, og dermed blir det aldri tvetydighet i form av mellomposisjoner.

Merk at den siste posisjonen kun er ett bit forskjellig fra den første, og Gray-kode er derfor syklisk.

Bruk
Gray-kode benyttes i posisjons enkodere som angir rotasjon eller lengde. Kodingen kan brukes for å sende data der mottageren ønsker å kontrollere rekkefølgen eller å identifisere data som ikke mottas. Graykoding kan redusere kompleksiteten i kodingen av bilder over til en datastrøm. Gray-kode ble lenge brukt i CRT-TV-er for å gi et mindre hakkete bilde.

Referanser

Datastrukturer