The GNSS measurement simulator is used to generate raw GNSS observables from an input file containing the simulated navigation solution of the receiver and an associated ephemeris file retrievied from CDDIS. The GNSS measurement simulator then uses this information to generate raw GNSS observables.
I developed this GNSS measurement simulator during my PhD with obvious reasons as to why I needed it. Some of the reasons behind it include:
- The simulator allows
comprehensive,repeatable, andcost-effectivemulti-systemmulticonstellationGNSS testing. - User motion and measurement generation can be
tightly integratedandeasily customisablein a software-based measurement simulator. - Allows for
ease of testingand evaluating a navigation scheme easy under different conditions leading tofaster turn around times. Multiple GNSS receiverscan easily be simulated, making iteasy to develop and assessrelative positioning systems such as RTK and PPK alongside GNSS attitude solutions.Low maintenace costs. GNSS hardware simulators areheavyandexpensiveunits and require expensive licenses and upgrades to keep up to date.Better control of the receiver dynamics. The level of control of the receiver dynamics in a hardware simulator is fairly limited. In [3], it was shown that double differenced code residuals were affected by large biases during turns or when the aircraft experienced rapid accelerations. As a result, the receiver lost lock. It was argued that the operation of the receiver tracking loops was the cause of the increased residuals to cope with the level of dynamics experienced by the receiver. Since the methods used within a receiver are proprietary, it was difficult to identify the exact cause. This makes a software-based GNSS simulator an attractive alternative to a hardware-based one since the receiver dynamics can be added or removed as desired by the user.
In the simulator, for a given frequency band i (here eliminated for brevity) the pseudorange s and a receiver r are given by:
where:
The measurement generation mechanism is shown in the figure below:
In addition to the measurements above, the simulator also outputs the carrier power to noise density ratio given by:
where:
Further, the thermal noise power is modelled using:
where:
Boltzmann's constant
In the simulator, the antenna gain variation with satellite elevation angle for the simulated receiver is shown in the figure below. And the
In the simulator, thermal noise affecting the pseudorange measurements is modelled as white noise with a standard deviation varying with the carrier power to noise density ratio. This is given by:
Results using the model above are shown in the figure below. The figure shows the multiconstellation pseudorange noise obtained using Hatch filter residuals from multiconstellation dataset.
For a detailed description of other error models including:
- Residual
Ionosphericerror model - Residual
Troposphericerror model MultipathmodelReceiver clockerror model
The user is directed to [1] and [2].
- To fetch ephemeris files, it is recommended to use the
fetch.pyscript. This will store any retrieved files in the CDDIS folder. For additional information, please refer to Fetching files
[1] Mwenegoha, H. A., Moore, T., Pinchin, J. and Jabbal, M. (2020) ‘A Model-based Tightly Coupled Architecture for Low-Cost Unmanned Aerial Vehicles for Real-Time Applications’, IEEE Access.
[2] Mwenegoha, H. A., Moore, T., Pinchin, J. and Jabbal, M. (2019) ‘Enhanced Fixed Wing UAV Navigation in Extended GNSS Outages using a Vehicle Dynamics Model and Raw GNSS Observables’, in Proceedings of the 32nd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2019). Miami, Florida, pp. 2552–2565.
[3] Pinchin, J. (2011) GNSS Based Attitude Determination for Small Unmanned Aerial Vehicles. University of Canterbury


