WikiDer > Gray-Code

Gray-code
3-Bit-Gray-Code
3-Bit-Positionsgeberscheibe

EIN Gray-Code ist ein binärCodierung die die Eigenschaft hat, dass sich zwei aufeinanderfolgende Zahlen immer nur um ein Bit unterscheiden und daher auch a . genannt wird ein Änderungscode wird genannt. Im Gegensatz zu einem gewichteten Binärcode kann der Code nicht durch eine einfache Summe von Zweierpotenzen reduziert werden. Darüber hinaus gibt es mehrere Möglichkeiten, Gray-Codes zu erstellen.

Gray-Codes können dort eingesetzt werden, wo z. B. eine mechanische Position in ein umgerechnet werden muss Digital Code. Schalten nicht alle Stellungsregler exakt gleichzeitig, entsteht kein unbeabsichtigter Zwischenwert. Wenn bei gewichteten Codes ein Fehler in einem der höherwertigen Bits auftritt, kann der Fehler erheblich größer sein.

Beispiel

DezimalGrauNur binär
00 0 0 00 0 0 0
10 0 0 10 0 0 1
20 0 1 10 0 1 0
30 0 1 00 0 1 1
40 1 1 00 1 0 0
50 1 1 10 1 0 1
60 1 0 10 1 1 0
70 1 0 00 1 1 1
81 1 0 01 0 0 0
91 1 0 11 0 0 1
101 1 1 11 0 1 0
111 1 1 01 0 1 1
121 0 1 01 1 0 0
131 0 1 11 1 0 1
141 0 0 11 1 1 0
151 0 0 01 1 1 1

Beim Übergang zwischen Position 7 und 8 ändern sich alle Bits in einem gewichteten binär codierten Generator. Eine Windfahne mit 16 Sektoren und 4-Bit-Kodierung wird dann, wenn sie zwischen Code 7 und 8 zögert, vielleicht eine Zwischenablesung von 1111 oder 0000 (oder jedem anderen möglichen Code) liefern. Bei einem Gray-Code gibt es für 0100 und 1100 keinen Zwischenzustand, da sich nur das linke Bit ändert, es gibt also keine Nebeneffekte ("Glitches") Platz während des Übergangs.

Ein Algorithmus

EIN Algorithmus Um einen Gray-Code aus einer beliebigen Anzahl von Bits zusammenzusetzen, gehen Sie wie folgt vor:

Nehmen Sie einen 1-Bit-Code, zum Beispiel:

Schritt 1
NummerGray-Code
00
11

Setzen Sie die Tabelle in umgekehrter Reihenfolge unter oder über die bestehende und schreiben Sie eine 0 in eine neue Spalte für das alte Stück und eine 1 für das neue Stück (der Originalteil ist fett dargestellt, die neue Spalte kursiv):

Schritt 2
NummerGray-Code
000
101
211
310
Schritt 3
NummerGray-Code
0000
1001
2011
3010
4110
5111
6101
7100
Schritt 4
NummerGray-CodeNummerGray-Code
0000081100
1000191101
20011101111
30010111110
40110121010
50111131011
60101141001
70100151000

Wiederholen, bis die gewünschte Anzahl von Bits erreicht ist.

Ein anderes Zahlensystem

Auch mit anderen Zahlensysteme ein Gray-Code ist möglich. Zum Beispiel dezimal:

Normale DezimalzahlGrau dezimal
vonbis zuvonbis zu
09000009
1019019010
2029020029
3039039030
9099099090
100109190199
110119189180
120129170179