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
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/Encoder_Disc_%283-Bit%29.svg/250px-Encoder_Disc_%283-Bit%29.svg.png)
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.[1] Gray-kode ble lenge brukt i CRT-TV-er for å gi et mindre hakkete bilde.
Referanser
- ^ http://folk.uio.no/in383/forelesn/f06.shtml