Publication (Phd Thesis)

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

Lobo Perea, Pedro José
Software Radio or Software Defined Radio (SDR) is the implementation of radio communication systems using programmable processors instead of dedicated hardware. The first use of the term dates back almost four decades, but it was in the second half of the 1990s that the concept gained momentum as the technology available at that time began to make its practical use possible, and today it can be said that all radio devices employ this technique to a greater or lesser extent. Despite its obvious advantages in terms of flexibility and speed of development over systems based on dedicated hardware, the main problem with software radio has always been its high computational requirements. Although the continuous advance of technology makes it possible to build ever more capable systems, the performance demanded from communications equipment is also constantly growing, so that radio software systems always require the maximum computational capacity that the technology is able to offer. Since almost two decades now, this has led to the use of multiprocessor systems, due to the difficulty of keeping pace with improvements in the performance of a single processor based on advances in manufacturing technology. In addition, these multiprocessor systems are often heterogeneous, i.e. they use processors of various types, with different characteristics and capabilities. The use of heterogeneous multiprocessor systems poses a new challenge: although the first systems with multiprogramming date back to the 1960s, the problem of how to efficiently program such systems is far from being generally solved. This is particularly true in certain application niches; for the specific field of radio software, the programming techniques that have received the most attention and research resources at a general level in the last two decades do not provide satisfactory results or do so at the cost of considerable effort. This is the context in which this Ph.D. thesis is developed, whose objective is to develop a programming methodology for radio software applications on heterogeneous multiprocessor systems. The steps that have been followed in order to achieve this objective are summarised below. First, a sufficiently complex reference application has been selected to allow the evaluation of the results obtained. The selected application has been a DVB-T digital terrestrial television receiver. Matlab/Simulink, a commercial tool that is practically a de facto standard in the field of signal processing, has been used to create a functional model of the DVBT receiver. This model has been used to implement the receiver on a radio-specific hardware platform combining a DSP and an FPGA. This process has been used to evaluate the possibilities offered by several high-level design tools based on Simulink. At the same time, a search has been carried out for tools that could be used as a basis to attack the problem that this thesis work was intended to solve, the programming of radio software applications in heterogeneous multiprocessor systems. The choice was GNU Radio, a free software development kit for radio software applications distributed under the GNU GPL licence. Although it is a tool designed for PC development, its characteristics make it possible to adapt it to specialised embedded platforms, and as it is distributed under the GPL licence, the source code is fully available for study and modification. The modelling work carried out with Matlab/- Simulink has served as the basis for a second implementation of the DVB–T receiver based on GNU Radio. As distributed, GNU Radio can use multiple processors but only on SMP (symmetric multiprocessing) systems; therefore, the next step has been to design an extension to GNU Radio that makes it possible to use it on specific software radio platforms, taking advantage of all the resources (processors or specialised accelerators) that they can offer. This extension has been designed to be as general as possible and can be adapted to any platform for which minimum tools exist: a C++ compiler and an interprocessor communication mechanism accessible through a standard POSIX API. The proposed methodology is applicable to platforms that have accelerators specialised in specific functions or programmable accelerators that can implement one or several functions, without a priori limitations on the number or type of accelerators. The extension to GNU Radio has been implemented on two different hardware platforms. First, a relatively simple platform based on a Texas Instruments OMAP 3530 processor, which combines a general purpose processor and a DSP, has been used. This first implementation has served as a proof of concept to validate the extension design. Secondly, a much more powerful platform based on a processor of the KeyStone II family from the same manufacturer, which has four general-purpose processors and eight DSPs, has been used. After adapting the GNU Radio extension to this new platform, the DVB-T receiver has been ported to it, and two of the most computationally intensive tasks (the convolutional decoding with the Viterbi algorithm and the FFT calculation) have been transferred to the DSPs. This has resulted in a 63% reduction in receiver execution time compared to the version using only the general-purpose processors. These results confirm that the extended version of GNU Radio is able to distribute the tasks efficiently among the resources available on the target platform. Finally, all the work has been synthesised into a proposed methodology for the development of radio applications on heterogeneous multiprocessor architectures based on the GNU Radio extension, and a reference implementation has been created that can serve as a basis for use on new hardware platforms. This reference implementation is available on the Gitlab server of the Centro de Investigación en Tecnologías Software y Sistemas Multimedia para la Sostenibilidad (CITSEM) of the Universidad Politécnica de Madrid.
Research areas:
Type of Publication:
Phd Thesis
Type of Publication:
Tesis (Doctoral)
Eduardo Juárez y César Sanz
Sobresaliente cum-laude