- Juan José Villacorta, Universidad de Valladolid
Creación de un marco de desarrollo que, partiendo de la adquisición simultánea y síncrona de un alto número de sensores digitales (micrófonos MEMS), permita la implementación de diferentes algoritmos de análisis de sonido y procesado espacial. El sistema debe ser fácilmente escalable en cuanto a número de sensores y capacidad de proceso a la vez que para poder adaptarse a las necesidades de las posibles aplicaciones
Se ha optado por el diseño de sistemas de adquisición modulares basados en la plataforma NI myRIO que permite adquirir 64 micrófonos simultáneamente y proporciona 2 niveles de procesado (FPGA y procesador ARM). Un PC integra las señales de los distintos módulos y proporciona niveles de procesado de mayor potencia. El uso de LabVIEW permite la utilización de un sólo lenguaje y la portabilidad del código.
Juan José Villacorta - Universidad de Valladolid
Alberto Izquierdo - Universidad de Valladolid
Lara Del Val - Universidad de Valladolid
Luis Suárez - Universidad de Burgos
Los arrays acústicos, son un conjunto de sensores acústicos cuyas señales se combinan para conseguir una respuesta espacial muy directiva. Entre las aplicaciones que los usan se incluyen: localización de fuentes, análisis de ruido, detección de objetos mediante sonar/radar, imágenes acústicas y biometría.
El uso de micrófonos MEMS permite la construcción de arrays de grandes dimensiones por su pequeño tamaño y por la reducción de costes al no ser necesario un A/D por micrófono. Estos sensores presentan una salida codificada en PDM de un solo bit y alta frecuencia, requiriendo sistemas de adquisición a medida, basados en FPGA.
El array creado consiste en una placa de circuito impreso con un array planar de 64 (8x8) micrófonos que utilizan 32 líneas de E/S de un NI myRIO para su adquisición. El array incluye una cámara en el centro conectada al puerto USB de myRIO. Es un sistema de adquisición modular, portátil e independiente que permite la creación de arrays de mayores dimensiones mediante la agregación de varios módulos.
El sistema operativo en tiempo real incluido en el myRIO, permite que cada módulo array-myRIO pueda constituir un sistema de medida completo, incluyendo tanto la adquisición como el procesado. Pero, en función del grado de complejidad y del tiempo de respuesta que requiera la aplicación, es posible que se exceda la capacidad de procesado de myRIO, por lo que se ha definido una arquitectura de procesado en 4 niveles:
• Nivel 0, es la propia FPGA en base a su capacidad para realizar tareas sencillas a alta velocidad, por ejemplo el filtrado y diezmado.
•Nivel 1, corresponde al procesador ARM embebido en myRIO. Tienen una memoria, capacidad de procesado y almacenamiento limitada.
•Nivel 2, es el ordenador de sobremesa o PC, que incluye un procesador de propósito general. Tiene alta capacidad de procesado, gran cantidad de memoria y de almacenamiento.
•Nivel 3, constituido por coprocesadores basados en GPUs, con un número elevado de núcleos.
La tabla de la figura 4 presenta una lista con los principales algoritmos a implementar en una aplicación de procesado en array indicando los niveles de procesado donde podrían implementarse.
La característica multi-plataforma de LabVIEW permite utilizar una única herramienta de desarrollo para la implementación de todo el sistema y reutilizar el código independientemente del target o nivel de procesado donde se ejecute.
En concreto, la aplicación diseñada pretende ser un marco de desarrollo que permita la investigación y experimentación con algoritmos de procesado acústico en array y que permita una rápida creación de aplicaciones a medida en función de las necesidades del cliente. Para ello se ha utilizado los siguientes paradigmas:
•Cliente-servidor: cada uno de los módulos myRIO-Array constituye un servidor de datos independiente. El PC actúa de cliente solicitando datos a los módulos de adquisición que se transfieren vía la interfaz wifi integrada en los myRIO utilizando Network Streams. Cuando hay varios módulos de adquisición componiendo un array de mayor tamaño, la sincronización se realiza directamente entre los myRIO con un sistema maestro-esclavo.
Se ha definido un API de alto nivel integrado en una librería que se utiliza para invocar comandos en los clientes y recibir los datos de los micrófonos.
•Plugin Framework: la aplicación principal que se encarga de recibir los datos de los módulos myRIO y su posterior procesado y visualización de los resultados. Para evitar tener que modificar la aplicación con cada modificación de algoritmo, se hace uso de plugins que definen el procesado que se realiza y visualización de resultados en subpanels del panel frontal.
Juan José Villacorta
Universidad de Valladolid
Paseo de Belén, 15
Valladolid 47011
Spain
Tel: +34983185802
Fax: +34983423667
juavil@tel.uva.es