Está en la página 1de 9

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 ilegales (seales falsas o viciadas en la
representacin) de los switches electromecnicos, y 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.
Pertenece a una clase de cdigos llamada cdigos de cambio mnimo en los cuales solo un bit del grupo
de cdigo cambia cuando pasa de una etapa a la siguiente. El cdigo gray es un cdigo sin valor, es decir,
las posiciones de los bits en los grupos de cdigo no tienen ningn valor especfico. Debido a esto el
cdigo no se ajusta a las operaciones aritmticas sino que haya aplicacin en dispositivos de entrada y
salida y algunos tipos de convertidores de analgico al digital.
La tabla siguiente es una lista del cdigo Gray de cuatro bits para nmeros decimales del 0 al 15. Los
nmeros binarios se muestran en la tabla como una referencia. Como los nmeros binarios, el cdigo
Gray puede tener cualquier nmero de bits. Note el cambio de bit nico entre los nmeros sucesivos del
cdigo Gray. Por ejemplo, yendo del decimal 3 al 4, el cdigo Gray cambia de 0010 a 0110, mientras que
el binario cambio de 0011 a 0100, un cambio de tres bits. El nico cambio de bit se origina en el tercer bit
de la derecha en el cdigo Gray; los otros permanecen iguales.
DECIM
AL
0

BINAR
IO
0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

10

1010

11

1011

GRA
Y
000
0
000
1
001
1
001
0
011
0
011
1
010
1
010
0
110
0
110
1
111
1
111

12

1100

13

1101

14

1110

15

1111

0
101
0
101
1
100
1
100
0

Conversin De Binario A Cdigo Gray


La conversin entre el cdigo binario y el cdigo Gray a veces es muy til. Primeramente, mostraremos
cmo convertir un nmero binario a un nmero de cdigo Gray. Se aplican las siguientes reglas:

El bit ms significativo(el ms a la izquierda) en el cdigo Gray es el mismo que el MSB


correspondiente en el nmero binario,
yendo de izquierda a derecha, sume cada par adyacente de bits del cdigo binario, para obtener
el siguiente bit del cdigo Gray. Descarte acarreos.

Ejemplo:

Paso 1. El digito del cdigo Gray ms a la izquierda es el mismo que el digito del cdigo binario ms a la
izquierda.
1
1

Binario
Gray

Paso 2. Sume el bit de cdigo binario ms a la izquierda al bit adyacente.


1+
0
1 1

Binario
Gray

Paso 3. Sume el siguiente par adyacente.


1
1

0+
1
1 1

Binario
Gray

Paso 4. Sume el siguiente par adyacente y descarte el acarreo.


1

1+
1

Binario

Gray

Paso 5. Sume el ltimo par adyacente.


1 0
1 1

1
1

1 +0
0 1

Binario
Gray

La conversin ha sido completada; el cdigo Gray es 11101.


Conversin De Gray A Binario
Para convertir de cdigo Gray a Binario, se utiliza un mtodo similar, pero con algunas diferencias. Se
aplican las siguientes reglas:

El bit ms significativo (el ms a la izquierda) es el cdigo binario es el mismo que el bit


correspondiente en el cdigo Gray.
Sume cada bit generado del cdigo binario al bit del cdigo Gray en la siguiente posicin
adyacente. Descarte acarreos.

Ejemplo:

Paso 1. El digito del cdigo binario ms a la izquierda es el mismo que el digito del cdigo Gray ms a la
izquierda.
1
1

Gray
Binario

Paso 2. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la
siguiente posicin. Descarte acarreos. (En negrilla bit que se suman).
1
1

1
0

Gray
Binario

Paso 3. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la
siguiente posicin.
1 1
1 0

0
0

Gray
Binario

Paso 4. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la
siguiente posicin.
1
1

1
0

0 1
0 1

Gray
Binario

Paso 5. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo Gray en la
siguiente posicin. Descarte acarreos.
1
1

1
0

0
0

1 1
1 0

Gray
Binario

Cdigos alfanumricos
Adems de los datos numricos, una computadora debe ser capaz de manear informacin no numrica. En
otras palabras, una computadora debe reconocer cdigos que representan letras de alfabeto, signos de
puntuacin y otros caracteres especiales, adems de los nmeros. Estos cdigos se denominan cdigos
alfanumricos. Un cdigo completo de este tipo puede incluir 26 letras minsculas, 26 letras maysculas,
10 dgitos, siete signos de puntuacin y entre 20 y 40 caracteres ms, como +, /, #, %, * y otros similares.
Se puede afirmar que un cdigo alfanumrico representa todos los caracteres y funciones diferentes que
se encuentran en el teclado estndar de una mquina de escribir (o de una computadora).
Cdigo ASCII
El cdigo alfanumrico ms utilizado de las microcomputadoras y minicomputadoras y en muchos
sistemas de cmputo grandes, es el Cdigo Americano Estndar para el Intercambio de Informacin
(ASCII, siglas de American Standard Code for Information Interchange). El cdigo ASCII usa 7 beats,
por lo tanto tiene 27= 128 grupos de cdigo posibles. Esta cantidad es ms que suficiente para representar
todos los caracteres de un teclado estndar y las funciones de control (RETURN)(retroceso de carro) y
(LINEFEED)(cambio de lnea). La tabla 2-5 contiene una lista parcial de cdigos ASCII.

Ejemplo:
El siguiente es un mensaje codificado en ASCII. Cul es el mensaje?
1001000 1000101 1001100 1010000
Solucin
Primero de convierte cada cdigo de siete beats en su equivalente hexadecimal. Los resultados son:
48 45 4C 50
Ahora se localizan en la tabla 2-5 estos valores hexadecimales y se determina el carcter que representa
cada uno. Los resultados son:
H E L P (ayuda).
El cdigo ASCII se emplea para transferir informacin alfanumrica entre una computadora y
dispositivos de entrada/salida para terminales o impresoras. Una computadora tambin lo emplea
internamente para guardar la informacin que el operador proporciona mediante el teclado.
Mtodo de paridad para la correccin de errores

La comunicacin entre varias computadoras produce continuamente un movimiento de datos,


generalmente por canales no diseados para este propsito (lnea telefnica), y que introducen un ruido
externo que produce errores en la transmisin.
Por lo tanto, debemos asegurarnos que si dicho movimiento causa errores, stos puedan ser detectados. El
mtodo para detectar y corregir errores es incluir en los bloques de datos transmitidos bits adicionales
denominados redundancia.
Se han desarrollado dos estrategias bsicas para manejar los errores:
Incluir suficiente informacin redundante en cada bloque de datos para que se puedan detectar y corregir
los bits errneos. Se utilizan cdigos de correccin de errores.
Incluir slo la informacin redundante necesaria en cada bloque de datos para detectar los errores. En este
caso el nmero de bits de redundancia es menor. Se utilizan cdigos de deteccin de errores.
Si consideramos un bloque de datos formado por m bits de datos y r de redundancia, la longitud final del
bloque ser n, donde n = m + r.
El bit de paridad
Es un bit extra que se agrega a un grupo de cdigo que se transfieres de una localidad a otra. El bit de
paridad es un 0 o un 1, segn el nmero de unos que hay en el grupo de cdigo. Para esto se emplean dos
mtodos diferentes.
En el mtodo de paridad par, el valor de bit de paridad se escoge de manera que el nmero total de unos
en el grupo de cdigo (incluido el bit de paridad) sea un nmero par. Por ejemplo, supngase que el grupo
de cdigo es 1000011. Este es el carcter c en ASCII. En el grupo de cdigo tiene 3 unos. Por tanto,
sumaremos un bit de paridad 1cpara hacer que el nmero total de unos sea un numero par. El nuevo grupo
de cdigo, incluyendo al bit de paridad, se convierte de este modo en

Si el grupo de cdigo contiene un nmero par de unos, al bit de paridad se le asigna el valor de 0. Por
ejemplo, si el grupo de cdigo fuera 1000001 (el cdigo ASCII para la A), el bit de paridad asignado
seria 0; as el nuevo cdigo, incluyendo al bit de paridad, seria 01000001.
El mtodo de parida impar se utiliza exactamente en la misma forma excepto en que se escoge el bit de
paridad para que el nmero total de unos (incluyendo al bit de paridad) sea un nmero impar. Por
ejemplo, para el cdigo de gripo 1000001, el bit de paridad asignado seria un 1. Para el grupo de cdigo
10000011, el bit de paridad seria un 0.
El bit de paridad se emplea para detectar cualquier error en un solo bit que ocurra durante la transmisin
de un cdigo de una localidad a otra (por ejemplo, de una computadora a una terminal).
Cuando se emplea el mtodo de paridad, el trasmisor y el receptor deben ponerse de acuerdo con
anticipacin, sobre el tipo de paridad que se utilizara, par o impar. No existe ninguna ventaja de una sobre

la otra, aunque parece ser que la que ms se emplea es la paridad par. El transmisor debe colocar un bit
apropiado de paridad en cada unidad de informacin que transmite. Por ejemplo, si el transmisor de
encuentra enviando datos codificados en ASCII, debe adjuntar un bit de parida para cada grupo ASCII de
siete bits. Cuando el receptor examina los datos que ha recibido del transmisor, verifica cada grupo de
cdigo para determinar que el nmero total de unos (incluido el bit de paridad) sea consistente con el tipo
de paridad acordada. Este proceso recibe el nombre de verificacin de la paridad de los datos. En caso de
que se detecte un error, el receptor puede enviar un mensaje al transmisor solicitndole que vuelva a
transmitir el ltimo conjunto de datos. El procedimiento exacto que se sigue cuando se detecta un error
depende del diseo particular del sistema.
Cdigo para deteccin y correccin de errores
Las redes deben ser capaces de transferir datos de un dispositivo a otro con total exactitud, si los datos
recibidos no son idnticos a los emitidos, el sistema de comunicacin es intil. Sin embargo, siempre que
se transmiten de un origen a un destino, se pueden corromper por el camino. Los sistemas de
comunicacin deben tener mecanismos para detectar y corregir errores que alteren los datos recibidos
debido a mltiples factores de la transmisin.
Deteccin.
Se conocen el tipo de errores que pueden existir, el problema es ser capaz de reconocerlos, dado que no se
puede comparar el dato recibido con el original, slo se podra saber que ha habido un error cuando se
descodifique todo el mensaje y se vea que no tiene sentido. Sin embargo existen determinadas tcnicas
sencillas y objetivas para detectar los errores producidos en la transmisin:
Redundancia.
La redundancia consiste en enviar dos veces cada unidad de datos, de forma que el dispositivo receptor
puede hacer una comparacin bit a bit entre ambos datos y detectar si ha habido errores, para corregirlos
con el mecanismo apropiado. Esta tcnica es muy exacta pero enlentece la transmisin.
Sin embargo el concepto es aplicable aadiendo al flujo de datos un grupo pequeo de bits al final de
cada unidad, siendo estos bits redundantes con una parte de la informacin, esos bits redundantes se
descartan una vez comprobada la integridad de la transmisin.
En las comunicaciones de datos se usan cuatro tipos de comprobacin de redundancia: verificacin de
redundancia vertical (VRC, Vertical Redundancy Check) conocida como verificacin de paridad,
verificacin de redundancia longitudinal (LRC longitudinal Redundancy Check), verificacin de
redundancia cclica (CRC Cyclic Redundandy Check) y suma de comprobacin (Checksum). Las tres
primeras se implementan habitualmente en el nivel fsico para que pueda usarlo en nivel de enlace de
datos, mientras que la suma de comprobacin se usa en los niveles ms altos.
Correccin de errores
Los mecanismos explicados detectan errores pero no los corrigen. La correccin del error se puede
conseguir de dos formas, en la primera, cuando de descubre un error el receptor puede pedir al emisor que
retransmita toda la unidad de datos, con la segunda, el receptor puede usar un cdigo de correccin de

errores que corrija automticamente determinados errores. En teora es posible corregir automticamente
cualquier error en un cdigo binario, sin embargo los cdigos de correccin son ms sofisticados que los
de deteccin y necesitan ms bits de redundancia, el nmero de bits necesarios es tan alto que su uso no
es eficiente, por esa razn la mayora de la correccin se limita a errores de tres bits o menos.
Correccin de errores de un nico bit
El concepto de la correccin de errores se puede comprender con el caso ms sencillo: el error de un
nico bit. Un error de un bit supone que un bit ha cambiado de un 0 a un 1 o de un 1 a un 0, para corregir
el error, el receptor slo tiene que invertir el valor del bit alterado, sin embargo, para hacer eso, el receptor
debe saber en qu bit est el error, por lo que el secreto de la correccin de errores es localizar el bit o bits
invlidos. La cuestin es el uso de los bits de redundancia para la correccin. Ahora bien cuantos bits de
redundancia usar?

Para calculas el nmero de bits de redundancia r necesarios para corregir un nmero de bits de datos m, es
necesario encontrar una relacin entre m y r.
Si a m de datos bits se le aaden r bits de redundancia, la unidad transmitida es m+r, los bits de
redundancia r deben ser capaces de indicar todas las posibilidades de error de 1 bit posibles, incluyendo el
no error, que en m+r bits es de m+r+1 posibilidades (no error, error en bit0, error en bit 1, etc), por ello r
debe ser capaz de indicar todas esos estados. Dado que los r bits pueden representar 2r estados, entonces r
debe ser tal que 2r m + r + 1.
Cdigo Hamming
Se pueden utilizar los bits de redundancia para corregir errores, pero cmo se manipulan esos bits para
descubrir en qu posicin se ha producido el error? R. W. Hamming desarroll una tcnica que
proporciona una solucin prctica. El cdigo Hamming se puede aplicar a unidades de datos de cualquier
longitud y usa la relacin de bits de datos y de redundancia. En el cdigo cada bit r es el bit de VRC
(redundancia vertical) para una combinacin de bits de datos. Por ejemplo, un dato de 7 bits necesita 4
bits de redundancia, los colocaremos en las posiciones 1, 2, 4 y 8, con lo que la secuencia transmitida es
la que indica la figura.

Deteccin y correccin.
El receptor recibe la transmisin, toma los datos y recalcula cuatro nuevos VRC usando el mismo
conjunto de bits usados en el clculo en el emisor, a continuacin re ensambla los nuevos valores de
paridad siguiendo el orden de la posicin (r8, r4, r2, r1) la cifra resultante indica si ha habido error y en
qu bit se ha producido. Si el resultado es 0000 no ha habido error, cualquier otro resultado indica error y
bit errneo. Una vez identificado el bit errneo, el receptor puede cambiar el valor de ese bit para corregir
el error.
Correccin de errores de rfaga.
Se puede disear un cdigo Hamming para corregir errores de rfaga de una cierta longitud, sin embargo
el nmero de bits de redundancia necesarios es muy elevado, porque los errores pueden ser de tantos bits
pero pueden estar en cualquiera de los bits de la cadena transmitida.

También podría gustarte