You are on page 1of 4

3.

C
odigos detectores y correctores de error
Ejemplo: Tengo un robot en Marte.

N = 00

E = 01
C1 =
O = 10

S = 11

Mando a Marte 01

N = 0000

E = 0101
C2 =
O = 1010

S = 1111
Mando 0101 0111. Entonces el robot sabe que hay un error porque 01116 C1
Si recibo m puedo encontrar m C2 tal que P(se haga enviado m he recibido m) sea maximo?
no,
Hip
otesis: Transmitimos por canal binario simetrico con prob. de error en un bit p. P es peque
desde luego 12 . Suponemos que los errores en bits son independientes.

3
N = 0000

E = 0101
1
0111
C2 =
O
=
1010
3

S = 1111
1
No puedo corregir el error pero si detectarlo. Se detecta 41 .
Dos errores en la misma pareja no puede detectarlo, en otra pareja si detecto.

N = 000000

E = 010101
C3 =
O = 101010

S = 111111
Los dos primeros bits son de informacion. Se detecta siempre hasta dos errores. ( 13 . C3 permite
corregir un error

N = 000000

1
E = 010101
C3 =
011101
O
=
101010
5

2
S = 111111
Partimos de un alfabeto de q elementos en Fq
Definici
on 3.1. Un c
odigo de bloque q-nario de longitud n es C Fqn
Ejemplos:
C1 F22
C2 F24
C3 F26
|C| = M
1

Quiero un C con M grande y n peque


no que detecta o corrija muchos errores. Todo a la vez no es
posible.
Definici
on 3.2. Distancia de hamming en F n dados
x = (x1 , ..., xn ) F n
y = (y1 , ..., yn ) F n
d(x,y)=#{i|xi 6= yi }
Es decir, el minimo de cambios que hay que hacer en x y transformarlo a y.
Proposici
on 3.3. d es un distancia
Demostraci
on.
1) d(x,y)=0 x=y

2) d(x,y)> 0

3) d(x,y)=d(y,x)

4) d(x,z) 6 d(x,y) + d(y,z)


Definici
on 3.4. Dado c
odigo C Fqn , la distancia mnima es:
d(C) = min{d(x, y) : x, y C, x 6= y}
Observaci
on
Si C 6= un s
olo punto 6= {} d(C) > 0, d(C) > 1
Si utilizo un c
odigo para transmitir M mensajes, C Fqn , |C| = M quiero qued(C) sea grande.
Ejemplos:
d(C1 ) = 1
d(C2 ) = 2
d(C3 ) = 3
.
.
.
.

Teorema 3.5. Un c
odigo con distancia mnima = d permite (no simultaneamente):
(1) detectar hasta d-1 errores
(2) corregir hasta [ d1
2 ] errores.
Si d=2r+s+1 simultaneamente=

corregirhastarerrores
detectarhastar + serrores

Demostraci
on.
(1) Algoritmo de detecci
on de errores
Recibo x Fqn
Si x0 C leo x
Si x0 6 C pita

he perdido letras

se
han a
nadido letras
Observaci
on: Si x 6 Fqn
Emito x y se producen 0 6 t 6 d 1
aparecen
simbolos
raros

ha habido error
errores
Recibo x

Si t=0, x=x y leo x=x


Si 0t6 d 1 (x6= x) el algoritmo solo falla si x C
Pero entonces d-1> t = d(x,x) > d
(2) Algoritmo de codificaci
on a vecino mas proximo.
Recibo x Fqn y busco x0 C tal que d0 (x0 , x)=min{d(x0 , x) : x C
Ejemplos:
(1)

N = 000000

E = 010101
C3 =
O = 101010

S = 111111
d(C3 ) = 3
Recibo x=100100
Si uso el algoritmo de deteccion. Si x no pertenece al codigo C3 pita
Si uso el algoritmo de correccion
[ d1
as proxima a x ?
2 = 1]. Entonces, cual es la palabra m
d(x0 , N ) = 2
d(x0 , E) = 3
d(x0 , O) = 3
d(x0 , S) = 4 N
n
umero mnimo de errores que se han producido? mnimo son 2 si p 21 P(2 errores)
P(3 errores) P(4 errores) apuesto por 2 por eso decodifico al vecino mas proximo.
(2) Transmito 111111=S y recibo 010111
Algoritmo de correci
on: {d(y, x0 ) : y R} = 1
d(E,x)=1 leo E
Puedo cooregir/detectar m
as errores construyendo codigos con d(C) = d >> 0
Definici
on 3.6. El c
odigo binario de repetici
on de longitud n es:
R2,n = {0, ..., 0,, 1, ..., 1}
| {z } | {z }
n

Si Fqn = {a1 , ..., aq } es un alfabeto. el c


odigo q-nario de repetici
on de longitud n es:
Rq,n = {a1 , ...a1 , a2 , ..., a2 , ..., aq , ..., aq
| {z } | {z }
| {z }
n

Nota: C3 ' R2,3 xR2,3 ' R4,3


Definici
on 3.7. Sea C Fqn , d(C) = d
|C| = M = q l (l no necesariamente entero) entonces:
La tasa de transmisi
on: R= nl
Distancia relativa de C, =
Ejemplo:
Rq,n :

d
n

longn

You might also like