Código de Gray

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

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[editar | editar código-fonte]

  • 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[editar | editar código-fonte]

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 bit's 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.

Código-gray.png

Método algébrico de conversão[editar | editar código-fonte]

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. B_n = G_n \oplus G_{(n+1)} \oplus G_{(n+1)} \oplus ... G_{(N-1)}

Conversão de código binário para código gray de N bits G_n = B_n \oplus G_{(n+1)} com  n+1 <= N-1

Referências

  1. (R. Doran) The Gray Code www.jucs.org. Visitado em 27 de fevereiro de 2011.
Ícone de esboço Este artigo sobre eletrônica é um esboço. Você pode ajudar a Wikipédia expandindo-o.