Está en la página 1de 52

MATEMATICA APLICADA

Grupo 6
 Los sistemas digitales pueden cometer
errores de vez en cuando. Aunque los
dispositivos en circuito integrado tales como
microprocesadores, puertas lógicas o
circuitos de memoria carecen de partes
móviles y por lo tanto tienen alta
confiabilidad, pero los dispositivos que tienen
interacción con partes móviles son menos
confiables.
Información:
Todo aquello que revista interés para nosotros.
Puede venir representada en formato:
 Analógico, es decir, pudiendo adoptar cualquier
valor entre infinitos en un determinado rango (como
por ejemplo la temperatura de un termómetro)
 Digital, esto es, pudiendo adoptar un numero
finito de valores en un rango determinado (como por
ejemplo los números enteros de 0 a 100).
Proceso de comunicación:
Puede tener lugar en diversas formas: por ejemplo al
hacer una llamada telefónica, al enviar un telegrama, al
usar un lenguaje de signos.
En cualquier caso, un proceso de comunicación
involucra un flujo de información a través de un sistema.
 Error: un error en datos binarios es definido
como un valor incorrecto en uno o más bits
 Single error: valor incorrecto en un solo bit
 Múltiple error: uno o más bits incorrectos
 d(I,J): distancia entre I e J
 número de posiciones de bits en los cuales las
palabras I e J son diferentes
 w(P): peso de la palabra P
 número de bits dentro de P iguales a 1
Coste de almacenamiento
Coste de procesamiento
Robustez y tolerancia a fallos
Coste de traducción
Compuesta por caracteres
Cantidad de bits dedicados a representar cada
carácter
Codificación de cada carácter
Separación de cadenas
Cadenas de longitud fija
Cadenas de longitud variable
 Se pueden producir errores por polvo en las
cabezas lectoras de una unidad de disco.
 También es muy común la ocurrencia de
errores en la transmisión de datos a distancia.
 Los datos que se transmiten por modem (a
través de línea telefónica) pueden recibirse
incorrectamente si la línea tiene ruidos.
 También la perturbaciones en el suministro
de energía eléctrica pueden producir errores.
 Códigos de corrección de errores
enviar información redundante junto con cada
bloque de datos a enviar al receptor para deducir
que carácter se envío
 Códigos de detección de errores
enviar información junto con los datos que
permita deducir que en un error ocurrió, pero no
cual, y pida una retransmisión
 Antes de los códigos Hamming se utilizaron
ciertos códigos detectores de error, pero
ninguno llegó a ser tan eficaz como los de
Hamming. A continuación se describen
algunos de estos códigos.
 La paridad consiste en añadir un bit,
denominado bit de paridad, que indique si el
número de los bits de valor 1 en los datos
precedentes es par o impar.

 Si un solo bit cambiara por error en la


transmisión, el mensaje cambiará de paridad
y el error se puede detectar
 En los años 40 Bell utilizó un código algo más
sofisticado conocido como dos-entre-cinco.
Este código se basa en que cada bloque de
cinco bits (conocido como penta-bit) tuviera
exactamente dos unos. De este modo, la
computadora podría detectar posibles
errores cuando en su entrada no había
exactamente dos unos en cada penta-bit.
 Otro código utilizado, consistía en repetir
cada bit de datos varias veces para
asegurarse de que la transmisión era
correcta.
 Por ejemplo, si el bit de datos que se envía
fuera un 1, un código de repetición con n=3,
enviaría "111". Si los tres bits recibidos no
eran idénticos, había un error.
 La Redundancia involucra transmitir cada carácter
dos veces. Si el mismo carácter no se recibe dos
veces sucesivamente, ha ocurrido un error de
transmisión. El mismo concepto puede usarse para
los mensajes. Si la misma secuencia de caracteres
no se recibe dos veces sucesivamente, en
exactamente el mismo orden, ha ocurrido un error
de transmisión.
 En informática, el código de Hamming es un
código detector y corrector de errores que
lleva el nombre de su inventor, Richard
Hamming.
 En los datos codificados en Hamming se
pueden detectar errores en un bit y
corregirlos, sin embargo no se distingue entre
errores de dos bits y de un bit .
1)Redundancia: mensaje es dividido
en dos partes
▪ los bits de datos del mensaje
▪ los bits de redundancia para
verificar el mensaje
2)El concepto de paridad
▪ valor de los bits de redundancia
▪ bit paridad par: el bit tiene el valor
de tal forma que el peso de la
palabra sea par
▪ bit paridad impar: el bit tiene el
valor de tal forma que el peso de la
palabra sea impar
palabra codificada
que llego:

1000011 1000011

Datos recibidos
palabra codificada después de quitar
enviada redundancia: 0011
(dígitos negrillas son
redundantes)
 Para empezar, desarrolló una nomenclatura
para describir el sistema, incluyendo el
número de los bits de datos y el de los bits
detectores-correctores de error en un bloque.
 Hamming también estudió los problemas que
surgían al cambiar dos o más bits a la vez y
describió esto como "distancia" (ahora
llamada distancia de Hamming en su honor).
 La paridad tiene una distancia de 2, dado que
cualquier error en dos bits no será detectado.
 Hamming estaba interesado en solucionar
simultáneamente dos problemas: aumentar
la distancia tanto como sea posible, a la vez
que se aumentan al máximo los bits de
información. Durante los años 40 desarrolló
varios esquemas de codificación que
mejoraban notablemente los códigos
existentes. La clave de todos sus sistemas era
intercalar entre los bits de datos los de
paridad.
 Hoy, el código de Hamming se refiere al (7.4)
que Hamming introdujo en 1950. El código de
Hamming agrega tres bits adicionales de
comprobación por cada cuatro bits de datos
del mensaje.
 El algoritmo de Hamming (7.4) puede corregir
cualquier error de un solo bit.
 Si hay errores en más de un bit, la palabra
transmitida se confunde con otra con error en
un sólo bit, siendo corregida, pero de forma
incorrecta, es decir que la palabra que se
corrige es otra distinta a la original, y el
mensaje final será incorrecto sin saberlo.
 Distancia Hamming entre dos vectores: es el
número de bits en el que toman valores
diferentes.

 Distancia de un código es la mínima distancia


Hamming entre todas las posibles
combinaciones distintas del código.
 Si la distancia de un código es d, entonces
podemos detectar k errores tal que k+1 <=d.
 Considerar las siguientes palabras
I = 01101100
J = 11000100
 El peso de cada una es
w(I) =4
w(J) =3
 La distancia entre las dos es
d(I,J) =3
 El número de bits en el código de Hamming depende
del número de bits en el carácter de datos. El número
de bits de Hamming que debe agregarse a un carácter
se determina de la siguiente expresión:

2n ≥ m + n + 1

n = numero de bits m = numero de bits en el


de Hamming carácter de datos
 Para una cadena de datos de 12-bits de
101100010010, determine el número de bits de
Hamming requerido

Sustituyendo en la ecuación, el numero de bits de


Hamming es

2n ≥ m + n + 1

Para n = 4: 24 = 16 ≥ m + n + 1 = 12 + 4 + 1 = 17
por lo tanto, 4 bits de hamming son insuficientes

Para n = 5: 25 = 32 ≥ m + n + 1 = 12 + 5 + 1 = 18
por lo tanto, 5 bits de Hamming son suficientes para llenar el criterio de la
ecuación
1. Todos los bits cuya posición es potencia de
dos se utilizan como bits de paridad
(posiciones 1, 2, 4, 8, 16, 32, 64, etc.).
 2. Los bits del resto de posiciones son
utilizados como bits de datos (posiciones 3, 5,
6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.).

 3.Cada bit de paridad se obtiene calculando la


paridad de alguno de los bits de datos
 Posición 1: salta 0, comprueba 1, salta 1,
comprueba 1, etc.
 Posición 2: salta 1, comprueba 2, salta 2,
comprueba 2, etc.
 Posición 4: salta 3, comprueba 4, salta 4,
comprueba 4, etc.
 Posición 8: salta 7, comprueba 8, salta 8,
comprueba 8, etc.
 Posición 16: salta 15, comprueba 16, salta 16,
comprueba 16, etc.
 Regla general para la posición n es:

salta n-1 bits, comprueba n bits, salta n bits,


comprueba n bits...
 Consideremos la palabra de datos de 7 bits
"0110101". Para ver cómo se generan y
utilizan los códigos Hamming para detectar
un error, observe las tablas siguientes. Se
utiliza la d para indicar los bits de datos y la p
para los de paridad.
La nueva palabra de datos (con los bits de paridad) es ahora
"10001100101". Sin error
Consideremos ahora que el bit de la derecha, por error, cambia
de 1 a 0. La nueva palabra de datos será ahora "10001100100".
Lo que significa que hay error.
 El paso final es evaluar los bits de paridad
(recuerde que el fallo se encuentra en d7). El
valor entero que representan los bits de
paridad es 11 (si no hubieran ocurrido errores
este valor seria 0), lo que significa que el bit
décimo primero de la palabra de datos (bits
de paridad incluidos) es el erróneo y necesita
ser cambiado.
 Tamaño palabra de datos: 4 bits (aaaa)
0 1 2 3
 Número bits paridad/redundancia: 3 (x x x )
1 2 3
 Formato palabra codificada a enviar:
x1 x2 a0 x3 a1 a2 a3

 Cálculo valores bits de paridad:


x1 => x1 a0 a1 a3
x2 => x2 a0 a2 a3
x3 => x3 a1 a2 a3
 Palabra codificada que llega
c1 c2 c3 c4 c5 c6 c7
 Es necesario decodificar la palabra
 se tienen que verificar bits paridad c1c2 y c4
 Las formulas para verificar los bits de paridad
son:
e1 => c1 c3 c5 c7
e2 => c2 c3 c6 c7
e3 => c4 c5 c6 c7
45
Si (e1 = e2 = e3 = 0) entonces
no hubo error en la transmisión
sino
error, el bit erróneo corresponde al equivalente
decimal de (e3e2e1)2:
 La gente de todo el planeta ha estado fascinada por las
imágenes y datos científicos que han sido
retransmitidos desde lugares distantes como Marte.
 Durante décadas, las sondas espaciales han enviado
datos similares desde los planetas más lejanos. Sin
embargo, la potencia de los transmisores de radio en
esas naves es sólo de unos pocos vatios.
 En el proceso de recuperar con éxito esas
señales intervienen muchas disciplinas: la
ingeniería electrónica, la informática y las
matemáticas.
 La teoría de códigos es la rama de las
matemáticas que se ocupa de la transmisión y
posterior recepción de datos a través de
canales ruidosos. Su objetivo es facilitar  la
lectura de mensajes: no debe ser confundida
con la criptografía, ¡que es el arte de dificultar
la lectura de mensajes!
 El valor de los códigos correctores de errores para la
transmisión de la información, tanto en la Tierra como
desde el espacio, fue evidente desde un primer
momento. Se construyó así una amplia variedad de
códigos orientados tanto a la economía en la
transmisión como a la capacidad de corrección de
errores.
 Entre 1969 y 1973, la sonda Mariner de la Nasa utilizó
un potente código Reed-Muller capaz de corregir 7
errores de cada 32 bits transmitidos, consistente ahora
en ¡6 bits de datos y 26 bits de comprobación! A la
Tierra fueron retransmitidos más de 16.000 bits por
segundo.
 Una aplicación no tan obvia de los códigos correctores
de errores surgió con el desarrollo de los discos
compactos. En un CD, la señal se codifica digitalmente.
Para protegerlo contra los arañazos, roturas y daños
similares, se usan dos códigos “entrelazados” que
pueden corregir hasta 4.000 errores consecutivos (2,5
mm  de pista, aproximadamente). Los reproductores de
discos de audio pueden recuperar incluso daños
mayores, interpolando la señal.
 En los últimos dos años se ha logrado el objetivo de
encontrar códigos explícitos que alcancen los límites
predichos por el trabajo original de Shannon.
 Su construcción requiere técnicas de una variedad
sorprendentemente amplia de matemáticas puras: el álgebra
lineal, la teoría de cuerpos y la geometría algebraica
desempeñan un papel primordial.
 La teoría de códigos no sólo ha ayudado a resolver
problemas de importancia vital en el mundo externo a las
matemáticas, sino que ha enriquecido otras ramas de las
matemáticas con nuevos problemas además de nuevas
soluciones.

También podría gustarte