Como construyo un sistema de codificacion que detecte y corrija errores?

Como construyo un sistema de codificacion que detecte y corrija errores?

de Hugo Sebastian Rodriguez Reyes -
Número de respuestas: 4

Buenas, tengo lq siguiente consulta, supongo que lo que cambia es 1 bit, entonces supongo que tengo un sistema de codificacion de distancia 1, entonces como construyo un sistema que detecte errores y corrija?

Puedo usar el metodo de bits de redundancia y con eso sacar que para que detecte y corrija 2^r > n+r? (Siendo r los bits que agrego a los n ya existentes).

Y ahora para construir el sistema que busco, puedo usar el metodo Paridad? (Y ver donde voy poniendo los r bits que deduje anteriormente).

Espero se haya entendido, gracias.

En respuesta a Hugo Sebastian Rodriguez Reyes

Re: Como construyo un sistema de codificacion que detecte y corrija errores?

de Geronimo Garcia Koch -

Hola Hugo, ayer en clase se habló de esto mismo y una solución para conseguir un sistema que pueda detectar y corregir errores de hasta 1 bit es usar el Codigo de Hamming.

Podes encontrar info de eso acá: https://eva.fing.edu.uy/pluginfile.php/25745/mod_resource/content/0/Notas_Teorico/notas-2012-4.3-T2-codigos.pdf

En respuesta a Geronimo Garcia Koch

Re: Como construyo un sistema de codificacion que detecte y corrija errores?

de Gustavo Brown -

Lo que dice Gerónimo es correcto.

Pero no es el unico método para corregir errores. Hay que aplicar algún algoritmo que utilice de forma inteligente los bits de redundancia. Para poder corregir se debe cumplir la regla de la distancia entre palabras y además indicar el método de decodificacion del código.

Hamming es un ejemplo. Otro ejemplo (ineficiente porque tiene mucha redundancia) es el de triple redundancia: a cada palabra del código original se le triplican sus bits y con eso se arma el nuevo código. Suponiendo que el código original tenía distancia 1, al triplicar cada bit se tiene un código de distancia 3 por lo que también podes fácilmente detectar y corregir errores de un bit.

Hay más métodos de detección/corrección de errores, algunos están en las notas y les sugiero ir al taller que van a ver otro (paridad horizontal+vertical sobre códigos de bloques). Algunos códigos con base matemática más avanzada nos los vemos en este curso pero son utilizados ampliamente en la industria (ej códigos de Reed Solomon).

Saludos,
   Gustavo

En respuesta a Gustavo Brown

Re: Como construyo un sistema de codificacion que detecte y corrija errores?

de Hugo Sebastian Rodriguez Reyes -

Gracias a los dos por la respuesta.

Yo porque queria usar el de Paridad e ir viendo segun el sistema de codificacion que tenga la cantidad de 1s que tenga en cada fila: si me da impar le agrego un 1 y si da par agrego un 0.

Entonces como por la condicion necesaria sé cuantos bits tengo que agregar, me podia manejar bien con esos datos...

Pero si se usa Hamming porque es mas eficiente es bueno saberlo.

Saludos.

En respuesta a Hugo Sebastian Rodriguez Reyes

Re: Como construyo un sistema de codificacion que detecte y corrija errores?

de Gustavo Brown -

No te endendí bien tu algoritmo, pero de lo que entendí no podrías corregir, solo detectar.

Para detectar y corregir precisas un código con al menos distancia 3. Si comenzas con un código completo (distancia 1) y le agregás un bit de paridad terminás con un código de distancia 2 que te permite detectar pero no corregir.

Saludos,
   Gustavo