Laboratorio2.3

download Laboratorio2.3

of 11

description

circuitos digitales

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