Kody i szyfry
2. Kody numeryczne i arytmetyka cyfrowa
2.13. Kody Graya
Kody Graya (w najprostszym ujęciu) to kody numeryczne, które liczbom całkowitym ze zbioru <0,2n−1> (gdzie n ≥ 1) przyporządkowują słowa kodowe n bitowe w taki sposób, że sąsiednie liczby (tzn. różniące się o 1 lub 2n−1) mają słowa kodowe różniące się tylko na jednej pozycji. Oznacza to, że odległość Hamminga słów kodowych sąsiednich liczb jest równa 1. Można pokazać, że kod Graya jest kodem niewagowym.
0 → 0000
1 → 0001
2 → 0011
3 → 0010
4 → 0110
5 → 0111
6 → 0101
7 → 0100
8 → 1100
9 → 1101
10 → 1111
11 → 1110
12 → 1010
13 → 1011
14 → 1001
15 → 1000
Sposób tworzenia tego kodu dla zbioru <0,2n+1−1> jeśli już mamy kod Graya dla zbioru< wyjaśnia Rys. 6. Opisany na Rys. 6. mechanizm umożliwia zdefiniowanie kodu Graya dla dowolnego zbioru liczb postaci <0,2n+1−1>. Definicja ma charakter indukcyjny. Punktem wyjścia jest oczywiście stwierdzenie, że kod dla zbioru liczb <0,1> = {0,1} zdefiniowany jako funkcja realizująca przyporządkowanie 0 → 0, 1 → 1 jest kodem Graya.
Rys. 6. Sposób tworzenia kodu Graya dla zbioru liczb <0,2n+1−1> jeśli mamy kod Graya dla zbioru liczb .<0,2n−1>.
Kody Graya stosowane są w urządzeniach do cyfrowego pomiaru położenia w urządzeniach mechanicznych np. w tarczach kodowych do pomiaru kąta określającego położenie wału obrotowego.
Uogólnieniem koncepcji kodów Graya są kody Graya na grafach. Chodzi w nich o takie przyporządkowanie słów kodowych wierzchołkom grafu by połączone gałęzią wierzchołki miały słowa kodowe różniące się tylko na jednej pozycji.