c 002y-codigo distancia

20
CODIGOS SE ESTABLECE UN CÓDIGO, CUANDO SE HA DEFINIDO UNA CORRESPONDENCIA UNO A UNO ENTRE ELEMENTOS DE DOS CONJUNTOS INFORMACIONES COMBINACIONES DE UNOS Y CEROS CODIGOS BINARIOS PONDERADOS BCD BCD NATURAL LIBRES DETECTORES CORECCTORES ALFANUMERICOS EXCESO TRES BCD CON BIT DE PARIDAD AIKEN AUTOCOMPL PROGRESIVO HAMMING 5, 4, 2, 1 PROGRESIVO CICLICO

Upload: jose-hein

Post on 06-Nov-2015

217 views

Category:

Documents


2 download

DESCRIPTION

códigos digitales!

TRANSCRIPT

  • CODIGOSSE ESTABLECE UN CDIGO, CUANDO SE HA DEFINIDO UNA CORRESPONDENCIA UNO A UNO ENTRE ELEMENTOS DE DOS CONJUNTOS

    INFORMACIONES COMBINACIONESDE UNOS Y CEROS

    CODIGOSBINARIOS

    PONDERADOSBCD

    BCDNATURAL

    LIBRES DETECTORES CORECCTORES

    ALFANUMERICOS

    EXCESO TRES

    BCD CON BITDE PARIDAD

    AIKENAUTOCOMPL

    PROGRESIVO HAMMING

    5, 4, 2, 1 PROGRESIVOCICLICO

  • CODIGOS PONDERADOS BCD

    DIGITODECIMAL

    NATURALBCD 5 4 2 1

    AIKEN2 4 2 1

    0 0 0 0 0 0 0 0 0 0 0 0 0

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

    2 0 0 1 0 0 0 1 0 0 0 1 0

    3 0 0 1 1 0 0 1 1 0 0 1 1

    4 0 1 0 0 0 1 0 0 0 1 0 0

    5 0 1 0 1 1 0 0 0 1 0 1 1

    6 0 1 1 0 1 0 0 1 1 1 0 0

    7 0 1 1 1 1 0 1 0 1 1 0 1

    8 1 0 0 0 1 0 1 1 1 1 1 0

    9 1 0 0 1 1 1 0 0 1 1 1 1

    LINEA DESEMETRIA

    LA SUMA DE DOS COMBINACIONES SIMETRICASES SIEMPRE NUEVE (9)

  • 01

    0

    1

    1

    0

    0 0

    0 1

    1 1

    1 0

    1 0

    1 1

    0 1

    0 0

    0

    0

    0

    0

    1

    1

    1

    1

    0 0

    0 1

    1 1

    1 0

    DOSBITS

    TRESBITS

    CODIGO DE GRAY (CICLICO)

    AB

    01

    11

    10

    00

    10C

    X X

    X X

    X X

    X X

    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

    CODIGOS LIBRES CODIGO PROGRESIVOS

  • CONVERSION DE CDIGOSN BINARIO

    B2 B1 B0GRAY

    G2 G1 G0 0 0 0 0 0 0 0

    1 0 0 1 0 0 1

    2 0 1 0 0 1 1

    3 0 1 1 0 1 0

    4 1 0 0 1 1 0

    5 1 0 1 1 1 1

    6 1 1 0 1 0 1

    7 1 1 1 1 0 0

    B2B1

    01

    11

    10

    00

    10B0

    1

    11

    1

    B2B1

    01

    11

    10

    00

    10B0

    1

    1

    1

    1

    B2B1

    01

    11

    10

    00

    10B0

    1

    11

    1

    G2 = B2 G1=B2B1+B2B1

    G1=B2 B1

    G0=B1B0+B1B0

    G0 = B1 B0G2 = 4,5,6,7

    G1 = 2,3,4,5

    G0 = 1,2,5,6

    G0

    G2

    G1

    B0B1

    B2

    CIRCUITO DE CONVERSIN

  • DISCO DE GRAYDISCO GRAY

  • DETECCCIN Y CORRECCIN DE ERRORES

    10

    11

    01

    oo00

    10110100AB

    CD

    10

    11

    01

    oo00

    10110100AB

    CD

    10

    11

    o01

    o00

    10110100AB

    CD

    dm = 1 dm = 2 dm = 3

    4 VARIABLES

    dm = 2

    oo10

    oo11

    oo01

    oo00

    10110100AB

    CD

    CODIGO DE 3 BITS

    I7I6I5I41

    I3I2I1I00

    10110100A

    BC

    TODAS LAS COMBINACIONES SON ADYACENTES - NO SE PUEDEN DETECTAR ERRORES

    10

    11

    001

    000

    10011001000AB

    CDE

    100101111110

    5 VARIABLES

    dm = 3

  • CDIGOS DETECTORES DE ERROR

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

    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

    B C D BIT PARIDADN A B C PAR

    PPIMPAR

    PI0 0 0 0 0 11 0 0 1 1 02 0 1 0 1 03 0 1 1 0 14 1 0 0 1 05 1 0 1 0 16 1 1 0 0 17 1 1 1 1 0

    7 1 1 1D = 3

    0 0 0 0

    DISTANCIA MNIMA DM

    1 0 0 1DM = 1

    3 0 1 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

    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

    CODIGO DE HAMMING

    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

  • b0 b1 b2 b3 b4 b5 b6 b7

    G2 0 0 0 0 1 1 1 1

    G1 0 0 1 1 0 0 1 1

    G0 0 1 0 1 0 1 0 1

    GRUPOS

    = H , matriz deverificacin

    de paridad

    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

    Observemos la paridad de los grupos:

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

  • =

    =======

    000

    07

    16

    05

    14

    13

    02

    11

    101110111765

    0101011010004321

    mmmkmkk

    mmmkmkk

    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.-

    PRODUCTO MATRICIAL

    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)

  • En cada grupo la paridad debe ser parAsi 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).

    G0

    b6

    b7

    b1

    b3

    b2

    b5

    b4G1 G2

    Recordemos la paridad de los grupos:

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

  • G0 b1 b3 b5 b7=0 , b1 1 0 0 = 0 , b1 = k1 = 1G1 b2 b3 b6 b7=0 , b2 1 1 0 = 0 , b2 = k2 = 0G2 b4 b5 b6 b7=0 , b4 0 1 0 = 0 , b4 = k4 = 1

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

    0 1 0 1m7 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

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

    0 1 0 1 1 0 1m7 m6 m5 k4 m3 k2 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:

  • 0 1 0 1 0 0 1m7 m6 m5 k4 m3 k2 k1

    Realicemos la paridad por grupos:

    G2 k4 m5 m6 m7=0 , 1 0 1 0 = 0 bits correctosG1 k2 m3 m6 m7=0 , 0 0 1 0 = 1 hay un bit incorrectoG0 k1 m3 m5 m7=0 , 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 1 1 1 1 1 1 1 0 0 0 0 1 0 0 0

    G2 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0

    G1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0

    G0 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1

    m15 m14 m13 m12 m11 m10 m9 m7 m6 m5 m3 k8 k 4 k 2 k 1

    La ultima fila corresponde a la codificacin de cada columna. El bit de menorpeso 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 1 1 1 1 0 0 0

    1 1 1 1 0 0 1 0 0

    1 1 0 0 1 0 0 1 0

    1 0 1 0 1 0 0 0 1

    1

    0

    0

    1

    0

    k8k4k2k1

    0

    0

    0

    0

    =

    1.1 1.0 1.0 1.1 1.0 1.k8 = 0 , por lo que k8 = 01.1 1.0 1.0 1.1 0.0 1.k4 = 0 , por lo que k4 = 01.1 1.0 0.0 0.1 1.0 1.k2 = 0 , por lo que k2 = 11.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 m14m15 m14 m13 m12 m11 k8 k4 k2 k1

    1 1 0 1 0 0 0 1 1

    1 1 1 1 1 1 0 0 0

    1 1 1 1 0 0 1 0 0

    1 1 0 0 1 0 0 1 0

    1 0 1 0 1 0 0 0 1

    1

    1

    0

    1

    0

    0

    0

    1

    1

    1

    1

    1

    0

    =

    VERIFICACION

    1.1 1.1 1.0 1.1 1.0 1.0 = 11.1 1.1 1.0 1.1 0.0 1.0 = 11.1 1.1 0.0 0.1 1.0 1.1 = 11.1 0.1 1.0 0.1 1.0 1.1 = 0

    Observe que hay tres grupos endonde hay error, y son G3 , G2 , y G1 por lo tanto el error debe ser comun a los tres y el unico bitcomun a los tres es: m14Codifiquemos el resultado de la verificacion = 1 1 1 0 = 14

  • PRACTICOS DE HAMMING

    000000011111111G4000111100001111G3011001100110011G2101010101010101G1b1b2b3b4b5b6b7b8b9b10b11b12b13b14b15

    CODIGO 9:5

    TOMEMOS LOS MENOS SIGNIFICATIVOS: b9, b8, b7, b6, b5,b4,b3, b2,b1

    DETERMINEMOS PARIDADES:

    000000011111111G4000111100001111G3011001100110011G2101010101010101G1b1b2b3b4b5b6b7b8b9b10b11b12b13b14b15

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

  • 000000011111111G4000111100001111G3011001100110011G2101010101010101G1b1b2b3b4b5b6b7b8b9b10b11b12b13b14b15

    DETERMINACION DE LOS BIT DE PARIDAD

    b1 = 0 , b2 = 0, b4 = 1, b8 = 1

    INTRODUCIR UN ERROR EN b11 Y COMPROBAR

    REALIZAREMOS OTRA TRANSMISION CON LA MISMA INFORMACION, PERO CON OTRA MATRIZ DE VERIFICACION DE PARIDAD, ELEJIMOS LO SGTE.

    INFORMACION A TRANSMITIR : 1 0 0 1 1DETERMINACION DE LOS BIT DE PARIDAD

    b1 = 1 , b2 = 1, b4 = 1, b8 = 1

    b9 b7 b6 b5 b3

  • IMPLEMENTACION GENERADOR

    IMPLEMENTACION GENERADOR M7 M6 M5 K4 M3 K2 K1

    K4 = M5 M6 M7

    K2 = M3 M6 M7

    K1 = M3 M5 M7

    DEMOSTRACION

    K1 M3 M5 M7 = 0

    K1 (K1 M3 M5 M7) = 0 K1

    0 M3 M5 M7 = K1

    M3 M5 M7 = K1

    K1

    K2

    K4

    M7

    M6

    M5

    M7

    M6

    M3

    M7

    M5

    M3

    GENERADOR

    DE

    INFORMACION

    M7

    M6

    M5

    M3