viernes, 1 de mayo de 2009

Códigos

Estoy llevando una materia que está padrísima, se llama teoría de la información, pero el profesor nos está dando códigos detectores y correctores de errores, está super chido eso; esperamos ver algo de criptografía. Es de las materias que más me están gustando ya que aparte de la teoría que vemos, implementamos cosas.
Un código nos sirve, en pocas palabras, para meter redundancia a la información. ¿Por qué querríamos hacer eso? La información pasa por canales de comunicación todo el tiempo, entonces está sujeta a errores del canal, errores que no podemos controlar, ya que son ocasionados por el medio ambiente u otros factores fuera de nuestro alcance. Con esa redundancia se pretende rescatar a la información que fue alterada en el canal, para que quede igual a como ésta partió del transmisor (en el mejor de los casos).
Usamos un código llamado "código extendido de Hamming de longitud ocho" y simulamos un canal de comunicación que metía errores. Aquí algunas pruebas:


Imagen de 'osita' pasando por un canal que por cada 200 bits que pasan por él pone en error a 1

Imagen de 'osita' pasando por un canal que por cada 300 bits que pasan por él pone en error a 1
Imagen de 'osita' pasando por un canal que por cada 500 bits que pasan por él pone en error a 1
Imagen de 'osita' pasando por un canal que por cada 800 bits que pasan por él pone en error a 1
Imagen de 'osita' pasando por un canal que por cada 1000 bits que pasan por él pone en error a 1
'Osita' sin errores

Ahora una imagen con más información

Imagen de pasando por un canal que por cada 100 bits que pasan por él pone en error a 1
Imagen de pasando por un canal que por cada 300 bits que pasan por él pone en error a 1
Imagen de pasando por un canal que por cada 400 bits que pasan por él pone en error a 1
Imagen de pasando por un canal que por cada 800 bits que pasan por él pone en error a 1
Imagen sin errores.

Existen muchas variables involucradas en esto, una conclusión no podemos dar. La primera imagen de 'osita' tiene muy pocos bits, observamos que prácticamente en un canal que, mete de 1 error por cada 300 bits podemos ver bien la imagen, sin embargo, no ocurre eso con la segunda imagen, hay muchos errores, es claro debido a que la imagen es más grande. En la segunda podemos ver la imagen casi exacta hasta que tenemos un canal que mete un error por cada 800 bits. Inclusive un factor podría ser el formato del archivo.
Las especificaciones de la tasa de error en un canal deben venir en su manual. En las redes, los diversos protocolos de comunicación se encargan de realizar estos procesos cuando es necesario.
Los códigos es otro mundo bastante interesante donde hay muchas cosas qué aprender.


Gracias a Miri y a Erick por las imágenes que me regalaron. :D

5 comentarios:

Michael, the kid dijo...

wórale, nunca pensé ver a osita detectada y corregida :D a poco no es la perra más bonita del mundo? ... y áhi de ti si te atreves a negarlo, recuerda q los perros se comen a los hurones =)

magicorlan dijo...

Yo tengo una perrita mas bonita que se llama nena jajaja

Saúl dijo...

tal vez con el ruido que añade el canal a la imagen osita algún día pueda ladrar jojojojojo

maruzcg dijo...

¡Me declaro fan de osita!... Ejem, la información muy interesante... XD

Michael, the kid dijo...

Sabían que osita me pega? se defiente cuando le doy manazos? y hace como que ladra pero no se oye nada... por cierto estuvo interesante lo de los... errores... whatever :D