“Simulación del láser completada”

En estos días ando liado completando una simulación de láser mediante un autómata celular escrito para CUDA. Está basado en trabajos previos realizados por mi compañero José Luís Guisado Lizar. Ya hemos obtenidos resultados, y vamos a pasar a la fase de redactar un posible artículo. Hace unos días, cuando le comentaba a un amigo esto en lo que estaba trabajando, me recordó la escena de la película Tron en la que el ciertos programas están trabajando en una simulación de láser y alguno de ellos dice: “simulación del láser completada”. Este trabajo tiene estos gratos momentos.

No es la escena que menciono pero es otro "momento láser" de la película. Fuente: http://weirdthings.com/2011/01/futurism-why-atom-lasers-are-awesome/

 

Publicaciones sobre CUDA y AER

El pasado verano vimos aceptados en el congreso ICONIP 2011 y recientemente publicados un par de trabajos en los que he participado :

 

AER Spiking Neuron Computation on GPUs: The Frame-to-AER Generation

Neuro-inspired processing tries to imitate the nervous system and may resolve complex problems, such as visual recognition. The spike-based philosophy based on the Address-Event-Representation (AER) is a neuromorphic interchip communication protocol that allows for massive connectivity between neurons. Some of the AER-based systems can achieve very high performances in real-time applications. This philosophy is very different from standard image processing, which considers the visual information as a succession of frames. These frames need to be processed in order to extract a result. This usually requires very expensive operations and high computing resource consumption. Due to its relative youth, nowadays AER systems are short of cost-effective tools like emulators, simulators, testers, debuggers, etc. In this paper the first results of a CUDA-based tool focused on the functional processing of AER spikes is presented, with the aim of helping in the design and testing of filters and buses management of these systems.

 

An approach to distance estimation with stereo vision using address-event-representation

Image processing in digital computer systems usually considers the visual information as a sequence of frames. These frames are from cameras that capture reality for a short period of time. They are renewed and transmitted at a rate of 25-30 fps (typical real-time scenario). Digital video processing has to process each frame in order to obtain a result or detect a feature. In stereo vision, existing algorithms used for distance estimation use frames from two digital cameras and process them pixel by pixel to obtain similarities and differences from both frames; after that, depending on the scene and the features extracted, an estimate of the distance of the different objects of the scene is calculated. Spike-based processing is a relatively new approach that implements the processing by manipulating spikes one by one at the time they are transmitted, like a human brain. The mammal nervous system is able to solve much more complex problems, such as visual recognition by manipulating neuron spikes. The spike-based philosophy for visual information processing based on the neuro-inspired Address-Event-Representation (AER) is achieving nowadays very high performances. In this work we propose a two-DVS-retina system, composed of other elements in a chain, which allow us to obtain a distance estimation of the moving objects in a close environment. We will analyze each element of this chain and propose a Multi Hold&Fire algorithm that obtains the differences between both retinas.

Trabajo Fin de Máster

El pasado Julio finalicé la realización del Máster en Ingeniería de Computadores y Redes impartido en la ETSII. Mi Trabajo Fin de Máster consintió en la realización de un sistema empotrado basado en un micro-controlador Cygnal C8051F340 que funcionaba como modulador en amplitud de sonido. Básicamente un pedal de efecto para guitarra. Como es natural sufrí del temido efecto demo, y unos días antes de la presentación quemé la placa y tuve que improvisar con otra igual pero no adaptada a la caja en la que presenté el proyecto. El único material gráfico del que dispongo en este momento es un vídeo de una versión no final del proyecto.

EDITO:

Pongo el “manual” para que se entienda un poco lo que hace:

16535.jpg

1.Pulsador de encendido/apagado: Pulsándolo activa y desactiva el procesado de la señal
2.Indicador de encendido/apagado: Indica cuando el procesado de señal está activado (led encendido) o el pedal deja pasar la señal sin modificar (led apagado).
3.Pulsador “tap tempo”: Pulsándolo repetidas veces marcando un ritmo, el pedal calcula el tempo y modifica su funcionamiento en función de este.
4.Indicador de tempo: El led indicador parpadea marcando el compás con un destello verde. En el primer compás del patrón que se está siguiendo, el led emite un destello rojo.
5.Entrada estéreo: Entrada de señal de tipo jack de 6,35 mm estéreo
6.Salida estéreo: Salida de señal de tipo jack de 6,35 mm estéreo
7.Conector para pulsadores externos: Conector de tipo jack de 6,35 mm estéreo que permite conectar dos pulsadores externos para realizar con el pie las funciones de selección de programa (botones 12)

 

16536.jpg

8.Conector de alimentación: Conector para una fuente de alimentación externa de 9v, con el centro negativo (Estándar de facto en el mercado de pedales de efecto)
9.Conector USB: ELIMINADO actualmente del proyecto.
10.Indicador de programa seleccionado: Mediante dos dígitos se muestra el programa seleccionado. Un programa consta de un patrón rítmico y una configuración específica de los parámetros.
11.Grabación de programa: Botón que permite almacenar en memoria no volátil la configuración actual de los parámetros. Cuando se pulsa una vez, los dígitos del programa parpadean. A continuación, mediante los botones de selección de programa se escoge el programa en el que se desea grabar la configuración. Si se pulsa de nuevo el botón de grabación de programa se guarda definitivamente el programa seleccionado. Si no se pulsa ningún botón al cabo de unos segundos se cancela la grabación de programa.
12.Selección de programa: Mediante estos botones se puede seleccionar el programa que se desea utilizar.
13.Control de tempo: Este control giratorio permite ajustar el tempo de la ejecución del patrón. Permite ajustar la velocidad hasta el rango de modulación en anillo. Si se pulsa el pulsador de “tap tempo” se ignora su valor.
14.Controladores de la forma de onda de los pulsos: Mediante estos controles se puede modificar la forma de los pulsos que modulan la señal.

16537.jpg

Se muestran a continuación una serie de ejemplos de formas que se pueden conseguir mediante la manipulación de estos controles.

 

16538.jpg

Importante: El oído humano percibe el volumen de los sonidos de forma logarítmica. Es decir, para percibir que una fuente de sonido ha duplicado su volumen de emisión, esta en realidad ha de multiplicarlo por 10. Las formas de ondas mostradas están representadas en escala logarítmica.