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-effective
multi-systemmulticonstellation
GNSS testing. - User motion and measurement generation can be
tightly integrated
andeasily customisable
in a software-based measurement simulator. - Allows for
ease of testing
and evaluating a navigation scheme easy under different conditions leading tofaster turn around times
. Multiple GNSS receivers
can easily be simulated, making iteasy to develop and assess
relative positioning systems such as RTK and PPK alongside GNSS attitude solutions.Low maintenace costs
. GNSS hardware simulators areheavy
andexpensive
units 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
Ionospheric
error model - Residual
Tropospheric
error model Multipath
modelReceiver clock
error model
The user is directed to [1] and [2].
- To fetch ephemeris files, it is recommended to use the
fetch.py
script. 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