A Complete Software-Based IF GNSS Signal Generator for Software Receiver Development
Olivier Julien,Bo Zheng,Lei Dong,Gérard Lachapelle
2004-01-01
Abstract:The recent development of Global Navigation Satellite Systems (GNSS) software receivers has brought a new perspective to receiver design. The first step necessary to use them is to have access to sampled data at an Intermediate Frequency (IF). These sampled data can be provided through two different ways. First, an RF front-end that would sample data coming from either the real satellites or from a hardware signal generator, if the latter exists at all for the signals of interest. Real data might not be suitable when a specific aspect of GNSS is studied, especially in a research and development context, or might not yet be available as in the case of GPS L5 and Galileo signals. Hardware signal simulators were created to fill that gap, and are now widely used. However, they are very expensive, may not be available for the signals of interest and consequently might not be always suitable for specialized research due to their lack of flexibility. Sampled data can also be provided by a software IF signal generator. Such a tool includes signal simulation as well as front-end filtering and sampling, fully software-based, and can fed directly into a software receiver. Such programs are already used and are often created by the research groups themselves to fit their research programs. Although they offer a total control of all the parameters for simulation purpose, they are often highly specialized and, as such tend to model only a part of the error sources of interest, e.g., jamming or multipath. The Position, Location And Navigation (PLAN) research group of the Department of Geomatics Engineering has developed a complete IF signal generator that can model the new GPS and Galileo signals propagation channels while being versatile and customizable. This signal generator allows for the modeling of pre-defined environments for specific applications. It offers a direct access to IF sampled data that can be directly used by a software receiver. From an ephemeris file, an entire constellation of satellites can be easily simulated. The entire GNSS propagation channel is then modeled. Finally, the front-end filter and the Analog-to-Digital Converter (ADC) (1-bit quantization) are simulated. A first Matlab/C, GPS-only version of this IF signal generator modeled thermal noise, satellite clock errors, atmospheric errors, the front-end filter, and an ADC. The current enhanced version, written in C++ to improve processing speed, now includes multipath modeling, different antenna gain patterns, and multiple signal waveform generation. These were all implemented in a modular manner in order to be easily modified or enhanced by new models or algorithms for further applications. The multipath channel is critical because different applications require different multipath models. It has been divided in two main components: diffuse and specular reflections. This allows for a versatile and easily reconfigurable environment. The antenna gain pattern also plays a significant role for many applications. Finally, the simulator includes a signal waveform module where the user can either create its own signal waveform (for instance candidates for Galileo signals) or select one from pre-defined signals (for instance L1, L5). This allows for testing in a simulated environment of new signals that are not broadcast yet. Finally, the user trajectory can be easily defined, and static or kinematic scenarios can be simulated. As a result, this complete IF signal generator is very well suited for the development phase of a software receiver due to its versatility. It also allows for a wide range of thorough tests, including the impact of atmospheric biases, the study of tracking loops in different conditions, and the assessment of multipath impact in a pre-defined environment. The full access to the sampling frequency value, front-end filter definition or ADC parameters also offers a great opportunity for cost-effective detailed studies of tracking loops and error mitigation techniques at the receiver level. Sources of interference can be easily added to the program to simulate specific environments. This software signal generator can also be used to feed a multi-frequency multi-system software receiver for the prototyping of a combined GPS/Galileo receiver.