2.3 Métodos para Detección y Corrección de Errores
2.3 Métodos para Detección y Corrección de Errores
2.3 Métodos para Detección y Corrección de Errores
Bibliografa Tema 4:
Conceptos previos
Concepto de Cdigo:
- De un conjunto de palabras (por ejemplo: Posibles palabras binarias de una longitud determinada), cdigo es un subconjunto - Ejemplo:
Cdigo: Palabras de tres bits con slo un dgito a 1 En las palabras binarias de longitud 3: {000, 001, 010, 011, 100, 101, 110, 111}
- Los errores consisten en la modificacin de la informacin desde que se emite (o almacena) hasta que se recibe (o se recupera)
Cambio de valor de algunos bits (0 1)
1 1 1 1
0 0 0 0 0 1 0 0
0 0 0 1
1 0 1 0 1 0 0 1
1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0
1 1 0 1
5
1 0 1 0 1 0 1 0
- Situaciones:
- Situaciones:
Suele ser ms costoso corregir que detectar Cuando es posible la retransmisin, se solicita
Propiedades para la deteccin de errores - Para detectar d errores de un bit entre dos
palabras, es necesario un cdigo con una distancia de Hamming de al menos d+1 - De otra forma: Con una distancia de Hamming de d se pueden detectar d-1 errores - Ejemplo: C = {001, 010, 100}, d. Hamming = 2 Un error aislado siempre se detecta Dos errores aislados no se detectan
- Dos errores en 001 111, 010, 100. Dos pertenecen a C
Escuela Politcnica Superior 10
12
Comprobacin de paridad
- VRC (Vertical Redundancy Checking) - La informacin se coloca en bloques de longitud fija - A los bloques se les aade un bit llamado de paridad y que, normalmente, precede a la informacin - Criterios para la paridad Bit de paridad par:
- N total de 1 par: Bit de paridad = 0 - N total de 1 impar: Bit de paridad = 1
Comprobacin de paridad
- Ejemplo:
Informacin
0 1 1 1 0 0 0 1 1 1 0 0
Criterio
1 Paridad par
Cdigo
0 0 1 1 1 0 0 1 1
1 Paridad impar 1 0 1 1 1 0 0
14
Comprobacin de paridad
- Ejercicio: Completar el bit de paridad con criterio impar (1) y par (2)
Informacin
1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1
15
16
1 1 2 m
Bits de VRC
Bits de LRC
Escuela Politcnica Superior
(101 0000 100 0001 100 0111) (k = 7, m = 3, matriz 7x3) Se aade: - Bit para VRC criterio par (verde, primera fila) - Bit para LRC criterio par (azul, ltima columna) - Bit de paridad cruzada criterio par (rosa)
Escuela Politcnica Superior 18
19
- Evaluacin del cdigo Distancia Hamming del cdigo: 4 - Las dos palabras del cdigo ms cercanas difieren en un bit de
datos - Un cambio en un bit de datos implica (para que la palabra sea correcta): Cambio en un bit de VRC Cambio en un bit de LRC Cambio en el bit de paridad cruzada - Un cambio mnimo implica 4 bits
- Detecta todos los errores simples, dobles y triples - Corrige todos los errores simples
20
Disposicin de datos como matrices Se aaden las paridades VRC, LRC y cruzada - Recepcin: Comprobacin de paridad cruzada (requisito) Comprobacin de VRC y LRC: Las posiciones de error en VRC y LRC marcan filas y columnas en cuyas intersecciones puede haber error. Dependiendo del tipo de errores se pueden o no detectar y corregir.
21
Errores
0 1 0 0 0 0 0 0
0 1 1 0 0 0 0 0
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
22
23
Errores
0 1 0 1
1
0 0 0
Escuela Politcnica Superior
0 0 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
25
VRC errnea
0 1 0 1
1
0 0 0
Escuela Politcnica Superior
0 0 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
26
Bits sospechosos
0 1 0 1 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
27
Error
0 1 0 1 1 0 0 0
0 1 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
28
VRC errnea
0 1 0 1
1
0 0 0
Escuela Politcnica Superior
0 1 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
29
0 1 0 1 1 0 0 0
0 1 0 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
30
Cdigos i en n
- O cdigos de verificacin de cuenta fija - El cdigo i en n est formado por las palabras binarias de n bits que tienen i bits igual a 1 - Observaciones:
Nmero de palabras posibles de n bits: Variaciones con repeticin de 2 elementos tomados de n en n: 2n Nmero de palabras del cdigo: Permutaciones de n elementos. 1 se repite i veces y 0 n-i veces
n! i! (n - i)!
Escuela Politcnica Superior 31
Cdigos i en n
- Ejemplo: Cdigo 4 en 8
0 0 0
0 0 0
0 0 0
0 1 1
1 0 1
1 1 1 1 0 1
1 1 1
0 0 0 0 0 1 0 1
0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0
32
Cdigos i en n
- Ejemplo: Cdigo 4 en 8
=
33
- LOS GRADOS: Supongamos que contamos un nmero de grados entero. El orden es: 0, 1, 2, ..., 45, ..., 180, ..., 357, 358, 359, 360=0, 1, etc.
90 180 270
Escuela Politcnica Superior 34
0=360
35
6h
12h
Y operar es como antes
Escuela Politcnica Superior
0h=24h 18h
36
+ 0 0 0 1 1
1 1 0
0 1
0 0 1
1 1 0
* 0 1
0 0 0
1 0 1
37
0x2
6 6 0
39
- Se puede demostrar (no objeto de este curso) que esta divisin tambin es posible cuando los coeficientes son enteros mdulo 2 siempre que las operaciones (resta, productos, etc.) sean definidas en ese conjunto - Ejemplo: D = x13 + x12 + x10 + x8 + x7 + x5 + x4 y d = x4 + x + 1 10011 1 1 0 1 0 1101 1 0 000
1 00 1 1 01 0 0 1 1 1 00 1 1 000 001 0 1 1 00 0 01 1 0 1100001010
1 0 0 1 0 0
1 1 00 1 1 0 1 1 10
Resultado: q = x9 + x8 + x3 + x y r = x3 + x2 + x
Escuela Politcnica Superior 40
41
42
43
- Aadir r bits 0 al extremo de menor orden del mensaje. El polinomio correspondiente ser xr M(x) - Dividir (mdulo 2) xr M(x) entre G(x): xr M(x) = C(x) + R(x) G(x) G(x) C(x) es el cociente y R(x) el resto - Restar a xr M(x) el valor del resto R(x) (esto es equivalente a aadir al mensaje original M(x) el resto R(x)) T(x) = xr M(x) - R(x) - Se obtiene as T(x), cuyos coeficientes (unos o ceros) sustituyen el mensaje a transmitir. T(x) es siempre divisible por G(x)
Escuela Politcnica Superior 44
45
La seleccin del polinomio generador es esencial si queremos detectar la mayora de los errores que ocurran Se puede demostrar (no objeto de este curso) que los polinomios generadores son ms potentes con el primer y ltimo bits a 1 Ejemplos de polinomios generadores (estndares internacionales): - CRC-12: x12 + x11 + x3 + x2 + x + 1 - CRC-16: x16 + x15 + x2 + 1 - CRC-CCITT: x16 + x12 + x5 + 1 100% errores simples 100% errores dobles 100% errores en un nmero impar de bits 100% errores en rfagas de igual a o menos de 16 bits 99.997% errores de rfagas de 17 bits 99.998% de errores en rfagas de 18 o ms bits
47
(Solucin: 5B216)
48