Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE MICROPROCESADOR
Cdigo Gray
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.
Cdigo Gray
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 un tipo 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
C 2080-X
Pgina 1
SIST. DE MICROPROCESADOR
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 usandoBase 2, estas dos posiciones estaran una despus de la otra:
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 1 2 3 4 5 6 7 000 001 011 010 110 111 101 100 000 001 010 011 100 101 110 111
C 2080-X
Pgina 2
SIST. DE MICROPROCESADOR
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
Otros ejemplos:
C 2080-X
Pgina 3
SIST. DE MICROPROCESADOR
Gray a Base 2
Tenemos un vector a conteniendo los dgitos en gray y otro vector b destinado a contener los dgitos en Base 2 a0 es el dgito que se encuentra en el extremo izquerdo de la representacin en cdigo gray b0 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 b0 = a0, 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 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
FUENTE: http://es.wikipedia.org/wiki/C%C3%B3digo_Gray
C 2080-X
Pgina 4