O código de Gray é um sistema de código binário inventado por Frank Gray. O código é não ponderado onde de um número para outro apenas um bit varia. Este sistema de codificação surgiu quando os circuitos lógicos digitais se realizavam com válvulas termoiônicas e dispositivos eletromecânicos. Os contadores necessitavam de potências muito elevadas e geravam ruído quando vários bits modificavam-se simultaneamente. O uso do código Gray garantiu que qualquer mudança variaria apenas um bit.[1]
Atualmente o código Gray é utilizado em sistemas sequenciais mediante o uso dos Mapas de Karnaugh, já que o princípio do desenho de buscar transições mais simples e rápidas segue vigente, apesar de que os problemas de ruído e potência tenham sido reduzidos.
Código decimal
|
Código Binário
|
Código Gray
|
0 |
0000 |
0000
|
1 |
0001 |
0001
|
2 |
0010 |
0011
|
3 |
0011 |
0010
|
4 |
0100 |
0110
|
5 |
0101 |
0111
|
6 |
0110 |
0101
|
7 |
0111 |
0100
|
8 |
1000 |
1100
|
9 |
1001 |
1101
|
10 |
1010 |
1111
|
11 |
1011 |
1110
|
12 |
1100 |
1010
|
13 |
1101 |
1011
|
14 |
1110 |
1001
|
15 |
1111 |
1000
|
Propriedades
- Palavras adjacentes variam apenas 1 bit
- Cíclico
- Reflectido
- Bit mais significativo é igual ao código binário natural
Método tabular de conversão
A maneira mais fácil de construir a tabela de conversão base 10 para gray é usar um espelho. Começando no bit de índice 0, escrevemos o bit 0 e 1. Em seguida, aplicamos um espelho ao conjunto {01}, ficando o bit 0 com a seguinte ordenação {0110}. Agora, a primeira metade dos bits do índice 1 tomam o valor 0, e a outra metade o valor 1. O bit seguinte obtém-se aplicando o 'espelho' a todos os bits anteriores.
12300
Método algébrico de conversão
O método de obtenção do código Gray só é útil para comprimentos de palavra de 3/4 bits.
Assim, torna-se necessário obter uma equação algébrica que converta de números binários para Gray e vice-versa. Tais equações podem ser deduzidas usando os Mapas de Kargnaugh para 4 bits e observar o padrão.
Conversão de código binário para código gray de N bits
Referências