Vous êtes sur la page 1sur 5

Cdigo Gray

Cdigo Gray
Cdigo Gray de dos bits 00 01 11 10 Cdigo Gray de tres bits 000 001 011 010 110 111 101 100 Cdigo Gray de cuatro bits 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

El cdigo binario reflejado o cdigo Gray, nombrado as en honor del investigador Frank Gray, es un sistema de numeracin binario en el que dos valores sucesivos difieren solamente en uno de sus dgitos. El cdigo Gray fue diseado originalmente para prevenir seales espurias de los switches electromecnicos. Actualmente es usado para facilitar la correccin de errores en los sistemas de comunicaciones, tales como algunos sistemas de televisin por cable y la televisin digital terrestre.

Nombre
El investigador de Laboratorios Bell A. Frank Gray invent el trmino cdigo binario reflejado cuando lo patent en 1947, remarcando que ste "no tena nombre reconocido an".[1] l cre el nombre basndose en el hecho de que el cdigo "puede ser construido a partir del cdigo binario convencional por una suerte de 'proceso reflejante'". El cdigo fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en 1953 dieron como nombre alternativo "cdigo de Gray" para el "cdigo binario reflejado";[2][3] uno de ellas tambin se refiere al cdigo como "minumum error code" (cdigo de error mnimo) y como "cyclic permutation code" (cdigo de permutacin cclica).[3]

Cdigo Gray

Historia y aplicaciones prcticas


El cdigo binario reflejado fue aplicado para acertijos matemticos antes de ser usado para la ingeniera. El ingeniero francs mile Baudot le dio una aplicacin al cdigo de Gray en 1878 en telegrafa, trabajo por el cual fue condecorado con la Legin de Honor. El cdigo 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 aos 1940 los circuitos lgicos digitales se realizaban con vlvulas de vaco y dispositivos electromecnicos. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultneamente. Tomando esto en cuenta, Frank Gray invent un mtodo para convertir seales analgicas a grupos de cdigo binario reflejado utilizando un aparato diseado con vlvulas de vaco, con lo cual garantiz que en cualquier transicin variara tan slo un bit. En la actualidad, el cdigo Gray se sigue empleando para el diseo los mapas de Karnaugh, los cuales son, a su vez, utilizados en la implementacin de circuitos combinacionales y circuitos secuenciales. Esto es debido a que el principio de diseo de buscar transiciones ms simples y rpidas entre estados sigue vigente, a pesar de que los problemas de ruido y potencia se hayan reducido. Utilizando el cdigo Gray es posible resolver el problema de las Torres de Hani. Puede incluso formar un ciclo hamiltoniano o un hipercubo, en el que cada bit se puede ver como una dimensin. Debido a las propiedades de distancia de Hamming de los cdigos de Gray, es usado en ocasiones en algoritmos genticos.

Motivacin
Las computadoras antiguas indicaban posiciones abriendo y cerrando interruptores. Utilizando tres interruptores como entradas usando Base 2, estas dos posiciones estaran una despus de la otra: ... 011 100 ... El problema con el cdigo binario en base 2 es que con interruptores mecnicos, es realmente difcil que todos los interruptores cambien al mismo tiempo. En la transicin de los dos estados mostrados arriba, tres interruptores cambian de sitio. En el lapso en el que los interruptores estn cambiando, se pueden presentar salidas de informacin espurias. Si las salidas mencionadas alimentan un circuito secuencial, probablemente el sistema presentar un error en entrada de datos. El cdigo gray resuelve este problema cambiando solamente un dgito 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

Cdigo Gray Ntese que desde el 7 podra pasar a 0 con un solo cambio de switch (el ms significativo pasa a cero). Esta es la propiedad llamada "cclica" del cdigo de Gray.

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

Base 2 a Gray
Para convertir un nmero binario (en Base 2) a cdigo Gray, simplemente hemos de aplicarle la puerta lgica XOR al mismo nmero, con 1 desplazamiento a la derecha Ejemplo: 1010 (Base 2) a gray 1010 1010 ---1111 Otros ejemplos: 111000 111000 -----100100 110101010001 110101010001 -----------101111111001

Gray a Base 2
Tenemos un vector conteniendo los dgitos en gray y otro vector destinado a contener los dgitos en Base 2 es el dgito que se encuentra en el extremo izquerdo de la representacin en cdigo gray es el dgito de mayor peso y que se encuentra en el extremo izquerdo en la representacin en Base 2 tenemos que: con la excepcin de que , la cual se puede resumir como: el dgito de ms

a la izquierda en Base 2 es igual al dgito de ms a la izquierda en cdigo gray El primer bit empezando por la izquierda del digito del cdigo gray se respetar para la conversin a base 2, el resultado es obtener el mismo bit para el dgito binario que el que tiene en gray, para conseguir el segundo bit del

Cdigo Gray binario sumaremos el primer bit del dgito del sistema binario por el segundo del sistema gray, sin tener en cuenta los acarreos y respetando la tabla de suma para binarios: 0+0=0 ; 0+1=1 ; 1+0=1 ; 1+1=10 Ejemplo: Con el nmero 1001 Gray El primero de base dos es igual al primero en gray que en este caso es ( 1 ) El segundo de base dos es igual a la suma del primero de base 2 con el segundo de gray en este caso es (1)+(0)= (1) El tercero de base dos es igual a la suma del segundo de base2 con el tercero de gray en este caso es (1)+(0)= (1) El cuarto de base dos es igual a la suma del tercero de base dos con el cuarto de gray es este caso es (1)+(1)=10 tomamos el cero del 10 descartando el acarreo por lo que tenemos (0) Esto da como resultado 1110

Referencias
[1] F. Gray. Pulse code communication, 17 de marzo de 1953 (archivado en nov 1947). Patente USPTO n. 2632058 (http:/ / patft. uspto. gov/ netacgi/ nph-Parser?patentnumber=2632058) [2] J. Breckman. Encoding Circuit, 31 de enero de 1956 (archivado en dic 1953). Patente USPTO n. 2733432 (http:/ / patft. uspto. gov/ netacgi/ nph-Parser?patentnumber=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 (http:/ / patft. uspto. gov/ netacgi/ nph-Parser?patentnumber=2823345) [4] Knuth, Donald E. "Generating all n-tuples." The Art of Computer Programming, Volumen 4A: Enumeration and Backtracking, pre-fascculo 2a, 15 de octubre de 2004. (http:/ / www-cs-faculty. stanford. edu/ ~knuth/ fasc2a. ps. gz) [5] K. W. Cattermole, Principles of Pulse Code Modulation, American Elsevier Publishing Company, Inc., 1969, New York NY, ISBN 0-444-19747-8.

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Cdigo Gray Fuente: http://es.wikipedia.org/w/index.php?oldid=54193057 Contribuyentes: Almorca, Archimboldi, Banfield, Belb, Canyq, Charlitos, Cobalttempest, Corrector1, Diegusjaimes, Dnu72, Eduardosalg, Genba, GermanX, Hprmedina, Isha, JMPerez, Jarisleif, Jasev, JorgeGG, Jsl, Knaverit, Leonpolanco, Marioxcc, Marvelshine, Nubecosmica, PACO, Raystorm, Renly, RoyFocker, Rutrus, Sapientisimo, TARTESSO84, WikiCholi, Xoneca, 88 ediciones annimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

Vous aimerez peut-être aussi