Gray-kode

Fra Wikipedia, den frie encyklopedi

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[rediger | rediger kilde]

Rotasjonsenkoder for vinkelmåling som 3-bit Gray-kode (BRGC)

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[rediger | rediger kilde]

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.[1] Gray-kode ble lenge brukt i CRT-TV-er for å gi et mindre hakkete bilde.

Referanser[rediger | rediger kilde]