Ir al contenido principal

Entradas

Mostrando entradas de abril, 2013

Tarea 9 - (LAB)Redes - Energia eficiente en las redes inalambricas de sensores

An Energy Efficient Hierarchical Clustering  Algorithm for Wireless Sensor Networks -------------- Autores : Seema Bandyopadhyay and Edward J. Coyle School of Electrical and Computer Engineering Purdue University ------------- Introducción Los recientes avances en las comunicaciones inalámbricas y sistemas microelectromecánicos tienen la motivación el desarrollo de sensores muy pequeños y de bajo costo que poseen detección, procesamiento de señales y de comunicación inalámbrica capacidades.  Estos sensores se pueden implementar a un costo mucho más bajo que los sistemas de sensores cableados tradicionales. Organizar los sensores tales que abarquen el mejor rango posible, es un ahorro de energia siginificativo. Muchos algoritmos de agrupamiento en diversos contextos han sido propuesto. Estos algoritmos son en su mayoría de naturalueza heurística y el objetivo de generar el número mínimo de agrupaciones de tal manera que cualquier nodo en cualquier

Tarea #5 - Clase - Control de Trafico: Congestión

Para esta entrada tenemos que controlar en trafico en una red. Cuando la banda ancha se satura una de las soluciones es aumentarla o disminuir los paquetes y los tiempos que se envían, (como hace youtube al momento de cargar videos demasiados pesados). Primero calculamas la banda ancha con la sig. formula: Formula tomada del tutorial Con la banda ancha calculada, hice un FOR que se encarga de estar incrementandola cada cierto tiempo y un IF que en caso de que la sobrepase, la disminuya: Tambien existe el caso en que si la BA esta "bien" osea, no esta enviando tanto pequetes y los que envia si lo puede sorportar, encontes podemos incrementarla hasta llegar al limite. Codigo de la función Referencias http://www.isi.edu/nsnam/ns/tutorial/

Ubicuo #8(LAB) - Critica constructiva

Se nos dio a la tarea de hacer pequeñas criticas a los demás proyectos de nuestro compañeros, esta semana el tema es la usabilidad. Alarma inteligente Liga a la entrada:   http://ubicomputo.blogspot.mx/2013/04/evaluaciones-de-usabilidad.html Mencionan que se dio una platica acerca del funcionamiento del sistema, cuales serian los pasos para activarla. Hubiera estado excelente que les comentaran en donde ellos se sentirían cómodos con la posición del vehículo, que fuera como un pedal mas(a lado del clutch)  para que no se den cuenta cuando se activa o desactiva. Una parte importante y siento yo que es algo a lo que se le deba dedicar tiempo, es al programa que mencionan de control por internet; los productos se venden por sus pantallas no tanto por su funcionamiento, y tener un buen diseño de esta podría traer resultados excelentes. Computara inteligente Liga a la entrada:   http://aveoctavo.blogspot.mx/2013/04/blog-post.html Un bloqueo por rostro es interesante para cualq

Tarea#7 Vision(LAB) - Histogramas de una imagen - Python

Que tal para esta entrada se nos encargado detectar los histogramas de una imagen tomada por nosotros esto para poder detectar posibles agujeros en la misma. Procedimiento 1 .- Se recorre toda la imagen y se suman sus filas como sus columnas y esta sumatoria de guarda para después calcular los mínimos. 2.- Con las sumatorias ya hechas procedemos a calcular los mínimos locales. Aquí hacemos uso de un umbral que es el promedio de los pixeles vecinos este umbral lo puedes calcular a prueba y error pero para imagenes donde no existe mucha claridad en la imagen se recomiendo usar uno entre 30-60 esto para eliminar los cruces donde no se encuentre nada. Y siempre comparando que la sumatoria actual sea menor a la anterior y menor a la que sigue. Si cumplen con estas condiciones se marca como mínimo local. Mínimos locales de la imagen, Se hace lo mismo para calcular columnas como filas. 4.- Guardamos las lineas y columnas; buscamos en donde se cruzan y guardamos el pixel

Tarea #4 - Codigo Adaptativo

Para esta semana se nos encargo un método de compresión que se adaptara según la entrada. La idea es que el programa lea una cadena en paquetes y cuando el paquete llegue a cierto limite el python sea capaz de comprimirlo y enviarlo. La variante es que se tiene que estar adaptando según el paquete de entrada. La idea que yo tengo/tenia era tomar la frecuencia de las letras del alfabeto español y con el primer paquete que le llegue al python hacer lo siguiente: 1.- Identificábamos las letras únicas del paquete y las ordenábamos por frecuencias de apariciones. 2.- Sustituíamos o creábamos otra lista(conservando el orden) pero ahora con el agregábamos el  valor de la probabilidad del que la letra apareciera en el alfabeto español. 3.- Escogíamos un umbral que fuera el promedio de la suma de frecuencias del alfabeto 4.- Por cada paquete se aseguraba que la letra no estuviera ya anteriormente en el grafo, esto para eliminar el ruido de que haya repetidos. 5.- El nodo "padre&q

Tarea 8 - (LAB)Redes - Mecanismos de control de congestión de TCP

Fairness and Stability of  Congestion Control Mechanisms of TCP (La equidad y la estabilidad de los mecanismos de control de congestión de TCP) ----------- Autores:  Hasegawa, Masayuki Murata, and Hideo Miyahara Department of Infomatics and Mathematical Science Graduate School of Engineering Science ----------- En el pdf nos habla de tres versiones de TCP: Tahoe, Reno y Vegas. De las cuales las 2 primeras son ampliamente utilizadas en internet. En TCP, el tamaño de la ventana para la conexión, llamada tamaño de ventana de congestión (cwnd), se cambia de acuerdo con la indicación de congestión de la red. El cambio del tamaño de la ventana tiene un impacto significativo sobre el comportamiento de TCP. Para ello, lo primero que resumimos son los algoritmos para actualizar cwnd (t) en las tres versiones de TCP. Version TCP Tahoe En TCP Tahoe, el tamaño de la ventana de cwnd se cambia cíclicamente. Cwnd continúa aumentando hasta que se produzca la pérdida del segmen

Tarea #7 - Deteccion de Agujeros

Para esta entrada se nos encargo hacer un python que detectara agujeros en una imagen. Para esto lo primero que hacemos es sacar por medio de histogramas los mínimos locales cuando hay un cambio de color muy drástico. Lo primero que se hizo fue sumar todas la filas y columnas y guardarlas para después graficarlas y guardarlas, ya teniendo las sumatorias(en "x" y en "y"). Con las listas de las sumatorias, lo siguiente que se hizo fue una rutina que sacara los locales mínimos de cada lista, para esto nos basamos en comparar contra el elemento anterior y elemento siguiente mas aparte si pasaba la condición de un umbral lo agregamos como mínimo local, esto para descartar posibles ruidos en la imagen. Una vez que ya tenemos las lineas en donde ocurre un mínimo local tenemos que checar en donde se cruzaba y tomar esos pixeles como posibles centros a nuestros agujeros. Se agrego una condición que solamente agarrara los mínimos locales mas chicos, obviamente

Tarea #6 - Visión(LAB) - Rellenar elipses

Para este entrada se nos encargó detectar elipses y dibujar un elipse nuevo y sacar el porcentaje que ocupa este nueva elipse comparada con la original. Sacamos primero los pixeles tipo borde y una vez teniéndolos, tomamos al azar 2 pixeles sacamos sus gradiente, después calculamos la pendiente de cada pixel y una vez teniendo esos datos calcular la pendiente es fácil porque simplemente despejas de la formula de la recta-tangente. Se procede al metodo de votación para sacar el centro, y a partir de ahi dibujar la elipse con las coordenas obtenidas. Código Resultados Imagen Original Imagen Obtenida El punto amarillo es el posible centro de la elipse, aun tiene problemas con la votación pero es algo que se puede arreglar porque la forma que hace la lineas es muy "sencilla". Para obtener el area sola basta hacer BFS empezando del punto central del elipse, sumar pixeles y sacar promedio, pero esa parte no alcance a sacarla Referencias http://elisa.dyndn

Tarea 7 - (LAB)Redes - Monitoreo de trafico por UDP

Que tal para esta entrada se nos encargo monitorear la sumilacion de trafico por UDP. Es algo parecido en una entrada anterior donde simulamos el protocolo con un python, ahora sera con un ".tcl". Para este ejemplo partiremos del caso que tenemos un servidor de video y varias personas hacen peticion al mismo tiempo o a diferente tiempo, mientras este sigue enviando información a un usuario sin interrumpir el envio. Se crearon 6 nodos receptores/transmisores para representar a casa persona y el servidor de video. Codigo : Monitoreo : Latencia Como tenemos 6 nodos y un nodo servidor, tenemos que tomar cada par de nodos como si fueran "unicos" esta para saber la perdida o ganancia de cada nodo. Cogido awk Graficas Retardo de cada par de nodos(nodoX => servidor). El eje X representa el tiempo transcurrido, mientras que el Y representa el tamaño de los paquetes. nodo 3 => servidor nodo1 => servidor nodo2 => servidor n

Ubicuo #7(LAB) - Resumen, Localización en interiores y exteriores con servicios ubicuos

Towards Ubiquitous Indoor Location Based Services and Indoor Navigation (Hacia servicios ubicuos basados en localización interior y navegación interior) Los servicios basados en localización(LBS) y la navegación han sido impulsados por la evolución de los dispositivos móviles, la disponibilidad de GPS y últimamente de Internet móvil. Hoy en día, estos servicios son ampliamente utilizados en los sistemas de navegación al aire libre y las aplicaciones web móviles. El éxito de los sistemas de navegación al aire libre muestra la necesidad de los usuarios para la navegación y la información basada en la ubicación. Sin embargo, hasta ahora, falta una tecnología estándar para localización en interiores. Las diferentes tecnologías y productos están disponibles, pero normalmente no trabajan juntos.  En aire libre LBS se beneficia de una gran cantidad de contenido disponible en la Internet. Los datos del mapa y contenido están disponibles por proveedores como Google, OpenStreepMap1 o ser

Tarea#3 - Codificación Huffman python

Que tal para esta entrada se nos encargo implementar el código Huffman en "x" lenguaje yo escogí python. A continuación una breve explicación y Un poco de teoria: El término se refiere al uso de una tabla de códigos de longitud variable para codificar un determinado símbolo (como puede ser un carácter en un archivo), donde la tabla ha sido rellenada de una manera específica basándose en la probabilidad estimada de aparición de cada posible valor de dicho símbolo. Fue desarrollado por David A. Huffman mientras era estudiante de doctorado en el MIT, y publicado en "A Method for the Construction of Minimum-Redundancy Codes". El algoritmo de construcción del árbol puede resumirse así: Crear un nodo hoja para cada símbolo, asociando un peso según su frecuencia de aparición e insertarlo en la lista ordenada ascendentemente. Mientras haya mas de un nodo en la lista: Eliminar los dos nodos con menor probabilidad de la lista Crear un nuevo nodo interno que enlac

Tarea 6 - (LAB)Redes - Topologia mixta - ns2

Para esta entrada se nos encargo hacer una topoligia con enrutamiento. Trabaje con una topologia tipo mixta y el objetivo es bloquear una canal para que el enrutamiento busque otra ruta para enviar paquetes. Topoligia mixta: En esta topología mixta, si un ordenador falla, entonces es detectadopor el hub al que está conectado y simplemente lo aísla del resto de la red.Sin embargo, si uno de los hub falla, entonces los ordenadores que estánconectados a él en la red en estrella no podrán comunicarse y, además, elbus se partirá en dos partes que no pueden comunicarse entre ellas. El codigo de la implementacion se los dejo aqui abajo. Aqui un codigo de la implementación.

Ubicuo #6(LAB) - Retroalimentación a los equipos

Alarma inteligente  liga a la entrada: http://ubicomputo.blogspot.mx/2013/03/avance-3-hardware-software.html Ellos mencionan que su proyecto lo dividen en 2 partes, uno para la comunicación de carro-casa y el otro para el monitorireo del carro-via remoto. Para la parte#1 - Ellos dicen que utilizaran bluetooth, pero en lo personal una comunicación zigbee es mejor.... hasta el wifi podría funcionar, porque con el bluetooth necesitas <<permisos>>  para poder usar contacto con el aparato y esto es malo si lo que queremos es ahorrar tiempo.  Para la parte#2 - La parte del GPS me gusto mucho, tal vez como recomendación seria buscar otros modulos mas baratos o usar un celular... estos modulos están como en 2,000.  Computadora inteligente  liga a la entrada: http://aveoctavo.blogspot.mx/2013/03/presentacion-para-clase.html  Esta idea esta buena, lo que me entra ruido es que con Opencv limiten a estar siempre en una misma posición.  Pueden usar SURF, es un metodo de ope