You are on page 1of 20

CODIGOS

SE ESTABLECE UN CDIGO, CUANDO SE HA DEFINIDO UNA CORRESPONDENCIA UNO A


UNO ENTRE ELEMENTOS DE DOS CONJUNTOS

INFORMACIONES

COMBINACIONES
DE UNOS Y CEROS

CODIGOS
BINARIOS
PONDERADOS
BCD

LIBRES

DETECTORES
CORECCTORES

BCD
NATURAL

EXCESO
TRES

BCD CON BIT


DE PARIDAD

AIKEN
AUTOCOMPL

PROGRESIVO

5, 4, 2, 1

ALFANUMERICOS

HAMMING

PROGRESIVO
CICLICO

CODIGOS PONDERADOS BCD


DIGITO
DECIMAL
0

NATURAL
BCD
0 0 0 0

5 4 2 1
0 0 0 0

AIKEN
2 4 2 1
0 0 0 0

0 0 0 1

0 0 0 1

0 0 0 1

0 0 1 0

0 0 1 0

0 0 1 0

0 0 1 1

0 0 1 1

0 0 1 1

0 1 0 0

0 1 0 0

0 1 0 0

0 1 0 1

1 0 0 0

1 0 1 1

0 1 1 0

1 0 0 1

1 1 0 0

0 1 1 1

1 0 1 0

1 1 0 1

1 0 0 0

1 0 1 1

1 1 1 0

1 0 0 1

1 1 0 0

1 1 1 1

LINEA DE
SEMETRIA

LA SUMA DE DOS COMBINACIONES SIMETRICAS


ES SIEMPRE NUEVE (9)

CODIGOS LIBRES CODIGO PROGRESIVOS


SE DICE QUE UN CDIGO ES PROGRESIVO (CONTINUO) SI LAS COMBINACIONES
CORRESPONDIENTES A NUMEROS DECIMALES CONSECUTIVOS SON ADYACENTES
(CAMBIA UN SOLO BIT) Y ES CICLICO SI LA PRIMERA Y LA ULTIMA SON ADYACENTES

CODIGO DE GRAY (CICLICO)


DOS
BITS

TRES
BITS

0 0

0 0 0

0 1

0 0 1

1 1

0 1 1

1 0

0 1 0

C
AB

0
X

11

10

00
01

1 1 0
1 1 1
1 0 1
1 0 0

CONVERSION DE CDIGOS
BINARIO
B2 B1 B0

GRAY
G2 G 1 G 0

G2 = 4,5,6,7

B0
B2B1

B0
B2B1

00

00

01

01

11

11

10

10

G2 = B2

G1 = 2,3,4,5
G0 = 1,2,5,6

B0
B2B1

B2

1
1

00
01

11

10

G1=B2B1+B2B1

G0=B1B0+B1B0

G1=B2

G0 = B1

B1

CIRCUITO DE CONVERSIN
B0
B1

G0
G1
G2

B0

DISCO
GRAY
DISCODE
GRAY

DETECCCIN Y CORRECCIN DE ERRORES


CD
AB
00

CD
00

01

11

10

CD

AB

00
00

01

11

10

AB

00
00

01

01

01

11

11

11

10

10

10

dm = 1

01

11

10

o
o

dm = 3

dm = 2

CODIGO DE 3 BITS
BC
A

00

01

11

10

I0

I1

I2

I3

I4

I5

I6

I7

TODAS LAS COMBINACIONES SON ADYACENTES - NO


SE PUEDEN DETECTAR ERRORES
CDE

CD
AB

00
00

10

11

10

o
o

01
11

01

000

001

011

00

01

10

110

11

o
o

AB

10

4 VARIABLES

VARIABLES

dm = 2

dm = 3

111

101

100

CDIGOS DETECTORES DE ERROR


DISTANCIA: N BITS A SER MODIFICADOS
EJ.: EN EL CDIGO BCD 8421
BCD

BIT

PARIDAD

ABC

000

PAR
PP
0

IMPAR
PI
1

001

010

011

100

101

110

111

7 111
D=3
0 000
DISTANCIA MNIMA DM
1 001
DM = 1
3 011

TOMEMOS LOS 3 BITS MENOS SIGNIFICATIVOS


PP = 1, 2, 4, 7
_ _
_
_
_ _
PP = A B C + A B C + A B C + A B C

_ _
_
_ _
PP = A ( B C + B C ) + A ( B C + B C )
_
_____
PP = A ( B C ) + A ( B C )
PP = A B C

CODIGO DE HAMMING
Este codigo utiliza control de paridad, pero no sobre la palabra completa que
se va a transmitir, sino por grupos de bits. Cada grupo posee un bit de
paridad, al existir varios grupos hay varios bits de paridad que deben
agregarse a la palabra cdigo para formar la palabra de transmisin.
m+k=T
m: bits de la palabra cdigo
k: bits de paridad
T: bits de la palabra de transmisin
Segn Hamming se debe cumplir la siguiente inigualdad:
2k = > m + k + 1

Ej. Para un cdigo BCD, m = 4 tenemos k = 3 bits de paridad por lo que habr que
formar al menos 3 grupos de bits y habr 3 controladores de grupo

GRUPOS
b0

b1

b2

b3

b4

b5

b6

b7

G2

G1

G0

= H , matriz de
verificacin
de paridad

Observemos la paridad de los grupos:


G0 b1 b3 b5 b7=0
G1 b2 b3 b6 b7=0
G2 b4 b5 b6 b7=0

Otra representacin es la matricial haciendo el producto de la matriz de


verificacion de paridad (H) y la de transmisin (T).
[H] [T] = 0
Haciendo b1=k1, b2=k2, b4=k4; b3=m3, b5=m5, b6=m6, b7=m7
REALICEMOS EL PRODUCTO MATRICIAL

PRODUCTO MATRICIAL

k
1
0

k
2
0
1
0

m
3
0
1
1

k
4
1
0
0

m
5
1
0
1

m
6
1
1
0

k =
1
k =
m 2
7 m =
1 3
k =
1 4
m =
1 5
m =
6
m7 =

1 0

1 = 0

0 0

A cada termino de la matriz H se le realiza el producto lgico con un termino


de la matriz T y luego se realiza la operacin O-Exclusiva entre ellos.
EJEMPLO:
0.10.00.11.11.01.11.0 = 0
(Primer fila de H por columna de T)

PARIDAD VISUALIZADA EN DIAGRAMA DE CIRCULOS


Si la palabra recibida la representamos por crculos que se interceptan indicando
los bits comunes a cada grupo, podemos apreciar que b7 es comun a los tres
grupos, que b4 solo esta en el grupo G2 y as sucesivamente.-

Recordemos la paridad de los grupos:


G0 b1 b3 b5 b7=0
G1 b2 b3 b6 b7=0
G2 b4 b5 b6 b7=0

G1

b6

b2

G2

b4

b7
b5

b3

b1
G0

En cada grupo la paridad debe ser par


Asi asignamos a los bits b1, b2, y b4 como los bits de paridad (k1, k2, y k4 )
respectivamente, y al resto los bits de informacin (m7, m6, m5, m3).

A continuacin proponemos el sgte. Ejemplo. Suponemos que la palabra a


transmitir es :
0
1
0
1
m7 m6 m5 m3
Debemos determinar cual sera el valor de los bits de paridad (k4, k2, k1), para lo
cual aplicamos la paridad de los grupos
G0 b1 b3 b5 b7=0 ,

b1 1 0 0 = 0 , b1 = k1 = 1

G1 b2 b3 b6 b7=0 ,

b2 1 1 0 = 0 , b2 = k2 = 0

G2 b4 b5 b6 b7=0 ,

b4 0 1 0 = 0 , b4 = k4 = 1

Entonces la palabra a transmitir estar formada por los mi + ki con lo que:


0
m7

1
0
m6 m5

1
k4

1
m3

0
k2

1
k1

Veremos que sucede con esta palabra si se produce un error en la transmisin ,


y como realizamos la verificacin. Supongamos que el error se produce en
m3, y recibimos la siguiente palabra:

m7

m6 m5

k4

m3

k2

k1

Realicemos la paridad por grupos:


G2 k4 m5 m6 m7=0 ,
G1 k2 m3 m6 m7=0 ,
G0 k1 m3 m5 m7=0 ,

1 0 1 0 = 0 bits correctos
0 0 1 0 = 1 hay un bit incorrecto
1 0 0 0 = 1 hay un bit incorrecto

El bit incorrecto tiene que estar compartido por dos grupos, con lo que los
unicos compartidos son m3 y m7. Pero m7 no puede ser pues esta correcto en el
grupo 2 (G2)
Por lo tanto es m3. Si le asignamos peso binario a la paridad de los grupos
vemos que obtenemos el valor de 0 1 1 = 3
DISEAR UN HAMMING PARA CODIFICAR CINCO BITS DE INFORMACIN (m = 5)
Ejemplo 1:
Se necesitan cuatro bits de verificacin (k = 4), ya que para un k = 3,
m= 23 3 1 = 4 < 5 . Sin embargo, para k = 4, m = 24 4 1 = 11 > 5.

(Podemos obtener un codigo 9,5 ( m + k = 9) eliminando 6 columnas


cualesquieras de una matriz de 4x15)
G3

G2

G1

G0

m15

m14

m13

m11

m10

m9

m7

m5

m3

k8

k4

k2

k1

m12

m6

La ultima fila corresponde a la codificacin de cada columna. El bit de menor


peso de la columna es el de la ultima fila (G0)
Determinemos los bits de paridad ( k8, k4, k2, k1) utilizando el producto matricial, en
la cual hemos eliminado los columnas de m3, m5, m6, m7, m9, m10

1
1

0
1
0

k8
k4

0
0

k2
k1

1.1 1.0 1.0 1.1 1.0 1.k8 = 0 , por lo que k8 = 0


1.1 1.0 1.0 1.1 0.0 1.k4 = 0 , por lo que k4 = 0
1.1 1.0 0.0 0.1 1.0 1.k2 = 0 , por lo que k2 = 1
1.1 0.0 1.0 0.1 1.0 1.k1 = 0 , por lo que k1 = 1
Observamos que los bits de paridad son : 0 0 1 1

Supongamos que se produce un error en la transmisin en el bit m14


m15

m14

m13

m12

m11

k8

k4

k2

k1

1
1

1
0

1
0

0
0

1
1

VERIFICACION
1.1 1.1 1.0 1.1 1.0 1.0 = 1
1.1 1.1 1.0 1.1 0.0 1.0 = 1
1.1 1.1 0.0 0.1 1.0 1.1 = 1
1.1 0.1 1.0 0.1 1.0 1.1 = 0

Observe que hay tres grupos en


donde hay error, y son G3 , G2 , y
G1 por lo tanto el error debe ser
comun a los tres y el unico bit
comun a los tres es: m14
Codifiquemos el resultado de la
verificacion = 1 1 1 0 = 14

PRACTICOS DE HAMMING
CODIGO 9:5
G1
G2
G3
G4

b15
1
1
1
1

b14
0
1
1
1

b13
1
0
1
1

b12
0
0
1
1

b11
1
1
0
1

b10
0
1
0
1

b9 b8 b7 b6 b5 b4 b3 b2 b1
1 0 1 0 1 0 1 0 1
0 0 1 1 0 0 1 1 0
0 0 1 1 1 1 0 0 0
1 1 0 0 0 0 0 0 0

TOMEMOS LOS MENOS SIGNIFICATIVOS: b9, b8, b7, b6, b5,b4,b3, b2,b1
DETERMINEMOS PARIDADES:
G1
G2
G3
G4

b15
1
1
1
1

b14
0
1
1
1

b13
1
0
1
1

b12
0
0
1
1

b11
1
1
0
1

b10
0
1
0
1

b9 b8 b7 b6 b5 b4 b3 b2 b1
1 0 1 0 1 0 1 0 1
0 0 1 1 0 0 1 1 0
0 0 1 1 1 1 0 0 0
1 1 0 0 0 0 0 0 0

G1: b9 b7 b5 b3 b1 = 1
G2 : b7 b6 b3 b2
=0
G3 : b7 b6 b5 b4
=0
G4 : b9 b8
=0
INTRODUCIR UN ERROR EN b3 Y COMPROBAR

b9 b7 b6 b5 b3
INFORMACION A TRANSMITIR :

1 0 0 1 1

DETERMINACION DE LOS BIT DE PARIDAD


b1 = 1 ,

b2 = 1,

b4 = 1,

b8 = 1

REALIZAREMOS OTRA TRANSMISION CON LA MISMA INFORMACION, PERO


CON OTRA MATRIZ DE VERIFICACION DE PARIDAD, ELEJIMOS LO SGTE.

G1
G2
G3
G4

b15 b14 b13 b12 b11 b10


1
0
1
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1

b9
1
0
0
1

b8
0
0
0
1

b7
1
1
1
0

b6
0
1
1
0

DETERMINACION DE LOS BIT DE PARIDAD


b1 = 0 ,

b2 = 0,

b4 = 1,

b8 = 1

INTRODUCIR UN ERROR EN b11 Y COMPROBAR

b5
1
0
1
0

b4
0
0
1
0

b3
1
1
0
0

b2
0
1
0
0

b1
1
0
0
0

IMPLEMENTACION GENERADOR
IMPLEMENTACION GENERADOR

M7 M6 M5 K4

M7
GENERADOR

M6

DE

M5

INFORMACION

M3
M7
M6

K4

M5
M7
M6

K2

M3

K4 = M5

M6

M7

M7

K2 = M3

M6

M7

M5

K1 = M3

M5

M7

M3

DEMOS TRACION
K1

M3

M5

M7

K1

(K1

M3

M5

M7)

= 0

M3

M5

M7

K1

K1

0
M3

M5

= 0

M7

K1

K1

M3 K2

K1

You might also like