Está en la página 1de 30

3.

Codificacin de informacin
en binario
Oliverio J. Santana Jaria
Sistemas Digitales
Ingeniera Tcnica en Informtica de Sistemas
Curso 2005 2006

Introduccin

 Existen muchas formas distintas de expresar informacin

en binario, es decir, usando slo ceros y unos


 Distintos problemas fsicos podran alterar el
almacenamiento y la transmisin de esta informacin
(radiacin, temperatura) y generar errores
 Los objetivos de este tema son:



Describir distintas maneras en que los sistemas digitales


codifican informacin usando el sistema binario
Describir tcnicas usadas para aadir informacin redundante
a estos cdigos binarios, de forma que sea posible detectar y
corregir errores que se puedan producir

Codificacin de informacin en binario

Estructura del tema

 Introduccin
 Cdigos binarios para nmeros decimales



El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

 Cdigos alfanumricos



El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE





Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

 Cdigos para deteccin y correccin de errores


 Resumen y bibliografa
Codificacin de informacin en binario

Cdigos binarios para nmeros decimales

 La conversin de binario a octal o hexadecimal es muy

fcil, pero no lo es tanto la conversin a decimal


 Para hacer ms fcil la conversin podemos crear un
cdigo en que cada combinacin de bits se corresponda
exactamente con un nmero decimal
 En general, cualquier conjunto de objetos se puede

representar mediante combinaciones de bits





El conjunto de las combinaciones es llamado cdigo


Cada combinacin de bits dentro del cdigo es considerada
como una palabra del cdigo

Codificacin de informacin en binario

Cdigos binarios para nmeros decimales

 Por ejemplo, podemos usar 4 bits para representar los

dgitos decimales

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

0
1
2
3
4
5
6
7
8
9

257

 0010 0101 0111

 La asignacin de palabras del cdigo puede hacerse

mediante una expresin aritmtica o una tabla





No todas las palabras del cdigo tienen que usarse


Si la asignacin se hace con una tabla, puede no haber una
explicacin lgica de por qu el cdigo es de una manera

Codificacin de informacin en binario

Estructura del tema

 Introduccin
 Cdigos binarios para nmeros decimales



El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

 Cdigos alfanumricos



El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE





Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

 Cdigos para deteccin y correccin de errores


 Resumen y bibliografa
Codificacin de informacin en binario

BCD Cdigo Decimal Binario

 El cdigo BCD (Binary Coded Digit) es una forma de expresar

cada uno de los dgitos decimales con un cdigo binario

 La fcil conversin de decimal a BCD convierte este

cdigo en una excelente interfaz para sistemas binarios


como teclados, salidas digitales

 Con cuatro dgitos se pueden representar 24

= 16

combinaciones, pero solo necesitamos 10, por lo que


hay muchos cdigos BCD posibles

Codificacin de informacin en binario

El cdigo BCD 8421

La versin ms usada del


cdigo BCD es la 8421,
tambin llamada BCD natural

Cada dgito decimal se


representa por medio de un
cdigo binario de cuatro bits

Este cdigo es ponderado: la


designacin 8421 indica los
pesos binarios de cada uno de

los cuatro bits: 2

Codificacin de informacin en binario

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

0
1
2
3
4
5
6
7
8
9
no vlido
no vlido
no vlido
no vlido
no vlido
no vlido
8

Equivalencia BCD 8421

Para convertir un nmero decimal a BCD 8421


basta con sustituir cada dgito por la combinacin de
cuatro bits correspondiente

25718

 0010 0101 0111 0001 1000

Para convertir un nmero BCD 8421 a decimal


hacemos el proceso contrario





Se comienza por el bit ms a la derecha


Se divide el cdigo en grupos de cuatro bits
Se sustituye cada grupo por el dgito decimal correspondiente

Codificacin de informacin en binario

Formato signo-magnitud

La representacin de nmeros BCD con signo puede


realizarse usando el formato signo-magnitud

El signo vendr dado por un grupo adicional de 4 bits

La representacin de los signos positivo y negativo


puede realizarse usando cualquier cadena de bits de
entre las que no se usan en el cdigo

Este formato no resulta interesante a causa de una


desventaja: es necesaria una operacin de resta

Codificacin de informacin en binario

10

Formato complemento a 10

Los nmeros negativos se representan usando el


complemento a la base del correspondiente positivo

Para calcular el complemento a 10 de un nmero


tenemos que restar el nmero a la potencia de 10
inmediatamente superior

789  1000 789 = 211


Un nmero BCD tambin necesita un bit de signo

789  0 0111 1000 1001


789  1 0010 0001 0001
Codificacin de informacin en binario

11

Suma en BCD 8421

La suma es la ms importante de las operaciones


aritmticas en BCD, ya que la resta, la multiplicacin y
la divisin pueden realizarse utilizando la suma






La suma de dos nmeros BCD se realiza dgito a dgito


La suma de cada dgito es una suma binaria de 4 bits
El resultado es vlido si es menor o igual a 9
Si la suma es mayor que 9 se genera un acarreo




Se suma 6 al resultado para saltar los 6 valores no vlidos


Si se genera un acarreo al sumar 6, se suma al dgito siguiente

Codificacin de informacin en binario

12

Suma en BCD 8421

Ejemplo de suma: 23 + 15 = 38

0010
+ 0001
0011

0011
0101
1000

Ejemplo de suma: 16 + 15 = 31

1011 no es vlido
sumamos 6

0001
+ 0001
0010
+

el acarreo del resultado se


suma al siguiente dgito

0110
0101
1011
0110

0011 10001

Codificacin de informacin en binario

13

Suma en BCD 8421

Ejemplo de suma: 9 + 9 = 18

acarreo en 10010
sumamos 6

1001
+ 1001
0001 0010
+ 0110
0001 1000

Ejemplo de suma: 69 + 39 = 108

acarreo en 10010
1010 no es vlido
sumamos 6
acarreo en 10000
Codificacin de informacin en binario

0110 1001
+ 0011 1001
1001 10010
1010 0010
+ 0110 0110
0001 10000 1000
14

Resta en BCD 8421

Ejemplo: 789 359 = 430

789 359 = 789 + ( 359)


complemento a 10
1000 359 = 641

0 0111 1000 1001


+ 1 0110 0100 0001
los 3 dgitos son invlidos 1
1101 1100 1010
sumamos 6
+
0110 0110 0110
los 3 dgitos
1 10011 10010 10000
producen acarreo
el acarreo del
signo se descarta

10

0100

0011

0000

Codificacin de informacin en binario

15

Estructura del tema




Introduccin
Cdigos binarios para nmeros decimales




El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

Cdigos alfanumricos

Cdigos para deteccin y correccin de errores

Resumen y bibliografa







El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE

Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

Codificacin de informacin en binario

16

El cdigo Aiken: BCD 2421

Este cdigo es ponderado: la


designacin 2421 indica los
pesos binarios de cada uno de

los cuatro bits: 2

Decimos que es un cdigo


autocomplementado, es decir,
cambiando 0s por 1s
obtenemos el complemento a 9
del nmero correspondiente

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Codificacin de informacin en binario

0
1
2
3
4
no vlido
no vlido
no vlido
no vlido
no vlido
no vlido
5
6
7
8
9
17

El cdigo Exceso 3

Este cdigo no es ponderado, es


decir, los bits no tienen un peso

asociado
Cada palabra del cdigo se
obtiene sumando 3 a la palabra
correspondiente del BCD 8421

Tambin se trata de un cdigo


autocomplementado, es decir,
cambiando 0s por 1s
obtenemos el complemento a 9
del nmero correspondiente

Codificacin de informacin en binario

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

no vlido
no vlido
no vlido
0
1
2
3
4
5
6
7
8
9
no vlido
no vlido
no vlido
18

El cdigo Biquinario

El cdigo biquinario es un cdigo


no ponderado de 7 bits

El primer bit indica si el nmero


est dentro del rango 5 9

El segundo bit indica si el nmero


est dentro del rango 0 4

Cada uno de los bits restantes


corresponde a un nmero del rango

0100001

0100010

0100100

0101000

0110000

1000001

1000010

1000100

1001000

1010000

Codificacin de informacin en binario

19

El cdigo Biquinario

La desventaja de este cdigo es


que hacen falta 7 bits para
representar lo que los anteriores
representaban con 4

La ventaja es la facilidad para


detectar errores en un slo bit




Todas las palabras del cdigo


tienen dos 1
Cualquier cambio accidental de un
bit da lugar a una palabra que no
pertenece al cdigo

Codificacin de informacin en binario

0100001

0100010

0100100

0101000

0110000

1000001

1000010

1000100

1001000

1010000

9
20

10

El cdigo Gray





0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000

Se trata de un cdigo no
ponderado y no aritmtico
El cdigo Gray puede tener
cualquier nmero de bits
Su caracterstica ms importante
es que es continuo, es decir, slo
vara un bit desde una palabra del

cdigo hasta la siguiente


Tambin es un cdigo cclico
porque hay continuidad entre la
primera y la ltima palabra

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Codificacin de informacin en binario

21

Conversin binario Gray






El bit ms significativo siempre es el mismo


De izquierda a derecha se debe sumar cada par
adyacente de bits para obtener el siguiente bit en Gray
Los acarreos deben descartarse

Por ejemplo, sta es la forma de convertir el nmero


binario 0110 a Gray:

0
0
Codificacin de informacin en binario

1
22

11

Conversin Gray binario




El bit ms significativo siempre es el mismo


De izquierda a derecha, cada bit del cdigo binario se
calcula sumando el correspondiente bit Gray con el bit




anterior del cdigo binario


Los acarreos deben descartarse

Por ejemplo, sta es la forma de convertir el nmero


binario 0110 a Gray:

0
0

Codificacin de informacin en binario

23

El cdigo Johnson

Al igual que el cdigo Gray, se


trata de un cdigo






No ponderado
No aritmtico
Continuo
Cclico

Un cdigo Johnson puede tener


cualquier nmero de bits; con

se puede codificar

n
2

n bits

valores

Resulta sencillo disear contadores

00000
00001
00011
00111
01111
11111
11110
11100
11000
10000

0
1
2
3
4
5
6
7
8
9

muy rpidos usando este cdigo

Codificacin de informacin en binario

24

12

Estructura del tema




Introduccin
Cdigos binarios para nmeros decimales




El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

Cdigos alfanumricos

Cdigos para deteccin y correccin de errores

Resumen y bibliografa







El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE

Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

Codificacin de informacin en binario

25

Cdigos alfanumricos

Los ordenadores no slo necesitan representar nmeros,


sino tambin letras y otros smbolos

Los cdigos alfanumricos representan






Nmeros
Caracteres alfabticos
Smbolos
Instrucciones necesarias para la transferencia de informacin

Un cdigo alfanumrico debe representar, como


mnimo, los 10 dgitos decimales y las 26 letras (

Codificacin de informacin en binario

ingls)
26

13

Cdigos alfanumricos

Dado que estos 36 elementos no pueden representarse

con 5 bits (2

= 32), como mnimo ser necesario

utilizar 6 bits (2




= 64)

Para representar los dgitos decimales y las letras del


alfabeto se usarn 36 combinaciones
Las 28 combinaciones de 6 bits restantes podrn ser
utilizadas para representar




Smbolos (espacio, coma, punto, dos puntos)


Instrucciones para permitir que el emisor y el receptor se
comuniquen entre ellos acerca de qu debe hacerse con la
informacin (avance de lnea, retorno de carro)

Codificacin de informacin en binario

27

El cdigo ASCII

) es
un cdigo alfanumrico utilizado universalmente en la
mayora de ordenadores y equipos electrnicos

El cdigo ASCII (American Standar

Code for Information Interchange

 El cdigo ASCII dispone de 128 caracteres que se

representan mediante un cdigo binario de 7 bits

 La mayora de los teclados usan el cdigo ASCII para

enviar informacin al ordenador cada vez que se pulsa


una tecla o una combinacin de teclas

Codificacin de informacin en binario

28

14

El cdigo ASCII

 En realidad, el cdigo ASCII se considera un cdigo de

8 bits que siempre tiene a 0 el bit ms significativo


H
72(10)
01001000(2)
48(16)

o
111(10)
01101111(2)
6F(16)

l
108(10)
01101100(2)
6C(16)

a
97(10)
01100001(2)
61(16)

 Los primeros 32 caracteres son comandos de control

y no son grficos, es decir, nunca se imprimen o se


muestran por pantalla
 Los otros 96 caracteres son smbolos grficos que
pueden imprimirse o mostrarse por pantalla: dgitos
decimales, letras maysculas y minsculas, smbolos
Codificacin de informacin en binario

29

El cdigo ASCII extendido

 IBM adopt 128 caracteres adicionales para usar el

cdigo ASCII en sus ordenadores personales (PCs)


 Los nuevos caracteres tienen el bit ms significativo a 1
 Debido a la popularidad de los PCs, estos caracteres se
han convertido en un estndar no oficial







Caracteres alfabticos no ingleses


Smbolos de moneda no ingleses
Letras griegas
Smbolos matemticos
Caracteres para grficos y para grficos de barras
Caracteres sombreados

Codificacin de informacin en binario

30

15

El cdigo EBCDIC

 El cdigo EBCDIC (Extended Binary Coded Decimal Interchange Code)

es una extensin del cdigo BCD desarrollada por IBM


para normalizar el cdigo utilizado por sus productos

 Este cdigo representa 256 caracteres de 8 bits, lo que

permite ir ms all de los dgitos decimales del BCD

 El cdigo EBCDIC se utiliza poco en ordenadores,

ya que la necesidad de utilizar 256 caracteres queda


cubierta con el uso del cdigo ASCII extendido

Codificacin de informacin en binario

31

Aumentando el nmero de caracteres

 Los 256 caracteres de los cdigos ASCII extendido y

EBCDIC no son suficientes para representar los


caracteres usados por otras lenguas

 Existen variantes ampliadas de EBCDIC que permiten

representar ms caracteres

 El cdigo que se est convirtiendo en el ms popular es

UNICODE, basado en ASCII, cuyos objetivos son





Tratar de representar todos los caracteres existentes


Facilitar la comunicacin de datos entre mquinas de
cualquier lugar del mundo

Codificacin de informacin en binario

32

16

Estructura del tema

 Introduccin
 Cdigos binarios para nmeros decimales



El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

 Cdigos alfanumricos



El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE





Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

 Cdigos para deteccin y correccin de errores


 Resumen y bibliografa
Codificacin de informacin en binario

33

Deteccin y correccin de errores

 En los sistemas digitales pueden producirse fallos

fsicos que causen una diferencia entre los datos


transmitidos y los datos recibidos



Una radiacin podra cambiar el valor de un bit en memoria


Una alta temperatura podra desconectar cables

 Para detectar estos errores es necesario asegurar los

datos usando los cdigos adecuados





Los cdigos detectores permiten detectar errores


Los cdigos correctores permiten corregir errores

Codificacin de informacin en binario

34

17

El concepto de n-cubo

 Para comprender el concepto de distancia booleana es

necesario definir el concepto de n-cubo

 Un n-cubo binario es un cubo con un total de 2n

vrtices, cada uno de los cuales se corresponde con


una combinacin particular de n
bits

Dos vrtices estn unidos por una arista si y slo si las


combinaciones de bits correspondientes difieren en un
nico bit

Codificacin de informacin en binario

35

El concepto de n-cubo

Estos son ejemplos de n-cubo para los siguientes cuatro

n: 1, 2, 3, 4
 Un n-cubo con n mayor que 4 es difcil de visualizar
valores de

Codificacin de informacin en binario

36

18

El concepto de m-subcubo

Dentro de un n-cubo puede haber varios m-subcubos




Por ejemplo, los vrtices 000, 001, 011


y 010 forman un 2-subcubo dentro de
un 3-cubo
Los m bits tomarn todas las 2m posibles
combinaciones
Los restantes n m bits siempre tienen el
mismo valor

Un m-subcubo puede especificarse con una combinacin

n bits que contiene los n m bits fijos y colocando


una X en las restantes m posiciones para indicar que el
de

valor de esos bits es indiferente

Codificacin de informacin en binario

37

Distancia booleana o de Hamming

El n-cubo proporciona una interpretacin geomtrica


del concepto de distancia booleana, tambin llamada
distancia de Hamming

La distancia entre dos vrtices es igual al nmero de


pasos del camino ms corto entre ellos




La distancia entre dos vrtices adyacentes siempre es 1


Dos vrtices no adyacentes dentro de cualquier 2-subcubo
siempre estn a una distancia 2

La distancia entre dos combinaciones de bits es igual


al nmero de bits en que difieren

Codificacin de informacin en binario

38

19

Estructura del tema




Introduccin
Cdigos binarios para nmeros decimales




El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

Cdigos alfanumricos

Cdigos para deteccin y correccin de errores

Resumen y bibliografa







El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE

Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

Codificacin de informacin en binario

39

Cdigos de deteccin de errores

n bits se puede considerar como un


subconjunto de todas las combinaciones de n bits

Cualquier cdigo de




Las combinaciones de bits incluidas en este subconjunto son


las palabras del cdigo
Las combinaciones no incluidas en el subconjunto son
palabras que no pertenecen al cdigo

Un cdigo de deteccin de errores es aquel que tiene


la propiedad de que ciertos tipos de errores pueden
transformar palabras del cdigo en palabras que no son
del cdigo, permitiendo la inmediata deteccin del error

Codificacin de informacin en binario

40

20

Deteccin de errores en un bit




Para detectar un error en un solo bit es necesario que la


distancia mnima entre dos palabras del cdigo sea 2
Dicho de otra manera, las palabras del cdigo no
pueden corresponder a vrtices adyacentes del n-cubo
correspondiente




Cualquier error en un bit dar lugar a


una palabra que no pertenece al cdigo
Si en una comunicacin se recibe una
palabra que no pertenece al cdigo, es
seguro que se ha producido un error

Codificacin de informacin en binario

41

Bit de paridad

En general, para mantener la distancia 2 en cualquier


cdigo arbitrario es necesario utilizar slo la mitad de
las combinaciones posibles

n bits  2n combinaciones posibles


2n / 2 = 2n-1  slo quedan n 1 bits para codificar datos




Esto implica que para codificar un dato de


necesario utilizar
Los

n + 1 bits

n bits ser

n bits son denominados bits de informacin, ya

que contienen el dato, mientras que el bit adicional es


comnmente denominado bit de paridad

Codificacin de informacin en binario

42

21

Cdigos de paridad

El bit de paridad puede tomar un valor tal que el


nmero de unos de las palabras del cdigo sea par y el
nmero de unos de las palabras que no son del cdigo
sea impar, o viceversa

Estos cdigos se denominan cdigos de paridad de


un bit para enfatizar el hecho de que se usa un nico
bit de paridad




Un cdigo de paridad par es aquel en el que todas las


palabras del cdigo tienen un nmero par de unos
Un cdigo de paridad impar es aquel en el que todas las
palabras del cdigo tienen un nmero impar de unos

Codificacin de informacin en binario

43

Cdigos de paridad

Estos ejemplos muestran dos cdigos de paridad de un


bit, uno par y otro impar, con 2 bits de informacin

El bit de paridad se puede aadir al principio o al final


del cdigo pero, al disear el circuito, es necesario
determinar cul es

Codificacin de informacin en binario

44

22

Mtodo de paridad para la deteccin de errores




Un determinado sistema puede trabajar con paridad par


o con paridad impar, pero no con ambas
Una palabra es errnea si no cumple la paridad

A pesar de que se detecta la existencia de un error, no se


puede detectar cul es el bit errneo y, por tanto, no se puede
corregir el error
Siempre que se reciba informacin con paridad incorrecta
ser necesario solicitar una retransmisin de la misma

Un cdigo de paridad de 1 bit permite detectar errores


en un solo bit ( o
dos bits ( o

en un nmero impar de bits),

en un nmero par de bits),

pero nunca en

ya que el resultado sera

otra palabra del cdigo

Codificacin de informacin en binario

45

Estructura del tema




Introduccin
Cdigos binarios para nmeros decimales




El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

Cdigos alfanumricos

Cdigos para deteccin y correccin de errores

Resumen y bibliografa







El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE

Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

Codificacin de informacin en binario

46

23

Cdigos de correccin de errores

Un bit de paridad hace que la distancia mnima entre


palabras del cdigo sea 2, lo que permite detectar la
aparicin de un error en una palabra del cdigo

Sin embargo, un nico bit de paridad no indica dnde


se produjo el error, es decir, cul es el bit incorrecto

Si somos capaces de identificar el bit incorrecto,


bastara con cambiar su valor para corregir el error

Si queremos determinar dnde se produjo el error


necesitaremos bits adicionales para aumentar la
distancia mnima entre palabras a 3

Codificacin de informacin en binario

47

Ejemplo de cdigo de correccin de errores




Supongamos que se va a enviar un bit de informacin


Usaremos un cdigo de tres bits con distancia mnima 3




0  000
1  111

Este cdigo nos permite corregir un error en un bit

Si hubiera un error en un bit del cdigo 0, la palabra no


formara parte del cdigo, pero tendra dos ceros, as que
sabemos que el valor original era un 0
Si hubiera un error en un bit del cdigo 1, la palabra no
formara parte del cdigo, pero tendra dos unos, as que
sabemos que el valor original era un 1

Codificacin de informacin en binario

48

24

Ejemplo de cdigo de correccin de errores

El cdigo anterior tambin nos permite detectar errores


en dos bits, ya que la distancia mnima es 3

Este cdigo puede usarse para detectar dos errores o


para corregir un error, pero nunca para las dos cosas al
mismo tiempo

Si recibimos 011, 101 110 no sabramos si el original


era 000 y ha habido dos errores, o si el original era 111 y
debemos corregir el error
Si recibimos 001, 010 100 no sabramos si el original
era 111 y ha habido dos errores, o si el original era 000 y
debemos corregir el error

Codificacin de informacin en binario

49

El mtodo de Hamming

El mtodo de Hamming es un mtodo general para


la construccin de cdigos de correccin de errores
usando una distancia mnima 3

Por cada valor entero

con 2




hay un cdigo de Hamming

1 bits que contiene:

m bits de paridad
2m 1 m bits de informacin

Por ejemplo, para

= 3 se obtiene un cdigo (7,4) con

un total de 7 bits: 4 bits de informacin y 3 de paridad

Codificacin de informacin en binario

50

25

Cdigos de Hamming

Los bits de paridad de un cdigo de Hamming estn


entremezclados con los bits de informacin

Si numeramos las posiciones de los bits desde 1

m 1 podemos decir que hay un bit de paridad

hasta 2

en la posicin 2 , donde 0

k (m 1)

m=3

7 6 5 4 3 2 1
22

20
bit de paridad
1
2
bit de paridad
bit de paridad

Codificacin de informacin en binario

51

Cdigos de Hamming

El valor de un bit de paridad se escoge de forma que el


nmero total de unos en un grupo de bits sea par

Los grupos de bits se escogen de manera que no haya


dos bits que se cubran con la misma combinacin de
bits de paridad

k le

En concreto, al bit de paridad en la posicin 2

corresponden todos los bits situados en una posicin

cuya representacin binaria tenga un 1 en la posicin 2

Codificacin de informacin en binario

52

26

Cdigos de Hamming

Este ejemplo muestra los grupos de paridad de un


cdigo de Hamming (7,4)

111

110

101

100

011

010

001
grupo de paridad del bit 1
grupo de paridad del bit 2
grupo de paridad del bit 4

La distancia mnima de este cdigo es 3




Un error en un bit afecta al menos a un bit de paridad


Un error en dos bits no afectara a un bit de paridad si los dos
estuvieran en el mismo grupo, pero siempre existir un grupo
de paridad que no los incluye a ambos

Codificacin de informacin en binario

53

Clculo de la paridad




Dada una combinacin binaria de 4 bits, es posible


calcular el correspondiente cdigo de Hamming de 7 bits
Por ejemplo, dada la combinacin 1011 sabemos que
se trata de los bits de informacin y que van en las

posiciones 7, 6, 5 y 3
A partir de estos valores calculamos los bits de paridad

1
bit 1 = 1
bit 2 = 0
bit 4 = 0

El cdigo de Hamming ser: 1010101

Codificacin de informacin en binario

54

27

Correccin de un error en un bit





En primer lugar se calcula la paridad de cada grupo


La suma de las posiciones de los bits de paridad
incorrectos nos dar la posicin del bit incorrecto
Por ejemplo, si recibimos la palabra cdigo 1110101

1
bit 1 -paridad 4 - correcta
bit 2 - paridad 3 - incorrecta
bit 4 - paridad 3 - incorrecta

Los bits de paridad incorrectos son el 2 y el 4, lo


que significa que el bit errneo es el 6 y el nmero
transmitido originalmente debi ser 1010101

Codificacin de informacin en binario

55

Correccin y deteccin de errores

Tambin resulta posible el diseo de cdigos que


permitan simultneamente detectar y corregir errores

En general, para ser capaz de corregir

x errores de un

bit, un cdigo necesita que la distancia mnima entre

x + 1)

palabras sea de (2

x + y + 1)

Un cdigo que tenga distancia mnima (2

x errores de un bit,
sino tambin de detectar hasta y errores adicionales
ser capaz no slo de corregir

Codificacin de informacin en binario

56

28

Estructura del tema




Introduccin
Cdigos binarios para nmeros decimales




El cdigo BCD 8421


Otros cdigos: BCD 2421, Exceso 3, Biquinario,
Gray, Johnson

Cdigos alfanumricos

Cdigos para deteccin y correccin de errores

Resumen y bibliografa







El cdigo ASCII
Otros cdigos: ASCII extendido, EBCDIC, UNICODE

Distancia de Hamming
Cdigos de deteccin de errores
Cdigos de correccin de errores

Codificacin de informacin en binario

57

Resumen

Existe una gran diversidad de tipos de cdigo que


permiten representar informacin en binario




Cdigos aritmticos que permiten representar nmeros y


realizar operaciones con ellos
Cdigos no aritmticos que permiten representar nmeros
pero sacrifican la posibilidad de operar a cambio de obtener
otras ventajas
Cdigos alfanumricos que permiten representar no slo
nmeros, sino tambin letras, smbolos

Estos cdigos pueden utilizar tcnicas para la deteccin


y correccin de errores con el fin de mejorar la
seguridad del almacenamiento y transmisin de datos

Codificacin de informacin en binario

58

29

Bibliografa
Fundamentos de Sistemas Digitales (7 edicin)
Captulo 2
Thomas L. Floyd
Prentice Hall, 2000

http://cwx.prenhall.com/bookbind/pubbooks/floyd3/chapter2

Principios de Diseo Digital


Captulo 2
Daniel D. Gajski
Prentice Hall, 1997

Codificacin de informacin en binario

59

30

También podría gustarte