fbpx
Wikipedia

Código Gray

El código binario reflejado o código Gray, nombrado así en honor del investigador Frank Gray, es un sistema de numeración binario en el que dos números consecutivos difieren solamente en uno de sus dígitos.

El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas o viciadas en la representación) de los switches electromecánicos, y actualmente es usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales como algunos sistemas de televisión por cable y la televisión digital terrestre.

Código Gray de dos bits

00 01 11 10

Código Gray de tres bits
000 001 011 010 110 111 101 100 
Código Gray de cuatro bits
0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 

Código Gray

El investigador de Laboratorios Bell, Frank Gray inventó el término código binario reflejado cuando lo patentó en 1947, remarcando que éste «no tenía nombre reconocido aún».[1]​ Él creó el nombre basándose en el hecho de que el código «puede ser construido a partir del código binario convencional por una suerte de "proceso reflejante"».

El código fue llamado posteriormente «Gray» por otros investigadores. Dos patentes en 1953 dieron como nombre alternativo «código de Gray» para el «código binario reflejado»;[2][3]​ una de ellas también se refiere al código como "minimum error code" (código de error mínimo) y como "cyclic permutation code" (código de permutación cíclica).[3]

Historia y aplicaciones prácticas

El código binario reflejado fue aplicado para acertijos matemáticos antes de ser usado para la ingeniería. El ingeniero francés Émile Baudot le dio una aplicación al código de Gray en 1878 en telegrafía, trabajo por el cual fue condecorado con la Legión de Honor.

El código Gray es atribuido en algunas ocasiones, en forma incorrecta,[4]​ a Elisha Gray (en Principles of Pulse Code Modulation, K. W. Cattermole,[5]​ por ejemplo).

Hasta la primera mitad de los años 1940 los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. Tomando esto en cuenta, Frank Gray inventó un método para convertir señales analógicas a grupos de código binario reflejado utilizando un aparato diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición variaría tan sólo un bit.

En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los mapas de Karnaugh, los cuales son, a su vez, utilizados como «herramienta de diseño» en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia del código Gray se debe a que un diseño digital eficiente requerirá transiciones más simples y rápidas entre estados lógicos (0 o 1), por ello es que se persiste en su uso, a pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de estado sólido de los circuitos integrados.

Utilizando el código Gray es posible también resolver el problema de las Torres de Hanói. Se puede incluso formar un ciclo hamiltoniano o un hipercubo, en el que cada bit se puede ver como una dimensión.

Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado en ocasiones en algoritmos genéticos.

Motivación

Las computadoras antiguas indicaban posiciones abriendo y cerrando interruptores. Utilizando tres interruptores como entradas usando Base 2, estas dos posiciones estarían una después de la otra:

001 011 100 101 

El problema con el código binario en base 2 es que con interruptores mecánicos, es realmente difícil que todos los interruptores cambien al mismo tiempo. En la transición de los dos estados mostrados arriba, tres interruptores cambian de sitio. En el lapso en el que los interruptores están cambiando, se pueden presentar salidas de información espurias. Si las salidas mencionadas alimentan un circuito secuencial, probablemente el sistema presentará un error en entrada de datos.

El código gray resuelve este problema cambiando solamente un dígito a la vez, así que no existe este problema:

Decimal Gray Binario 0 000 000 1 001 001 2 011 010 3 010 011 4 110 100 5 111 101 6 101 110 7 100 111 

Hay que tener en cuenta que para convertir de binarios a Gray los valores que deben ser sumados en base 2 toman los siguientes valores 1+1=0, 0+0=0, 1+0=1 y 0+1=1; esta operación de forma vertical como se muestra en el siguiente ejemplo:

1010 1010 ---- 1111 

Nótese que desde el 7 podría pasar a 0 con un solo cambio de switch (el más significativo pasa a cero). Esta es la propiedad llamada "cíclica" del código de Gray.

Conversiones

Secuencia Binario Gray Secuencia Binario Gray
0
0000
0000
8
1000
1100
1
0001
0001
9
1001
1101
2
0010
0011
10
1010
1111
3
0011
0010
11
1011
1110
4
0100
0110
12
1100
1010
5
0101
0111
13
1101
1011
6
0110
0101
14
1110
1001
7
0111
0100
15
1111
1000

Base 2 a Gray

Para convertir un número binario (en Base 2) a código Gray, simplemente se le aplica una operación XOR con el mismo número desplazado un bit a la derecha, sin tener en cuenta el acarreo.

Ejemplo: 1010 (Base 2) a gray

1010 1010 ---- 1111 

Otros ejemplos 0111(Base 2) a gray :

0111 0111 ------ 0100 
110101010001 110101010001 ------------ 101111111001 

Gray a Base 2

Definimos un vector   conteniendo los dígitos en gray y otro vector   destinado a contener los dígitos en Base 2

  •   es el dígito que se encuentra en el extremo izquierdo de la representación en código gray
  •   es el dígito de mayor peso y que se encuentra en el extremo izquierdo en la representación en Base 2

Luego resulta que:   con la excepción de que  , la cual se puede resumir como:

El dígito de más a la izquierda en Base 2 es igual al dígito de más a la izquierda en código gray


Ejemplo Con el número   en código Gray.

Lo primero es decir que:  , por lo que para este caso:  . Luego siguiendo con el algoritmo:   resulta que:
 
 
 
 

Esto da como resultado  

Referencias

  1. F. Gray. Pulse code communication, 17 de marzo de 1953 (archivado en nov 1947). Patente USPTO n.º 2632058
  2. J. Breckman. Encoding Circuit, 31 de enero de 1956 (archivado en dic 1953). Patente USPTO n.º 2733432
  3. E. A. Ragland et al. Direction-Sensitive Binary Code Position Control System, 11 de febrero de 1958 (archivado oct 1953). Patente USPTO n.º 2823345
  4. Knuth, Donald E. "Generating all n-tuples." The Art of Computer Programming, Volumen 4A: Enumeration and Backtracking, pre-fascículo 2a, 15 de octubre de 2004. [1]
  5. K. W. Cattermole, Principles of Pulse Code Modulation, American Elsevier Publishing Company, Inc., 1969, New York NY, ISBN 0-444-19747-8.


  •   Datos: Q332772
  •   Multimedia: Gray code

código, gray, código, binario, reflejado, código, gray, nombrado, así, honor, investigador, frank, gray, sistema, numeración, binario, números, consecutivos, difieren, solamente, dígitos, código, gray, diseñado, originalmente, para, prevenir, señales, ilegales. El codigo binario reflejado o codigo Gray nombrado asi en honor del investigador Frank Gray es un sistema de numeracion binario en el que dos numeros consecutivos difieren solamente en uno de sus digitos El codigo Gray fue disenado originalmente para prevenir senales ilegales senales falsas o viciadas en la representacion de los switches electromecanicos y actualmente es usado para facilitar la correccion de errores en los sistemas de comunicaciones tales como algunos sistemas de television por cable y la television digital terrestre Codigo Gray de dos bits 00 01 11 10Codigo Gray de tres bits 000 001 011 010 110 111 101 100Codigo Gray de cuatro bits 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000Indice 1 Codigo Gray 2 Historia y aplicaciones practicas 3 Motivacion 4 Conversiones 4 1 Base 2 a Gray 4 2 Gray a Base 2 5 ReferenciasCodigo Gray EditarEl investigador de Laboratorios Bell Frank Gray invento el termino codigo binario reflejado cuando lo patento en 1947 remarcando que este no tenia nombre reconocido aun 1 El creo el nombre basandose en el hecho de que el codigo puede ser construido a partir del codigo binario convencional por una suerte de proceso reflejante El codigo fue llamado posteriormente Gray por otros investigadores Dos patentes en 1953 dieron como nombre alternativo codigo de Gray para el codigo binario reflejado 2 3 una de ellas tambien se refiere al codigo como minimum error code codigo de error minimo y como cyclic permutation code codigo de permutacion ciclica 3 Historia y aplicaciones practicas EditarEl codigo binario reflejado fue aplicado para acertijos matematicos antes de ser usado para la ingenieria El ingeniero frances Emile Baudot le dio una aplicacion al codigo de Gray en 1878 en telegrafia trabajo por el cual fue condecorado con la Legion de Honor El codigo Gray es atribuido en algunas ocasiones en forma incorrecta 4 a Elisha Gray en Principles of Pulse Code Modulation K W Cattermole 5 por ejemplo Hasta la primera mitad de los anos 1940 los circuitos logicos digitales se realizaban con valvulas de vacio y dispositivos electromecanicos Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultaneamente Tomando esto en cuenta Frank Gray invento un metodo para convertir senales analogicas a grupos de codigo binario reflejado utilizando un aparato disenado con valvulas de vacio con lo cual garantizo que en cualquier transicion variaria tan solo un bit En la actualidad el codigo Gray se emplea como parte del algoritmo de diseno de los mapas de Karnaugh los cuales son a su vez utilizados como herramienta de diseno en la implementacion de circuitos combinacionales y circuitos secuenciales La vigencia del codigo Gray se debe a que un diseno digital eficiente requerira transiciones mas simples y rapidas entre estados logicos 0 o 1 por ello es que se persiste en su uso a pesar de que los problemas de ruido y potencia se hayan reducido con la tecnologia de estado solido de los circuitos integrados Utilizando el codigo Gray es posible tambien resolver el problema de las Torres de Hanoi Se puede incluso formar un ciclo hamiltoniano o un hipercubo en el que cada bit se puede ver como una dimension Debido a las propiedades de distancia de Hamming que posee el codigo Gray es usado en ocasiones en algoritmos geneticos Motivacion EditarLas computadoras antiguas indicaban posiciones abriendo y cerrando interruptores Utilizando tres interruptores como entradas usando Base 2 estas dos posiciones estarian una despues de la otra 001 011 100 101 El problema con el codigo binario en base 2 es que con interruptores mecanicos es realmente dificil que todos los interruptores cambien al mismo tiempo En la transicion de los dos estados mostrados arriba tres interruptores cambian de sitio En el lapso en el que los interruptores estan cambiando se pueden presentar salidas de informacion espurias Si las salidas mencionadas alimentan un circuito secuencial probablemente el sistema presentara un error en entrada de datos El codigo gray resuelve este problema cambiando solamente un digito a la vez asi que no existe este problema Decimal Gray Binario 0 000 000 1 001 001 2 011 010 3 010 011 4 110 100 5 111 101 6 101 110 7 100 111 Hay que tener en cuenta que para convertir de binarios a Gray los valores que deben ser sumados en base 2 toman los siguientes valores 1 1 0 0 0 0 1 0 1 y 0 1 1 esta operacion de forma vertical como se muestra en el siguiente ejemplo 1010 1010 1111 Notese que desde el 7 podria pasar a 0 con un solo cambio de switch el mas significativo pasa a cero Esta es la propiedad llamada ciclica del codigo de Gray Conversiones EditarSecuencia Binario Gray Secuencia Binario Gray0 0000 0000 8 1000 11001 0001 0001 9 1001 11012 0010 0011 10 1010 11113 0011 0010 11 1011 11104 0100 0110 12 1100 10105 0101 0111 13 1101 10116 0110 0101 14 1110 10017 0111 0100 15 1111 1000Base 2 a Gray Editar Para convertir un numero binario en Base 2 a codigo Gray simplemente se le aplica una operacion XOR con el mismo numero desplazado un bit a la derecha sin tener en cuenta el acarreo Ejemplo 1010 Base 2 a gray 1010 1010 1111 Otros ejemplos 0111 Base 2 a gray 0111 0111 0100 110101010001 110101010001 101111111001 Gray a Base 2 Editar Definimos un vector g displaystyle g conteniendo los digitos en gray y otro vector b displaystyle b destinado a contener los digitos en Base 2 g 0 displaystyle g 0 es el digito que se encuentra en el extremo izquierdo de la representacion en codigo grayb 0 displaystyle b 0 es el digito de mayor peso y que se encuentra en el extremo izquierdo en la representacion en Base 2Luego resulta que b n 1 g n 1 b n displaystyle b n 1 g n 1 oplus b n con la excepcion de que b 0 g 0 displaystyle b 0 g 0 la cual se puede resumir como El digito de mas a la izquierda en Base 2 es igual al digito de mas a la izquierda en codigo gray Ejemplo Con el numero g 1001 displaystyle g 1001 en codigo Gray Lo primero es decir que b 0 g 0 displaystyle b 0 g 0 por lo que para este caso b 0 1 displaystyle b 0 1 Luego siguiendo con el algoritmo b n 1 g n 1 b n displaystyle b n 1 g n 1 oplus b n resulta que b 0 g 0 1 displaystyle b 0 g 0 1 b 1 g 1 b o 0 1 1 displaystyle b 1 g 1 oplus b o 0 oplus 1 1 b 2 g 2 b 1 0 1 1 displaystyle b 2 g 2 oplus b 1 0 oplus 1 1 b 3 g 3 b 2 1 1 0 displaystyle b 3 g 3 oplus b 2 1 oplus 1 0 Esto da como resultado b 1110 displaystyle b 1110 Referencias Editar F Gray Pulse code communication 17 de marzo de 1953 archivado en nov 1947 Patente USPTO n º 2632058 J Breckman Encoding Circuit 31 de enero de 1956 archivado en dic 1953 Patente USPTO n º 2733432 a b E A Ragland et al Direction Sensitive Binary Code Position Control System 11 de febrero de 1958 archivado oct 1953 Patente USPTO n º 2823345 Knuth Donald E Generating all n tuples The Art of Computer Programming Volumen 4A Enumeration and Backtracking pre fasciculo 2a 15 de octubre de 2004 1 K W Cattermole Principles of Pulse Code Modulation American Elsevier Publishing Company Inc 1969 New York NY ISBN 0 444 19747 8 Datos Q332772 Multimedia Gray code Obtenido de https es wikipedia org w index php title Codigo Gray amp oldid 132770847, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos