SlideShare a Scribd company logo
1 of 28
Universidad Distrital, Maestría en Teleinformática,
             Bogotá D.C., Colombia.
                  Mayo de 2012
INTEGRANTES
      
ALVARO HUMBERTO CISNEROS

 DANIEL SEPULVEDA NUÑEZ
CONTENIDO
               
   HISTORIA
   TÉCNICAS DE DETECCIÓN DE ERRORES
   TÉCNICAS DE CORRECCIÓN DE ERRORES
   RICHARD WESLEY HAMMING
 CÓDIGO HAMING
   CORRECCIÓN DE ERRORES
   SÍNDROME Y CORRECCIÓN DE ERROR
   DETECCIÓN Y EFICIENCIA SOBRE CANAL
   HAMING EXTENDIDO
   CONCLUSIONES
   BIBLIOGRAFÍA
HISTORIA
                       
 Cuando se transmite información, se corre el riesgo de la presencia
  de interferencia o ruido.

 El origen de la teoría de códigos correctores de errores se encuentra
  en los trabajos de Golay, Hamming y Shannon.

 Inicio enfoque probabilístico, pasa a un enfoque más algebraico
  [códigos de Golay y de Hamming, los códigos cíclicos y BCH, o los
  códigos de Reed-Solomon y de Reed-Muller].
HISTORIA
                      
 En los 70 Goppa – Construye códigos lineales a partir de curvas
  algebraicas lisas llamados códigos AG (álgebro-geométricos).

 Los códigos AG apenas han sido implementados en la práctica
  debido a la profundidad matemática de las ideas subyacentes.

 Los métodos de decodificación para códigos geométricos de
  Goppa son efectivos, su preprocesamiento es de una elevada
  dificultad e involucra complejos algoritmos basados en métodos
  de la geometría algebraica computacional.
TÉCNICAS DE
DETECCIÓN DE ERRORES
                              
 Códigos VRC (Vertical Redundancy Check).
  En esta técnica, un bit redundante, denominado bit de paridad, se
  añade al final de cada bloque de datos.

 Código LRC (Longitudinal Redundancy Check).
  Esta técnica consiste en VRC de dos dimensiones, se agrupa un
  determinado número de unidades de datos en un bloque, cada uno
  con su bit VRC correspondiente. Se calcula el bit de paridad entre
  cada bit de todas y cada una de las unidades de datos (primeros
  bits, segundos, etc.). Se reúnen los bits de paridad de todas las
  posiciones en una nueva unidad de datos y se añade al final del
  bloque.
TÉCNICAS DE
DETECCIÓN DE ERRORES
                               
 Comprobación de redundancia cíclica (CRC).

  Dado un bloque o mensaje de k bits, el transmisor genera una
  secuencia de n bits, denominada secuencia de comprobación de
  trama (FCS Frame Check Sequence), la trama resultante, de n +
  k bits sea divisible por algún número predeterminado (patrón
  de bits). El receptor dividirá la trama recibida por el mismo
  patrón de bits y, si el resto en la división (resto 0), indica que la
  transmisión ha sido correcta, sin error.
TÉCNICAS CORRECCIÓN
     DE ERRORES
                                
 Requerimiento automático de repetición (ARQ)

Pare y espere ( stop and wait ARQ ): Cuando el receptor recibe una
   trama procede a validarla, si no contiene errores envía una señal de
   confirmación hacia el emisor ACK (acknowledge). Si hay error envía
   una señal de recepción errónea llamada NAK (negative
   acknowledge).

Envío continuo ( Continuos ARQ ): Presenta el inconveniente de
   reducir el tiempo de utilización efectiva de los canales de
   comunicación dado que cada mensaje debe ser confirmado
   individualmente y todo se paraliza hasta que ello ocurre.
TÉCNICAS CORRECCIÓN
     DE ERRORES
                               
 Corrección de errores hacia adelante (FEC)

Códigos de bloque: Un código de bloques convierte k bits de entrada
  en n bits de salida con n>k, este es un código sin memoria.

Códigos de árbol: Un código de árbol es producido por un
  codificador con memoria, a este grupo pertenecen los códigos
  convolucionales, los cuales tienen como característica que a cada
  bit de una secuencia se le aplica una operación binaria especifica.
Richard Wesley
                Hamming
                   
 Programó el computador que realizo los campos para la 1ra. Bomba
  Atómica.
 1950 Trabajando en los laboratorios Bell junto a Shannon, desarrolló y
  público la teoría de codificación.
 Fue el Precursor de los lenguajes de programación de alto nivel.
 Su descubrimiento fue uno de los más importantes en la ciencia de la
  informática.
 Su método permite identificar un bit erróneo en una palabra
  codificada (en binario). Esto es, si un bit es incorrecto, por ejemplo: el
  cambio de un 1 por un 0 en una transmisión, podemos no solo detectar
   el bit erróneo, sino además corregirlo.
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

 Combinación asignada a la situación en que no haya error en la
  transmisión.
 Combinaciones asignadas a los bits de paridad generados en el transmisor.
 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
                                
 Combinaciones posibles

 Orden para asignar combinaciones

 Combinación asignada a la situación en que no haya error en la
  transmisión.
 Combinaciones asignadas a los bits de paridad generados en el transmisor.
 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
                            2
   Combinacion # DE   2^ 2^ ^   CORRESPONDE
#b

b0
       es

       0   0000
               "1"

                  0
                      3 2 1 2^0 NCIA

                        0 0 0
                                SITUACIÓN DE
                              0 NO ERROR
                                BIT DE PARIDAD
                                                  
                                                     Diseño de tabla para codificar datos de una
                                                      fuente ASCII de 7 bits.
b1     1   0001   1     0 0 0 1 "1"
                                                     Para la asignación de los eventos se realiza lo
                                BIT DE PARIDAD        siguiente:
b2     2   0010   1     0 0 1 0 "2"               
b3     3   0011   2     0 0 1 1 DATO 1               Contar Número de unos en las combinaciones
                                BIT DE PARIDAD
b4     4   0100   1     0 1 0 0 "3"
                                                     Si el número de unos es cero es una situación de
b5     5   0101   2     0 1 0 1 DATO2                 no 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
                                BIT DE PARIDAD        organizar los bits de paridad desde el primero
b8     8   1000   1     1 0 0 0 "4"                   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
                                NO SE USA EN EL       colocarse para los datos, si las combinaciones de
b11   11   1011   3     1 0 1 1 EJEMPLO
                                                      2 unos no son suficientes para los datos
                                                      debemos empezar con los de 3 y luego los de 4
b12   12   1100   2     1 1 0 0 DATO 7                así sucesivamente, se prefiere que se coloquen
                                NO SE USA EN EL       los datos primero en los grupos de 2.
b13   13   1101   3     1 1 0 1 EJEMPLO
                                NO SE USA EN EL      Si no se tienen más datos esas líneas no son
b14   14   1110   3     1 1 1 0 EJEMPLO               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
CÓDIGO HAMING

#b         2^3 2^2 2^1 2^0       b8 b4 b2 b1
                                                 Se obtienen los coeficientes
b1    b1     0   0   0   1   0
b2    b2     0   0   1   0   0                     b1 , b2, b3, b4 de las
                                                   relaciones   anteriormente
b3    d1     0   0   1   1   1           1   1
b4    b4     0   1   0   0   0
b5    d2     0   1   0   1   0       0       0     descritas
b6    d3     0   1   1   0   0       0   0
b7    d4     0   1   1   1   1       1   1   1
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 Y
CORRECCIÓN DE ERROR
                          
 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ó.
SÍNDROME Y
CORRECCIÓN DE ERROR
                                           
  1   1    1   1 bloque par recibido            En el ejemplo es 0111 si
                                                 esto se pasa a decimal es
  1   0    0   0 bloque par enviado              7 si vemos en la tabla del
                                                 ejemplo el dato que se
  0   1    1   1                       7         encuentra erróneo se
                                                 encuentra       en      la
2^3 2^2 2^1 2^0 #b dato dañado                   combinación 7 la cual es
                                                 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
             
 La integración de código redundante permite realizar la corrección
  en cierta medida de los errores presentados en la transmisión; sin
  embargo hace menos eficiente el proceso de codificación, por lo
  cual se deberá lograr un equilibrio entre codificación redundante y
  eficiente dadas las características del canal.

 Aunque los parámetros de los códigos AG son mejores que los
  clásicos para códigos de longitud arbitrariamente grande, las
  aplicaciones técnicas no se han visto aún en la necesidad práctica
  de sustituir los códigos que actualmente se utilizan por otros de
  mayor longitud sin que se dispare simultáneamente el coste y la
  tasa de error.
CONCLUSIONES
              
 El Código Hamming, es un sistema de detección y corrección
  automática de errores en información electrónica, el cual asocia
  una serie de bits de validación o paridad a los bits de datos, de tal
  forma que una alteración en cualquiera de esos bits de datos pueda
  ser detectada y corregida adecuadamente.

 La distancia Hamming permite establecer el numero de bits
  erróneos que pueden ser corregidos ó detectados mediante las
  formulas:

    Detección=(m-1)
    Corrección=(m-1)/2
CONCLUSIONES
             
 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.
BIBLIOGRAFÍA
                  
 Comunicaciones y Redes de Procesamiento de Datos. Nestor Gonzáles
  Sainz. Ed Mac Graw . 1987.
 Wikipedia.[online]. Algoritmos de Código de Redundancia Cíclica.
  <http://es.wikipedia.org/wiki/Algoritmo_de_los_C%C3%B3digos_de_Re
  dundancia_C%C3%ADclica>
 Tio        Petros.       [online].              Aritmética     Modular.
  <http://tiopetrus.blogia.com/2005/060401-aritmetica-modular-4-.php>
 Códigos Detectores y Correctores de Errores. Códigos de Redundancia
  Cíclica. < http://www.argo.es/~jcea/pics/artic/ecc-crc.htm>
 MODIANO, Eytan. [online]. La capa de enlace de Datos: Entramado y
  Detección de Errores< http://mit.ocw.universia.net>.
 Demeter. Codificación de Señales. Ver. 1.1. 2 de Diciembre de 2003
 knabe@ing.puc.cl. Apuntes de IIC 3512 -- El nivel de enlace. Dic. 1996.
  <http://www.cs.virginia.edu/~knabe/iic3512/apuntes_4.html>
 Códigos Lineales. http://jungla.dit.upm.es/~trdt/apuntes


GRACIAS

More Related Content

What's hot

Lecture 25 ss cdma espectro esparcido
Lecture 25 ss cdma   espectro esparcidoLecture 25 ss cdma   espectro esparcido
Lecture 25 ss cdma espectro esparcido
nica2009
 
Electrónica de tomasi capítulo 12
Electrónica de tomasi capítulo 12Electrónica de tomasi capítulo 12
Electrónica de tomasi capítulo 12
Eugenio Moreno
 
Proyecto de cableado estructurado
Proyecto de cableado estructuradoProyecto de cableado estructurado
Proyecto de cableado estructurado
oforvip
 
Ejercicios arreglos de antenas
Ejercicios arreglos de antenasEjercicios arreglos de antenas
Ejercicios arreglos de antenas
omar8
 
Lecture 12 representación espacial de señales
Lecture 12 representación espacial de señalesLecture 12 representación espacial de señales
Lecture 12 representación espacial de señales
nica2009
 

What's hot (20)

Taller deber 4...
Taller deber 4...Taller deber 4...
Taller deber 4...
 
Lecture 25 ss cdma espectro esparcido
Lecture 25 ss cdma   espectro esparcidoLecture 25 ss cdma   espectro esparcido
Lecture 25 ss cdma espectro esparcido
 
1 modulación psk
1 modulación psk1 modulación psk
1 modulación psk
 
6 Codificación de fuente.ppsx
6 Codificación de fuente.ppsx6 Codificación de fuente.ppsx
6 Codificación de fuente.ppsx
 
Tipos de fibras ópticas 2.pdf
Tipos de fibras ópticas  2.pdfTipos de fibras ópticas  2.pdf
Tipos de fibras ópticas 2.pdf
 
Expo3
Expo3Expo3
Expo3
 
Estándar ieee 802
Estándar ieee 802Estándar ieee 802
Estándar ieee 802
 
Electrónica de tomasi capítulo 12
Electrónica de tomasi capítulo 12Electrónica de tomasi capítulo 12
Electrónica de tomasi capítulo 12
 
Redes WPAN Bluetooth
Redes WPAN BluetoothRedes WPAN Bluetooth
Redes WPAN Bluetooth
 
Análisis de Recomendaciones ITU-T G.65X
Análisis de Recomendaciones ITU-T G.65XAnálisis de Recomendaciones ITU-T G.65X
Análisis de Recomendaciones ITU-T G.65X
 
1-Fundamentos Basicos de TRANSMISIÓN DIGITAL.ppt
1-Fundamentos Basicos de TRANSMISIÓN DIGITAL.ppt1-Fundamentos Basicos de TRANSMISIÓN DIGITAL.ppt
1-Fundamentos Basicos de TRANSMISIÓN DIGITAL.ppt
 
Proyecto de cableado estructurado
Proyecto de cableado estructuradoProyecto de cableado estructurado
Proyecto de cableado estructurado
 
Ejercicios arreglos de antenas
Ejercicios arreglos de antenasEjercicios arreglos de antenas
Ejercicios arreglos de antenas
 
Ejercicios 1 stevenson
Ejercicios 1 stevensonEjercicios 1 stevenson
Ejercicios 1 stevenson
 
Resumen de la Modulación BPSK
Resumen de la Modulación BPSKResumen de la Modulación BPSK
Resumen de la Modulación BPSK
 
Decibeles: Lic. Edgardo Faletti
Decibeles: Lic. Edgardo FalettiDecibeles: Lic. Edgardo Faletti
Decibeles: Lic. Edgardo Faletti
 
Fuentes de informacion y entropia
Fuentes de informacion y entropiaFuentes de informacion y entropia
Fuentes de informacion y entropia
 
Lecture 12 representación espacial de señales
Lecture 12 representación espacial de señalesLecture 12 representación espacial de señales
Lecture 12 representación espacial de señales
 
355932517-Curso-de-Fibra-Optica.pdf
355932517-Curso-de-Fibra-Optica.pdf355932517-Curso-de-Fibra-Optica.pdf
355932517-Curso-de-Fibra-Optica.pdf
 
Problemas sistemas lti
Problemas sistemas ltiProblemas sistemas lti
Problemas sistemas lti
 

Viewers also liked

Competencias. tarea 3
Competencias. tarea 3Competencias. tarea 3
Competencias. tarea 3
dielimper
 
El Caballo y su Primo el Perro
El Caballo y su Primo el PerroEl Caballo y su Primo el Perro
El Caballo y su Primo el Perro
Techi Ramos
 
Historia 3 sesion i historiadores ultimos
Historia 3 sesion i historiadores ultimosHistoria 3 sesion i historiadores ultimos
Historia 3 sesion i historiadores ultimos
Lorena Pacheco Salazar
 
Morfometria pico tancitaro
Morfometria pico tancitaroMorfometria pico tancitaro
Morfometria pico tancitaro
Adolfo Adolfo
 
CEIN curso Google Adwords
CEIN curso Google AdwordsCEIN curso Google Adwords
CEIN curso Google Adwords
Cein
 
Taller creativo empresa santa barbara control de gestion
Taller creativo empresa santa barbara  control de gestionTaller creativo empresa santa barbara  control de gestion
Taller creativo empresa santa barbara control de gestion
Yelitza Parra
 
Informe nro. 2 enero 28 de 2015-FECODE Over Dorado Cardona
Informe nro. 2  enero 28  de 2015-FECODE Over Dorado CardonaInforme nro. 2  enero 28  de 2015-FECODE Over Dorado Cardona
Informe nro. 2 enero 28 de 2015-FECODE Over Dorado Cardona
Over Dorado Cardona
 
Vuelos destacables en este periodo
Vuelos destacables en este periodoVuelos destacables en este periodo
Vuelos destacables en este periodo
juank1234
 

Viewers also liked (20)

Internet, Redes Sociales y Empresas
Internet, Redes Sociales y EmpresasInternet, Redes Sociales y Empresas
Internet, Redes Sociales y Empresas
 
Competencias. tarea 3
Competencias. tarea 3Competencias. tarea 3
Competencias. tarea 3
 
¿Qué te sugiere esta pintura?
¿Qué te sugiere esta pintura?¿Qué te sugiere esta pintura?
¿Qué te sugiere esta pintura?
 
Admision directa
Admision directaAdmision directa
Admision directa
 
El Caballo y su Primo el Perro
El Caballo y su Primo el PerroEl Caballo y su Primo el Perro
El Caballo y su Primo el Perro
 
Historia 3 sesion i historiadores ultimos
Historia 3 sesion i historiadores ultimosHistoria 3 sesion i historiadores ultimos
Historia 3 sesion i historiadores ultimos
 
Sesión 1
Sesión 1Sesión 1
Sesión 1
 
Power point
Power pointPower point
Power point
 
Morfometria pico tancitaro
Morfometria pico tancitaroMorfometria pico tancitaro
Morfometria pico tancitaro
 
Clase 1
Clase 1Clase 1
Clase 1
 
Presentación cialt proposición de nf is irpf
Presentación cialt  proposición de nf is irpfPresentación cialt  proposición de nf is irpf
Presentación cialt proposición de nf is irpf
 
CEIN curso Google Adwords
CEIN curso Google AdwordsCEIN curso Google Adwords
CEIN curso Google Adwords
 
Taller creativo empresa santa barbara control de gestion
Taller creativo empresa santa barbara  control de gestionTaller creativo empresa santa barbara  control de gestion
Taller creativo empresa santa barbara control de gestion
 
Informe nro. 2 enero 28 de 2015-FECODE Over Dorado Cardona
Informe nro. 2  enero 28  de 2015-FECODE Over Dorado CardonaInforme nro. 2  enero 28  de 2015-FECODE Over Dorado Cardona
Informe nro. 2 enero 28 de 2015-FECODE Over Dorado Cardona
 
Los Foros - Cesar Jerónimo López Camacho
Los Foros - Cesar Jerónimo López CamachoLos Foros - Cesar Jerónimo López Camacho
Los Foros - Cesar Jerónimo López Camacho
 
Jorge Fernández (Planasa). INSPIRING SESSION. La anticipación y la I+D+i en l...
Jorge Fernández (Planasa). INSPIRING SESSION. La anticipación y la I+D+i en l...Jorge Fernández (Planasa). INSPIRING SESSION. La anticipación y la I+D+i en l...
Jorge Fernández (Planasa). INSPIRING SESSION. La anticipación y la I+D+i en l...
 
Proyecto sena 2011
Proyecto sena 2011Proyecto sena 2011
Proyecto sena 2011
 
Computacion
ComputacionComputacion
Computacion
 
Vuelos destacables en este periodo
Vuelos destacables en este periodoVuelos destacables en este periodo
Vuelos destacables en este periodo
 
Practica pedagógica
Practica pedagógicaPractica pedagógica
Practica pedagógica
 

Similar to Codigo hamming

Comunicacion de datos
Comunicacion de datosComunicacion de datos
Comunicacion de datos
1 2d
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control De
guestc9b52b
 
sistemas digitales
 sistemas digitales  sistemas digitales
sistemas digitales
itzamani
 

Similar to Codigo hamming (20)

Hamming
Hamming Hamming
Hamming
 
Hamming 2012
Hamming 2012Hamming 2012
Hamming 2012
 
Codigos..
Codigos..Codigos..
Codigos..
 
Parte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandezParte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandez
 
Codigos
Codigos Codigos
Codigos
 
codificación de canal
codificación de canalcodificación de canal
codificación de canal
 
CodificacióN De Canal
CodificacióN De CanalCodificacióN De Canal
CodificacióN De Canal
 
Codigo Binario
Codigo BinarioCodigo Binario
Codigo Binario
 
Comunicacion de datos
Comunicacion de datosComunicacion de datos
Comunicacion de datos
 
Codigos digitales
Codigos digitalesCodigos digitales
Codigos digitales
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control De
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
 
Convertidor morontes trejo
Convertidor morontes trejoConvertidor morontes trejo
Convertidor morontes trejo
 
Tema1 introduccion a los circuitos electronicos digitales
Tema1 introduccion a los circuitos electronicos digitalesTema1 introduccion a los circuitos electronicos digitales
Tema1 introduccion a los circuitos electronicos digitales
 
mapas-de-karmaoas de electrónica naugh.ppt
mapas-de-karmaoas de electrónica naugh.pptmapas-de-karmaoas de electrónica naugh.ppt
mapas-de-karmaoas de electrónica naugh.ppt
 
Aritmética de los números binarios
Aritmética de los números binariosAritmética de los números binarios
Aritmética de los números binarios
 
Codigosbinarios
CodigosbinariosCodigosbinarios
Codigosbinarios
 
ALGEBRA TEORIA COMPLETA
ALGEBRA TEORIA COMPLETAALGEBRA TEORIA COMPLETA
ALGEBRA TEORIA COMPLETA
 
UD2_1 Sistemas de num
UD2_1 Sistemas de numUD2_1 Sistemas de num
UD2_1 Sistemas de num
 
sistemas digitales
 sistemas digitales  sistemas digitales
sistemas digitales
 

Codigo hamming

  • 1. Universidad Distrital, Maestría en Teleinformática, Bogotá D.C., Colombia. Mayo de 2012
  • 2. INTEGRANTES  ALVARO HUMBERTO CISNEROS DANIEL SEPULVEDA NUÑEZ
  • 3. CONTENIDO   HISTORIA  TÉCNICAS DE DETECCIÓN DE ERRORES  TÉCNICAS DE CORRECCIÓN DE ERRORES  RICHARD WESLEY HAMMING  CÓDIGO HAMING  CORRECCIÓN DE ERRORES  SÍNDROME Y CORRECCIÓN DE ERROR  DETECCIÓN Y EFICIENCIA SOBRE CANAL  HAMING EXTENDIDO  CONCLUSIONES  BIBLIOGRAFÍA
  • 4. HISTORIA   Cuando se transmite información, se corre el riesgo de la presencia de interferencia o ruido.  El origen de la teoría de códigos correctores de errores se encuentra en los trabajos de Golay, Hamming y Shannon.  Inicio enfoque probabilístico, pasa a un enfoque más algebraico [códigos de Golay y de Hamming, los códigos cíclicos y BCH, o los códigos de Reed-Solomon y de Reed-Muller].
  • 5. HISTORIA   En los 70 Goppa – Construye códigos lineales a partir de curvas algebraicas lisas llamados códigos AG (álgebro-geométricos).  Los códigos AG apenas han sido implementados en la práctica debido a la profundidad matemática de las ideas subyacentes.  Los métodos de decodificación para códigos geométricos de Goppa son efectivos, su preprocesamiento es de una elevada dificultad e involucra complejos algoritmos basados en métodos de la geometría algebraica computacional.
  • 6. TÉCNICAS DE DETECCIÓN DE ERRORES   Códigos VRC (Vertical Redundancy Check). En esta técnica, un bit redundante, denominado bit de paridad, se añade al final de cada bloque de datos.  Código LRC (Longitudinal Redundancy Check). Esta técnica consiste en VRC de dos dimensiones, se agrupa un determinado número de unidades de datos en un bloque, cada uno con su bit VRC correspondiente. Se calcula el bit de paridad entre cada bit de todas y cada una de las unidades de datos (primeros bits, segundos, etc.). Se reúnen los bits de paridad de todas las posiciones en una nueva unidad de datos y se añade al final del bloque.
  • 7. TÉCNICAS DE DETECCIÓN DE ERRORES   Comprobación de redundancia cíclica (CRC). Dado un bloque o mensaje de k bits, el transmisor genera una secuencia de n bits, denominada secuencia de comprobación de trama (FCS Frame Check Sequence), la trama resultante, de n + k bits sea divisible por algún número predeterminado (patrón de bits). El receptor dividirá la trama recibida por el mismo patrón de bits y, si el resto en la división (resto 0), indica que la transmisión ha sido correcta, sin error.
  • 8. TÉCNICAS CORRECCIÓN DE ERRORES   Requerimiento automático de repetición (ARQ) Pare y espere ( stop and wait ARQ ): Cuando el receptor recibe una trama procede a validarla, si no contiene errores envía una señal de confirmación hacia el emisor ACK (acknowledge). Si hay error envía una señal de recepción errónea llamada NAK (negative acknowledge). Envío continuo ( Continuos ARQ ): Presenta el inconveniente de reducir el tiempo de utilización efectiva de los canales de comunicación dado que cada mensaje debe ser confirmado individualmente y todo se paraliza hasta que ello ocurre.
  • 9. TÉCNICAS CORRECCIÓN DE ERRORES   Corrección de errores hacia adelante (FEC) Códigos de bloque: Un código de bloques convierte k bits de entrada en n bits de salida con n>k, este es un código sin memoria. Códigos de árbol: Un código de árbol es producido por un codificador con memoria, a este grupo pertenecen los códigos convolucionales, los cuales tienen como característica que a cada bit de una secuencia se le aplica una operación binaria especifica.
  • 10. Richard Wesley Hamming   Programó el computador que realizo los campos para la 1ra. Bomba Atómica.  1950 Trabajando en los laboratorios Bell junto a Shannon, desarrolló y público la teoría de codificación.  Fue el Precursor de los lenguajes de programación de alto nivel.  Su descubrimiento fue uno de los más importantes en la ciencia de la informática.  Su método permite identificar un bit erróneo en una palabra codificada (en binario). Esto es, si un bit es incorrecto, por ejemplo: el cambio de un 1 por un 0 en una transmisión, podemos no solo detectar el bit erróneo, sino además corregirlo.
  • 11. 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.
  • 12. CÓDIGO HAMING   Combinaciones posibles  Orden para asignar combinaciones  Combinación asignada a la situación en que no haya error en la transmisión.  Combinaciones asignadas a los bits de paridad generados en el transmisor.  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)
  • 13. CÓDIGO HAMING   Combinaciones posibles  Orden para asignar combinaciones  Combinación asignada a la situación en que no haya error en la transmisión.  Combinaciones asignadas a los bits de paridad generados en el transmisor.  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)
  • 14. CÓDIGO HAMING 2 Combinacion # DE 2^ 2^ ^ CORRESPONDE #b b0 es 0 0000 "1" 0 3 2 1 2^0 NCIA 0 0 0 SITUACIÓN DE 0 NO ERROR BIT DE PARIDAD   Diseño de tabla para codificar datos de una fuente ASCII de 7 bits. b1 1 0001 1 0 0 0 1 "1"  Para la asignación de los eventos se realiza lo BIT DE PARIDAD siguiente: b2 2 0010 1 0 0 1 0 "2"  b3 3 0011 2 0 0 1 1 DATO 1  Contar Número de unos en las combinaciones BIT DE PARIDAD b4 4 0100 1 0 1 0 0 "3"  Si el número de unos es cero es una situación de b5 5 0101 2 0 1 0 1 DATO2 no 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 BIT DE PARIDAD organizar los bits de paridad desde el primero b8 8 1000 1 1 0 0 0 "4" 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 NO SE USA EN EL colocarse para los datos, si las combinaciones de b11 11 1011 3 1 0 1 1 EJEMPLO 2 unos no son suficientes para los datos debemos empezar con los de 3 y luego los de 4 b12 12 1100 2 1 1 0 0 DATO 7 así sucesivamente, se prefiere que se coloquen NO SE USA EN EL los datos primero en los grupos de 2. b13 13 1101 3 1 1 0 1 EJEMPLO NO SE USA EN EL  Si no se tienen más datos esas líneas no son b14 14 1110 3 1 1 1 0 EJEMPLO 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
  • 15. 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
  • 16. CÓDIGO HAMING #b 2^3 2^2 2^1 2^0 b8 b4 b2 b1   Se obtienen los coeficientes b1 b1 0 0 0 1 0 b2 b2 0 0 1 0 0 b1 , b2, b3, b4 de las relaciones anteriormente b3 d1 0 0 1 1 1 1 1 b4 b4 0 1 0 0 0 b5 d2 0 1 0 1 0 0 0 descritas b6 d3 0 1 1 0 0 0 0 b7 d4 0 1 1 1 1 1 1 1 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
  • 17. 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
  • 18. 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.
  • 19. SÍNDROME Y CORRECCIÓN DE ERROR   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ó.
  • 20. SÍNDROME Y CORRECCIÓN DE ERROR  1 1 1 1 bloque par recibido  En el ejemplo es 0111 si esto se pasa a decimal es 1 0 0 0 bloque par enviado 7 si vemos en la tabla del ejemplo el dato que se 0 1 1 1 7 encuentra erróneo se encuentra en la 2^3 2^2 2^1 2^0 #b dato dañado combinación 7 la cual es la asignada al dato 4.  Por lo tanto se realiza el cambio de signo de 0 a 1
  • 21. 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
  • 22. DETECCIÓN Y EFICIENCIA SOBRE CANAL 
  • 23. 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.
  • 24. CONCLUSIONES   La integración de código redundante permite realizar la corrección en cierta medida de los errores presentados en la transmisión; sin embargo hace menos eficiente el proceso de codificación, por lo cual se deberá lograr un equilibrio entre codificación redundante y eficiente dadas las características del canal.  Aunque los parámetros de los códigos AG son mejores que los clásicos para códigos de longitud arbitrariamente grande, las aplicaciones técnicas no se han visto aún en la necesidad práctica de sustituir los códigos que actualmente se utilizan por otros de mayor longitud sin que se dispare simultáneamente el coste y la tasa de error.
  • 25. CONCLUSIONES   El Código Hamming, es un sistema de detección y corrección automática de errores en información electrónica, el cual asocia una serie de bits de validación o paridad a los bits de datos, de tal forma que una alteración en cualquiera de esos bits de datos pueda ser detectada y corregida adecuadamente.  La distancia Hamming permite establecer el numero de bits erróneos que pueden ser corregidos ó detectados mediante las formulas: Detección=(m-1) Corrección=(m-1)/2
  • 26. CONCLUSIONES   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.
  • 27. BIBLIOGRAFÍA   Comunicaciones y Redes de Procesamiento de Datos. Nestor Gonzáles Sainz. Ed Mac Graw . 1987.  Wikipedia.[online]. Algoritmos de Código de Redundancia Cíclica. <http://es.wikipedia.org/wiki/Algoritmo_de_los_C%C3%B3digos_de_Re dundancia_C%C3%ADclica>  Tio Petros. [online]. Aritmética Modular. <http://tiopetrus.blogia.com/2005/060401-aritmetica-modular-4-.php>  Códigos Detectores y Correctores de Errores. Códigos de Redundancia Cíclica. < http://www.argo.es/~jcea/pics/artic/ecc-crc.htm>  MODIANO, Eytan. [online]. La capa de enlace de Datos: Entramado y Detección de Errores< http://mit.ocw.universia.net>.  Demeter. Codificación de Señales. Ver. 1.1. 2 de Diciembre de 2003  knabe@ing.puc.cl. Apuntes de IIC 3512 -- El nivel de enlace. Dic. 1996. <http://www.cs.virginia.edu/~knabe/iic3512/apuntes_4.html>  Códigos Lineales. http://jungla.dit.upm.es/~trdt/apuntes