Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter fuer schwierige und grosse Gaerten im Test

K (Cray-Code wurde nach Graycode verschoben)
K (Eigenschaften)
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Der '''Cray-Code''' ist ein Binärcode. Ein ''n''-stelliger Cray-Code ordnet jeder Zahl von 0...2<sup>''n''</sup><tt>-</tt>1 einen anderen Wert zu.  
+
Der '''Gray-Code''' ist ein Binärcode. Ein ''n''-stelliger Gray-Code ordnet jeder Zahl von 0...2<sup>''n''</sup><tt>-</tt>1 einen anderen Wert zu.  
  
 
=Eigenschaften=
 
=Eigenschaften=
  
Die Besonderheit des Cray-Codes besteht darin, daß benachbarte Werte sich in genau einem Bit unterscheiden; das gilt auch für den Übergang zwischen 2<sup>''n''</sup><tt>-</tt>1 und 0.
+
Die Besonderheit des Gray-Codes besteht darin, daß benachbarte Werte sich in genau einem Bit unterscheiden; das gilt auch für den Übergang zwischen 2<sup>''n''</sup><tt>-</tt>1 und 0.
  
Rotiert man also die den Zahlen zugeordneten Codes &ndash; wobei man sich 0 und 2<sup>''n''</sup><tt>-</tt>1 als Nachbarn denkt &ndash; erhält man wieder einen Cray-Code.
+
Rotiert man also die den Zahlen zugeordneten Codes &ndash; wobei man sich 0 und 2<sup>''n''</sup><tt>-</tt>1 als Nachbarn denkt &ndash; erhält man wieder einen Gray-Code.
 +
 
 +
Die Wertigkeit einer 1 an der Position ''k'' im Gray-Code Zahlensystem ist 2<sup>''k''+1</sup><tt>-</tt>1, also 1, 3, 7, 15, 31, ... Die Wertigkeiten der einzelnen Einsen werden im Gegensatz zum normalen Binärsystem nicht addiert, sondern von links beginnend abwechseln addiert und subtrahiert.
 +
Stellen, die 0 sind, werden dabei ausgelassen. Alternativ beginnt man von rechts, und subtrahiert vom Wert der Stelle den bisherigen Zwischenwert, und arbeitet sich nach links voran.
 +
 
 +
'''Beispiel:'''
 +
* 111 Gray = 7<tt>-</tt>3+1 = 7<tt>-</tt>(3<tt>-</tt>1) = 5
 +
* 101 Gray = 7<tt>-</tt>1 = 6
 +
* 1111 Gray = 15<tt>-</tt>7+3<tt>-</tt>1 = 15<tt>-</tt>(7<tt>-</tt>(3<tt>-</tt>1)) = 10
 +
 
 +
:{|  {{Blauetabelle_Felder_zentriert}}
 +
|- {{Hintergrund1}}
 +
! Wert ||Gray-Code
 +
|-
 +
|0
 +
|0 0 0 0
 +
|-
 +
|1
 +
|0 0 0 1
 +
|-
 +
|2
 +
|0 0 1 1
 +
|-
 +
|3
 +
|0 0 1 0
 +
|-
 +
|4
 +
|0 1 1 0
 +
|-
 +
|5
 +
|0 1 1 1
 +
|-
 +
|6
 +
|0 1 0 1
 +
|-
 +
|7
 +
|0 1 0 0
 +
|}
  
 
=Anwendung=
 
=Anwendung=
Eine Anwendung finden Cray-Codes in Inkrementgebern. Würde ein Inkrementgeber eine herkömmliche Binärzahl als Position liefern, also etwa <tt>101</tt> für 5 und <tt>110</tt> für 6, dann gäbe es ein Problem, wenn nicht alle Bits absolut gleichzeitig ihre Wertigkeit änderten. In dem Fall könnten "Phantomwerte" wie <tt>100</tt> (4) oder <tt>111</tt> (7) auftreten. Der Cray-Code hat dieses Problem nicht, da sich benachbarte Werte nur ein einem Bit unterscheiden.
+
Eine Anwendung finden Gray-Codes in Inkrementgebern. Würde ein Inkrementgeber eine herkömmliche Binärzahl als Position liefern, also etwa <tt>101</tt> für 5 und <tt>110</tt> für 6, dann gäbe es ein Problem, wenn nicht alle Bits absolut gleichzeitig ihre Wertigkeit änderten. In dem Fall könnten "Phantomwerte" wie <tt>100</tt> (4) oder <tt>111</tt> (7) auftreten. Der Gray-Code hat dieses Problem nicht, da sich benachbarte Werte nur ein einem Bit unterscheiden.
  
 
=Beispiele=
 
=Beispiele=
  
;Ein 2-stelliger Cray-Code:
+
Hier zwei Beispiele für Gray-Codes. Wie man sieht, unterscheiden sich zwei benachbarte Codes immer in genau einer Stelle. Für diese Eigenschaft ist unerheblich, wie ein schwarzes bzw. weisses Feld interpretiert wird und für welches Bit eine Zeile codiert.
 +
 
 +
Mit der Bewertung schwarz=0 und weiß=1 ergeben sich Gray-Codes, zu denen die obige Berechnungsvorschrift passt. Dabei entspricht die niederwertigste Stelle der jeweils unteren Zeile, etc.
 +
;Ein 2-stelliger Gray-Code:
 
:{|{{Blauetabelle}}
 
:{|{{Blauetabelle}}
 
|- {{Hintergrund1}}
 
|- {{Hintergrund1}}
Zeile 34: Zeile 74:
 
|}
 
|}
  
;Ein 4-stelliger Cray-Code:
+
;Ein 4-stelliger Gray-Code:
 
:{|{{Blauetabelle}}
 
:{|{{Blauetabelle}}
 
|- {{Hintergrund1}}
 
|- {{Hintergrund1}}
Zeile 130: Zeile 170:
 
----
 
----
 
--[[Benutzer:SprinterSB|SprinterSB]] 14:46, 23. Feb 2006 (CET)
 
--[[Benutzer:SprinterSB|SprinterSB]] 14:46, 23. Feb 2006 (CET)
 +
 +
=Siehe auch=
 +
* [[Sensorarten#Incremental-Geber|Incremental-Geber]]
  
 
[[Kategorie:Grundlagen]]
 
[[Kategorie:Grundlagen]]
 
[[Kategorie:Kommunikation]]
 
[[Kategorie:Kommunikation]]

Aktuelle Version vom 28. Februar 2006, 14:01 Uhr

Der Gray-Code ist ein Binärcode. Ein n-stelliger Gray-Code ordnet jeder Zahl von 0...2n-1 einen anderen Wert zu.

Eigenschaften

Die Besonderheit des Gray-Codes besteht darin, daß benachbarte Werte sich in genau einem Bit unterscheiden; das gilt auch für den Übergang zwischen 2n-1 und 0.

Rotiert man also die den Zahlen zugeordneten Codes – wobei man sich 0 und 2n-1 als Nachbarn denkt – erhält man wieder einen Gray-Code.

Die Wertigkeit einer 1 an der Position k im Gray-Code Zahlensystem ist 2k+1-1, also 1, 3, 7, 15, 31, ... Die Wertigkeiten der einzelnen Einsen werden im Gegensatz zum normalen Binärsystem nicht addiert, sondern von links beginnend abwechseln addiert und subtrahiert. Stellen, die 0 sind, werden dabei ausgelassen. Alternativ beginnt man von rechts, und subtrahiert vom Wert der Stelle den bisherigen Zwischenwert, und arbeitet sich nach links voran.

Beispiel:

  • 111 Gray = 7-3+1 = 7-(3-1) = 5
  • 101 Gray = 7-1 = 6
  • 1111 Gray = 15-7+3-1 = 15-(7-(3-1)) = 10
Wert Gray-Code
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0

Anwendung

Eine Anwendung finden Gray-Codes in Inkrementgebern. Würde ein Inkrementgeber eine herkömmliche Binärzahl als Position liefern, also etwa 101 für 5 und 110 für 6, dann gäbe es ein Problem, wenn nicht alle Bits absolut gleichzeitig ihre Wertigkeit änderten. In dem Fall könnten "Phantomwerte" wie 100 (4) oder 111 (7) auftreten. Der Gray-Code hat dieses Problem nicht, da sich benachbarte Werte nur ein einem Bit unterscheiden.

Beispiele

Hier zwei Beispiele für Gray-Codes. Wie man sieht, unterscheiden sich zwei benachbarte Codes immer in genau einer Stelle. Für diese Eigenschaft ist unerheblich, wie ein schwarzes bzw. weisses Feld interpretiert wird und für welches Bit eine Zeile codiert.

Mit der Bewertung schwarz=0 und weiß=1 ergeben sich Gray-Codes, zu denen die obige Berechnungsvorschrift passt. Dabei entspricht die niederwertigste Stelle der jeweils unteren Zeile, etc.

Ein 2-stelliger Gray-Code
 0  1 2 3 0
         
         
Ein 4-stelliger Gray-Code
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
                                 
                                 
                                 
                                 

--SprinterSB 14:46, 23. Feb 2006 (CET)

Siehe auch


LiFePO4 Speicher Test