# Computational models

# Satellite Orbits

Satellite state vectors are computed within the simulation for each simulation epoch and used to determine the pseudorange measurements as well as satellite visibility and depending parameters. Two options exist for state vector computation:

  • orbit integration
  • ephemeris-based computation

Using ephemeris-based computation the given perturbed Keplerian elements from the scenario are directly used to compute the satellite state. In the other case these Keplerian elements are used only for initialization of the orbit integration module which is a numerical integration of the satellite state based on gravitational forces.

The simulation of satellite orbits using orbit integration is useful to simulate satellite orbit errors as they would appear in reality due to the non-perfect representation of the perturbed orbit by using Keplerian elements as used within the navigation message.

Using orbit integration the satellite state vectors are propagated based on the gravitational forces of earth, sun and moon. While for the earth a gravity field model up to a certain (configurable) degree is used, sun and moon are modelled as point masses only, which is sufficient due to large distance to these bodies. The propagation is computed using numerical integration based on a Runge-Kutta scheme that is taken from [1].

# Satellite Clock Noise - Allan Deviation

Based on the satellite clock model, the Allan Variance parameter differ. The appropriate values are given in the table below.

Allan Variance:

where

  • WFM: white frequency modulation
  • FFM: flicker frequency modulation
  • RWFM: random walk frequency modulation
Clock Type Description
Rubidium
  • h0: 1.0e-23
  • h1: 3.0e-27
  • h2: 4.0e-31
Cesium
  • h0: 1.0e-22
  • h1: 1.0e-27
  • h2: 2.0e-32
Hydrogen-maser
  • h0: 2.0e-24
  • h1: 7.2e-29
  • h2: 1.76e-34

# Receiver Path

Two models (Interpolation or Propagation) for the receiver path computation are provided. Depending on the settings, a certain model can be chosen.

In general, the following characteristics apply for both models:

  • The earth-fixed receiver state (position, velocity, acceleration) is either set or computed for each simulation epoch.
  • The receivers attitude and angular-velocity are computed for every epoch
  • User defined input specifies the receiver states at certain relative timestamps (in order to be independent of changing simulation start and end times).
  • If only one receiver state position is set (no velocity or acceleration), the receiver is treated as static.
  • For interferer-based trajectories (Spoofer, Jammer, Spectrum-matched Jammers) attitude computation is not available.

# State Interpolation

state-interpolation

  • When state interpolation is chosen, only the defined positions (nodes) are utilized (velocity and acceleration is neglected).
  • The movement is simulated as geodetic lines (on the WGS84 ellipsoid) between these nodes. The geodetic line maintains its velocity after the last defined node.
  • Interpolation:
    • The travelled distance is interpolated as a cubic spline interpolated function of time.
    • Additionally the cubic spline of travelled distance has to be monotone (rising) to ensure that the absolute velocity is never below zero.
    • Absolute velocity and acceleration are computed as derivatives of the travelled distance and applied to the unit vector of receiver direction at each point.
    • The receiver position is computed as first geodetic principle on the ellipsoid.

Note

The monotone cubic spline interpolation follows the algorithm published in [2] to ensure monotonicity (further information on the implementation can be found on Monotone Cubic Interpolation (opens new window))

# First and Second Geodetic Principal

The computation of the receiver position is done as mentioned above using an interpolation on the ellipsoid for which solutions of the first and second geodetic principal on the ellipsoid are necessary. The first geodetic principal denotes the computation of the coordinates of a target point given the start point coordinates as well as direction and distance to the target point and the second geodetic principal is the reverse operation of computing direction and distance based on the two coordinate pairs. In Cartesian space these operations are quite trivial, however on the surface of an ellipsoid this is not true anymore. Since especially for longer distances there is a difference between the Cartesian and ellipsoidal solution the ellipsoidal formulae are implemented within the simulation. The principals on the ellipsoids are solved using the algorithm presented by Carl Friedrich Gauß[3] with the extension that also the height above the ellipsoid can be different for start point and target point. The formulae for implementation are taken from [4].

# State Propagation

state-propagation

  • When state propagation is chosen, the set position, velocity and acceleration are utilized.
  • The position has to be provided as absolute WGS84 coordinates, whereas the velocity and acceleration are defined in a LLF (north, east, up).
  • Every state is propagated via the previous state for every simulation epoch (an initial state is needed).
  • Only one component (position, velocity, acceleration) has to be provided (the other two are optional).
  • If a defined state is provided, it is directly applied for that epoch.

Note

  • If only a velocity vector is provided, then the velocity vector is constant for the rest of the simulation. The position vector changes based on the velocity for every epoch.
  • If only an acceleration vector is provided, then the acceleration vector is constant for the rest of the simulation. The position vector and velocity vector change based on the acceleration for every epoch.

# Propagation Model

Provided Component Description

# Receiver Attitude and Antennas

# Receiver Attitude and Receiver States

The Receiver attitude is explicitly defined by the user. For every waypoint the user can define roll, pitch and yaw. This attitude is defined from the local-level frame (LLF) to the body-frame. The corresponding rotation matrix is .

Rotation from Receiver LLF to body frame by yaw, pitch and roll angles

Receiver and antenna positions and their corresponding frames (LLF, body frame and antenna frame)

In agreement with the GIPSIE concept, the user can select state propagation or state interpolation behavior of the trajectory simulation.

State propagation: The user defines the trajectory by means of receiver position , receiver velocity vector , receiver acceleration vector , attitude Euler angles (, , ) and angular velocity vector . Additionally an antenna position and an antenna attitude (, , ) can be defined for every antenna.

  • Required state parameters for first state:
    • position
    • attitude
  • After the first state, all parameters are optional
    • states: position, velocity & acceleration (optional)
    • attitude parameters: attitude & angular velocity (optional)

State interpolation: The user defines the trajectory by means of the receiver position and the attitude Euler angles (, , ). Additionally an antenna position and an antenna attitude (, , ) can be defined for every antenna.

  • The velocity and acceleration are determined by the receiver positions given at certain points in time. The receiver position is interpolated between the defined positions (nodes) by using a cubic spline interpolation. The receiver velocity and acceleration is derived from the interpolated positions by the derivatives of the travelled distance.
  • No has to be provided, since it is computed from two consecutives matrizes.
  • Required state parameters:
    • position
    • attitude
    • all other parameters are ignored

Note

Attitude computation is only computed for Receivers, not for Interferers (Jammers, Spectrum-matched Jammers) or Spoofers.

# Antenna position and attitude

A GIPSIE receiver trajectory is the trajectory of the object, i.e. the state is the state of the origin of the body frame. If the position of the antenna is not identical with the BF origin, the lever arm (vector from the BF origin to the antenna phase center APC) will be used to compute the position, velocity and acceleration at the APC. The mounting position of an antenna is defined by means of its lever arm .

Moreover, if a relative rotation between AF and BF exists this has to be taken into account by definition of the antenna attitude. The antenna attitude is defined by a rotation from the BF to the AF.

  • Antenna lever arm in the body frame:
  • Antenna attitude: describes the antenna attitude with roll, pitch, yaw in the body frame. Rotates the body-frame (axes: , , ) to the antenna frame (axes: , , ).

# Frame Definition

Description Abbreviation Vector & Matrix Sub/Superscript RHS or LHS
Earth centered earth fixed frame ECEF RHS
Local level frame LLF RHS
Vehicel body frame BF RHS
Antenna frame AF RHS

where RHS is a right-hand system and LHS is a left-hand system. Vectors:

  • : receiver position vector in the ECEF frame
  • : receiver position vector in the local level frame
  • : antenna position vector, defined in the body frame
  • : transmitter position vector (can be satellite , jammer , spoofer )

The context between ECEF ellipsoidal coordinates () and LLF cartesian coordinates (north, east, down: ) is shown in the graphic below:

# Details

# Object Attitude

Attitude angles: roll, pitch, yaw. Internally this sets up the matrix , which rotates from local level frame (axes: ) to the body frame (axes: ) by rotating in the order yaw, pitch, roll.

# Angular Velocity

The angular velocity relative to the inertial frame observed in the BF is written as: . The angular velocity vector is visualized below. It consists of three angular change rates around the body frame axis .

The angular velocity can be directly observed by an IMU located at the origin of the body frame.

# Atmospheric Effects

Atmospheric effects are simulated in two ways: ionospheric delay and tropospheric delay including respective noise components (noise simulation can be activated and deactivated independently). Delays are computed based on the model selected within the scenario and follow the algorithms presented in:

# Troposphere models

  • Troposphere mapping functions for GPS and VLBI [5]
  • Estimation of tropospheric delay for microwaves from surface weather data [6]
  • GPT2w [7]
  • Galileo Reference Model [8]
  • Saastamoinen [9]

# Ionosphere models

# Multipath

Multipath simulation within GIPSIE® can be activated/deactivated and is modelled by using a custom obstruction mask for each simulated receiver. This mask defines the direction from which satellite signals arrive as line-of-sight (LOS) signal only, echoes only, LOS and echoes. Furthermore, a full obstruction can be defined via the mask, where no signal are arrived at receiver site. The effects (pseudorange delay and signal amplitude) are computed by using a two-state model based on the Rayleigh and Rician distribution function.

Basically an urban three-state fade model (UTSFM) is used as an initial model which is based on the Rice and Rayleigh distribution for LOS and reflected signals, respectively, and additionally, a function is used to describe signals attenuated by trees or other materials , denoted as Loo's function. Based on the UTSFM, showed an approach for the implementation in a testing environment. In a signal simulator each satellite signal has to be mapped on a single channel, generating the desired satellite signal. Thereby, the UTSFM is reduced to a two-state model, neglecting Loo's function, due to the impairment of a limited number of channels in a GNSS simulator.

The algorithms to compute the multipath simulation is taken from [13] and [14].

# Interference

An arbitrary number of interference signals can be added to the simulation for the simulation of unintentional RF interference or jamming signals using various customizeable waveforms. Each signal has its own transmission location and transmit power, which is used to compute the received signal power at each receiver based on a Friis free-space path-loss equation.

# Spoofing

Multiple spoofers can be added to the simulation, which represent replicas of the respective satellite's authentic signal with a certain delay that is based on the location of spoofer and receiver as well as the simulated receiver position of the spoofer. Furthermore it is possible to add an additional code offset (in terms of pseudorange offset) to the spoofing signal to simulate imperfections of the spoofing signal alignment with the authentic ones.


  1. O. Montenbruck and E. Gill, Satellite Orbits. Springer, Wien, NewYork, 2001. ↩︎

  2. F. N. Fritsch and R. E. Carlson, "Monotone Piecewise Cubic Interpolation" SIAM J. Numer. Anal., vol. 17, no. 2, pp. 238–246, Apr. 1980. ↩︎

  3. C. F. Gauß, "Untersuchungen über Gegenstände der Höheren Geodäsie" in Ostwald’s Klassiker der exakten Wissenschaften, 177th ed., J. Frischauf, Ed.Leipzig: Wilhelm Engelmann, 1910. ↩︎

  4. B. Hofmann-Wellenhof and G. Kienast, "Bezugssysteme", Graz University of Technology, Graz, 2006. ↩︎

  5. J. Boehm, B. Werl, and H. Schuh, "Troposphere mapping functions for GPS and very long baseline interferometry from European Centre for Medium-Range Weather Forecasts operational analysis data" J. Geophys. Res. Solid Earth, vol. 111, no. B2, p. n/a-n/a, Feb. 2006. ↩︎

  6. J. Askne and H. Nordius, "Estimation of tropospheric delay for microwaves from surface weather data" Radio Sci., vol. 22, no. 3, pp. 379–386, May 1987. ↩︎

  7. K. Lagler, M. Schindelegger, J. Böhm, H. Krásná, and T. Nilsson, "GPT2: Empirical slant delay model for radio space geodetic techniques" Geophys. Res. Lett., vol. 40, no. 6, pp. 1069–1073, Mar. 2013. ↩︎

  8. A. Martellucci, “Galileo reference troposphere model for the user receiver” ESA-APPNG-ReF/00621-AM v2, vol. 7, 2012. ↩︎

  9. Saastamoinen, J. (1973). Contributions to the theory of atmospheric refraction. Bulletin Géodésique (1946-1975), 107(1), 13-34. ↩︎

  10. Klobuchar, J., 1987. Ionospheric Time-Delay Algorithms for Single-Frequency GPS Users. IEEE Transactions on Aerospace and Electronic Systems (3), pp. 325-331. ↩︎

  11. Ionospheric Correction Algorithm for Galileo Single Frequency Users, Issue 1.1, June 2015 [ESA Nequick G Model] ↩︎

  12. S. Schaer, W. Gurtner, 2015. IONEX: The IONosphere Map EXchange Format Version 1.1. Astronomical Institute, University of Berne, Switzerland ↩︎

  13. C. Abart, "Development of a GNSS IF Signal Generator", Graz University of Technology, 2009. ↩︎

  14. P. Boulton et. al., "Proposed Models and Methodologies for Verification Testing of AGPS Equipped Cellular Mobile Phones in the Laboratory", University of Calgary, 2002. ↩︎