Ayuda
Ir al contenido

Dialnet


Resumen de Contribuciones metodológicas para el desarrollo de aplicaciones de radio software en arquitecturas multiprocesador heterogéneas

Pedro José Lobo Perea

  • La radio software (Software Radio) o radio definida por software (Software Defined Radio, SDR) consiste en la implementación de sistemas de radiocomunicación empleando procesadores programables en lugar de hardware específico. El primer uso del término data de hace casi cuatro décadas, pero fue en la segunda mitad de la década de los 90 cuando el concepto tomó impulso gracias a que la tecnología disponible en ese momento comenzó a hacer ya posible su uso práctico, y en la actualidad puede afirmarse que todos los dispositivos de radiocomunicaciones emplean esta técnica en mayor o menor medida.

    A pesar de sus evidentes ventajas en cuanto a flexibilidad y rapidez de desarrollo frente a los sistemas basados en hardware específico, el principal problema de la radio software ha estado siempre en sus elevados requerimientos en cuanto a capacidad de cómputo. Aunque el avance continuo de la tecnología permite construir sistemas cada vez más capaces, las prestaciones que se demandan del equipamiento de comunicaciones crecen de manera simultánea, de modo que los sistemas de radio software siempre requieren la máxima capacidad de cómputo que la tecnología sea capaz de ofrecer. Esto pasa, desde hace ya casi dos décadas, por el uso de sistemas multiprocesador, debido a la dificultad de mantener el ritmo de mejora en el rendimiento de un único procesador a base de avances en la tecnología de fabricación. A menudo, además, estos sistemas multiprocesador son heterogéneos; es decir, emplean procesadores de varios tipos, con distintas características y capacidades.

    El uso de sistemas multiprocesador heterogéneos plantea un nuevo reto: a pesar de que los primeros sistemas con multiprogramación datan de los años 60, el problema de cómo programar de forma eficiente este tipo de sistemas dista mucho de estar resuelto de forma general. Esto es además especialmente evidente en determinados nichos de aplicación, y en el ámbito concreto de la radio software las técnicas de programación que han recibido mayor atención y recursos de investigación a nivel general en estas dos últimas décadas no proporcionan resultados satisfactorios o lo hacen a costa de requerir un esfuerzo considerable.

    Este es el contexto en el que se desarrolla esta tesis doctoral, cuyo objetivo es desarrollar una metodología de programación para aplicaciones de radio software sobre sistemas multiprocesador heterogéneos. Para conseguir este objetivo se han seguido una serie de pasos que se resumen a continuación.

    En primer lugar se ha seleccionado una aplicación de referencia lo suficientemente compleja para permitir evaluar los resultados obtenidos. La aplicación seleccionada ha sido un receptor de televisión digital terrestre DVB-T.

    A continuación se ha empleado Matlab/Simulink, una herramienta comercial que es prácticamente un estándar de facto en el ámbito del procesado de señal, para crear un modelo funcional del receptor DVB-T, y se ha usado después este modelo para implementar el receptor en una plataforma hardware específica para radio software que combina un DSP y una FPGA. Este proceso ha servido para evaluar las posibilidades que ofrecen varias herramientas de diseño de alto nivel basadas en Simulink.

    En paralelo con este trabajo se ha realizado una búsqueda de herramientas que sirvieran como base para atacar el problema que se pretendía resolver en este trabajo de tesis, la programación de aplicaciones de radio software en sistemas multiprocesador heterogéneos. Se ha decidido basar el trabajo en GNU Radio, un kit de software libre para desarrollo para aplicaciones de radio software distribuído con licencia GNU GPL. Aunque en principio es una herramienta pensada para desarrolo en PC, sus características hacen posible adaptarla a plataformas empotradas especializadas, y al distribuirse con licencia GPL la disponibilidad del código fuente para su estudio y modificación es total. El trabajo de modelado realizado con Matlab/Simulink ha servido de base para realizar una segunda implementación del receptor DVB-T basada en GNU Radio.

    Tal como se distribuye, GNU Radio puede emplear varios procesadores pero únicamente en sistemas SMP (multiproceso simétrico); por tanto, el siguiente paso ha sido diseñar una extensión de GNU Radio que posibilita su uso en plataformas específicas para radio software sacando partido de todos los recursos (procesadores o aceleradores especializados) que puedan ofrecer. Esta extensión se ha diseñado de modo que sea lo más general posible y pueda adaptarse a cualquier plataforma para la que existan unas herramientas mínimas: un compilador de C++ y un mecanismo de comunicación entre procesadores accesible mediante una API POSIX estándar. La metodología propuesta es aplicable en plataformas que tengan aceleradores especializados en funciones específicas o aceleradores programables que puedan implementar una o varias funciones, sin limitaciones a priori en cuanto al número o tipo de aceleradores.

    La extensión a GNU Radio se ha implementado en dos plataformas hardware distintas. En primer lugar se ha utilizado una plataforma relativamente sencilla basada en un procesador OMAP 3530 de Texas Instruments, que combina un procesador de propósito general y un DSP. Esta primera implementación ha servido como prueba de concepto para validar el diseño de la extensión.

    En segundo lugar se ha empleado una plataforma mucho más potente basada en un procesador de la familia KeyStone II del mismo fabricante, que cuenta con cuatro procesadores de propósito general y ocho DSPs. Tras adaptar la extensión de GNU Radio a esta nueva plataforma se ha portado a la misma el receptor DVB-T, trasladando después dos de las tareas con mayor carga computacional (la decodificación convolucional con el algoritmo de Viterbi y el cálculo de la FFT) a los DSPs. Se ha conseguido de este modo una reducción de un 63% en el tiempo de ejecución del receptor respecto a la versión que emplea únicamente los procesadores de propósito general. Estos resultados confirman que la versión extendida de GNU Radio es capaz de distribuir las tareas de manera eficiente entre los recursos disponibles en la plataforma objetivo.

    Finalmente se ha sintetizado todo el trabajo realizado en una propuesta de metodología para el desarrollo de aplicaciones de radio software en arquitecturas multiprocesador heterogéneas basada en la extensión de GNU Radio, y se ha creado una implementación de referencia que puede emplearse como base para su uso en nuevas plataformas hardware. Esta implementación de referencia está disponible en el servidor Gitlab del Centro de Investigación en Tecnologías Software y Sistemas Multimedia para la Sostenibilidad (CITSEM) de la Universidad Politécnica de Madrid.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus