
Technical Article • July/August 2015
SoftwareDefined GNSS Simulator: A Step ForwardHarnessing the Progress in ComputingConceptually, softwaredefined GNSS simulators are very attractive due
to their flexibility and cost benefits. For practical reasons, such a
simulator should be fullfeatured with realtime capabilities. Thanks to
advances in the design and capabilities of graphics processing units,
the realtime computational capabilities of the conventional PC are
significantly improved. This article describes the development and
performance of an SDR simulator that combines the realtime
computational capabilities of a GPU with the universal software radio
peripherals. To evaluate that performance, the research described here
uses highgrade GNSS receivers.
Share via: Slashdot Technorati Twitter Facebook A few studies (by universities and industry) have shown the feasibility of simulation of realtime digital intermediate frequency (IF) signals based on a graphics processor unit (GPU). And a couple of articles have also demonstrated use of a universal software radio peripheral (USRP)–based softwaredefined radio (SDR) as a simulator (in playback mode) in real test environments. However, to the best of our knowledge, all the most recent studies seem to share a lack of results in portraying the detailed performance of such simulators in presence of highgrade GNSS receivers. Moreover, opinions are divided as to the quality of USRP performance and their usability for highgrade GNSS receiver testing. Nevertheless, this is an important aspect to consider for all potential users who consider the SDR approach as an alternative solution to conventional hardwarebased simulation equipment. The team of LASSENA (Laboratory of Space Technologies, Embedded System, Navigation and Avionic) of the École de technologie supérieure in collaboration with Skydel Solutions conducted a series of tests with a new SDR GNSS simulator. The purpose of the tests was to evaluate the real performances of the SDR simulation approach when used in conjunction with highgrade GNSS receivers. This article presents the test methodology, results, and conclusions drawn from these tests. The first section will introduce the SDR GNSS simulator design. The methodology section describes the test setup and the approach employed for analyzing the test data. The results section presents the measurements that we obtained, along with their analysis.
SDR GNSS Simulator Figure 1 schematically illustrates the most common architecture of conventional GNSS simulators. Lowrate processes usually deal with simulation of satellites orbit, receiver trajectory, atmospheric delays, antenna pattern, impairments, and so forth. The pseudorange, Doppler, and power per satellite are computed and serve as stimuli for processing in the hardware circuits. The highrate modulation is usually done in fieldprogrammable gate array (FPGA) modules. Depending on the FPGA’s specific functionality, a number of dedicated channels per module cannot be changed for a given hardware design. Conventional hardware simulators were used for GPS/GNSS receivers testing and validation from the beginning of GPS. The simulators brought repeatability and control to simulated satellite constellation and impairments. At that time, no other alternative but FPGAbased technology existed for highrate digital signal processing to enable realtime simulation. For more than three decades, the conventional simulators evolved into a very precise and robust GNSS test equipment allowing for millimeterlevel precision on simulated code and carrierbased range measurements. Dedicated hardware simulation approaches, however, have some disadvantages, perhaps the most important of which are a high cost per unit and reduced flexibility due to a slow productdevelopment evolution as these types of simulators are typically deployed in low numbers. Adding new features or functionalities can be difficult and costly, as the programming of FPGAs requires special programming tools and skills. Also, in order to add additional signals or constellations, some or even all of the hardware has to be replaced, which may be very expensive and impractical. In contrast, a SDR GNSS simulator uses offtheshelf products such as a PC equipped with GPU and USRPs. Highrate modulation is carried out on the GPU instead of the dedicated FPGA modules. GPUs are sold as massmarket products with relatively low prices. Meanwhile, as with integrated circuits, the processing power of GPUs follows Moore’s Law and doubles every 18 months. Moreover, the programming of such devices is based on general programming tools and does not require special skills, greatly facilitating the evolution and portability of the simulator. As for USRPs, these universal SDR platforms are sold in large quantities and economies of scale keep the price low. Consequently, SDRs are constantly evolving, improving the RF signal quality and increasing the signal bandwidth. Two modules comprise the SDR simulator under consideration (in turnkey configuration): 1) a PC or laptop and 2) a USRP. The two modules are connected via a high rate data link. To allow for different configurations and hardware connectivity, the data link can be either PCIe x4, PCIe x1, 10gigabyte Ethernet, or 1gigabyte Ethernet. The simulator is crossplatform and can run on Windows, Linux, or OS X operating systems. The first module, the PC, simulates the selected GNSS constellations and executes all necessary computations to generate the highrate zero IF GNSS baseband signal. The digital complex IQ data stream is then transmitted (via a high throughput link) to the USRP. This second module carries out signal preprocessing and filtering, and converts the zero IF baseband signal to RF. The USRP is configured to have the signal’s power level per satellite at RF output as selected by the GNSS simulation scenario. The USRPs allow for single or multiple RF outputs. Figure 2 presents a generic blockdiagram of the SDR simulator. The PC does the lowrate computations on its CPU and the highrate modulation on the GPU. Nowadays, offtheshelf GPUs allow for hundreds of channels (satellites) to be simulated simultaneously with rates higher than 25MS/s per channel in complex (that is equivalent to more than 20 megahertz of bandwidth per channel) to support realtime simulation. The GPU by itself is a modular product and, if required, can be upgraded in the PC to increase the channel bandwidth or number of channels. For SDR simulation, the USRP is basically used as a frequency upconverter to translate the zero IF baseband signal to RF. The main functional parts (in transmission) of the USRP are the digitaltoanalog converter (DAC) and the frequency upconverter. Depending on the selected model, the USRP device may have one or several RF upconversion channels. The sample clock for all DACs is derived from the same reference clock, which can be internal or external. For multifrequency simulation, multiple USRPs can be synchronised by an external 10megahertz reference and triggered by the common one pulse per second (1PPS) signal. The first versions of the SDR simulator employed in this study use a networked SDR that can transfer up to 50 MS/s of complex, baseband samples to and from the host computer for the singlefrequency model and a highperformance, scalable USRP SDR platform for the dualfrequency model. With the former, the GPS L1 or GLONASS G1 signals are simulated with a signal bandwidth of 20 megahertz. With the latter model, the GPS L1 and GLONASS G1 signals for all visible satellites are simulated simultaneously with 20 megahertz (or more, if required) of bandwidth per constellation. For the test purpose of this study, we selected the singlefrequency SDR simulator with the GPS L1only configuration. The simulator includes: 1) a MacBook Pro, circa mid2012, with i7quad core and an NVIDIA GeForce GT 650M GPU, 2) the networked USRP SDR with a WBS RF daughterboard and 3) an external 10megahertz ovencontrolled crystal oscillator (OCXO) reference clock. (Note that a lower performance PC model could also be used without any performance degradations.)
Methodologies and Test Setup The precision of the standalone position as well as the code and carrier phase measurements represent a combined contribution of the performances of the SDR simulator and the GNSS receiver itself. Nevertheless, this provides a good indicator as the performances of highgrade receivers nowadays allow for better than onemillimeter resolution on the carrier and a couple of centimeters on the code measurements. The team selected two highgrade GNSS receivers for precise measurements and raw data logging. Two types of scenario were created: static and dynamic with slow motion on a circle (radius = 50 meters and speed = 3 meters/s). Figure 3 shows the test setup. The simulated signal (via a passive threedecibel splitter) is evenly distributed between two identical highgrade GNSS receivers. The satellites are simulated with equal power (no power variations with elevation angle) and the carriertonoise density ratio (C/N0) at the receivers’ input is set to 46 dBHz (to minimize the noise contribution of the receiver). In order to avoid additional errors due to a mismatch of atmospheric models between the SDR simulator and the receiver, the ionospheric and tropospheric delays were turned off on both. The methodology for signal analysis is inspired by that described in the article by P. F. de Bakker et alia, although adapted to the present case. Essentially, the analysis is based on the code and carrier phase measurements, sometimes called observations in single and doubledifference formations. We also measured the standalone position estimate and analyzed the accuracy in two and three dimensions against the simulated one. In general form, the observations are defined as per Equation (1) and (2): P = r + cΔt_{rec}_{ }− cΔt_{sat} + T + I + M_{p} + τ_{p} + ε_{p} (1) Φ = r + cΔt_{rec} − cΔt_{sat} + T + I + M_{φ} + λN + τ_{φ} + ε_{φ} (2) where P and Φ are pseudorange and carrier phase accumulation, r is the geometric range, c is the speed of light, Δt_{rec} and Δt_{sat} are receiver and satellite clock errors, T and I are tropospheric and ionospheric delays, M_{p} and M_{φ} are code and phase multipath, τ_{p} and τ_{φ} are instrumental code and phase delay, and ε_{p} and ε_{φ} are random code and phase error (Let’s call the last variable phase noise).
Code Phase Estimate In the first approach, the code phase noise is estimated through single and doubledifference formation. Considering the measurements for two receivers (A and B), we obtain: P_{a}^{m} = r + cΔt_{a} − cΔt_{m} + T + I + M^{m}_{pa} + τ_{pa} + ε^{m}_{pa} (3) P_{b}^{m} = r + cΔt_{b} − cΔt_{m} + T + I + M^{m}_{pb} + τ_{pb} + ε^{m}_{pb} (4) The subscript a and b indicates measurements for receiver A and B, respectively and the superscript m, the mth satellites. P^{m}_{a,b} is code pseudorange, r is geometric range, cΔt_{a,b} represents receiver clock errors, cΔt_{m} is satellite m clock error, T and I are tropospheric and ionospheric delays, M^{m}_{pa,b} is phase multipath, τ^{m}_{pa,b} are instrumental phase delay, and ε^{m}_{pa,b} is code phase noise. Assuming that no multipath M, exists in the measurement, the singledifference (SD) range calculation to the satellite m is obtained as:
SD^{m}_{pab} = P_{a}^{m} − P_{b}^{m} = cΔt_{ab} + τ_{pab} + ε^{m}_{pab} (5) where cΔt_{ab} = cΔt_{a} − cΔt_{b}, τ_{pab} = τ_{pa} − τ_{pb}, and ε^{m}_{pab} = ε^{m}_{pa} − ε^{m}_{pb} To form the double difference, a second satellite n is selected for the SD:
SD^{n}_{pab} = P_{a}^{n} − P_{b}^{n} = cΔt_{ab} + τ_{pab} + ε^{n}_{pab} (6) DD^{mn}_{pab} = SD^{m}_{pab} − SD^{n}_{pab} = ε^{m}_{pab} − ε^{n}_{pab} = ε^{mn}_{pab} (7) To estimate the variance of the code phase noise for a single receiver, we have to consider that the variance of a DD computation is approximately four times that of a single receiver, thus:
VAR(ε^{mn}_{pab}) ≈ 4(1 − [ρ_{ε}]_{SD}) ⋅ VAR(ε_{a}) (8) The [ρ_{ε}]_{SD} is the correlation coefficients for the SD formation. We assume that, for a single difference, no correlation exists between the phase noise of the two receivers, therefore, the correlation coefficient [ρ_{ε}]_{SD} ≈ 0. Based on this assumption and considering the same model of receivers and the same signaltonoise ratio (SNR), the phase noise variance is given as Equation (9) (see inset photo, above right) In the second approach, the code phase noise can be easily estimated trough codeminuscarrier observations to the same satellite as follows:
P − Φ = ΔI_{ρ−ϕ} + ΔM_{ρ−ϕ} − λN + Δτ_{ρ−ϕ} + Δε_{ρ−ϕ} (10) In this computation, the common code and carrier phase measurements parameters (r, cΔt_{rec}, cΔt_{sat }and T) are eliminated. Furthermore, for our particular case, we assume that ΔI_{ρ−ϕ} = 0 and ΔM_{ρ−ϕ} = 0 (that is, no ionospheric delay and multipath in the simulated scenario) and Δε_{ρ−ϕ} ≈ ε_{ρ} as the phase noise is about an order of magnitude lower than the code noise. Next, a loworder polynomial p(t) is fitted to the codeminusphase computed data to remove slowly changing components. With those considerations and without losing accuracy, codeminuscarrier becomes: VAR((P − Φ) − p(t)) ≈ VAR(ε_{ρ}) (11)
Carrier Phase Estimate Φ_{a}^{m} = r + cΔt_{a} − cΔt_{m} + T − I + M^{m}_{ϕa} + λN_{a}^{m} + τ_{ϕa} + ε^{m}_{ϕa} (12) Φ_{b}^{m} = r + cΔt_{b} − cΔt_{m} + T − I + M^{m}_{ϕb} + λN_{b}^{m} + τ_{ϕb} + ε^{m}_{ϕb} (13) The subscript a and b indicates measurements for receiver A and B, respectively, and the superscript m, the mth satellites. The other terms in (12) and (13) are:
Considering that the ionospheric simulated delay is not applied (I = 0) and no multipath are simulated, the SD to the satellite m is obtained as
SD^{m}_{ϕab} = Φ_{a}^{m} − Φ_{b}^{m} = cΔt_{ab} + λN^{m}_{ab} + τ_{ϕab} + ε^{m}_{ϕab} (14) To form the DD, a second satellite is selected for the SD: SD^{n}_{ϕab} = Φ_{a}^{n} − Φ_{b}^{n} = cΔt_{ab} + λN^{n}_{ab} + τ_{ϕab} + ε^{n}_{ϕab} (15) DD^{mn}_{ϕab} = SD^{m}_{ϕab} − SD^{n}_{ϕab} = λN^{m}_{ab} − λN^{n}_{ab} + ε^{m}_{ϕab} + ε^{n}_{ϕab} (16) We remove the cycle ambiguities λN^{m}_{ab} and the cycle slips by inserting a fit polynomial p(t) into Equation (16), to obtain the following:
DD^{mn}_{ϕab} − p(t) ≈ (ε^{m}_{ϕab} − ε^{n}_{ϕab}) = ε^{mn}_{ϕab} (17) Again here, to estimate the variance of the carrier phase noise for single receiver, we have to consider that the variance of the DD formation is about four times the variance of a single receiver:
VAR(ε^{mn}_{ϕab}) ≈ 4(1 − [ρ_{ε}]_{SD}) ⋅ VAR(ε_{ϕa}) (18) where [ρ_{ε}]_{SD} is the correlation coefficients for the SD formation. Assuming that, for an SD, there is no correlation between thermal noise of two receivers, then the correlation coefficient [ρ_{ε}]_{SD} ≈ 0. Based on this assumption, and considering the same model of receivers and the same SNR, the variance of carrier phase noise becomes: Equation (19) (see inset photo, above right)
Test Results and Analysis The measured code (using doubledifference as well as in codeminuscarrier techniques) and carrier phase noise in the presence of the SDR simulator is in the range of the receivers’ precision (less than three centimeters for code and less than 0.4 millimeters for carrier). The results for standalone positioning are correlated with the code measurements. Based on these results, the SDR simulator allows for highgrade receivers’ testing at the limits of the precision defined by the receivers’ manufacturer. The test results presented here were compiled based on GPS L1 C/A code only. We believe that the same approach can be applied to other type of signals and constellations. In fact, it is inspired from methodology used for Galileo signal analysis described in the de Bakker et alia article cited earlier. Nevertheless, it can be concluded that the measurements will be somehow limited in precision by the receiver itself. For example, based on the specifications of the selected receiver, the code and carrier phase measurements for GLONASS G1, G2, and GPS L2 are expected to be almost twice the value for GPS L1 C/A. For the same reason, it is expected that the code and carrier phase measurements for GPS L5 will be close to values obtained for GPS L1 C/A.
Conclusion This article has tried to answer those concerns, adopting a straightforward approach by jumping directly into the real usecase: simulation of precise GPS L1 signals. The raw measurements from two highgrade GNSS receiver were used as indicator of the simulated signal’s quality. The test results show that the phase measurements in the presence of the SDR simulator are better than 3 centimeters for the code and 0.4 millimeters for the carrier. The quality of simulated signals is also confirmed by the precision of the position estimates in standalone mode. This study clearly confirmed that realtime SDR simulator, based on USRP, can achieve the level of precision suitable for highgrade receivers testing
Acknowledgment
Additional Resources ManufacturersThe softwaredefined radio (SDR) simulator discussed in this article is produced by Skydel Solutions, Montreal, Quebec, Canada. The singlefrequency version of the Skydel simulator used the Universal Software Radio Peripheral USRP 210 and the dualfrequency version used the USRP X300, both from Ettus Research, Santa Clara, California USA. The GNSS receivers were the FlexPak6 enclosures from NovAtel, Inc., Calgary, Alberta, Canada.Copyright © 2018 Gibbons Media & Research LLC, all rights reserved. 
