Laboratorio2.3
-
Upload
bryan-alexander -
Category
Documents
-
view
216 -
download
0
description
Transcript of Laboratorio2.3
-
Universidad De Las Fuerzas Armadas
ESPE
Departamento de Elctrica y Electrnica
Circuitos Digitales
Laboratorio N 2.3
Tema: Cdigo de errores. Hamming
Integrantes: Daniel Caiza
Andy Muoz
Carrera: Ingeniera Electrnica y Telecomunicaciones
Nivel: Tercero
NRC: 2149
Tutora: Ing. Mara Antonella Vallejo Balden
SANGOLQUI ECUADOR
-
1. Objetivo.
Disear e implementar circuitos combinacionales que permitan generar cdigos de errores,
detectar y corregir. Usando para ello circuitos de baja y mediana escala de integracin.
2. Disee el circuito correspondiente al siguiente enunciado
Disear un generador, detector y corrector de errores mediante el cdigo de Hamming, de acuerdo
al siguiente grfico:
El primer bloque (Transmisor) debe permitir el ingreso de informacin de 3 bits, y generar el
cdigo Hamming completo (6 bits) en el orden indicado, el cual queda listo para ser transmitido.
Hm = X1 X2 X3 X4 X5 X6
En el segundo bloque (Receptor) se ingresa el cdigo Hamming (6 bits) generado, el cual, si lleg
sin errores, se entrega tal cual se transmiti para su respectivo procesamiento. Caso contrario,
ste bloque debe detectar el bit errado y corregirlo, presentando finalmente la informacin
correcta para su respectivo procesamiento
3. Diagrama de bloques
GENERADOR
PARIDAD
HAMMING
DETECTOR Y
CORRECTOR
HAMMING
1 2 3
XOR
1 2 1 3 2 3
1 2 3 1 2 3
1 2 3 4 5 6
XOR
1 2 3
Ordenador de cdigo
Detector de bit errado
Generador de cdigo Hamming
-
4. Explicacin clara y detallada del bloque de transmisin
Desde que Claude Shanon desarrollo su teora de la informacin, la transmisin de la informacin
digital presenta un reto constante, puesto que los medios de transmisin pueden corromper y
daar los datos, por ende es necesario crear mtodos que permitan detectar errores y mejor an
corregirlos; uno de estos mtodos es el mtodo de Hamming, desarrollado por Richard Wesley
Hamming.
El mtodo de Hamming nos permite genera un cdigo nico, agregando bits de informacin a cada
palabra enviada en posiciones especficas, con lo cual podemos detectar hasta 1 bit errado
aplicando un procedimiento sencillo e incluso hallar la posicin de ste, en caso de que exista, para
poder corregirlo.
El proceso para generar un cdigo Hamming es:
1.- Hallar el nmero de bits del cdigo generado
Para ayudarnos haremos uso de la formula
2 + + 1
Dnde
n: es el nmero de bits de la palabra original
p: son los bits de paridad que se necesita agregar
1 2 3
DECODIFICADOR
1 2 3 4 5 6
XOR
1 2 3 4 5 6
1 2 3 4 5 6
XOR
1 2 3 4 5 6
Corrector de cdigo Hamming
-
Una vez cumplida la formula, el nmero de bits Hamming se pueden hallar como:
= +
2.- Hallar la posicin para los bits de paridad e informacin
En cdigo Hamming, cada bit cuenta con una posicin especfica, combinando bits de paridad con
bits de informacin. El mtodo para hallar dichas posiciones es a travs del siguiente proceso:
Sea un cdigo Hamming representado por:
= 1 2 3 4 5 +
La posicin asignada a cada bit de paridad se la puede hallar a travs de:
1: 20 = 1
2: 21 = 2
3: 22 = 4
4: 23 = 8
.
.
.
.
.
.
.
.
.
: 21
Mientras que las posiciones asignadas para los bits de informacin, sern aquellas que queden
libres luego de asignar los bits de paridad, respetando el orden original de la palabra.
3.-Obtener los respectivos valores para cada bit de paridad
Para obtener los respectivos valores que corresponden a cada bit de paridad, nos ayudaremos la
operacin lgica or exclusiva, la cual ser aplicada sobre ciertos elementos de la palabra original,
como se explicar a continuacin.
Sea una palabra Hamming de n nmero bits, representada por:
1 2 3 4 5
Podemos representar a cada posicin con su respectivo equivalente en binario, recordando que
todos debern contar con el mismo nmero de bits para hacerlo, es decir, si se necesitan m bits
para representar la posicin de , se utilizarn m bits para representar cada una de las dems
posiciones
Recordemos ahora que cada bit de paridad cuenta con su respectiva posicin, la cual resulta ser
una potencia de 2; si a cada una de estas posiciones le asignamos su respectivo equivalente en
cdigo binario, podemos observar que cada una cuenta con un nico 1, la posicin de ste nos
indicara los trminos en la palabra Hamming entre los cuales deberemos ejecutar la operacin
lgica or exclusiva, siendo estos, todos los que contengan un 1 en la misma posicion que el
respectivo bit de paridad a encontrar.
-
Para ilustrar mejor esta afirmacin nos ayudaremos de un cdigo Hamming de 10 bits
= 1 2 3 4 5 6 7 8 9 10
Los bits de paridad que necesitamos encontrar son: 1, 2, 4, 8
En donde sus posiciones pueden ser representadas como:
1: 0001; 2: 0010; 4: 0100; 8: 1000
Los elementos a tomar en cuenta para hallar el bit de paridad 1 sern todos aquellos que
contengan un 1 en su ltima posicin. Asi mismo, los elementos a tomar en cuenta para hallar 2
sern todos aquellos que contengan un 1 en si penltima posicin. De igual forma se repite para
hallar 4 y 8.
Tomando en cuenta que las posiciones de los dems bits son:
3: 0011; 5: 0101; 6: 0110; 7: 0111; 9: 1001; 10: 1010
Las operaciones necesarias para hallar cada bit de paridad son:
1 = 3 5 7 9
2 = 3 6 7 10
4 = 5 6 7
8 = 9 10
Aplicacin de los pasos al ejemplo presentado
1.- Hallar el nmero de bits del cdigo generado
En el ejercicio presentado disearemos el cdigo haming para 3 bits, por lo
que necesitamos un total de 3 bits de paridad, el cual es el nmero mnimo
capaz de cumplir con la ecuacin presentada anteriormente
2 + + 1
23 3 + 3 + 1
Ahora, el nmero total de bits Hamming lo obtenemos a partir de
= +
= 3 + 3
= 6
Con lo cual, obtenemos un total de 6 bits Hamming para cada una de las
posibles combinaciones que se den con 3 bits de informacin.
-
2.- Hallar la posicin para los bits de paridad e informacin
Sea el cdigo Hamming a representar:
= 1 2 3 4 5 6
Y la palabra original a transmitir:
1 2 3
La posicin asignada a cada bit de paridad se la puede hallar a travs de:
1: 20 = 1
2: 21 = 2
3: 22 = 4
As, el cdigo Hamming a representar sera:
= 1 2 13 2 3
3.-Obtener los respectivos valores para cada bit de paridad
Los bits de paridad que necesitamos encontrar son: 1, 2, 3
En donde sus posiciones pueden ser representadas como:
1: 001; 2: 010; 3: 100
Tomando en cuenta que las posiciones de los dems bits son:
1: 011; 2: 101; 3: 110
Las operaciones necesarias para hallar cada bit de paridad son:
1 = 1 2
2 = 1 3
3 = 2 3
De esta forma podemos hallar el respectivo cdigo Hamming para cualquier posible combinacin
que se d con 3 bits de informacin.
5. Tabla completa de la generacin del cdigo Hamming para 3 bits de informacin
Informacin Cdigo Hamming
000 000000
001 010101
010 100110
011 110011
100 111000
101 101101
-
110 011110
111 001011
6. Explicacin clara y detallada del bloque de recepcin
4.- Detectar bits de correccin
En caso de presentarse un bit errado, el procedimiento para detectarlo es el mismo que se llev
acabo al momento de generarlo en el paso 3, con la diferencia de que ahora todo el cdigo antes
generado ser la informacin que deberemos tomar, es decir, ya no existen bits de paridad, todo
el cdigo es informacin.
Como ya se explic anteriormente, cada posicin puede ser representada con su respectivo
equivalente en cdigo binario, recordando que todos debern contar con el mismo nmero de bits
para hacerlo.
El nmero de bits de paridad aplicados es igual al nmero de bits de correccin a encontrar.
Las posiciones principales, las cuales nos indicarn los elementos del cdigo Hamming entre los
cuales debemos aplicar la operacin or exclusiva sern las mismas que fueron tomadas para
generar los respectivos bits de paridad (1, 2, 4,.., 2p1), tomando en cuenta que ahora toda la
palabra generada representa la informacin a analizar.
Para ilustrar mejor esta afirmacin, nos ayudaremos del mismo ejemplo presentado en el paso 3
Tomando en cuenta que las posiciones de los bits de la palabra Hamming generada son:
1: 0001; 2: 0010; 3: 0011; 4: 0100; 5: 0101; 6: 0110; 7: 0111; 8: 1000; 9: 1001; 10: 1010
Las operaciones necesarias para hallar cada bit de correccin son:
1 = 1 3 5 7 9
2 = 2 3 6 7 10
4 = 4 5 6 7
8 = 8 9 10
5.- Corregir bit errado
Una vez hallado cada bit de correccin, podemos saber la posicin del bit errado (en caso de existir)
colocando en orden los valores obtenidos, donde el bit que represente la mayor posicin ser el
ms significativo.
Tomando el ejemplo anterior, la posicin del bit errado ser:
= 8 4 2 1
.
-
Una vez obtenida la posicin, bastar con reemplazar el bit presentado en dicha posicin por su
complemento.
Recordemos que las posiciones presentadas en la palabra Haming empiezan en 1, por lo tanto, la
posicin 0000 representara la ausencia de bits errados en la palabra obtenida, es decir, que el
cdigo enviado se recibi sin errores
Aplicacin de los pasos al ejemplo presentado
Para ingresar el cdigo Hamming que se ha generado con
anterioridad, y poder manipularlo a voluntad con el fin de
comprobar si el mtodo est funcionando correctamente, se ha
diseado el ingreso de datos como se muestra en la figura
Donde 12 3 4 5 6 representa el ingreso de los bits del
cdigo Hamming generados anteriormente en la etapa de
transmisin.
4.- Detectar bits de correccin
Los bits de correccin que necesitamos encontrar en
nuestro circuito sern representados por:
1, 2, 3
Tomando en cuenta que las posiciones de bits de
informacin son:
1: 001; 2: 010; 3: 011; 4: 100; 5: 101; 6: 110
Las operaciones necesarias para hallar cada bit de paridad son:
1 = 1 3 5
2 = 2 3 6
3 = 4 5 6
De esta forma podemos hallar los respectivos bits de correccin para el
cdigo Hamming generado con anterioridad, y presentarlos como se
muestra en la figura.
-
5.- Corregir bit errado
Una vez hallados los bits de correccin, nos ayudaremos del circuito integrado U3: 74138 (decoder
de 3 a 8), el cual nos permitir obtener una salida (en Low) en caso de presentarse un error, para
posteriormente ser corregida con la ayuda de los integrados U4, U5: 7486
Una vez hallado y corregido, procedemos a presentar el cdigo Hamming
generado, sin embargo, ya que el circuito integrado 74138 nos presenta
sus salidas en Low, procederemos a conectar los Leds de salida para el
cdigo corregido tambin en Low , para eliminar la necesidad de utilizar
inversores en las salidas de los integrados 7486, encargados de corregir
el cdigo.
-
7. Diagrama electrnico Optimizado
8. Lista de elementos
Equipos
Fuente de poder 5V
Computador (simulador Proteus)
Materiales
U1 7486 (4/4)
U2 7486 (4/4)
U3 74138 (DECODER 3 a 8 )
U4 7486 (4/4)
U5 7486 (3/4)
D1, D2, D3, D4, D5, D6: LED GREEN
D7, D8, D9, D10, D11, D12: LED BLUE
D13, D14, D15: LED YELLOW
-
R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19,
R20, R21, R22, R23, R24: 330
DSW1 (3/4)
DSW2 (6/6)
9. Conclusiones y recomendaciones
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
10. Bibliografa
Cuaderno de Circuitos Digitales