1. Introduction
The development of intelligent transportation is one of the essential objectives of building a smart city, namely smart mobility [
1]. The intelligent transportation system (ITS) aims to alleviate traffic jams and enhance traffic efficiency with sufficient assistance and planning. However, as the foundation of ITS, the precise navigation of transportation participants can hardly be achieved, especially in the dense urban area [
2]. Most of the navigation algorithms rely on the global navigation satellite system (GNSS) for functionality or initialization, since it is the primary sensor directly providing the absolute positioning solution. Besides the systematic interferences that can be adequately modeled (e.g., atmospheric delay and ephemeris error), the GNSS measurement can be degraded by other effects related to the environment, resulting in an enormous positioning error unqualified for ITS [
2,
3]. On the other hand, the GNSS precise point positioning (PPP) [
4,
5] or real-time kinematic (RTK) [
6] technique employing the carrier phase measurement can achieve submeter level accuracy. However, the visibility limitation and cycle-slip phenomenon in the urban area will significantly degrade their reliability [
7,
8]. Although various approaches, such as the integration of GNSS with INS, camera [
9], or LiDAR-based simultaneous localization and mapping (SLAM) [
10,
11], are capable of achieving better positioning accuracy, they still require an accurate absolute positioning solution from GNSS for initialization. It is inevitable to improve the GNSS positioning accuracy in the urban area prior to ITS development.
Due to the rapid development of vehicle-to-everything (V2X) communication technology [
12], the collaboration of transportation participants to achieve accurate positioning solution becomes possible, namely the collaborative positioning (CP). In most CP techniques, the neighboring road agents (GNSS receivers) measure and share the interagent ranges as well as their positioning solutions, in order to optimize the overall positioning solution of each involving agents. By making use of the additional interagent information, the CP can achieve higher positioning accuracy compared with conventional standalone solution [
13,
14,
15]. Another straight-forward benefit of employing CP is to reduce the common noise by involving more road agents during positioning [
16]. Moreover, CP can make use of the network geometry formed by road agents to improve the overall positioning optimization [
17]. Unlike the transponder-based CP approach using DSRC or UWB, the GNSS-based CP can maintain the collaboration even when there exist obstacles between agents [
18]. Among various GNSS-based CP methods, a popular approach is to apply double difference (DD) on the pseudorange measurements from neighboring road agents to eliminate the systematic error during relative positioning, such as atmospheric delay and ephemeris error [
19,
20]. Besides, based on the angular geometry between satellites and agents, the interagent range can be estimated for CP even when some of the satellite signals are blocked by buildings [
21]. However, these methods can be significantly degraded by the multipath and NLOS reception error. Recently, the 3D mapping aided (3DMA) GNSS technique has been developed, using the 3D building model to predict and mitigate those errors in the urban area. Two representative approaches are the 3DMA GNSS shadow matching based on the satellite visibility prediction [
22] and the 3DMA GNSS ray-tracing based on the LOS/NLOS pseudorange prediction [
23]. Then, the CP algorithms are extended by the 3DMA GNSS to achieve better performance in the urban area. The predicted satellite visibilities of neighboring road agents from the 3D building model are collaborated to achieve better position estimation [
24,
25]. Moreover, a complementary integration of the 3DMA GNSS ray-tracing technique and the DD based GNSS CP is developed to eliminate the systematic error and mitigate the uncorrelated NLOS error simultaneously [
26]. The integration of 3DMA GNSS and CP has excellent potential to achieve satisfactory positioning accuracy in the urban area.
However, most of the CP algorithms are validated through naive simulated measurements, which behave very differently from the real experiments. A popular approach is to test the algorithm with additional simulated errors based on statistical models [
20,
27,
28]. Although the normal distribution can model many of the measurement noises, the GNSS measurement error in the urban environment is dominated by the enormous signal delay due to building reflection. This delay is uniquely related to the geometry between satellites, GNSS receiver, and the reflecting surface, which may differ between each road agent. Hence, it is inappropriate to validate the CP algorithm with the GNSS measurement error simulated by the normal distribution or other statistical distribution models. Some studies directly use real measurements collected from multiple receivers for validation [
19,
26], whereas the agent amount is limited to a few. It is tough to test large-scale performance with large numbers of agents or study the influence of network size. Therefore, it is necessary to develop a realistic GNSS measurement simulator to study the CP performance in the urban area comprehensively.
There exist various types of GNSS measurement simulators, from tracking-level to measurement-level. The MUltipath Simulator Taking into Account Reflection and Diffraction (MUSTARD) developed by the Jet Propulsion Laboratory (JPL) is a famous GNSS measurement simulator [
29], considering the signal reflection and diffraction effect based on the ray-tracing algorithm. The Satellite Navigation Radio Channel Signal Simulator (SNACKS) from the German Aerospace Center (DLR) further considers the multipath channel effect during simulation [
30]. Moreover, the commercial GNSS simulator SimGEN
® + SE-NAV developed by the Spirent Communication not only uses ray-tracing to track all valid reflection or diffraction signals, but also considers the interaction between those traced signals [
31]. To reduce the simulation complexity, another approach is developed, which simulates the tracking-level measurements in urban based on reference data collected from software defined receiver (SDR) [
32]. The above simulators employ complicated algorithms to simulate the GNSS tracking-level measurements, whereas most CP studies only employ GNSS measurement-level data. For simplification, other GNSS simulators focusing on measurement-level data have been developed, such as the GNSS carrier-to-noise ratio (
) simulation for positioning aiding [
33], the GNSS LOS/NLOS pseudorange simulation by ray-tracing [
23], or the Doppler shift modeling under multipath effect [
34,
35]. However, many of them are not sophisticated enough with comprehensive error and noise modeling, for example, neglecting the multipath interaction error on pseudorange, or the tracking loop noise related to
. Moreover, those GNSS simulators are designed for one specific kind of measurement of a single receiver. It is also necessary to develop a simulator supporting multiagent full GNSS raw measurement simulation for CP studies.
In this study, a realistic GNSS measurement simulator is developed for multiple agents in the urban environment. Based on the satellite ephemeris, 3D building model, and the location of different road agents, the GNSS measurement-level data corresponding to each agent is simulated through the ray-tracing algorithm, including pseudorange,
, and Doppler frequency. To make the simulator suitable for CP studies, the locations of road agents are generated based on the dynamics and transportation mobility of road agents by SUMO (Simulation of Urban MObility) [
36]. By considering the direct, reflected, diffracted, and multipath GNSS signal through ray-tracing, the measurement-level GNSS data with sophisticated modeling noises are simulated for multiple road agents in the urban area, in order to supply realistic large scale data for CP research. The contributions of this study are summarized as follows:
- (1)
Providing multiagent GNSS simulation for ITS and CP applications considering the transportation mobility from SUMO. By applying with different advanced positioning methods, the simulated measurements are capable of reflecting the positioning difficulties in the dense urban area.
- (2)
Holistically organizing and combing the important findings related to GNSS simulation from the related works and providing a complete GNSS simulator structure with detailed steps. A realistic measurement-level GNSS simulator is developed based on comprehensive error models without referencing RF data from SDR.
- (3)
A sophisticated GNSS simulator is developed for the GPS/BDS measurements in an urban scenario, in which the effects of signal reflection, diffraction and the interferences in-between are considered. The detailed modeling of those interferences on the pseudorange, , and Doppler frequency measurements is presented and verified by comparing with real measurements.
The rest of the paper is structured as follows: the overall structure of the proposed realistic multiagent urban GNSS simulator is demonstrated in
Section 2. The detailed procedures of ray-tracing simulation on direct, reflected, and diffracted GNSS signals are explained in
Section 3. In
Section 4, the GNSS measurement simulation will be elaborated based on different cases, including direct propagation, reflection, diffraction, and multipath. The modeling of GNSS measurement systematic error and noise are also explained in this section. Then, the performance of the proposed simulation is validated through different real experimental data and the positioning result based on popular positioning algorithms in
Section 5. After discussing results and the future works in
Section 6, the conclusion is drawn in
Section 7.
2. Simulator Structure
The overall structure of the proposed GNSS realistic urban multiagent simulator (RUMS) is shown in
Figure 1.
Table 1 shows the key models and their corresponding references being employed in the simulator developed in this paper. First, the locations or trajectories of all the involving road agents require to be generated before GNSS measurement simulation. For large scale CP studies, the transportation environment could influence the traffic flow and the available collaborator in a specific range. Therefore, it would be more realistic to evaluate the CP performance based on the simulated measurement considering the traffic condition. SUMO is an urban transportation simulator generating the trajectories of multiple road agents based on the transportation environment and facilities in a certain area. The traffic flow, road agent type (pedestrian or automobile), and other advanced settings can also be customized. In this study, we employ the simulated position
and velocity
of each road agent on GPS time from SUMO, namely the Road Agent PVT Data, to consider the urban mobility effect during the GNSS measurement simulation. Besides the information of road agents, the satellite positions
from ephemeris and the 3D building model with building corner positions
are also required before simulation. The last required information is the Receiver Parameter/Model representing the hardware characteristic of the GNSS receiver in the simulation, which will be interpreted with details in
Section 4.6.
For each road agent, the ray-tracing simulation is firstly employed based on the agent and satellite position as well as the 3D building model, in order to search all valid GNSS signal rays via direct propagation, diffraction or reflection from each satellite. Based on the ray-tracing result, the measurement of each satellite will be categorized into four types following different simulation strategies:
- (1)
LOS only: only the line-of-sight (LOS) signal propagation path is available and unobstructed;
- (2)
Single diffraction: only one diffraction path is available;
- (3)
Single reflection: only one reflection path is available; and
- (4)
Multipath: more than one propagation path is available, including any combination of the three cases above.
For the case of LOS only, the is simulated from an elevation-based open-sky regression model. The ranging measurement is the direct distance between satellite and agent without delay. The Doppler shift measurement is simulated from the Doppler effect model based on the location and velocity of the satellite and receiver.
For the single diffraction case, the
measurement is simulated by the open-sky model and the uniform geometrical theory of diffraction (UTD) model [
38]. The corresponding ranging measurement is the summation of the direct range and the extra delay due to diffraction. The diffracted Doppler shift is modeled by the Doppler effect with an intermediate point [
34].
For the single reflection case, the
is simulated based on the open-sky model with an attenuation factor from the GNSS reflectometer (GNSS-R) model [
42,
52]. The ranging measurement is modeled by adding the reflection delay on the direct distance. Similar to diffraction, the Doppler shift measurement of a reflected signal is simulated by the Doppler effect with an intermediate point.
For the case of multipath, the is simulated based on the superposition of fields from each valid signal, considering the interaction due to the differences in phase and amplitude. The corresponding ranging measurement is simulated by the multipath noise envelope based on the strength and delay of each signal, which takes the interferences in-between into account. The multipath Doppler shift is simulated based on the dominating signal path with the highest among all available paths.
Finally, the measurement systematic error and noise are simulated on top of the preceding
, ranging and Doppler shift simulation result based on the GNSS receiver characteristics. The
measurement noise is simulated based on the standard deviation of the narrow-to-wide power ratio evaluation method [
45]. The pseudorange measurement is simulated by incorporating the receiver clock bias, tropospheric delay, ionospheric delay, ephemeris error, satellite clock error, and a normally distributed noise based on the pseudorange error budget [
44] for the above terms. Moreover, the
-related delay lock loop (DLL) noise is considered during the pseudorange simulation. The frequency lock loop (FLL) noise is also added on the preceding simulated Doppler shift. The simulated GNSS measurements of different agents are collected along GPS time and used for the CP algorithm test.
4. GNSS Measurement Simulation
After searching all the valid direct, diffracted, and reflected GNSS signals from the ray-tracing, the measurement status of each satellite is categorized into four types: LOS only, single reflection, single diffraction, and multipath. Different strategies are employed during the GNSS , pseudorange, and Doppler frequency measurement simulation based on the measurement status. Finally, additional measurement error and noise based on comprehensive models are added on top of the preceding simulation result to make the final simulated measurement realistic.
4.1. Overall GNSS Measurement Simulation
To simulate the GNSS measurement realistically, all the error components need to be considered with appropriate models. For the
measurement, besides the simulated value based on the signal strength, its hardware-related estimation noise also needs to be considered. The final simulated GNSS
measurement is obtained by
where
is the simulated
corresponding to the signal type and
.
is a random variable following Gaussian distribution (denoted by
) with zero bias and the
estimation variance
.
The final simulated GNSS pseudorange measurement is given by
where
is the simulated GNSS ranging measurement corresponding to different signal type,
is the speed of light,
is the satellite clock bias,
is the receiver clock bias.
and
are the ionospheric delay and the tropospheric delay, respectively.
and
are random variables with the variance from the DLL tracking loop noise and the systematic error model noise, respectively. The final simulated Doppler shift measurement is obtained by
where
is the simulated GNSS Doppler shift corresponding to different signal types, and
is a random variable that
with the variance from the FLL tracking loop noise. Then, all three kinds of popular-used GNSS measurements are simulated and ready to be applied with different algorithms for evaluation.
The following
Section 4.2,
Section 4.3,
Section 4.4,
Section 4.5 demonstrate the procedures of obtaining the signal-type-related measurement error terms, corresponding to the cases of LOS-only, single diffraction, single reflection, and multipath.
Section 4.6 introduces other systematic error terms related to the atmosphere, the hardware characteristics, etc.
4.2. LOS Only Case
The GNSS
measurement relates to the strength of the signal, where a higher
usually represents the signal being healthy with less interference. In an open-sky scenario without obstructions between a satellite and a receiver, the
corresponding to a satellite signal is closely related to its elevation angle [
54]. Therefore, the
of an unobstructed signal can be simulated based on a GNSS elevation-
regression model from long period open-sky data [
33]. In this study, the
from GPS satellite, Beidou satellite on geosynchronous equatorial orbit (GEO), on inclined geosynchronous orbit (IGSO), and on medium Earth orbit (MEO) are simulated with different open-sky models as
Figure 3 shows, in order to consider the behavior varies between different systems and operating orbits. First-order polynomial fitting is employed between the elevation angle and the
with the unit of Hz before applying logarithm.
The GNSS pseudorange measurement of the LOS only case is the direct range between satellite and road agent as follows
The Doppler frequency measurement of the LOS only case can be simulated based on the Doppler effect between two dynamic objects [
34], using
where
and
are the velocity of the road agent and the satellite, respectively.
is the line-of-sight unit vector from the road agent to the satellite.
is the speed of light and
is the wavelength of the corresponding satellite signal.
is the receiver clock drift as a tuning parameter of the simulation.
4.3. Single Diffraction Case
For the satellite with only one diffracted signal path valid from the ray-tracing, the corresponding
, pseudorange, and Doppler measurements are simulated based on its geometrical behavior. Firstly, the
is simulated based on the UTD, which describes the signal attenuation by the geometrical parameters of the diffracted signal and the building surfaces causing diffraction. The diffraction coefficient with respect to the strength of the LOS signal can be obtained from
where
is the attenuation factor between the right-hand circular polarization (RHCP) electric field before and after diffraction on the point of diffraction.
and
are the soft and hard diffraction coefficients of a linear polarized field derived from the geometrical parameter of the diffracted signal and the building.
and
denote the orthogonal components of the GNSS signal electric field parallel and perpendicular to the incident plane, respectively. Equation (7) extends the UTD from the linear polarized field to the RHCP field appropriate for the GNSS signal.
is the distance between the point of diffraction and the receiver,
is the GNSS signal wavenumber, and
is the imaginary unit.
and
denote the spreading factor and the phase shift of the signal emitted from the point of diffraction, respectively. The detailed procedures of computing the diffraction coefficient from the geometrical parameters can be found in [
40]. Then, the
of the diffracted signal can be obtained using
which is derived based on the relationships between the signal-to-noise ratio (SNR) with the diffraction coefficient and
[
55] as follows
where
and
denote the SNR peak power of the LOS and the diffracted signals, respectively. Equation (10) describes the relationship between
(in the unit of dB-Hz) and SNR.
is the receiver front-end bandwidth which will be eliminated when considering only the power ratio between the LOS and diffracted signal. However, the
of the original unobstructed LOS signal is difficult to obtain based on the receiver parameter that varies from different antennas. A convenient approach is to estimate the
from an open-sky regression model, as the preceding LOS only case.
After obtaining the
of the diffracted signal, the corresponding GNSS ranging measurement can be simulated by its total traveling distance using
where
is the distance between the satellite and the point of diffraction. The pseudorange error due to diffraction can be denoted as
. Finally, the Doppler frequency of the diffracted signal can be derived based on the Doppler shift model extended with an intermediate point [
34], using
where
is the line-of-sight unit vector from the point of diffraction
to the satellite and
is the unit vector from the road agent to the point of diffraction. Based on the position and velocity of the road agent and the satellite as well as the location of the point of diffraction, the Doppler frequency of the GNSS signal with a specific wavelength can be simulated correspondingly.
4.4. Single Reflection Case
The GNSS-R has been widely employed for geodetic survey application, which estimates the geometrical parameter during reflection based on the reflected
measurement. The mechanism of GNSS-R can be, in turn, used to simulate the GNSS
measurement based on the geometrical parameters during reflection. The
relationship between the LOS signal and the reflected signal can be derived by
based on Equation (10) and the relationship that
where
is the distance between the satellite and the point of reflection and
is the distance between the point of reflection and the receiver (road agent). Equation (13) is derived by Equations (10) and (14), which describe the reflected/LOS SNR peak power ratio [
56] and the conversion from
(in the unit of dB-Hz) to SNR, respectively. Therefore, the
of a reflected signal can be represented by its LOS
attenuated by a spreading factor and a reflection coefficient
. Note that the GNSS signal is RHCP, whereas the reflected GNSS signal may be inverted into left-hand circular polarization (LHCP). By considering the polarization interference, the reflection coefficient
from RHCP to LHCP can be written as the combination of the reflection coefficient on horizontal and vertical polarization [
41,
57], as follows
where
and
are the Fresnel reflection coefficient of the horizontal and vertical linear polarization component with respect to the reflecting surface, derived from
is the incident angle of the reflected signal, is the dielectric constant of the air, and is the dielectric constant of the reflecting surface. In this study, the dielectric constant of glass () is used for the reflector, and the conduction due to the lossy medium is neglected. Note that some articles denote by and by as the linear polarized component perpendicular and parallel to the incident plane (the plane determined by the incident and reflected signals), which are also representing the soft and hard reflections, respectively. Based on the geometrical parameter, including the incident angle and the distances between satellite, road agent, and the point of reflection, the of the corresponding reflected GNSS signal can be simulated from its unobstructed by the open-sky model.
The ranging measurement of single reflected GNSS signal can be simulated by the total travelling distance on the reflection path, as follows.
The corresponding pseudorange delay due to reflection can be written as
The Doppler frequency of the reflected signal can be derived based on the Doppler shift model extended with an intermediate point [
34], using
where
is the line-of-sight unit vector from the point of reflection
to the satellite, and
is the unit vector from the road agent to the point of reflection. Based on the position and velocity of the road agent and the satellite as well as the location of the point of reflection, the Doppler frequency of the GNSS signal with a specific wavelength can be simulated correspondingly.
4.5. Multipath Case
Besides the reception of a single GNSS signal from LOS, reflection, or diffraction, the GNSS receiver can also receive multiple signals simultaneously, if available, namely the multipath case. The corresponding measurement will be degraded due to the interferences between each signal. In this study, we only consider the interaction between the shortest two signals with the attenuation less than a heuristically designed threshold of 20 dB-Hz. Other available signals with larger delay or lower strength have fewer effects and they are neglected. Therefore, the multipath case contains the signal combination of: LOS and reflection, LOS and diffraction, reflection and diffraction, double reflections, and double diffractions.
Based on the expression of individual fields, the expression of the joint signal field with interferences between signals can be derived through the superposition of fields. The detailed derivation with different signal combination cases is demonstrated in
Appendix A. Then, the strength ratio between the multipath joint field and the unobstructed field on the road agent location can be expressed by
where
and
represent the stand-alone signal strength ratio compared to the unobstructed signal for different cases,
and
denote the extra traveling distance compared to the unobstructed signal for the diffracted signal or the reflected signal, respectively. Analogous to the single reflection case or single diffraction case with the approximation the extra delay due to building interference is negligible compared to the total range from satellite to receiver, the
simulation of the multipath case can be obtained from
On the other hand, the GNSS pseudorange measurement under the multipath case is also affected by the interaction between signals. The code pseudorange error due to this interaction needs to be evaluated by the multipath noise envelope model with the amplitude ratio and the delay between two signals. Based on the multipath noise envelope for the early-minus-late power discriminator [
43], the multipath error on the pseudorange can be simulated by
where
denotes the multipath error estimation function based on the multipath noise envelope demonstrated in
Figure 4.
denotes the signal amplitude ratio (
for this case),
denotes the carrier phase offset and between two signals.
is the time spacing between early and late correlator.
and
are the multipath time and distance delay in-between, respectively.
is the code chip width. In this study, the carrier phase shift induced by the reflector is neglected.
Then, the GNSS code pseudorange measurement can be obtained by
For the Doppler effect, it is assumed to be dominated by the strongest signal [
35], which has the highest
. Hence, the Doppler shift for the multipath case can be simulated by the dominated signal through Equations (5), (12), or (21), as follows.
4.6. General Measurement Error and Noise
To ensure the GNSS measurement simulation is realistic, other measurement errors and noises need to be considered besides the preceding building-related errors. In this study, sophisticated models are employed to simulate different kinds of error and noise generally appearing in GNSS measurements, including the tracking loop noise, estimation noise, satellite clock bias, receiver clock error, ionospheric delay, tropospheric delay, and pseudorange error modeling noise.
4.6.1. Tracking Loop Noise
The pseudorange measurement noise from DLL consists of the thermal noise and the dynamic stress [
44]. The thermal noise is related to the signal
and the receiver parameters, whereas the dynamic stress is related to the loop order and bandwidth. This paper follows [
44] to generate the tracking loop noise. Since the dynamic stress can be almost removed via the carrier aided code technique, it is neglected during the DLL noise simulation. As a result, the 1-sigma DLL noise of C/A code under BPSK-R modulation is obtained by
where
is the 1-sigma thermal noise code tracing jitter,
is the early-to-late correlator spacing (unit of chip),
is the front-end bandwidth,
is the chip rate,
is the code loop noise bandwidth,
is the predetection integration time, and
is the chip period. The 1-sigma Doppler measurement noise
from a 2nd order FLL consists of the thermal noise frequency jitter
and the dynamic stress term
[
44], which can be estimated as follows (in the unit of Hz).
where
equals 1 for high
and equals 2 for the
close to the threshold
.
is the loop filter natural radian frequency.
Figure 5 shows an example of the 1-sigma noise distribution with respect to the
value on measurements corresponding to DLL and FLL tracking loop. Normally, a high
indicates the signal is healthy, whereas a low
indicates the signal has larger noise during the tracking loop. Therefore, the tracking loop noises on the GNSS pseudorange and Doppler shift measurement are modeled by the random variables following zero-bias Gaussian distribution with the corresponding standard deviation.
4.6.2. Estimation Noise
For real cases, the GNSS
could also be noisy due to interferences or weak signal power. During the narrow-to-wide power method, a popular approach for
estimation, the
measurement noise can be evaluated statistically in the form of standard deviation [
45].
where the variables
and
denote that the prompt I and Q are divided into
intervals with
samples in each interval for the
estimation.
is the coherent integration time,
and
are the averaged value and standard deviation of the narrow and wide power measurements ratio on
intervals, respectively. However,
and
are obtained from the tracking-level measurements not available in the proposed simulator. An alternative approach is to model these two parameters by curve fitting models with large amounts of data in urban scenarios. In this study, based on the
value (which is the
with the unit of Hz), a rational fitting model is employed for
, whereas an exponential fitting model is employed for
, as
Figure 6 shows. Then,
and
can be modeled based on the simulated
value, and further combined with the receiver parameter
,
and
to simulate the noise on the
measurement.
4.6.3. Satellite Clock Bias
The actual GNSS pseudorange measurement contains the satellite clock error due to imperfect synchronization with the corresponding system time. The correction for this error is estimated by the control segment and broadcast to users through the navigation message from satellite. Therefore, this error term can be obtained for the pseudorange simulation based on the correction parameters from the satellite ephemeris [
44,
58], as follows.
where
is the receiver current time,
is the ephemeris reference time, and
is the relativistic correction term.
,
,
,
, and
are the clock bias, clock drift, frequency drift, satellite orbital eccentricity, and orbit semimajor axis obtained from the ephemeris data, respectively.
is the constant and
is the satellite orbit eccentric anomaly.
4.6.4. Receiver Clock Bias
Besides the satellite clock bias, the other term making the GNSS ranging measurement ‘pseudo-range’, is the receiver clock bias, which is usually an unknown variable needed to be estimated during positioning. In a real case, the receiver clock bias is not stable and drifts variously, related to the referencing oscillator of the receiver. A practical approach to simulate the receiver clock bias
with drift is through a 1st order linear approximation model based on the receiver parameters [
46,
47], as follows.
where
is the initial clock bias of the receiver on time
,
is the receiver current time.
is the frequency offset determined by the initial frequency offset
, random walk frequency modulation noise
, flicker frequency modulation noise
, white frequency modulation noise
, and the local oscillator frequency
Figure 7 shows an example of the clock errors from
,
, and
based on the TCXO parameters from [
48].
4.6.5. Ionospheric Delay
The real GNSS pseudorange measurement contains the error due to ionospheric delay, which is usually corrected by the Klobuchar model with detailed procedures in [
49], and summarized as below.
where
is an elevation-related slant factor,
and
are the ionospheric parameters from ephemeris data,
is the geomagnetic latitude,
is the local time. Based on the receiver latitude and longitude, satellite elevation and azimuth angles, receiver time, and the ionospheric parameters from the ephemeris, the corresponding ionospheric delay can be simulated via the Klobuchar model correspondingly.
4.6.6. Tropospheric Delay
Another error term always contained in the pseudorange measurements is the delay due to tropospheric refraction, described by the Saastamoinen model [
50], as follows.
where
is the satellite elevation angle.
,
,
, and
are the total barometer pressure, the partial pressure of water vapor, absolute temperature (in Kelvin), and the coefficient term related to the ellipsoid height of the receiver. Based on the satellite elevation angle and the receiver ellipsoid height, the corresponding tropospheric delay
can be simulated correspondingly.
4.6.7. Pseudorange Error Modeling Noise
Besides the exact value of errors from different models, each error term may also have a certain variation during real operation. These variations of errors are caused by various unknown factors, which are difficult to model. A practical way to simulate these variations is according to the GNSS user-equivalent-range-error (UERE) budget from [
44]. The nominal 1-sigma error of the satellite clock
is given as 1.1 m. The 1-sigma ephemeris prediction error
on pseudorange is given as 0.8 m. The noise on the relativistic effect error is negligible. The 1-sigma error on ionospheric delay
is given by a higher bound as 7.0 m, which is reduced in half in this study by assuming a good ionospheric correction. The 1-sigma error on tropospheric delay is obtained from an elevation-angle-related model [
51], as follows.
As a result, all the error noise above can be combined into a total error noise factor, as the error modeling noise
shown below.
Then, the total modeling noise on the pseudorange measurements is simulated by a random variable from zero-bias Gaussian distribution with the standard deviation of .
6. Discussion
The results from the proposed simulator show great consistency with the real GNSS measurement in the urban area, which validates its capability to provide realistic GNSS measurements for various urban positioning algorithm evaluations or developments. The proposed simulator is developed based on sophisticated models, covering most of the interferences in the urban area. As the results in
Table 6, by applying different advanced positioning algorithms, the remaining positioning errors are consistent with the real experimental performances reported in [
23,
26,
60]. Therefore, the proposed simulator can appropriately reflect the challenges of urban GNSS positioning for future studies, especially the potential algorithms that it is hard to conduct experimental verification on, such as the large-scale collaborative positioning algorithms.
Compared to other existing algorithms, the proposed simulator is much less complicated, but still maintains a sufficient verisimilitude level. Besides the measurement availability prediction achieved by the simulator from UCL [
61], our simulation further simulates all the basic GNSS raw measurements employed for positioning. Both the conventional GNSS raw measurement simulators, MUSTARD [
29] and SNACS [
30], simulate the interferences most likely from the ground, whereas our simulator focuses on a more complex urban scenario considering severe interferences coming from buildings. Instead of constructing a virtual environment, our simulator directly uses the 3D building model to simulate the GNSS measurements reflecting the error behavior on a specific site. Another advanced GNSS simulator, SimGEN
@+SE-NAV [
31], also employs the ray-tracing algorithm and sophisticated models for the interferences simulation in the urban area. However, it involves complicated radio channel modeling, which may not be useful for verifying the algorithms only using measurement-level data. Moreover, the detailed procedures of interference modeling in [
31] are not explained. A recent study employs a reference RF data to simplify the channel modeling during GNSS measurement simulation, but still requires SDR for simulation. Different from the above approaches, our proposed simulator avoids the complicated channel modeling by using an open-sky
model for reference, and directly simulates measurement-level GNSS data, which is convenient and adequate to verify various positioning algorithms. Each step of the GNSS measurement simulation is introduced in detail, providing a clear and complete guideline for developing a GNSS simulator. Moreover, the modeling of different interferences, including reflection, diffraction, and multipath, is explained comprehensively, which can be extracted for individual study or evaluation by other scholars. The simulator in the current study is developed for the GNSS constellation of GPS and BDS. Its support to GLONASS and GALILEO measurements will be developed with a similar approach in the future.
Besides providing realistic GNSS data, the proposed simulator can, in turn, improve the existing 3DMA GNSS positioning algorithms. Most of the 3DMA GNSS positioning algorithms determine the agent position by searching for a candidate location with the predicted measurement that best matches the real measurement. However, the current methods only conduct matching on the satellite visibility or the direct/reflected pseudorange [
22,
23]. The diffraction and multipath models in this study can be used to extend the 3DMA GNSS positioning algorithm by considering the matching on the
involving diffraction or multipath. The 3DMA GNSS considering the diffraction will be our future work.
However, the proposed simulator still has three limitations. Firstly, the measurement simulation is highly relying on the ray-tracing technique, which is still unable to consider all the interferences from buildings comprehensively. An advanced ray-tracing technique needs to be developed with the consideration of detailed building models and material effects in the future. Moreover, the proposed simulator only provides the measurements based on individual epoch, which neglects the GNSS receiver dynamics during the operation. Therefore, different filtering techniques need to be considered to model the measurement dynamics over time in the future. Finally, the current simulator always produces continuous measurements, even when the satellite may only be barely tracked by the real receiver. The modeling of the signal loss-of-lock and acquisition behavior and the latency caused by the filters in the receiver tracking loops are worth investigating for the proposed simulator in the future to make the measurements more realistic. By involving the tracking-level models in the future, the simulator can be extended to support the realistic modeling of the carrier phase measurement with cycle slip effects in an urban area.