8 votos

Ayuda a entender por qué un código de bloque puede corregir hasta (d-1)/2 errores.

TEOREMA:

Sea d un código de bloque con distancia mínima impar d. Entonces C puede corregir hasta (d-1)/2 errores.

Prueba de la wikipedia:

Si no se producen más de (d-1)/2 errores de transmisión, el receptor puede decodificar de forma única la palabra recibida a una palabra de código ya que cada palabra recibida tiene como máximo una palabra codificada a la distancia (d-1)/2 . Por otro lado, si más de (d-1)/2 errores de transmisión, el receptor no puede decodificar de forma única la palabra recibida en general, ya que puede haber varias posibles palabras de código.

Parece una explicación perfectamente buena, pero por alguna razón no la entiendo, aunque entiendo todos los términos. Se agradece cualquier ayuda. (En concreto, tengo problemas con la parte en cursiva).

9voto

D.Shawley Puntos 30324

Puede pensar en ello de esta manera: suponga que su palabra recibida $w$ está tan cerca como $(d-1)/2$ a más de una palabra de código, y llamar a dos de esas palabras de código $c$ y $c'$ . Entonces la distancia de $c$ a $w$ es como máximo $(d-1)/2$ y la distancia de $w$ a $c'$ es como máximo $(d-1)/2$ por lo que la distancia de $c$ a $c'$ es como máximo $(d-1)/2 + (d-1)/2 = d-1$ . Esto contradice su suposición original de que dos palabras clave cualesquiera son al menos $d$ aparte.

En general, los argumentos que van como "la distancia de $x$ a $y$ es como máximo $a$ y la distancia de $y$ a $z$ es como máximo $b$ por lo que la distancia de $x$ a $z$ es como máximo $a+b$ " están en secreto utilizando la desigualdad del triángulo: $d(x,z)\leq d(x,y)+d(y,z) \leq a+b$ .

4voto

Andreas Blass Puntos 33024

Decodificar los mensajes recibidos según la siguiente regla (de aspecto razonable): Entre todas las palabras código, elija una cuya distancia Hamming a la palabra recibida sea lo más pequeña posible. (Si varias palabras código están empatadas por ser las más cercanas a la palabra recibida, elige una de ellas arbitrariamente). Por supuesto, si hubiera un gran número de errores en la palabra recibida, este procedimiento de descodificación podría producir un resultado incorrecto. ¿Cuántos errores de transmisión tendrían que producirse para que surgiera este problema? Supongamos que la palabra recibida es $r$ La palabra clave transmitida fue $c$ y el decodificador produjo incorrectamente la palabra clave $c'$ en su lugar. Si $e$ es el número de errores de transmisión, entonces la distancia Hamming entre $r$ y $c$ es $e$ . Como el decodificador eligió $c'$ y no $c$ sabemos que $c'$ es al menos tan cercano a $r$ como $c$ es; es decir, la distancia Hamming de $r$ a $c'$ es como máximo $e$ . Por la desigualdad del triángulo, la distancia de Hamming entre $c$ y $c'$ es como máximo $2e$ . Pero $c$ y $c'$ son dos palabras clave diferentes, por lo que su distancia Hamming es al menos $d$ . Por lo tanto, $2e\geq d$ . Conclusión: Para que el decodificador produzca un resultado incorrecto, debemos tener $2e\geq d$ es decir, $e\geq d/2$ . Por lo tanto, mientras el número $e$ de errores es estrictamente menor que $d/2$ el decodificador no se equivocará; cualquier $(d-1)/2$ o se corregirán menos errores.

4voto

rschwieb Puntos 60669

La respuesta de Owen apela directamente a las propiedades de la métrica que son importantes, y esa es la mejor manera de hacerlo. Sin embargo, suelo motivar la explicación de cuántos errores se pueden corregir con algunos diagramas de ayuda.

Ten en cuenta que estas imágenes son puramente esquemáticas y no representan con exactitud las distancias o cuántas palabras hay cerca de una determinada palabra clave. (No podemos esperar comprimir de forma convincente $n$ dimensiones en dos, de todos modos).

La idea de la decodificación de máxima probabilidad es cubrir todo el espacio de palabras con círculos no superpuestos. Esta es una imagen de una porción de dicho espacio: Odd distance code

Esto pretende representar parte de un código de distancia mínima $7$ . Los puntos en las intersecciones son palabras posibles, los puntos rojos son palabras clave, y los puntos verdes son palabras clave que caen sobre y dentro de un círculo de radio 3 alrededor de cada palabra clave. Como la distancia mínima es $7$ , todos los radios $3$ los círculos no se superponen. Si recibimos una palabra verde, debemos corregirla con la palabra clave roja en el centro de la bola en la que se encuentra.

Las palabras clave negras no son corregibles en este esquema. Si aumentáramos los radios de los círculos, las cosas no funcionarían, porque los círculos se solaparían y no se sabría dónde corregir las palabras que cayeran en los solapamientos.

¿Por qué fue $3$ ¿la elección correcta? Es el mayor número entero que se puede elegir para que estos círculos no se superpongan. El "punto medio" teórico de las palabras clave espaciadas lo más cerca posible es $3.5$ y círculos de radio $3.5$ se tocarían entre sí. Sin embargo, en la distancia de Hamming, las distancias son todas enteras, por lo que se puede reducir el radio a $3$ .

A continuación, disminuyamos la distancia mínima a $6$ donde he dibujado círculos aún con radio $3$ . Veremos que hay un problema:

Even distance

La palabra amarilla resulta estar en el límite de dos círculos. No está claro a qué círculo debe ir, así que este radio es demasiado grande para una corrección inequívoca. Ahora tenemos que reducirlo a un radio de $2$ en lugar de $3$ .

Así que, teniendo en cuenta esta imagen, se puede llegar a la fórmula de cuántos errores tiene una distancia $d$ código puede corregir. Cuando $d$ es impar, el radio medio entre los códigos de distancia mínima es un medio entero, por lo que puede permitirse reducir a $\frac{d-1}{2}$ de $\frac{d}{2}$ . Cuando $d$ es uniforme, el radio medio va a permitir que una palabra corregible se sitúe en el borde de dos círculos de corrección, por lo que es demasiado grande. Reducirlo a $\frac{d-1}{2}$ evita este solapamiento, de modo que puede corregir todos los errores sin ambigüedad.

1voto

Shabaz Puntos 403

Tal vez un pequeño ejemplo ayude. Un simple código de bloque con distancia tres son las dos palabras $000, 111$ . Desde $d=3,$ debería ser capaz de corregir cualquier $1$ error de bit. De hecho, si se cambia un bit de cualquiera de las dos palabras del código, se puede seguir interpretando el mensaje correctamente por medio del voto mayoritario.

0voto

DanC Puntos 3057

Supongamos que tenemos un código de distancia 4. C1 y C2, dos palabras clave válidas, están separadas por 3 palabras clave no válidas X1 X2 X3 :

C1 X1 X2 X3 C2

1 error es fácil de corregir: X1 se corrige en C1, X3 en C2.

2 errores no siempre se pueden corregir. X1 y X3 se corrigen en C1 y C2, pero ¿se debe corregir X2 en C1 o C2?

No hay manera de saberlo. Está a la misma distancia de C1 y C2. Así que un código de distancia 4 no puede corregir completamente 2 errores.

Ahora con un código de distancia 5:

C1 X1 X2 X3 X4 C2

X2 puede corregirse en el código válido más cercano C1. Y X3 en C2.

Así que, en general, para corregir k errores debe haber al menos 2k valores entre dos palabras de código válidas. Por lo tanto, la distancia entre dos palabras de código válidas debe ser de al menos 2k+1
Por tanto, d >= 2k+1 y k <= (d-1)/2

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X