Sei sulla pagina 1di 15

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

CODIFICACIN DE LA INFORMACIN
1. INTRODUCCIN.
Para poder transmitir informacin existen dos problemas fundamentales: el HARDWARE y el LENGUAJE DE COMUNICACIN. Haciendo una analoga entre las computadoras y la comunicacin humana podemos decir que, si bien todas las personas del mundo tienen el mismo hardware para la comunicacin hablada (labios, lengua, dientes y el resto del complejo aparato bucal) para transmitir y los odos para recibir, la comunicacin oral es posible solamente cuando dos personas conocen el mismo lenguaje, es decir la misma manera de codificar la informacin. As como el habla sera imposible sin lenguajes comunes, la comunicacin entre computadoras sera imposible sin coordinacin de cdigos de caracteres. Todas las computadoras digitales actuales usan un lenguaje binario para representar la informacin, internamente. Debido a que algunos de los dispositivos con los que se deben comunicar las computadoras estn diseados para uso humano (especficamente teclados, monitores e impresoras), es importante que estos perifricos utilicen un cdigo de comunicacin compatible con la comunicacin humana. Existen varios mtodos para alcanzar dicha compatibilidad y cada uno utiliza un modo diferente de codificar los nmeros y las letras, que conforman la base de la comunicacin escrita entre las personas. Actualmente es frecuente encontrar en los sistemas de cmputo, dispositivos provistos por distintos fabricantes. La posibilidad de conectar estos dispositivos existe nicamente si stos utilizan un cdigo comn para la transmisin y recepcin de la informacin. Son claras las ventajas de conseguir que todas las computadoras utilicen el mismo cdigo de comunicacin. An cuando la calidad de los cdigos vara enormemente, casi cualquier estndar universal sera mejor que ninguno. Si bien hay cdigos que prcticamente son aceptados por todos los fabricantes, an no existe un estndar que optimice el aprovechamiento tanto de los recursos del hardware como las nuevas teoras sobre codificacin e informacin.

En sentido genrico CDIGO significa: Sistema de signos y de reglas que permite formular y
comprender un mensaje. La codificacin consiste en establecer una ley de correspondencia, llamada CDIGO, entre las informaciones por representar y las posibles configuraciones binarias, de tal manera que a cada informacin corresponda una y generalmente solo una, configuracin binaria.

El proceso ce CODIFICAR significa: Transformar, mediante las reglas de un cdigo, la formulacin de un


mensaje. Llamamos CODIFICACIN al proceso de convertir un smbolo complejo en un grupo de smbolos ms simples. Ejemplo: convertir una letra del alfabeto en un cdigo de cinco bits.

DECODIFICAR: Aplicar inversamente las reglas de su cdigo a un mensaje codificado para obtener la forma
primitiva de este.

Ao 2007

Pagina Nro. 1

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

DECODIFICACIN es el proceso inverso al de codificacin, se convierte a un cdigo donde la cantidad de smbolos es menor, pero cada una contiene ms informacin. TRANSCODIFICACIN: Aplicacin de un cambio de cdigo a una informacin ya codificada. Ejemplo: EBCDIC a ASCII. OTRAS DEFINICIONES:
In communications, a code is a rule for converting a piece of information (for example, a letter, word, or phrase) into another object or action, not necessarily of the same sort. One reason for this is to enable communication in places where ordinary spoken or written language is difficult or impossible. For example, a cable code replaces words (eg, ship, invoice, ...) into shorter words, allowing the same information to be sent with fewer characters, more quickly, and most important, less expensively. Another example is the use of semaphore flags, where the configuration of flags held by a signaller or the arms of a semaphore tower encodes parts of the message, typically individual letters and numbers. Another person standing a great distance away can interpret the flags and reproduce the words sent. In communications systems, coding is the altering of the characteristics of a signal to make the signal more suitable for an intended application, such as optimizing the signal for transmission, improving transmission quality and fidelity, modifying the signal spectrum, increasing the information content, providing error detection and/or correction, and providing data security (Note: A single coding scheme usually does not provide more than one or two specific capabilities. Different codes have different sets of advantages and disadvantages.) In communications and information processing, decoding is the process of converting message data, which has been sent by a source, into information understandable by a receiver. In telecommunication, transcoding is the direct digital-to-digital conversion from one encoding scheme, such as voice LPC-10, to a different encoding scheme without returning the signals to analog form.

Source: Federal Standard 1037C and from MIL-STD-188 http://www.free-definition.com/Glossary-of-coding-terms.html


BITS: Teniendo en cuenta que las computadoras manejan un lenguaje binario analizaremos los DGITOS BINARIOS como caracteres para comunicacin de datos. La condicin binaria es la que posee una calidad BIVALUADA. En el sistema binario de numeracin esas condiciones estn representadas por los dgitos 0 y 1. Se denomina BIT (contraccin de BINARY DIGIT) al dgito binario, independientemente del valor asignado (0 o 1). Los dgitos binarios llevan, ambos, la misma cantidad de informacin, ya que la presencia de uno significa la ausencia del otro. Un proceso fundamental en la codificacin binaria es determinar la cantidad de BITS necesarios para representar las informaciones. De manera que podamos identificar una entre varias posibles. Como un bit puede ser 1 o 0, podremos utilizarlos para seleccionar una informacin entre dos; con dos bits, una entre cuatro; tres bits una entre ocho; etc. Las posibilidades aumentan como potencias de dos: Un bit Dos bits Tres bits 21 = 2 elecciones 22 = 4 elecciones 23 = 8 elecciones

Ao 2007

Pagina Nro. 2

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

Si quisiramos conocer cuantos bits necesitamos para una de ocho situaciones utilizamos logaritmos en base 2, as: log2 8 = 3.En general el nmero de bits (I) que necesitaremos para poder codificar una determinada cantidad de informaciones (N) estar determinado por: I = Log2 N Como ejemplo, para poder representar en forma binaria los 26 caracteres de nuestro alfabeto necesitaramos: I = Log2 26 = 4,7 bits I = 5 bits

2. CODIFICACIN DE LA INFORMACIN EN LA MQINA.


Analizaremos los siguientes Puntos:

2.1. Codificacin de la informacin numrica. 2.1.1 Cdigos ponderados. 2.1.2 Cdigos no ponderados. 2.2. Codificacin de la informacin no numrica. 2.2.1. Codificacin de los caracteres. 2.2.2 codificacin de las instrucciones.

Ao 2007

Pagina Nro. 3

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

2.1. CODIFICACIN DE LA INFORMACIN NUMRICA.


Estudiaremos la representacin de los smbolos del sistema decimal de numeracin mediante smbolos binarios (BIT). Cuntos bits necesitamos para representar los 10 smbolos del sistema decimal de numeracin? I = Log2 10 = 3,162....... 4 Esto nos indica que cualquier cdigo que utilicemos para representar los nmeros del sistema decimal precisar, como mnimo, 4 Dgitos Binarios (Bits). Cuando el cdigo utilice ms dgitos que los que necesita lo denominaremos CODIGO REDUNDANTE. 2.1.1. CDIGOS PONDERADOS. Se denomina cdigo ponderado a aquel que respeta, para la representacin de cada dgito decimal, el peso que corresponde a cada dgito binario de acuerdo a la posicin que ocupa. Ejemplos: BCD (8421), AIKEN(2421), 84-2-1. NOTA I: En cualquiera de los cdigos numricos (ponderados y no ponderados) un nmero decimal se codificar cada dgito decimal por separado. Ejemplo: el nmero 345 se codificar en BCD en AIKEN 3 0011 0011 4 0100 0100 5 0101 345(10 = 1011 345(10 = 001101000101(BCD 001101000111(AIKEN

NOTA II: si bien los smbolos utilizados se corresponden con los del sistema binario, la representacin codificada no tiene nada que ver con el SISTEMA BINARIO DE NUMERACIN. EJERCICIOS PROPUESTOS. Codifique los siguientes nmeros decimales utilizando los distintos cdigos ponderados. BCD (PESOS 8, 4, 2, 1) El cdigo BCD (DECIMAL CODIFICADO BINARIO) respeta para cada dgito decimal el peso que corresponde a cada dgito binario de acuerdo a la posicin que ocupa, teniendo en cuenta el peso asignado en el sistema binario de numeracin. 8421 70922(10 = 12345(10 = 68284(10 = 95135(10 = 35746(10 = 87453(10 = 25846(10 = 0111 8421 0000 8421 1001 8421 0010 8421 0010

Ao 2007

Pagina Nro. 4

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

2, 4, 2, 1 2421 70922(10 = 12345(10 = 68284(10 = 95135(10 = 35746(10 = 87453(10 = 25846(10 = 0111 2421 0000 0010 2421 1111 1000 2421 0010 2421 1000

0010

Aclaracin: El cdigo 2, 4, 2, 1, permite dos combinaciones de los dgitos 2, 3, 4, 5, 6 y 7. Cualquiera es vlida, ms an, en un mismo nmero de varios dgitos iguales pueden usarse codificaciones distintas. Ver ejemplo en la tabla anterior. AIKEN (PESOS 2, 4, 2, 1) Construccin de la tabla de cdigo AIKEN 2 0 0 0 0 0 1 1 1 1 1 AIKEN 4 2 0 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 2 4 2 1

0 1 2 3 4 5 6 7 8 9

1 1 1 0 0 0

0 0 0 1 1 1

0 0 1 0 1 1

0 1 0 1 0 1

2421 70922(10 = 12345(10 = 68284(10 = 95135(10 = 35746(10 = 87453(10 = 25846(10 = 8, 4, -2, -1 0111

2421 0000 0010

2421 1111 0010

2421 0010

2421 0010

0010 8 4-2-1 8 4-2-1 0000 8 4-2-1 1111 8 4-2-1 0110 8 4-2-1 0110

70922(10 = 12345(10 = 68284(10 = 95135(10 = 35746(10 = 87453(10 = 25846(10 =


Ao 2007

1001

Pagina Nro. 5

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

EXCESO EN TRES La representacin en el cdigo exceso de 3, cada dgito decimal se representa como en BCD pero excedido en 3. Ejemplo la representacin del 2 es la BCD del 5.70922(10 = 12345(10 = 68284(10 = 95135(10 = 35746(10 = 87453(10 = 25846(10 = 1010 0011 1100 0101 0101

2.1.2. CDIGOS NO PONDERADOS. En estos cdigos la representacin de cada dgito decimal es en principio arbitraria o responde a caractersticas que no son el peso de acuerdo a la posicin que ocupan. Ejemplos: Cdigo de GRAY. CONSTRUCCIN DE LA TABLA DEL CDIGO DE GRAY. I. Se colocan los dos bits (0 y 1) y se traza una lnea debajo de ellos (espejo), se copian los bits como si se reflejaran en dicho espejo. 0 1 1 0 II. se completa la siguiente columna con 1 por debajo del espejo y con 0 por encima del mismo. 0 0 1 1 0 1 1 0

III. Se repite la operacin de reflejado con los cuatro nmeros obtenidos. 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0

Ao 2007

Pagina Nro. 6

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

IV. Se completa la tercer columna con 1 debajo del espejo y 0 por encima. 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0

V. Se vuelve a realizar la operacin hasta completar los diez dgitos. 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1

EJERCICIOS PROPUESTOS. Codifique los siguientes nmeros decimales utilizando el cdigo de GRAY. 70922(10 = 12345(10 = 68284(10 = 95135(10 = 35746(10 = 87453(10 = 25846(10 = 0100 0000 1101 0011 0011

ALGUNOS CDIGOS NMERICOS MAS USUALES. Dgito Decimal 0 1 2 3 4 5 6 7 8 9


Ao 2007

B.C.D (8421) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

EXCESO de tres 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

AIKEN (2421) 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111

8 4 -2 -1 0000 0111 0110 0101 0100 1011 1010 1001 1000 1111

Cdigo de Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101
Pagina Nro. 7

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

ALGUNOS COMENTARIOS SOBRE LOS CODIGOS. I. Los cdigos Exceso de 3, el 2421 y 84-2-1 son autocomplementarios, o sea que el complemento a 9 del nmero decimal se obtiene cambiando los ceros por unos y los unos por ceros. II. El cdigo de Gray o BINARIO REFLEJADO tiene la particularidad que de un dgito decimal al siguiente cambia siempre un solo dgito por vez.

2.2. CODIFICACIN DE LA INFORMACIN


2.2.1. CODIFICACIN DE LOS CARACTERES.

NO NUMRICA.

Luego de ver como pueden representarse los nmeros, analizaremos ahora como extender el sistema de codificacin al conjunto de signos de la mquina de escribir: letras, signos de puntuacin, operadores y caracteres especiales. CONDICIONES QUE SE IMPONEN PARA LA CODIFICACIN DE CARACTERES I) La representacin debe englobar a las de las cifras en una de las formas descriptas (BCD, 2421, etc.) y permitir distinguir las cifras rpidamente de los otros caracteres. II) La representacin debe permitir aadir nuevos caracteres especficos para una aplicacin determinada. III) En el caso de las transmisiones, la representacin debe incluir un sistema de redundancia que permita la deteccin de errores. CARCTER. El concepto de caracter aparece como la cantidad de BITS necesarios para representar los diferentes smbolos del alfabeto (letras, cifras, signos de puntuacin, etc.). De acuerdo al cdigo utilizado cada caracter puede codificarse con un nmero variable de BITS, pero dentro de un sistema todos los caracteres se representan con el mismo nmero de bits. El cdigo ASCII se defini inicialmente con 6 bits, esto permita representar 26 = 64 caracteres. Posteriormente la ANSI (Instituto Nacional Norteamericano de Normas) defini un nuevo ASCII (que se mantiene como norma) de 7 bits. Esta nueva definicin permite codificar 128 caracteres; hacindolo ms apto, fundamentalmente para la transmisin donde parte de los caracteres codifican funciones de control. El cdigo EBCDIC creado por IBM utiliza 8 bits para representar cada caracter. PALABRA. La palabra es un conjunto de caracteres, fijo o variable, segn el caso, que la computadora trata como unidad. Es una unidad de informacin de rango superior al caracter. Generalmente contiene un nmero entero de caracteres. La palabra es la unidad de informacin procesada por la mquina.

Ao 2007

Pagina Nro. 8

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

BYTE. El trmino BYTE (octeto), se utiliza para describir un conjunto de 8 bits consecutivos que se toman como unidad. El BYTE muchas veces no es prctico para manipular datos en problemas de programacin, recurrindose al concepto de PALABRA (WORD), de acuerdo a la siguiente relacin: 1 BYTE 1 PALABRA 1 DOBLE PALABRA 1 CUDRUPLE PALABRA 1 DECABYTE = = = = = 8 bits 2 Bytes 4 Bytes 8 Bytes 10 Bytes

NOTA III: El KILOBYTE (KB): Unidad de capacidad de memoria que representa 210 unidades de informacin, por lo tanto una memoria de 1 KB podr almacenar 1024 caracteres. CDIGO EBCDIC (EXPANDED BINARY CODE DECIMAL INTERCHANGE CODE). Este cdigo fue diseado y utilizado exclusivamente por IBM. Su importancia radica en que sirvi como base para los cdigos posteriores normalizados. Utiliza 8 dgitos binarios para representar cada caracter. La correspondencia entre las informaciones por representar la correspondiente secuencia binaria se encuentra en tablas con distintos formatos. Con respecto a los caracteres alfabticos y signos de puntuacin no tiene caractersticas que lo destaquen, salvo que podemos encontrar pequeas alteraciones al ser utilizados en pases con distintos alfabetos. REPRESENTACIN DE LA INFORMACIN NUMRICA (EBCDIC). Cada dgito decimal es representado internamente con 8 bits, distribuidos de la siguiente forma: ZONA DIGITO 4 Bits 4 Bits ZONA: Ocupa los 4 bits de orden superior del Byte, tiene una secuencia binaria fija para cualquier nmero: 1111(2 = F(16 DIGITO: En este espacio se representa el nmero decimal codificado en BCD Los datos numricos codificados en EBCDIC con zona, no son tcnicamente aptos para ser procesados aritmticamente. Si necesitamos realizar operaciones aritmticas con ellos, se debe eliminar la parte correspondiente a la ZONA de cada byte. Esta operacin se llama empaque y la informacin resultante, informacin empacada (empaquetada) o decimal sin zona. Los datos numricos con zona se denominan informacin desempacada o zoneada.-

Ao 2007

Pagina Nro. 9

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

EJEMPLO: Queremos representar el nmero 36045 en EBCDIC F 0 3 0 F 0 6 0 F 3 0 6 F 0 4 4 F 5 5 Decimal con zona (zoneado)

F Decimal sin zona (empacado) Medio byte correspondiente al signo F o C (positivo), B o D (negativo) D - 36,045 (empacado)

En las representaciones internas de memoria, de los nmeros, el punto decimal (coma) no se representa, queda implcitamente considerado en el lugar correspondiente, nunca forma parte fsica de la cifra, es el programador quien debe tenerlo en cuenta cuando efecte la salida de los resultados. CDIGO ASCII (AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE). Se trata de un cdigo que utiliza 7 bits para representar cada caracter. Parte de las configuraciones binarias son utilizadas para codificar funciones de control. La mayor parte de las mquinas actuales utilizan este cdigo normalizado, pero generalmente agregar un octavo bit, que les permite extender el cdigo para representaciones no previstas o para utilizarlo como bit de control de paridad en las transmisiones. El xito de este cdigo se basa en que cumple con todas las condiciones impuestas para la codificacin de caracteres: Utiliza relaciones para establecer el cdigo. Los valores correspondientes a las letras de alfabeto y a los restantes caracteres, siguen una secuencia binaria continua, la computadora no tiene que dejar su propio lenguaje binario para realizar operaciones secuenciales con esos caracteres. Agrupamiento de las funciones de control, con solo analizar los dos primeros bits de una combinacin cualquiera codificada, la computadora puede determinar si se trata de una funcin de control (dos ceros) o de un caracter (uno de los dos no es cero). REPRESENTACIN DE LOS NMEROS. En este cdigo, al igual en el EBCDIC, la representacin de la informacin numrica contempla representar los smbolos del sistema decimal de numeracin en forma binaria. Cada dgito se codifica con 7 bits que tambin se encuentran asociados en dos grupos ZONA Y DIGITO. La zona es siempre 011 y dgito corresponde a la representacin BCD del nmero. Aqu surge el mismo inconveniente visto en el cdigo EBCDIC, la dificultad para realizar operaciones matemticas con los nmeros representados con la ZONA, la solucin es la misma que la indicada para el cdigo anterior. Como la mayor parte de las mquinas utilizan 8 bits para cada dgito no surgen conflictos al producirse el EMPAQUE.

Ao 2007

Pagina Nro. 10

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

EJERCICIOS PROPUESTOS.
Completar el siguiente cuadro utilizando las tablas de ASCII y EBCDIC. Tenga en cuenta que la informacin codificada se refiere a formatos internos de memoria.

Caracteres U.T.N. F.R.Re. Arquitectura Computadoras 17/08/2002 user -1298 +100,001

EBCDIC Zoneado Emp. c/signo Hexadecimal

ASCII Octal

4D40D5F1405D F3F2F7D3 007423C 0063346D 492E532E492E 3430313236 062063065060 124145162155151156145


Nota: Tenga en cuenta que en la columna Caracteres la coma (del nmero +100,001) no se representa si se la trata como nmero. 2.2.2. CODIFICACIN DE LAS INSTRUCCIONES. La codificacin de las instrucciones se desarrollar cuando junto con la ARQUITECTURA DEL PROCESADOR.

3. CDIGOS REDUNDANTES.
Es difcil pensar en un equipo que funcione sin fallas durante un tiempo indefinido. Para cualquier mquina se define un Tiempo Medio Entre Fallas (MTBF), el objetivo de los desarrollos tecnolgicos es incrementar ese tiempo. Teniendo en cuenta esa premisa, es de esperar que la informacin pueda verse alterada en transcurso de la transmisin o almacenamiento, si nuestro equipo tiene la posibilidad de detectar o , mejor an, corregir esas modificaciones es evidente que aumentar la confiabilidad del mismo.

3.1. CDIGOS AUTODETECTORES.


Cdigo en el que mediante un determinado nmero de bits de redundancia se puede detectar si la informacin recibida es correcta o no. El ejemplo mas clsico de este tipo de cdigos es de CONTROL DE PARIDAD.
Ao 2007 Pagina Nro. 11

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

CONTROL DE PARIDAD. Este cdigo, si bien no permite detectar errores dobles, es el mas utilizado debido a su simplicidad y a que en los ordenadores la probabilidad de que ocurra un error es muy pequea, por lo tanto que ocurran 2 es mucho menos probable. Consiste en agregar a los bits de informacin transmitidos un bit mas (generalmente el primero de la izquierda), que hace que la cantidad de unos transmitidos sea PAR (PARIDAD PAR) o IMPAR (PARIDAD IMPAR). EJERCICIOS PROPUESTOS. Los siguientes mensajes se verifican mediante un bit de paridad par (de unos) que corresponde al primer bit de la izquierda. Indique si la informacin es correcta, o no, en cada caso : 100010100100 011110001000 000001000100 100000001010 111110010111 000000000000 101010101010 111111111111 000111000111 Correcta Correcta Correcta Correcta Correcta Correcta Correcta Correcta Correcta Incorrecta Incorrecta Incorrecta Incorrecta Incorrecta Incorrecta Incorrecta Incorrecta Incorrecta

Agregue el bit de paridad impar (de ceros) en los siguientes mensajes. La ubicacin del bit de paridad es al final de la cadena de bits. 100010100100___ 011110001000___ 000001000100___ 100000001010___ 111110010111___ 000000000000___ 101010101010___ 111111111111___ 000111000111___

3.2. CDIGOS AUTOCORRECTORES.


Mediante el uso de estos cdigos, el receptor puede determinar si la informacin recibida es correcta o no y en este caso corregir el error producido durante la transmisin. CONTROL 2 EN 3. Para transmitir una informacin cualquiera de n bits, se envan 3 veces esos n bits, en forma sucesiva. El receptor de la informacin, al efectuar el anlisis de la misma, pueden presentrsele tres situaciones distintas: I. Las tres son idnticas. La informacin se toma como correcta. II. Dos son iguales y una distinta. El cdigo se comporta como AUTOCORRECTOR, selecciona una de las dos iguales y la toma como correcta.
Ao 2007 Pagina Nro. 12

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

III. Las tres son distintas. El cdigo se comporta como AUTODETECTOR, la mquina detecta que hay error pero no puede determinar cual es la informacin correcta. EJERCICIOS PROPUESTOS. Ejemplifique los tres casos que se pueden dar en la transmisin de informacin utilizando control 2 en 3. CDIGO DE HAMMING. CODIFICACIN. Estos cdigos permiten detectar y corregir uno o mas errores producidos durante la transmisin para palabras de cualquier nmero de bits. Analizaremos el mtodo para construir un cdigo de Hamming para corregir un solo error. El primer paso consiste en determinar, para un cdigo de i dgitos binarios de informacin, cuantos bits de control de paridad p son necesarios para detectar y corregir un error nico. Si consideramos que tenemos i dgitos de informacin y p bits de control y con la premisa que los casos que se pueden presentar son de ningn error o un solo error por vez, tendremos i + p + 1 condiciones que deben identificarse usando los p bits de control de paridad. Teniendo en cuenta que con p bits podemos formar 2p combinaciones, entonces la cantidad de bits de control de paridad debe ser tal que satisfaga que 2p i + p + 1 Mediante esta expresin podemos construir la siguiente tabla:

i p n

1 2 3 4 5 6 7 8 9 10 11 12 ..... Bits de informacin 2 3 3 3 4 4 4 4 4 4 4 5 ..... Bits de control 3 5 6 7 9 10 11 12 13 14 15 17 ..... Bits del mensaje

La forma en que se distribuyen los bits de informacin y los de control, para conformar el mensaje, es en principio arbitraria. Analizaremos una distribucin en el mensaje de la siguiente forma, considerando un mensaje de 4 bits de informacin y que por lo tanto necesitar 3 bits de control: Posicin mensaje 7 i3 6 i2 5 i1 4 p2 3 i0 2 p1 1 p0

Los bits de control se colocan en las posiciones que corresponden a las potencias de dos. Se desea que los dgitos de control (en nuestro ejemplo 3) que indican el resultado del test de paridad sobre los dgitos de paridad, den (en binario) la posicin del dgito errneo.

Ao 2007

Pagina Nro. 13

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

Para determinar el valor que tomar cada bit de paridad se construye una tabla de combinaciones binarias de tantas columnas como la cantidad de bits de paridad determinada para la codificacin. Para el caso anterior seran 3 columnas (p0, p1 y p2) p2 0 0 0 0 1 1 1 1 p1 0 0 1 1 0 0 1 1 p0 0 1 0 1 0 1 0 1

0 1 2 3 4 5 6 7

Cada bit de paridad controla la posicin que coincide con un 1 en su columna en la tabla binaria. Es decir: p0 controla las posiciones: 1, 3, 5 y 7 p1 controla las posiciones: 2, 3, 6 y 7 p3 controla las posiciones: 4, 5, 6 y 7

Para mayor cantidad de bits de paridad se agregan ms columnas a la tabla. El bit de paridad debe hacer que la cantidad de bit unos controlados sea par. NOTA IV: Para el caso de un byte (8bits) de informacin, corresponde un mensaje de 12 bits. CONTROL Y CORRECCIN. Cuando el mensaje es enviado, el receptor calcula el valor del los bits de control de la siguiente forma:

c0 = 1 3 5 7 c1 = 2 3 6 7 c2 = 4 5 6 7
NOTA V: los nmeros corresponden a la posicin de cada bit utilizado para el clculo de los bits de control (ej. 3 corresponde al bit ubicado en la posicin 3) y el smbolo designa la operacin OR exclusiva. Si el bit de control es igual a 0 es correcto, si es 1 es incorrecto. La posicin del error se determina segn los valores obtenidos en los bits de control ordenados en forma decreciente, es decir c2, c1 y c0. Si todos los bits de control son igual a cero no se detecta error en el mensaje.

Ejemplo:
Informacin a transmitir: 1 7 1 i3 1 6 1 i2 0 5 0 i1 1 4 __ p2 3 1 i0 2 __ p1 1 __ p0 p = 3 (2p i + p + 1)

p0 : 1,3,5,7 0, 1, 0, 1 (para mantener la paridad par toma el valor 0) p1 : 2,3,6,7 1, 1, 1, 1 (para mantener la paridad par toma el valor 1) p2 : 4,5,6,7 0, 0, 1, 1 (para mantener la paridad par toma el valor 0)
Ao 2007 Pagina Nro. 14

Sistemas de Procesamiento de Datos

U.T.N. F.R.Re.

Mensaje transmitido: 7 1 6 1 5 0 4 0 3 1 2 1 1 0

Supongamos que al receptor llega el siguiente mensaje: 1 1 0 1 1 1 0 Al calcular, el receptor, los bit de control determina:

c0 = 1 3 5 7 = 0 1 0 1 = 0 correcto c1 = 2 3 6 7 = 1 1 1 1 = 0 correcto incorrecto c2 = 4 5 6 7 = 1 0 1 1 = 1 1 0 0(2 = 4 Indica la posicin del error. c2c1c0


7 1 6 1 5 0 4 0 3 1 2 1 1 0 Error en pos. 4 (se cambia el valor del bit)

EJERCICIOS PROPUESTOS.
Codifique utilizando el cdigo de HAMMING.

i8 i7 i6 i5 i4 p i3 i2 i1 p i0 p p
3 2 1 0

011010001 101010101 100000010 111100010 111000111


Verifique si los siguientes mensajes codificados segn el mtodo de HAMMING, son correctos. En caso de que exista error corregirlo.

Error en posicin

Mensaje corregido

100010010001011 011001101100110 000001111000000 110011001100110 001111110001111


Mas informacin sobre cdigos redundantes puede obtenerse en: M. Morris Mano: INGENIERIA COMPUTACIONAL; 1 Edic.1991; Edit. Prentice Hall Julio M. Perez: TECNICAS DIGITALES Y MICROELECTRONICA; 1 Edic. 1985; Edit. Arb
John P. Hayes: COMPUTER ARCHITECTURE AND ORGANIZATION; 6 Reimpresin. 1985; Edit. Mc Graw Hill Ao 2007 Pagina Nro. 15

Potrebbero piacerti anche