SlideShare ist ein Scribd-Unternehmen logo
1 von 14
HAMING

ALVARO CISNEROS
DANIEL SEPULVEDA
CÓDIGO HAMING
• Es un código que se utiliza en la detección y corrección de errores que se
  producen en la transmisión de códigos binarios, la palabra de código se
  conforma por los bits de comprobación y los bits de información.

• Las distancia mínima de Haming está dada por la siguiente ecuación:
        Dm= 2X+1
• Donde Dm es la distancia mínima de un código para permitir la corrección
  de datos y X es las líneas de datos.


• 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.
CÓDIGO HAMING
•   Combinaciones posibles



•   Orden para asignar combinaciones

•   1. Combinación asignada a la situación en que no haya error en la transmisión.
•   2. Combinaciones asignadas a los bits de paridad generados en el transmisor.
•   3. Combinaciones asignadas a los bits de datos del código original.

•   Notación (k,n)
•   n = número de bits de información
•   h = número de bits de la cadena = 2c -1
•   La notación sería la siguiente (h,n)
CÓDIGO HAMING
                    # DE       2^ 2^ 2^ 2^                    •   Diseño de tabla para codificar datos de una fuente
#b    Combinaciones "1"        3 2 1 0 CORRESPONDENCIA            ASCII de 7 bits.
                                           SITUACIÓN DE NO    •   Para la asignación de los eventos se realiza lo
b0      0     0000         0     0 0 0 0 ERROR                    siguiente:
b1      1     0001         1     0 0 0 1 BIT DE PARIDAD "1"
b2      2     0010         1     0 0 1 0 BIT DE PARIDAD "2"   •   Contar Número de unos en las combinaciones
b3      3     0011         2     0 0 1 1 DATO 1
b4      4     0100         1     0 1 0 0 BIT DE PARIDAD "3"   •   Si el número de unos es cero es una situación de no
b5      5     0101         2     0 1 0 1 DATO2                    error y no se utiliza para enviar dato
b6      6     0110         2     0 1 1 0 DATO 3
b7      7     0111         3     0 1 1 1 DATO 4               •   Si el número de unos es 1, debemos empezar a
b8      8     1000         1     1 0 0 0 BIT DE PARIDAD "4"
                                                                  organizar los bits de paridad desde el primero hasta
                                                                  el último y darles su respectiva asignación.
b9      9     1001         2     1 0 0 1 DATO 5
b10    10     1010         2     1 0 1 0 DATO 6
                                                              •   Si el número de unos es 2 en estos deben colocarse
                                           NO SE USA EN EL        para los datos, si las combinaciones de 2 unos no
b11    11     1011         3     1 0 1 1 EJEMPLO                  son suficientes para los datos debemos empezar
b12    12     1100         2     1 1 0 0 DATO 7                   con los de 3 y luego los de 4 así sucesivamente, se
                                           NO SE USA EN EL        prefiere que se coloquen los datos primero en los
                                                                  grupos de 2.
b13    13     1101         3     1 1 0 1 EJEMPLO
                                           NO SE USA EN EL
b14    14     1110         3     1 1 1 0 EJEMPLO
                                                              •   Si no se tienen más datos esas líneas no son válidas
                                                                  y se omiten en el sistema de verificación.
                                           NO SE USA EN EL
b15    15     1111         3     1 1 1 1 EJEMPLO
CÓDIGO HAMING
• Los bits de paridad b1, b2, b4, b8, no tienen un
  valor fijo este valor se encuentra por las
  siguientes relaciones:


• b1 = b3 ⊕ b5 ⊕ b7 ⊕ b9 ⊕ b11 ⊕ b13 ⊕ b15
• b2 = b3 ⊕ b6 ⊕ b7 ⊕ b10 ⊕ b11 ⊕ b14 ⊕ b15
• b4 = b5 ⊕ b6 ⊕ b7 ⊕ b12 ⊕ b13 ⊕ b14 ⊕ b15
• b8 = b9 ⊕ b10 ⊕ b11 ⊕ b12 ⊕ b13 ⊕ b14 ⊕ b15
#b         2^3 2^2 2^1 2^0        b8 b4 b2 b1     • Se obtienen los
b1    b1     0    0  0    1   0
b2
b3
      b2
      d1
             0
             0
                  0
                  0
                     1
                     1
                          0
                          1
                              0
                              1           1   1
                                                    coeficientes b1 , b2, b3,
b4
b5
      b4
      d2
             0
             0
                  1
                  1
                     0
                     0
                          0
                          1
                              0
                              0       0       0
                                                    b4 de las relaciones
b6
b7
      d3
      d4
             0
             0
                  1
                  1
                     1
                     1
                          0
                          1
                              0
                              1
                                      0
                                      1
                                          0
                                          1   1
                                                    anteriormente descritas
b8    b8     1    0  0    0   1
b9    d5     1    0  0    1   0   0           0

b10   d6     1   0   1    0   0   0       0

b11          1   0   1    1       0       0   0

b12   d7     1   1   0    0   1   1   1

b13          1   1   0    1       0   0       0

b14          1   1   1    0       0   0   0

b15          1   1   1    1       0   0   0   0
                                  1   0   0   0
CORRECCIÓN DE ERRORES
                    DATOS TX                                       DATOS RX



#b             b8       b4         b2       b1                b8       b4         b2       b1
b1    b1   0                                         b1   1
b2    b2   0                                         b2   1
b3    d1   1                            1        1   d1   1                            1        1
b4    b4   0                                         b4   1
b5    d2   0                   0                 0   d2   0                   0                 0
b6    d3   0                   0        0            d3   0                   0        0
b7    d4   1                   1        1        1   d4   0                   0        0        0
b8    b8   1                                         b8   1
b9    d5   0        0                            0   d5   0        0                            0

b10   d6   0        0                   0            d6   0        0                   0

b11                 0                   0        0                 0                   0        0

b12   d7   1        1          1                     d7   1        1          1

b13                 0          0                 0                 0          0                 0

b14                 0          0        0                          0          0        0

b15                 0          0        0        0                 0          0        0        0
                    1          0        0        0                 1          1        1        1
SÍNDROME Y CORRECCIÓN DE ERROR
• Como se observa en la recepción hay un valor
  diferente de los datos transmitidos, si se
  realizan los valores de b1, b2, b4, b8, son
  distintos en ambos lados.
• Ahora debemos compararlo
SÍNDROME
• Es un proceso donde se suman los valores de bits de
  paridad encontrados en el receptor con los valores de
  paridad envidados, se debe realizar una operación
  EXOR uno a uno y el resultado que se obtiene es la
  ubicación donde se encuentra el error.
• Su formula es:




• Donde C son los bits de paridad de transmisión y envió.
CORRECCIÓN DE ERROR
                                           • En el ejemplo es 0111 si
                                             esto se pasa a decimal es
  1   1    1   1 bloque par recibido         7 si vemos en la tabla del
                                             ejemplo el dato que se
  1   0    0   0 bloque par enviado
                                             encuentra erróneo se
  0   1    1   1                       7     encuentra en la
                                             combinación 7 la cual es
2^3 2^2 2^1 2^0 #b dato dañado               la asignada al dato 4.
                                           • Por lo tanto se realiza el
                                             cambio de signo de 0 a 1
DETECCIÓN Y EFICIENCIA SOBRE
                CANAL
• Si m es igual a la distancia mínima de un código Haming
  podemos determinar que el factor de detección y
  corrección de un código depende de:




•   Además si n = numero de bits de la cadena de salida
•   k = numero de bits de información
•   La eficiencia sobre el canal de transmisión será la siguiente:
•   n/k
•   Con estos datos se puede obtener la siguiente tabla
DETECCIÓN Y EFICIENCIA SOBRE
          CANAL
HAMING EXTENDIDO
• El Código Haming extendido se logra con dos
  métodos:
• 1 - Añadiendo un bit de paridad a cada
  palabra de código
• 2- Añadir una ecuación general de paridad
• Para ambos casos la distancia de Haming debe
  ser mayor o igual a 4
• Se puede corregir errores simples y errores
  dobles.
CONCLUSIONES
• El código Haming fue uno de los códigos más importantes para el
  desarrollo de corrección de errores, aún si un medio presenta una
  distorsión muy alta en la cual se pierdan varios bits se puede aumentar la
  distancia de Haming para corregir y verificar que los datos lleguen
  correctamente a su destino.
• El síndrome es una operación que relaciona los bits de paridad por medio
  de una función EXOR bit a bit, si este resultado es 0 en cada bit de paridad
  no indica que el paquete de datos llego sin errores pero si nos indica un
  error o un 1 nos debe indicar el lugar donde se presenta dicho problema.
• Para entender de una manera más sencilla la elaboración del código se
  utilizaron tablas pero por lo general se utilizan matrices y relaciones entre
  ellas para poder lograr relaciones cruzadas y obtener los valores de bits de
  paridad.
• El sistema de códigos Haming es muy utilizado en elementos como
  memorias y en comunicaciones en las tramas de Wifi.

Weitere ähnliche Inhalte

Andere mochten auch

Presentació gauguin
Presentació gauguinPresentació gauguin
Presentació gauguinmbalag27
 
Mentalidad power point
Mentalidad power pointMentalidad power point
Mentalidad power pointfelipecano42
 
Gobierno Electrónico ENAPH Caracas
Gobierno Electrónico  ENAPH CaracasGobierno Electrónico  ENAPH Caracas
Gobierno Electrónico ENAPH CaracasNyorka Duran
 
Vidales jose juan domingo peron_c81
Vidales jose juan domingo peron_c81Vidales jose juan domingo peron_c81
Vidales jose juan domingo peron_c81Jose Vidales
 
Rúbricadeevaluación
RúbricadeevaluaciónRúbricadeevaluación
Rúbricadeevaluaciónmantiz2011
 
Gestión Avanzada de Redes Sociales - Park Hyatt Mendoza
Gestión Avanzada de Redes Sociales - Park Hyatt MendozaGestión Avanzada de Redes Sociales - Park Hyatt Mendoza
Gestión Avanzada de Redes Sociales - Park Hyatt MendozaWineducation
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informáticaRubenyVictor1716
 
Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...
Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...
Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...Over Dorado Cardona
 
Observatorio 2013 Auto Europeo: Anexos
Observatorio 2013 Auto Europeo: AnexosObservatorio 2013 Auto Europeo: Anexos
Observatorio 2013 Auto Europeo: AnexosCetelem
 
Huevos rellenos
Huevos rellenosHuevos rellenos
Huevos rellenosEscolaGoya
 
Modelos intervencion en autismo
Modelos intervencion en autismoModelos intervencion en autismo
Modelos intervencion en autismoMarta Montoro
 
Nacimiento la imprenta_roldan_y_cintia
Nacimiento la imprenta_roldan_y_cintiaNacimiento la imprenta_roldan_y_cintia
Nacimiento la imprenta_roldan_y_cintiamariaaguilargo
 
Cesnavarra 2009-boletín 3
Cesnavarra 2009-boletín 3Cesnavarra 2009-boletín 3
Cesnavarra 2009-boletín 3Cein
 
Evolución de los sistemas operativos
Evolución de los sistemas operativosEvolución de los sistemas operativos
Evolución de los sistemas operativosjaloram
 
Aspectos laborales real decreto ley 20 2012
Aspectos laborales real decreto ley 20 2012Aspectos laborales real decreto ley 20 2012
Aspectos laborales real decreto ley 20 2012CIALT
 

Andere mochten auch (20)

Presentació gauguin
Presentació gauguinPresentació gauguin
Presentació gauguin
 
Mentalidad power point
Mentalidad power pointMentalidad power point
Mentalidad power point
 
Como crear wiki
Como crear wikiComo crear wiki
Como crear wiki
 
Gobierno Electrónico ENAPH Caracas
Gobierno Electrónico  ENAPH CaracasGobierno Electrónico  ENAPH Caracas
Gobierno Electrónico ENAPH Caracas
 
Vidales jose juan domingo peron_c81
Vidales jose juan domingo peron_c81Vidales jose juan domingo peron_c81
Vidales jose juan domingo peron_c81
 
Rúbricadeevaluación
RúbricadeevaluaciónRúbricadeevaluación
Rúbricadeevaluación
 
Fraccionesoxf final
Fraccionesoxf finalFraccionesoxf final
Fraccionesoxf final
 
Gestión Avanzada de Redes Sociales - Park Hyatt Mendoza
Gestión Avanzada de Redes Sociales - Park Hyatt MendozaGestión Avanzada de Redes Sociales - Park Hyatt Mendoza
Gestión Avanzada de Redes Sociales - Park Hyatt Mendoza
 
Historia de mexico
Historia de mexicoHistoria de mexico
Historia de mexico
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informática
 
Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...
Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...
Informe Nro 33 marzo de 2013- Secretaria de Asuntos Laborales y jurídicos de ...
 
Observatorio 2013 Auto Europeo: Anexos
Observatorio 2013 Auto Europeo: AnexosObservatorio 2013 Auto Europeo: Anexos
Observatorio 2013 Auto Europeo: Anexos
 
Biodiversidad
BiodiversidadBiodiversidad
Biodiversidad
 
Huevos rellenos
Huevos rellenosHuevos rellenos
Huevos rellenos
 
Modelos intervencion en autismo
Modelos intervencion en autismoModelos intervencion en autismo
Modelos intervencion en autismo
 
Computacion
ComputacionComputacion
Computacion
 
Nacimiento la imprenta_roldan_y_cintia
Nacimiento la imprenta_roldan_y_cintiaNacimiento la imprenta_roldan_y_cintia
Nacimiento la imprenta_roldan_y_cintia
 
Cesnavarra 2009-boletín 3
Cesnavarra 2009-boletín 3Cesnavarra 2009-boletín 3
Cesnavarra 2009-boletín 3
 
Evolución de los sistemas operativos
Evolución de los sistemas operativosEvolución de los sistemas operativos
Evolución de los sistemas operativos
 
Aspectos laborales real decreto ley 20 2012
Aspectos laborales real decreto ley 20 2012Aspectos laborales real decreto ley 20 2012
Aspectos laborales real decreto ley 20 2012
 

Hamming 2012

  • 2. CÓDIGO HAMING • Es un código que se utiliza en la detección y corrección de errores que se producen en la transmisión de códigos binarios, la palabra de código se conforma por los bits de comprobación y los bits de información. • Las distancia mínima de Haming está dada por la siguiente ecuación: Dm= 2X+1 • Donde Dm es la distancia mínima de un código para permitir la corrección de datos y X es las líneas de datos. • 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.
  • 3. CÓDIGO HAMING • Combinaciones posibles • Orden para asignar combinaciones • 1. Combinación asignada a la situación en que no haya error en la transmisión. • 2. Combinaciones asignadas a los bits de paridad generados en el transmisor. • 3. Combinaciones asignadas a los bits de datos del código original. • Notación (k,n) • n = número de bits de información • h = número de bits de la cadena = 2c -1 • La notación sería la siguiente (h,n)
  • 4. CÓDIGO HAMING # DE 2^ 2^ 2^ 2^ • Diseño de tabla para codificar datos de una fuente #b Combinaciones "1" 3 2 1 0 CORRESPONDENCIA ASCII de 7 bits. SITUACIÓN DE NO • Para la asignación de los eventos se realiza lo b0 0 0000 0 0 0 0 0 ERROR siguiente: b1 1 0001 1 0 0 0 1 BIT DE PARIDAD "1" b2 2 0010 1 0 0 1 0 BIT DE PARIDAD "2" • Contar Número de unos en las combinaciones b3 3 0011 2 0 0 1 1 DATO 1 b4 4 0100 1 0 1 0 0 BIT DE PARIDAD "3" • Si el número de unos es cero es una situación de no b5 5 0101 2 0 1 0 1 DATO2 error y no se utiliza para enviar dato b6 6 0110 2 0 1 1 0 DATO 3 b7 7 0111 3 0 1 1 1 DATO 4 • Si el número de unos es 1, debemos empezar a b8 8 1000 1 1 0 0 0 BIT DE PARIDAD "4" organizar los bits de paridad desde el primero hasta el último y darles su respectiva asignación. b9 9 1001 2 1 0 0 1 DATO 5 b10 10 1010 2 1 0 1 0 DATO 6 • Si el número de unos es 2 en estos deben colocarse NO SE USA EN EL para los datos, si las combinaciones de 2 unos no b11 11 1011 3 1 0 1 1 EJEMPLO son suficientes para los datos debemos empezar b12 12 1100 2 1 1 0 0 DATO 7 con los de 3 y luego los de 4 así sucesivamente, se NO SE USA EN EL prefiere que se coloquen los datos primero en los grupos de 2. b13 13 1101 3 1 1 0 1 EJEMPLO NO SE USA EN EL b14 14 1110 3 1 1 1 0 EJEMPLO • Si no se tienen más datos esas líneas no son válidas y se omiten en el sistema de verificación. NO SE USA EN EL b15 15 1111 3 1 1 1 1 EJEMPLO
  • 5. CÓDIGO HAMING • Los bits de paridad b1, b2, b4, b8, no tienen un valor fijo este valor se encuentra por las siguientes relaciones: • b1 = b3 ⊕ b5 ⊕ b7 ⊕ b9 ⊕ b11 ⊕ b13 ⊕ b15 • b2 = b3 ⊕ b6 ⊕ b7 ⊕ b10 ⊕ b11 ⊕ b14 ⊕ b15 • b4 = b5 ⊕ b6 ⊕ b7 ⊕ b12 ⊕ b13 ⊕ b14 ⊕ b15 • b8 = b9 ⊕ b10 ⊕ b11 ⊕ b12 ⊕ b13 ⊕ b14 ⊕ b15
  • 6. #b 2^3 2^2 2^1 2^0 b8 b4 b2 b1 • Se obtienen los b1 b1 0 0 0 1 0 b2 b3 b2 d1 0 0 0 0 1 1 0 1 0 1 1 1 coeficientes b1 , b2, b3, b4 b5 b4 d2 0 0 1 1 0 0 0 1 0 0 0 0 b4 de las relaciones b6 b7 d3 d4 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 anteriormente descritas b8 b8 1 0 0 0 1 b9 d5 1 0 0 1 0 0 0 b10 d6 1 0 1 0 0 0 0 b11 1 0 1 1 0 0 0 b12 d7 1 1 0 0 1 1 1 b13 1 1 0 1 0 0 0 b14 1 1 1 0 0 0 0 b15 1 1 1 1 0 0 0 0 1 0 0 0
  • 7. CORRECCIÓN DE ERRORES DATOS TX DATOS RX #b b8 b4 b2 b1 b8 b4 b2 b1 b1 b1 0 b1 1 b2 b2 0 b2 1 b3 d1 1 1 1 d1 1 1 1 b4 b4 0 b4 1 b5 d2 0 0 0 d2 0 0 0 b6 d3 0 0 0 d3 0 0 0 b7 d4 1 1 1 1 d4 0 0 0 0 b8 b8 1 b8 1 b9 d5 0 0 0 d5 0 0 0 b10 d6 0 0 0 d6 0 0 0 b11 0 0 0 0 0 0 b12 d7 1 1 1 d7 1 1 1 b13 0 0 0 0 0 0 b14 0 0 0 0 0 0 b15 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1
  • 8. SÍNDROME Y CORRECCIÓN DE ERROR • Como se observa en la recepción hay un valor diferente de los datos transmitidos, si se realizan los valores de b1, b2, b4, b8, son distintos en ambos lados. • Ahora debemos compararlo
  • 9. SÍNDROME • Es un proceso donde se suman los valores de bits de paridad encontrados en el receptor con los valores de paridad envidados, se debe realizar una operación EXOR uno a uno y el resultado que se obtiene es la ubicación donde se encuentra el error. • Su formula es: • Donde C son los bits de paridad de transmisión y envió.
  • 10. CORRECCIÓN DE ERROR • En el ejemplo es 0111 si esto se pasa a decimal es 1 1 1 1 bloque par recibido 7 si vemos en la tabla del ejemplo el dato que se 1 0 0 0 bloque par enviado encuentra erróneo se 0 1 1 1 7 encuentra en la combinación 7 la cual es 2^3 2^2 2^1 2^0 #b dato dañado la asignada al dato 4. • Por lo tanto se realiza el cambio de signo de 0 a 1
  • 11. DETECCIÓN Y EFICIENCIA SOBRE CANAL • Si m es igual a la distancia mínima de un código Haming podemos determinar que el factor de detección y corrección de un código depende de: • Además si n = numero de bits de la cadena de salida • k = numero de bits de información • La eficiencia sobre el canal de transmisión será la siguiente: • n/k • Con estos datos se puede obtener la siguiente tabla
  • 12. DETECCIÓN Y EFICIENCIA SOBRE CANAL
  • 13. HAMING EXTENDIDO • El Código Haming extendido se logra con dos métodos: • 1 - Añadiendo un bit de paridad a cada palabra de código • 2- Añadir una ecuación general de paridad • Para ambos casos la distancia de Haming debe ser mayor o igual a 4 • Se puede corregir errores simples y errores dobles.
  • 14. CONCLUSIONES • El código Haming fue uno de los códigos más importantes para el desarrollo de corrección de errores, aún si un medio presenta una distorsión muy alta en la cual se pierdan varios bits se puede aumentar la distancia de Haming para corregir y verificar que los datos lleguen correctamente a su destino. • El síndrome es una operación que relaciona los bits de paridad por medio de una función EXOR bit a bit, si este resultado es 0 en cada bit de paridad no indica que el paquete de datos llego sin errores pero si nos indica un error o un 1 nos debe indicar el lugar donde se presenta dicho problema. • Para entender de una manera más sencilla la elaboración del código se utilizaron tablas pero por lo general se utilizan matrices y relaciones entre ellas para poder lograr relaciones cruzadas y obtener los valores de bits de paridad. • El sistema de códigos Haming es muy utilizado en elementos como memorias y en comunicaciones en las tramas de Wifi.