Escolar Documentos
Profissional Documentos
Cultura Documentos
Integrantes:
Joel Lema
Luis Yanez
NRC: 2016
2
1. OBJETIVOS
1.1 Objetivo General:
2. MATERIALES Y EQUIPOS:
Materiales
3
3. Planteamiento del problema
GENERADOR DETECTOR Y
PARIDAD CORRECTOR
HAMMING HAMMING
En el segundo bloque (Receptor) se ingresa el código Hamming 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 información
correcta para su respectivo procesamiento.
4
4. Diagrama de bloques
Fig. 1Diagrama de bloques para la generación de código hamming y corrección de error de un bit para 3 bits de información.
En el bloque de transmisión se ingresa los bits de información 𝑎2 ,𝑎1 , 𝑎0 para generar el código
Hamming.
Primeramente hay que determinar el número de bits total de la cadena del mensaje para esto
las variables para la generación del código debe cumplir la ecuación:
2𝑐 ≥ 𝑛 + 𝑝 + 1
Dónde:
n: número de bits del código original que se pretende transmitir
p: número de bits de paridad par generados en el transmisor, o sea, número de líneas que
añadimos al código inicial.
c: número de bits detectores de paridad par generados por el receptor.
5
El valor de p = c, ya que los bits de paridad generados tanto en el transmisor como en el receptor
debe ser la misma.
Para ver como se genera el código Hamming se insertan los bits de datos en las posiciones
apropiadas de las siguientes tablas y los bits de paridad se generan calculando la paridad par.
Para obtener los respectivos valores que corresponden a cada bit de paridad, nos ayudaremos
la operación lógica “or exclusiva”, la cual será aplicada sobre ciertos elementos de la palabra
original, como se explicará a continuación.
𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 … … … 𝑋𝑛
Recordemos ahora que cada bit de paridad cuenta con su respectiva posición, la cual resulta
ser una potencia de 2; si a cada una de estas posiciones le asignamos su respectivo
equivalente en código binario, podemos observar que cada una cuenta con un único “1”, la
posición de éste nos indicara los términos en la palabra Hamming entre los cuales deberemos
ejecutar la operación lógica “or exclusiva”, siendo estos, todos los que contengan un “1” en la
misma posicion que el respectivo bit de paridad a encontrar.
𝐻𝑚 = P1 P2 d1 P4 d2 d3
Los bits de paridad que necesitamos encontrar son: 𝑋1, 𝑋2, 𝑋4, 𝑋8
6
Los elementos a tomar en cuenta para hallar el bit de paridad P1 serán todos aquellos que
contengan un 1 en su última posición. Asi mismo, los elementos a tomar en cuenta para hallar
P2 serán todos aquellos que contengan un 1 en si penúltima posición. De igual forma se repite
para hallar P4.
Los bits de paridad se generan mediante la operación o-exclusiva de los bits de información
utilizando compuertas XOR (CI:74LS86) de acuerdo a las siguientes relaciones:
𝒑𝟏 = 𝑑1 ⊕ 𝑑2
𝒑𝟐 = 𝑑1 ⊕ 𝑑3
𝒑𝟑 = 𝑑2 ⊕ 𝑑3
De esta forma podemos hallar el respectivo código Hamming para cualquier posible
combinación que se dé con 3 bits de información.
Aplicando la teoría usando compuertas XOR (CI: 74LS86) generaremos los bits de paridad,
así como se muestra a continuación.
7
Proceso de generación de código Hamming, para las diferentes
combinaciones.
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 0 0 0
𝒑𝟏 0 0 0
𝒑𝟐 0 0 0
𝒑𝟑 0 0 0
Palabra+Paridad 0 0 0 0 0 0
Tabla 1 Generación código Hamming para la combinación 000
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 0 0 1
𝒑𝟏 0 0 0
𝒑𝟐 1 0 1
𝒑𝟑 1 0 1
Palabra+Paridad 0 1 0 1 0 1
Tabla 2 Generación código Hamming para la combinación 001
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 0 1 0
𝒑𝟏 1 0 1
𝒑𝟐 0 0 0
𝒑𝟑 1 1 0
Palabra+Paridad 1 0 0 1 1 0
Tabla 3 Generación código Hamming para la combinación 010
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 0 1 1
𝒑𝟏 1 0 1
𝒑𝟐 1 0 1
𝒑𝟑 0 1 1
Palabra+Paridad 1 1 0 0 1 1
Tabla 4 Generación código Hamming para la combinación 011
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 1 0 0
𝒑𝟏 1 1 0
𝒑𝟐 1 1 0
𝒑𝟑 0 0 0
Palabra+Paridad 1 1 1 0 0 0
Tabla 5 Generación código Hamming para la combinación 100
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 1 0 1
𝒑𝟏 1 1 0
𝒑𝟐 0 1 1
𝒑𝟑 1 0 1
Palabra+Paridad 1 0 1 1 0 1
Tabla 6 Generación código Hamming para la combinación 101
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 1 1 0
𝒑𝟏 0 1 1
𝒑𝟐 1 1 0
𝒑𝟑 1 1 0
Palabra+Paridad 0 1 1 1 1 0
Tabla 7 Generación código Hamming para la combinación 110
𝒑𝟏 𝒑𝟐 𝒅𝟏 𝒑𝟑 𝒅𝟐 𝒅𝟑
Posición 0001 0010 0011 0100 0101 0110
(1) (2) (3) (4) (5) (6)
Palabra original 1 1 1
𝒑𝟏 0 1 1
𝒑𝟐 0 1 1
𝒑𝟑 0 1 1
Palabra+Paridad 0 0 1 0 1 1
Tabla 8 Generación código Hamming para la combinación 111
9
6. Tabla completa de la generación del código Hamming para 3 bits de
información
𝒄𝟏 = 𝑏5 ⊕ 𝑏3 ⊕ 𝑏1
𝒄𝟐 = 𝑏4 ⊕ 𝑏3 ⊕ 𝑏0
𝒄𝟑 = 𝑏2 ⊕ 𝑏1 ⊕ 𝑏0
Si los datos de 𝑐1 ,𝑐2 , 𝑐3 nos dan cero en todos el mensaje se transmitió sin error
pero si uno o varios de estos elementos se convierten en 1 quiere decir que hay
un error.
10
Corregir bit errado
A B F
0 0 0
0 1 1
1 0 1
1 1 0
Tabla 10 Generación de la función para corregir el bit errado.
𝐹 = 𝐴̅𝐵 + 𝐴𝐵̅
𝐹 =𝐴⊕𝐵
11
Bloque detector de error y su posición.
La posición del bit que esta con error estará determinada por la
combinación 𝑐3 𝑐2 𝑐1
12
Corregir bit errado
Una vez hallados los bits de corrección, nos ayudaremos del circuito integrado
U5: 7442 Decoder, el cual nos permitirá obtener una salida (en Low), y
utilizaremos inversores 74LS04 para cambiar el nivel con el que los datos van a
entrar en las compuertas XOR, evitando problemas de compatibilidad de niveles.
Cabe destacar que el código Hamming solo permite detectar y corregir cuando
en el proceso de envío de datos, cambio un solo bit del código, es decir cuando
el código tiene un solo error, si el código contiene varios errores, no podremos
corregirlo.
13
Ejemplo:
𝒃𝟓 𝒃𝟒 𝒃𝟑 𝒃𝟐 𝒃𝟏 𝒃𝟎
1 0 0 1 1 1
𝒄𝟏 = 1 ⊕ 0 ⊕ 1 = 0
𝒄𝟐 = 0 ⊕ 0 ⊕ 1 = 1
𝒄𝟑 = 1 ⊕ 1 ⊕ 1 = 1
Posición: 1 2 3 4 5 6
𝒃𝟓 𝒃𝟒 𝒃𝟑 𝒃𝟐 𝒃𝟏 𝒃𝟎
1 0 0 1 1 1 bit errado
Corrección de error
Código enviado por el Decodificador
𝒃𝟓 𝒃𝟒 𝒃𝟑 𝒃𝟐 𝒃𝟏 𝒃𝟎
1 1 1 1 1 0
Al atravesar los inversores
𝒃𝟓 𝒃𝟒 𝒃𝟑 𝒃𝟐 𝒃𝟏 𝒃𝟎
0 0 0 0 0 1
Mediante las compuertas XOR con la función
𝐹 =𝐴⊕𝐵
𝒃𝟓 𝒃𝟒 𝒃𝟑 𝒃𝟐 𝒃𝟏 𝒃𝟎
𝟎⊕1 =1 𝟎⊕0 =0 𝟎 ⊕ 0=0 𝟎 ⊕ 1=1 𝟎⊕1= 1 𝟏⊕1= 0
El código corregido es
𝒃𝟓 𝒃𝟒 𝒃𝟑 𝒃𝟐 𝒃𝟏 𝒃𝟎
1 0 0 1 1 0
8. Diagrama electrónico optimizado
15
9. Conclusiones y recomendaciones
Conclusiones
Recomendaciones
10. Bibliografía
16