Previous Abstract Return to Session B1 Next Abstract
ION GNSS 2010
Session B1: Multi-Constellation User Receivers
Title: Massive Parallel Algorithms for Multi-Frequency GNSS Signal Simulation using GPU
Author(s): I. Bartunkova, B. Eissfeller, University FAF Munich, Germany
Date/Time: Wednesday, September 19, 2012, 8:57 a.m.
The development on the field of satellite navigation introduces new GNSS systems. The number of signal services and designed frequencies has increased from original GLONASS and GPS frequencies by Galileo, COMPASS, QZSS and new generation of GLONASS and GPS services. This progress facilitates the development of multi-system, and multi-frequency receivers. The multi-frequency approach minimizes ionospheric error and thus improves position precision; the multi-system solutions offer better availability. Development of such receivers implies growing demand for cost-effective solutions for testing, verification and standardization. Field testing and validation is costly and the scenarios are not reproducible. Furthermore the receivers for future systems and services, that are not yet transmitted, need to be tested. Therefore GNSS signal simulator became a widely used as an important tool in testing procedure. The market-ready solutions for simulation of multiple services and frequencies of GNSS signals are dedicated appliances with complex hardware parts for up-conversion and synchronization of analog radio frequency signals. For generation of the intermediate frequency signals the dedicated hardware ICs could reduce the price, but as these devices are sold in very limited numbers as customized products, the costly development of ICs does not pay off. Instead, the generation of the individual signal streams is realized using FPGAs. Such a software solution offers flexibility together with the speed of hardware, but the price for multiple FPGAs necessary for parallel generation of multiple signal streams is still quite high.
The development of navigation receivers faces hard cost constraints and the high price of these simulators plays an important role in the budget of testing and verification costs. To profit from flexibility of software solution and reduce the costs together with keeping the necessary speed for parallel generation, a general microprocessor can be the solution. It has low price thanks to usage in every PC, even higher flexibility than FPGA. The speed of processors has increased tremendously in the last decades. During last few years the direction of improvement changed from rising clock frequency to parallelization of several processors on one chip. One branch of development are general purpose CPUs, the other are specialized graphics processing units (GPUs) used for gaming. In the late 1990´s the usage of GPUs for general computation was introduces, at that time with demanding translation of variables and operations into graphical textures, rendering and shading operations. The GPU manufacturers took the chance to penetrate new market segments and developed their own application programming interface and programming environments. It was a contest between the two key market players, Nvidia and AMD, to bring its own solution to the market. Nvidia developed CUDA and AMD introduced Brook+. The later lost the run and CUDA is further developed and supported. With the progressing parallelization also in the field of CPUs, also here new paradigms and programming approaches became necessary, as typical programming languages are not practical for developing parallel code. Several years ago OpenCL has been specified. This framework allows development of parallel code for various architectures, GPUs as well as CPUs. The usage of computing power of GPUs for software defined radio was already introduced for software GNSS receivers (Pany et al 2010) using OpenCL. Our concept introduces a solution, where the signals of multiple GNSS services and frequencies are generated and mixed already as digital samples and first the final signal is converted to analog form. The digital signal generation and mixing is implemented on a strong GPU. The sample stream is converted to analog form using a SDR card. Upconversion to RF follows with a single upconverter. The demanding synchronization of multiple analog signals is not needed, therefore reducing the costs of radio frequency components tremendously. Instead of multiple costly FPGAs, a PC with a strong GPU is used. The computing power of its massive parallel multicore architecture designed for image processing is in this work exploited for generation of multiple GNSS signal services. Each of several multiprocessor of the GPU is dedicated to one signal service and can generate all of them in parallel. The bottleneck of the architecture of the GPU for purposes of signal generation is the data throughput to and from the graphic card. The GPU main memory is spacious enough to hold a big amount of data, but for the optimal speed it is necessary to operate on data in small local memory of each multiprocessor element of the graphic card. For the implementation we decided to use the CUDA library, because general frameworks as OpenCL do not reach so good performance as CUDA. So as to overcome the bottleneck of the data throughput, we merge the data streams already on the graphic card so as to limit the data output. The limitation on throughput can be easily overcome for generation of many channels of the same or near frequency bands. For distant bands multiple streams can be advantageous in contrast to the data amount caused by increased sampling rate. The combination of frequencies of lower and upper L-band exemplifies such a case. For the parallelization of signal generation by means of a GPU two different approaches are considered. The first one is parallelization over signal channels. Short sample batches are generated in parallel and followed by addition. This approach keeps exchanged data amount low, but cannot flexibly use all available processor units as the number of satellite channels is fixed. The second approach is the parallelization over time, which means generation of following time epochs in parallel. This approach generates too much data for small local memories, but can exploit the processor units to the limit. Our work searches for optimal combination for specific simulation scenarios and evaluates the results. The objective of our work is to study the concept and examine its possibilities for GNSS signal simulation under real time capability constraint. The advantages and disadvantages for different simulation scenarios and additional simulated signal features, e.g. multipath, will be assessed. The capacity to cover of the maximal number of GNSS services will be the maximum and presented against the possible compromises in the resolution.
Previous Abstract
Return to Session B1
Next Abstract

Member Login
News/Announcements
May 7, 2013
Register today for The Institute of Navigation’s GNSS+ 2013 Conference
April 12, 2013
ION PTTI 2013 Conference Now Accepting Abstract Submissions
March 11, 2013
