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.

 Desimal  Binær  Gray  Gray som Desimal 0  000  000  0 1  001  001  1 2  010  011  3 3  011  010  2 4  100  110  6 5  101  111  7 6  110  101  5 7  111  100  4

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.http://folk.uio.no/in383/forelesn/f06.shtml Gray-kode ble lenge brukt i CRT-TV-er for å gi et mindre hakkete bilde.

Referanser

Kategori:Datastrukturer