0.3.0
Loading...
Searching...
No Matches
NAV Namespace Reference

Namespaces

namespace  AppLogic
 
namespace  BsplineKF
 
namespace  ButcherTableau
 
namespace  CartesianProduct
 
namespace  ConfigManager
 
namespace  detail
 
namespace  experimental
 
namespace  flow
 
namespace  FlowAnimation
 
namespace  FlowExecutor
 
namespace  Geoid
 
namespace  gui
 
namespace  InsTimeUtil
 Utility Namespace for Time related tasks.
 
namespace  internal
 EGM96 coefficients.
 
namespace  IRWKF
 
namespace  Keys
 
namespace  math
 
namespace  NodeManager
 
namespace  NodeRegistry
 
namespace  Sleep
 
namespace  SPP
 
namespace  str
 
namespace  trafo
 
namespace  Units
 
namespace  util
 
namespace  vendor
 

Data Structures

class  AllanDeviation
 Computes Allan Deviation of IMU Observations. More...
 
class  AntexReader
 ANTEX file reader. More...
 
class  ArubaSensor
 Aruba Sensor Class. More...
 
struct  AtmosphereModels
 Atmospheric model selection for temperature, pressure and water vapor. More...
 
class  AttitudeModel
 Attitude System Model. More...
 
class  BaroHgt
 Barometric height storage class. More...
 
class  BaroPressObs
 Barometric pressure storage class. More...
 
class  BaroSimulator
 Convert RTKLib pos files into PosVel. More...
 
class  BDCSVD
 Bidiagonal Divide and Conquer SVD Curve Fitting. More...
 
class  BDSEphemeris
 Broadcasted ephemeris message data. More...
 
class  Clock
 Abstract satellite clock information. More...
 
class  COD
 Complete Orthogonal Decomposition Curve Fitting. More...
 
class  Code
 Enumerate for GNSS Codes. More...
 
class  Colormap
 Colormap class. More...
 
class  Combiner
 Calculates differences between signals. More...
 
class  CommonLog
 Common logging variables like time into run and local positions. More...
 
class  CsvData
 CSV Data container. More...
 
class  CsvFile
 CSV File reader. More...
 
class  CsvLogger
 Data Logger for PosVelAtt observations. More...
 
class  CubicSpline
 Cubic Spline class. More...
 
class  CycleSlipDetector
 Cycle-slip detector. More...
 
class  Demo
 Demonstrates the basic GUI functionality of nodes. More...
 
class  DynamicData
 Dynamic Data container. More...
 
class  EmlidFile
 File Reader for Emlid log files. More...
 
class  EmlidObs
 Emlid Observation Class. More...
 
class  EmlidSensor
 Emlid Sensor Class. More...
 
class  ErrorModel
 Adds errors (biases and noise) to measurements. More...
 
class  EspressifSensor
 Espressif Sensor Class. More...
 
class  FileReader
 Abstract File Reader class. More...
 
class  FileWriter
 Parent class for other data loggers which manages the output filestream. More...
 
class  Frequency
 Frequency definition for different satellite systems. More...
 
class  GalileoEphemeris
 Broadcasted ephemeris message data. More...
 
class  GLONASSEphemeris
 Broadcasted ephemeris message data. More...
 
class  GnssAnalyzer
 Allows creation of GNSS measurement combinations. More...
 
class  GnssCombination
 GNSS measurement combinations. More...
 
class  GnssMeasurementErrorModel
 Errors concerning GNSS observations. More...
 
class  GnssNavInfo
 GNSS Navigation message information. More...
 
class  GnssObs
 GNSS Observation message information. More...
 
class  GPSEphemeris
 Broadcasted ephemeris message data. More...
 
struct  GPT2output
 GPT2 output parameters. More...
 
struct  GPT3output
 GPT3 output parameters. More...
 
class  GroupBox
 Group Box. More...
 
class  HouseholderQr
 Householder QR decomposition Curve Fitting. More...
 
class  Imu
 Abstract IMU Class. More...
 
class  ImuFile
 File Reader for Imu log files. More...
 
class  ImuFusion
 Combines signals of sensors that provide the same signal-type to one signal. More...
 
class  ImuIntegrator
 Numerically integrates Imu data. More...
 
class  ImuObs
 IMU Observation storage class. More...
 
class  ImuObsSimulated
 VectorNav Observation storage Class. More...
 
class  ImuObsWDelta
 VectorNav Observation storage Class. More...
 
class  ImuPos
 IMU Position. More...
 
class  ImuSimulator
 Imu Observation Simulator. More...
 
class  IncrementalLeastSquares
 Incremental Least Squares Curve Fitting. More...
 
class  InertialIntegrator
 Inertial Measurement Integrator. More...
 
class  InputPin
 Input pins of nodes. More...
 
class  InsConst
 Constants. More...
 
class  InsGnssLCKFSolution
 Loosely-coupled Kalman Filter INS/GNSS errors. More...
 
class  InsGnssTCKFSolution
 Tightly-coupled Kalman Filter INS/GNSS errors. More...
 
class  InsTime
 The class is responsible for all time-related tasks. More...
 
struct  InsTime_GPSweekTow
 GPS week and time of week in GPS standard time [GPST]. More...
 
struct  InsTime_JD
 Julien Date [UTC]. More...
 
struct  InsTime_MJD
 Modified Julien Date [UTC]. More...
 
struct  InsTime_YDoySod
 GPS year and day of year in GPS standard time [GPST]. More...
 
struct  InsTime_YMDHMS
 Universal Time Coordinated [UTC]. More...
 
class  InterFrequencyBiasModel
 Inter Frequency Bias System Model. More...
 
class  IonosphericCorrections
 Ionospheric Corrections. More...
 
class  IRNSSEphemeris
 Broadcasted ephemeris message data. More...
 
class  KalmanFilter
 Generalized Kalman Filter class. More...
 
class  KeyedKalmanFilter
 Keyed Kalman Filter class. More...
 
struct  KeyedLeastSquaresResult
 Least Squares Uncertainties return value. More...
 
class  KeyedMap
 Similar to KeyedMatrix, but memory is allocated in a map and therefore never reallocated. More...
 
class  KeyedMatrix
 Static sized KeyedMatrix. More...
 
class  KeyedMatrix< Scalar, RowKeyType, ColKeyType, Eigen::Dynamic, Eigen::Dynamic >
 Dynamic sized KeyedMatrix.
 
class  KeyedRowVector
 Static sized KeyedRowVector. More...
 
class  KeyedRowVector< Scalar, ColKeyType, Eigen::Dynamic >
 Dynamic sized KeyedRowVector.
 
class  KeyedVector
 Static sized KeyedVector. More...
 
class  KeyedVector< Scalar, RowKeyType, Eigen::Dynamic >
 Dynamic sized KeyedVector.
 
class  KmlLogger
 Data Logger for Pos data as KML files (input for Google Earth) More...
 
class  KvhFile
 File Reader for Kvh log files. More...
 
class  KvhObs
 Kvh Observation storage Class. More...
 
class  KvhSensor
 KVH Sensor Class. More...
 
class  LeastSquares
 Least Squares Curve Fitting. More...
 
struct  LeastSquaresResult
 Least Squares Uncertainties return value. More...
 
class  LooselyCoupledKF
 Loosely-coupled Kalman Filter for INS/GNSS integration. More...
 
class  LowPassFilter
 Filters incoming data. More...
 
class  MatrixLogger
 Data Logger for PosVelAtt observations. More...
 
class  Merger
 Merges two input ports into a single output port. More...
 
class  MotionModel
 Motion System Model. More...
 
class  MultiImuFile
 File reader for Multi-IMU data log files. More...
 
class  Navio2Sensor
 Navio2Sensor Sensor Class. More...
 
class  NmeaFile
 File Reader for NMEA log files. More...
 
class  Node
 Abstract parent class for all nodes. More...
 
class  NodeData
 Parent class for all data transmitted over Flow pins. More...
 
class  ObservationEstimator
 Calculates Observation estimates. More...
 
class  ObservationFilter
 Observation Filter. More...
 
struct  Observations
 Observation storage type. More...
 
class  Orbit
 Abstract satellite orbit information. More...
 
class  OutputPin
 Output pins of nodes. More...
 
class  Pin
 Pins in the GUI for information exchange. More...
 
struct  PinData
 Information about a sensor which is connected to a certain pin (i.e. sensor characteristics defined in GUI) More...
 
struct  PinDataBsplineKF
 Sensor information specific to the Bspline-KF. More...
 
struct  PinDataIRWKF
 Sensor information specific to the IRW-KF. More...
 
class  Plot
 Plot node which plots all kind of observations. More...
 
struct  PlotEventTooltip
 Tooltip for plot events. More...
 
struct  PlotItemStyle
 Specifying the look of a certain line in the plot. More...
 
struct  PlotTooltip
 Plot Tooltip windows to show. More...
 
class  Polynomial
 Polynomial. More...
 
class  PolynomialCycleSlipDetector
 Cycle-slip detection. More...
 
class  PolynomialRegressor
 Polynomial Curve Fitting. More...
 
class  Pos
 Position Storage Class. More...
 
class  PosVel
 Position and Velocity Storage Class. More...
 
class  PosVelAtt
 Position, Velocity and Attitude Storage Class. More...
 
struct  PosVelAttDerivativeConstants
 Values needed to calculate the PosVelAttDerivative for the local-navigation frame. More...
 
class  PosVelAttFile
 File Reader for Imu log files. More...
 
class  PosVelAttInitializer
 Position, Velocity, Attitude Initializer from GPS and IMU data. More...
 
class  PressToHgt
 Pressure to height converter. More...
 
class  QZSSEphemeris
 Broadcasted ephemeris message data. More...
 
class  RandomNumberGenerator
 Manages a thread which calls a specified function at a specified interval. More...
 
struct  Receiver
 Receiver information. More...
 
struct  ReceiverClock
 Receiver Clock information. More...
 
class  ReceiverClockModel
 Receiver Clock System Model. More...
 
class  RinexNavFile
 File reader Node for RINEX Navigation messages. More...
 
class  RinexObsFile
 File reader Node for RINEX Observation messages. More...
 
class  RinexObsLogger
 Data Logger for GnssObs to RINEX observation files. More...
 
class  RtklibPosConverter
 Convert RTKLib pos files into PosVel. More...
 
class  RtklibPosFile
 File Reader for RTKLIB pos log files. More...
 
class  RtklibPosObs
 RTKLIB Observation Class. More...
 
class  Satellite
 Satellite class. More...
 
struct  SatelliteSystem
 Satellite System type. More...
 
struct  SatId
 Identifies a satellite (satellite system and number) More...
 
class  SatNavData
 Satellite Navigation data (to calculate SatNavData and clock) More...
 
struct  SatSigId
 Identifies a satellite signal (satellite frequency and number) More...
 
class  ScrollingBuffer
 A buffer which is overwriting itself from the start when full. More...
 
class  SinglePointPositioning
 Numerically integrates Imu data. More...
 
class  SNRMask
 Signal to Noise Ratio Mask. More...
 
class  SppSolution
 SPP Algorithm output. More...
 
class  StringObs
 IMU Observation storage class. More...
 
class  TemperatureModel
 Temperature Model parameters. More...
 
class  Terminator
 Terminator for open signals. Mainly used for test flows. More...
 
class  TimeSystem
 Time System defintions. More...
 
class  TimeWindow
 Limits measurement data from any source to a user-defined timewindow. More...
 
struct  TroposphereModelSelection
 Collection of troposphere model selections. More...
 
class  TsDeque
 Thread-safe deque. More...
 
class  UartDataLogger
 Data Logger for Ublox observations. More...
 
class  UartPacket
 UART Packet storage class. More...
 
class  UartPacketConverter
 Decrypts Uart packets. More...
 
class  UartSensor
 Abstract Uart Sensor Class. More...
 
class  UbloxFile
 File Reader for Ublox log files. More...
 
class  UbloxGnssObsConverter
 Convert UbloxObs into GnssObs. More...
 
class  UbloxGnssOrbitCollector
 Collects UBX-RXM-SFRBX messages and provides the Orbit information. More...
 
class  UbloxObs
 ublox Observation Class More...
 
class  UbloxSensor
 Ublox Sensor Class. More...
 
class  UdpRecv
 UDP Client. More...
 
class  UdpSend
 UDP Client. More...
 
class  UlogFile
 File Reader for ULog files ('.ulg') More...
 
struct  UncertainValue
 Value with standard deviation. More...
 
class  VectorNavBinaryConverter
 Converts VectorNavBinaryOutput. More...
 
class  VectorNavBinaryOutput
 IMU Observation storage class. More...
 
class  VectorNavDataLogger
 Data Logger for VectorNav observations. More...
 
class  VectorNavFile
 File Reader for Vector Nav log files. More...
 
class  VectorNavSensor
 Vector Nav Sensor Class. More...
 
class  WiFiObs
 Espressif Observation Class. More...
 
class  WiFiObsFile
 File Reader for Imu log files. More...
 
class  WiFiObsLogger
 Data Logger for WiFiObs observations. More...
 
class  WiFiPositioning
 Numerically integrates Imu data. More...
 
class  WiFiPositioningSolution
 WiFi Positioning Algorithm Solution. More...
 
struct  ZenithDelay
 Zenith delays and mapping factors. More...
 

Typedefs

template<typename StateKeyType, typename MeasKeyType>
using KeyedKalmanFilterD
 Keyed Kalman Filter class with double as type.
 
template<typename RowKeyType, typename ColKeyType = RowKeyType>
using KeyedMatrix2d
 Static 2x2 squared size KeyedMatrix with double types.
 
template<typename RowKeyType, typename ColKeyType = RowKeyType>
using KeyedMatrix3d
 Static 3x3 squared size KeyedMatrix with double types.
 
template<typename RowKeyType, typename ColKeyType = RowKeyType>
using KeyedMatrix4d
 Static 4x4 squared size KeyedMatrix with double types.
 
template<typename RowKeyType, typename ColKeyType = RowKeyType>
using KeyedMatrix5d
 Static 5x5 squared size KeyedMatrix with double types.
 
template<typename RowKeyType, typename ColKeyType = RowKeyType>
using KeyedMatrix6d
 Static 6x6 squared size KeyedMatrix with double types.
 
template<typename Scalar, typename RowKeyType, typename ColKeyType = RowKeyType>
using KeyedMatrixX
 Dynamic size KeyedMatrix.
 
template<typename RowKeyType, typename ColKeyType = RowKeyType>
using KeyedMatrixXd
 Dynamic size KeyedMatrix with double types.
 
template<typename ColKeyType>
using KeyedRowVector2d
 Static 2 col KeyedRowVector with double types.
 
template<typename ColKeyType>
using KeyedRowVector3d
 Static 3 col KeyedRowVector with double types.
 
template<typename ColKeyType>
using KeyedRowVector4d
 Static 4 col KeyedRowVector with double types.
 
template<typename ColKeyType>
using KeyedRowVector5d
 Static 5 col KeyedRowVector with double types.
 
template<typename ColKeyType>
using KeyedRowVector6d
 Static 6 col KeyedRowVector with double types.
 
template<typename Scalar, typename ColKeyType>
using KeyedRowVectorX
 Dynamic size KeyedRowVector.
 
template<typename ColKeyType>
using KeyedRowVectorXd
 Dynamic size KeyedRowVector with double types.
 
template<typename RowKeyType>
using KeyedVector2d
 Static 2 row KeyedVector with double types.
 
template<typename RowKeyType>
using KeyedVector3d
 Static 3 row KeyedVector with double types.
 
template<typename RowKeyType>
using KeyedVector4d
 Static 4 row KeyedVector with double types.
 
template<typename RowKeyType>
using KeyedVector5d
 Static 5 row KeyedVector with double types.
 
template<typename RowKeyType>
using KeyedVector6d
 Static 6 row KeyedVector with double types.
 
template<typename Scalar, typename RowKeyType>
using KeyedVectorX
 Dynamic size KeyedVector.
 
template<typename RowKeyType>
using KeyedVectorXd
 Dynamic size KeyedVector with double types.
 

Enumerations

enum class  ColormapMaskType : uint8_t {
  None ,
  Global ,
  Flow
}
 Type of the Colormap mask. More...
 
enum  Frequency_ : uint64_t {
  Freq_None ,
  G01 ,
  G02 ,
  G05 ,
  E01 ,
  E05 ,
  E06 ,
  E07 ,
  E08 ,
  R01 ,
  R02 ,
  R03 ,
  R04 ,
  R06 ,
  B01 ,
  B02 ,
  B05 ,
  B06 ,
  B07 ,
  B08 ,
  J01 ,
  J02 ,
  J05 ,
  J06 ,
  I05 ,
  I09 ,
  S01 ,
  S05
}
 Enumerate for GNSS frequencies. More...
 
enum class  GravitationModel : uint8_t {
  None ,
  WGS84 ,
  WGS84_Skydel ,
  Somigliana ,
  EGM96 ,
  COUNT
}
 Available Gravitation Models. More...
 
enum class  IonosphereModel : uint8_t {
  None ,
  Klobuchar ,
  COUNT
}
 Available Ionosphere Models. More...
 
enum class  MappingFunction : uint8_t {
  None ,
  Cosecant ,
  GMF ,
  NMF ,
  VMF_GPT2 ,
  VMF_GPT3 ,
  COUNT
}
 Available Mapping Functions. More...
 
enum class  PolynomialCycleSlipDetectorResult : uint8_t {
  Disabled ,
  LessDataThanWindowSize ,
  NoCycleSlip ,
  CycleSlip
}
 Cycle-slip detection result type. More...
 
enum class  PressureModel : uint8_t {
  None ,
  ConstNN ,
  ISA ,
  GPT2 ,
  GPT3 ,
  COUNT
}
 Available pressure Models. More...
 
enum  SatelliteSystem_ : uint64_t {
  SatSys_None ,
  GPS ,
  GAL ,
  GLO ,
  BDS ,
  QZSS ,
  IRNSS ,
  SBAS
}
 Satellite System enumeration. More...
 
enum class  SystemModelCalcAlgorithm : uint8_t {
  VanLoan ,
  Taylor1
}
 Algorithms to calculate the system model with. More...
 
enum  TimeSystem_ : uint8_t {
  TimeSys_None ,
  UTC ,
  GPST ,
  GLNT ,
  GST ,
  BDT ,
  QZSST ,
  IRNSST
}
 List of all time systems. More...
 
enum class  TroposphereModel : uint8_t {
  None ,
  Saastamoinen ,
  GPT2 ,
  GPT3 ,
  COUNT
}
 Available Troposphere delay models. More...
 
enum class  WaterVaporModel : uint8_t {
  None ,
  ISA ,
  GPT2 ,
  GPT3 ,
  COUNT
}
 Available Water vapor Models. More...
 

Functions

template<typename Scalar, int Size>
Eigen::Vector< Scalar, Size > apply_permutation (const Eigen::Vector< Scalar, Size > &vec, const std::vector< size_t > &p)
 Sort a vector with a permutation.
 
template<typename T>
std::vector< T > apply_permutation (const std::vector< T > &vec, const std::vector< size_t > &p)
 Sort a std::vector with a permutation.
 
template<typename Derived>
Derived::PlainObject apply_permutation_colwise (const Eigen::MatrixBase< Derived > &m, const std::vector< size_t > &p)
 Sort a matrix col-wise with a permutation.
 
template<typename Scalar, int Rows, int Cols>
void apply_permutation_colwise_in_place (Eigen::Matrix< Scalar, Rows, Cols > &m, const std::vector< size_t > &p)
 Sort a matrix col-wise with a permutation.
 
template<typename Scalar, int Size>
void apply_permutation_in_place (Eigen::Vector< Scalar, Size > &vec, const std::vector< size_t > &p)
 Sort a vector with a permutation.
 
template<typename T>
void apply_permutation_in_place (std::vector< T > &vec, const std::vector< size_t > &p)
 Sort a std::vector with a permutation.
 
template<typename Derived>
Derived::PlainObject apply_permutation_rowwise (const Eigen::MatrixBase< Derived > &m, const std::vector< size_t > &p)
 Sort a matrix row-wise with a permutation.
 
template<typename Scalar, int Rows, int Cols>
void apply_permutation_rowwise_in_place (Eigen::Matrix< Scalar, Rows, Cols > &m, const std::vector< size_t > &p)
 Sort a matrix row-wise with a permutation.
 
double asknewet (const double &e, const double &Tm, const double &la)
 This subroutine determines the zenith wet delay.
 
constexpr double calcAbsoluteTemperatureStAtm (double altitudeMSL)
 Calculates the standard atmosphere absolute temperature.
 
template<std::floating_point Scalar>
Scalar calcEarthRadius_E (const Scalar &latitude, const Scalar &a=InsConst::WGS84::a, const Scalar &e_squared=InsConst::WGS84::e_squared)
 Calculates the East/West (prime vertical) earth radius.
 
template<std::floating_point Scalar>
Scalar calcEarthRadius_N (const Scalar &latitude, const Scalar &a=InsConst::WGS84::a, const Scalar &e_squared=InsConst::WGS84::e_squared)
 Calculates the North/South (meridian) earth radius.
 
template<std::floating_point Scalar>
Scalar calcGeocentricRadius (const Scalar &latitude, const Scalar &R_E, const Scalar &e_squared=InsConst::WGS84::e_squared)
 r_eS^e The distance of a point on the Earth's surface from the center of the Earth
 
template<std::floating_point Scalar>
Scalar calcGeographicalDistance (Scalar lat1, Scalar lon1, Scalar lat2, Scalar lon2)
 Measure the distance between two points over an ellipsoidal-surface.
 
template<std::floating_point Scalar>
Scalar calcGreatCircleDistance (Scalar lat1, Scalar lon1, Scalar lat2, Scalar lon2)
 Measure the distance between two points on a sphere.
 
double calcIonosphericDelay (double tow, Frequency freq, int8_t freqNum, const Eigen::Vector3d &lla_pos, double elevation, double azimuth, IonosphereModel ionosphereModel=IonosphereModel::None, const IonosphericCorrections *corrections=nullptr)
 Calculates the ionospheric delay.
 
double calcIonosphericTimeDelay_Klobuchar (double tow, Frequency freq, int8_t freqNum, double latitude, double longitude, double elevation, double azimuth, const std::array< double, 4 > &alpha, const std::array< double, 4 > &beta)
 Calculates the ionospheric time delay with the Klobuchar model.
 
template<typename DerivedF, typename DerivedG, typename DerivedW>
std::pair< typename DerivedF::PlainObject, typename DerivedF::PlainObject > calcPhiAndQWithVanLoanMethod (const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedG > &G, const Eigen::MatrixBase< DerivedW > &W, double dt)
 Numerical Method to calculate the State transition matrix 𝚽 and System/Process noise covariance matrix 𝐐
 
template<typename DerivedF, typename DerivedG, typename DerivedW>
std::pair< typename DerivedF::PlainObject, typename DerivedF::PlainObject > calcPhiAndQWithVanLoanMethod (const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedG > &G, const Eigen::MatrixBase< DerivedW > &W, double dt, size_t expmOrder)
 Numerical Method to calculate the State transition matrix 𝚽 and System/Process noise covariance matrix 𝐐
 
template<typename Derived>
Derived::Scalar calcPitchFromStaticAcceleration (const Eigen::MatrixBase< Derived > &b_accel)
 Calculates the pitch angle from a static acceleration measurement.
 
template<typename Derived>
Derived::Scalar calcPitchFromVelocity (const Eigen::MatrixBase< Derived > &n_velocity)
 Calculates the Pitch angle from the trajectory defined by the given velocity.
 
template<typename Derived>
Derived::Scalar calcRollFromStaticAcceleration (const Eigen::MatrixBase< Derived > &b_accel)
 Calculates the roll angle from a static acceleration measurement.
 
template<typename DerivedA, typename DerivedB>
DerivedA::Scalar calcSagnacCorrection (const Eigen::MatrixBase< DerivedA > &e_posAnt, const Eigen::MatrixBase< DerivedB > &e_satPos)
 Calculates the Earth rotation/Sagnac correction.
 
template<typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedD>
DerivedA::Scalar calcSagnacRateCorrection (const Eigen::MatrixBase< DerivedA > &e_recvPos, const Eigen::MatrixBase< DerivedB > &e_satPos, const Eigen::MatrixBase< DerivedC > &e_recvVel, const Eigen::MatrixBase< DerivedD > &e_satVel)
 Calculates the Range-rate Earth rotation/Sagnac correction.
 
template<typename Derived>
Derived::Scalar calcSatAzimuth (const Eigen::MatrixBase< Derived > &n_lineOfSightUnitVector)
 Calculates the azimuth of the satellite from the antenna.
 
template<typename Derived>
Derived::Scalar calcSatElevation (const Eigen::MatrixBase< Derived > &n_lineOfSightUnitVector)
 Calculates the elevation of the satellite from the antenna.
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector4< typename DerivedA::Scalar > calcTimeDerivativeFor_e_Quat_b (const Eigen::MatrixBase< DerivedA > &b_omega_eb, const Eigen::MatrixBase< DerivedB > &e_Quat_b_coeffs)
 Calculates the time derivative of the quaternion e_Quat_b.
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector4< typename DerivedA::Scalar > calcTimeDerivativeFor_n_Quat_b (const Eigen::MatrixBase< DerivedA > &b_omega_nb, const Eigen::MatrixBase< DerivedB > &n_Quat_b_coeffs)
 Calculates the time derivative of the quaternion n_Quat_b.
 
double calcTotalPressure (double altitudeMSL, PressureModel pressureModel)
 Calculates the total pressure.
 
constexpr double calcTotalPressureStAtm (double altitudeMSL)
 Calculates the standard atmosphere total pressure.
 
double calcTropoMapFunc_cosecant (double elevation)
 Calculates the mapping factor as cosecant of the elevation.
 
double calcTropoMapFunc_GMFH (double mjd, const Eigen::Vector3d &lla_pos, double elevation)
 Calculates the Global Mapping Function (GMF) for the hydrostatic delay.
 
double calcTropoMapFunc_GMFW (double mjd, const Eigen::Vector3d &lla_pos, double elevation)
 Calculates the Global Mapping Function (GMF) for the wet delay.
 
double calcTropoMapFunc_NMFH (const InsTime &epoch, const Eigen::Vector3d &lla_pos, double elevation)
 Calculates the Niell Mapping Function (NMF) for the hydrostatic delay.
 
double calcTropoMapFunc_NMFW (const Eigen::Vector3d &lla_pos, double elevation)
 Calculates the Niell Mapping Function (NMF) for the wet delay.
 
double calcTropoMapFunc_secant (double zenithDistance)
 Calculates the mapping factor as cosecant of the elevation (= secant of the zenith distance)
 
ZenithDelay calcTroposphericDelayAndMapping (const InsTime &insTime, const Eigen::Vector3d &lla_pos, double elevation, double azimuth, const TroposphereModelSelection &troposphereModels, const std::string &nameId)
 Calculates the tropospheric zenith hydrostatic and wet delays and corresponding mapping factors.
 
double calcWaterVaporPartialPressure (double temp, double humidity_rel, WaterVaporModel waterVaporModel)
 Calculates the partial pressure of water vapor.
 
constexpr double calcWaterVaporPartialPressureStAtm (double temp, double humidity_rel)
 Calculates the standard atmosphere partial pressure of water vapor.
 
template<typename Derived>
Derived::Scalar calcYawFromVelocity (const Eigen::MatrixBase< Derived > &n_velocity)
 Calculates the Yaw angle from the trajectory defined by the given velocity.
 
double calcZHD_Saastamoinen (const Eigen::Vector3d &lla_pos, double p)
 Calculates the tropospheric zenith hydrostatic delay with the Saastamoinen model.
 
double calcZWD_Saastamoinen (double T, double e)
 Calculates the tropospheric zenith wet delay with the Saastamoinen model.
 
template<typename Function, typename... Ranges>
void cartesian_product (Function function, Ranges const &... ranges)
 Calls a function on all combinations over ranges.
 
template<typename SubList, size_t N, typename Function>
void cartesian_product (Function function, std::array< SubList, N > list)
 Calls a function on all combinations over ranges defined in an array, e.g. std::array<std::vector>
 
template<typename SubList, size_t N, typename Function>
void cartesian_product_idx (Function function, std::array< SubList, N > list)
 Calls a function on all combinations over ranges defined in an array, e.g. std::array<std::vector>. Instead of providing the list entry to the function, provides the index of it in the sub list.
 
bool ColormapButton (const char *label, Colormap &cmap, const ImVec2 &size_arg)
 Display a colormap button.
 
std::optional< std::reference_wrapper< const Colormap > > ColormapSearch (const ColormapMaskType &type, const int64_t &id)
 Searches for the colormap in the Global and Flow colormaps.
 
bool ComboGravitationModel (const char *label, GravitationModel &gravitationModel)
 Shows a ComboBox to select the gravitation model.
 
bool ComboIonosphereModel (const char *label, IonosphereModel &ionosphereModel)
 Shows a ComboBox to select the ionosphere model.
 
bool ComboPressureModel (const char *label, PressureModel &pressureModel)
 Shows a ComboBox to select the pressure model.
 
bool ComboTemperatureModel (const char *label, TemperatureModel &temperatureModel)
 Shows a ComboBox to select the temperature model.
 
bool ComboTimeSystem (const char *label, TimeSystem &timeSystem)
 Shows a ComboBox to select the time system.
 
bool ComboTroposphereModel (const char *label, TroposphereModelSelection &troposphereModelSelection, float width=0.0F)
 Shows a ComboBox and button for advanced configuration to select the troposphere models.
 
bool ComboWaterVaporModel (const char *label, WaterVaporModel &waterVaporModel)
 Shows a ComboBox to select the water vapor model.
 
template<typename Derived>
Eigen::Matrix3< typename Derived::Scalar > conversionMatrixCartesianCurvilinear (const Eigen::MatrixBase< Derived > &lla_position, const typename Derived::Scalar &R_N, const typename Derived::Scalar &R_E)
 Conversion matrix between cartesian and curvilinear perturbations to the position.
 
double convertUnit (const double &value, Units::AttitudeUncertaintyUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::AttitudeUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::CovarianceAccelUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::CovarianceAngularVelocityUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::CovarianceClkFrequencyDriftUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::CovarianceClkPhaseDriftUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::PositionUncertaintyUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::VelocityUncertaintyUnits unit)
 Converts the value depending on the unit provided.
 
double convertUnit (const double &value, Units::VelocityUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuAccelerometerFilterBiasUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuAccelerometerFilterNoiseUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuAccelerometerIRWUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuAccelerometerNoiseUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuAccelerometerUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuGyroscopeFilterBiasUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuGyroscopeFilterNoiseUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuGyroscopeIRWUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuGyroscopeNoiseUnits unit)
 Converts the value depending on the unit provided.
 
template<typename Derived>
Derived::PlainObject convertUnit (const Eigen::MatrixBase< Derived > &value, Units::ImuGyroscopeUnits unit)
 Converts the value depending on the unit provided.
 
Eigen::Vector3d convertUnit (const Eigen::Vector3d &value, Units::AttitudeUncertaintyUnits unit)
 Converts the value depending on the unit provided.
 
Eigen::Vector3d convertUnit (const Eigen::Vector3d &value, Units::AttitudeUnits unit)
 Converts the value depending on the unit provided.
 
Eigen::Vector3d convertUnit (const Eigen::Vector3d &value, Units::PositionUncertaintyUnits unit)
 Converts the value depending on the unit provided.
 
Eigen::Vector3d convertUnit (const Eigen::Vector3d &value, Units::VelocityUncertaintyUnits unit)
 Converts the value depending on the unit provided.
 
Eigen::Vector3d convertUnit (const Eigen::Vector3d &value, Units::VelocityUnits unit)
 Converts the value depending on the unit provided.
 
template<std::size_t N, typename T>
constexpr std::array< T, N > create_array (const T &value)
 Create an array with the value assigned to all elements in the container.
 
bool CycleSlipDetectorGui (const char *label, CycleSlipDetector &cycleSlipDetector, float width=0.0F, bool dualFrequencyAvailable=true)
 Shows a GUI for advanced configuration of the CycleSlipDetector.
 
template<typename Scalar>
Eigen::Vector3< Scalar > deg2rad (const Eigen::Vector3< Scalar > &deg)
 Convert Degree to Radians.
 
template<class T>
constexpr auto deg2rad (const T &deg)
 Convert Degree to Radians.
 
double doppler2rangeRate (double doppler, Frequency freq, int8_t num)
 Transforms a doppler-shift into a range-rate.
 
void dscml (double rlon, double sinml[_361+1], double cosml[_361+1])
 
template<typename DerivedA, typename DerivedB = DerivedA>
Eigen::Vector3< typename DerivedA::Scalar > e_calcCentrifugalAcceleration (const Eigen::MatrixBase< DerivedA > &e_position, const Eigen::MatrixBase< DerivedB > &e_omega_ie=InsConst::e_omega_ie)
 Calculates the centrifugal acceleration in [m/s^2] (acceleration that makes a body follow a curved path)
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedB::Scalar > e_calcCoriolisAcceleration (const Eigen::MatrixBase< DerivedA > &e_omega_ie, const Eigen::MatrixBase< DerivedB > &e_velocity)
 Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame)
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedA::Scalar > e_calcLineOfSightUnitVector (const Eigen::MatrixBase< DerivedA > &e_posAnt, const Eigen::MatrixBase< DerivedB > &e_posSat)
 Calculates the line-of-sight unit vector from the user antenna to the satellite.
 
template<typename T>
Eigen::Vector< T, 10 > e_calcPosVelAttDerivative (const Eigen::Vector< T, 10 > &y, const Eigen::Vector< T, 6 > &z, const PosVelAttDerivativeConstants &c, double=0.0)
 Calculates the derivative of the quaternion, velocity and position in ECEF coordinates.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > e_calcTimeDerivativeForPosition (const Eigen::MatrixBase< Derived > &e_velocity)
 Calculates the time derivative of the ECEF position.
 
template<typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedD>
Eigen::Vector3< typename DerivedA::Scalar > e_calcTimeDerivativeForVelocity (const Eigen::MatrixBase< DerivedA > &e_measuredForce, const Eigen::MatrixBase< DerivedB > &e_coriolisAcceleration, const Eigen::MatrixBase< DerivedC > &e_gravitation, const Eigen::MatrixBase< DerivedD > &e_centrifugalAcceleration)
 Calculates the time derivative of the velocity in ECEF frame coordinates.
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > e_F_df_df (const Eigen::MatrixBase< Derived > &beta_a)
 Calculates the matrix 𝐅_𝛿f'_𝛿f.
 
template<typename T>
Eigen::Matrix3< T > e_F_dpsi_dpsi (const T &omega_ie)
 Calculates the matrix 𝐅_𝜓'_𝜓
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > e_F_dpsi_dw (const Eigen::MatrixBase< Derived > &e_Dcm_b)
 Calculates the matrix 𝐅_𝜓'_𝛿ω
 
template<typename Derived1, typename Derived2>
Eigen::Matrix< typename Derived2::Scalar, 4, 3 > e_F_dq_dGyroBias (const Eigen::QuaternionBase< Derived1 > &b_quat_p, const Eigen::QuaternionBase< Derived2 > &e_quat_b)
 Calculate the linearized attitude quaternion differential equation partially derived for the angular rate bias.
 
template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5>
Eigen::Matrix4< typename Derived5::Scalar > e_F_dq_dGyroMisalignment (const Eigen::MatrixBase< Derived1 > &p_gyroScale, const Eigen::QuaternionBase< Derived2 > &p_quatGyro_ps, const Eigen::MatrixBase< Derived3 > &ps_omega_ip, const Eigen::QuaternionBase< Derived4 > &b_quat_p, const Eigen::QuaternionBase< Derived5 > &e_quat_b)
 Calculate the linearized attitude quaternion differential equation partially derived for the gyroscope misalignment.
 
template<typename Derived1, typename Derived2, typename Derived3, typename Derived4>
Eigen::Matrix< typename Derived4::Scalar, 4, 3 > e_F_dq_dGyroScale (const Eigen::QuaternionBase< Derived1 > &p_quatGyro_ps, const Eigen::MatrixBase< Derived2 > &ps_omega_ip, const Eigen::QuaternionBase< Derived3 > &b_quat_p, const Eigen::QuaternionBase< Derived4 > &e_quat_b)
 Calculate the linearized attitude quaternion differential equation partially derived for the angular rate scale factor.
 
template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5, typename Derived6>
Eigen::Matrix4< typename Derived6::Scalar > e_F_dq_dq (const Eigen::MatrixBase< Derived1 > &p_gyroBias, const Eigen::MatrixBase< Derived2 > &p_gyroScale, const Eigen::QuaternionBase< Derived3 > &p_quatGyro_ps, const Eigen::MatrixBase< Derived4 > &ps_omega_ip, const Eigen::QuaternionBase< Derived5 > &b_quat_p, const Eigen::QuaternionBase< Derived6 > &e_quat_b, double omega_ie)
 Calculate the linearized attitude quaternion differential equation partially derived for the attitude quaternion.
 
template<typename T>
Eigen::Matrix3< T > e_F_dr_dv ()
 Calculates the matrix 𝐅_𝛿r'_𝛿v.
 
template<typename Derived1, typename Derived2>
Eigen::Matrix< typename Derived2::Scalar, 3, 3 > e_F_dv_dAccelBias (const Eigen::QuaternionBase< Derived1 > &b_quat_p, const Eigen::QuaternionBase< Derived2 > &e_quat_b)
 Calculates the matrix 𝐅_𝜓'_𝛿f_p.
 
template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5>
Eigen::Matrix< typename Derived5::Scalar, 3, 4 > e_F_dv_dAccelMisalignment (const Eigen::MatrixBase< Derived1 > &p_accelScale, const Eigen::QuaternionBase< Derived2 > &p_quatAccel_ps, const Eigen::MatrixBase< Derived3 > &ps_f_ip, const Eigen::QuaternionBase< Derived4 > &b_quat_p, const Eigen::QuaternionBase< Derived5 > &e_quat_b)
 Calculate the linearized velocity differential equation partially derived for the accelerometer misalignment.
 
template<typename Derived1, typename Derived2, typename Derived3, typename Derived4>
Eigen::Matrix< typename Derived4::Scalar, 3, 3 > e_F_dv_dAccelScale (const Eigen::QuaternionBase< Derived1 > &p_quatAccel_ps, const Eigen::MatrixBase< Derived2 > &ps_f_ip, const Eigen::QuaternionBase< Derived3 > &b_quat_p, const Eigen::QuaternionBase< Derived4 > &e_quat_b)
 Calculate the linearized velocity differential equation partially derived for the acceleration bias.
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > e_F_dv_df_b (const Eigen::MatrixBase< Derived > &e_Dcm_b)
 Calculates the matrix 𝐅_𝜓'_𝛿f_b.
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > e_F_dv_dpsi (const Eigen::MatrixBase< Derived > &e_force_ib)
 Calculates the matrix 𝐅_𝛿v'_𝜓
 
template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5, typename Derived6>
Eigen::Matrix< typename Derived6::Scalar, 3, 4 > e_F_dv_dq (const Eigen::MatrixBase< Derived1 > &p_accelBias, const Eigen::MatrixBase< Derived2 > &p_accelScale, const Eigen::QuaternionBase< Derived3 > &p_quatAccel_ps, const Eigen::MatrixBase< Derived4 > &ps_f_ip, const Eigen::QuaternionBase< Derived5 > &b_quat_p, const Eigen::QuaternionBase< Derived6 > &e_quat_b)
 Calculate the linearized velocity differential equation partially derived for the attitude.
 
template<typename Derived1, typename Derived2, typename T>
Eigen::Matrix< typename Derived1::Scalar, 3, 3 > e_F_dv_dr (const Eigen::MatrixBase< Derived1 > &e_position, const Eigen::MatrixBase< Derived2 > &e_gravitation, const T &r_eS_e, const Eigen::Vector3d &e_omega_ie)
 Calculates the matrix 𝐅_𝛿v'_𝛿r.
 
template<typename T>
Eigen::Matrix3< T > e_F_dv_dv (double omega_ie)
 Calculates the matrix 𝐅_𝛿v'_𝛿v.
 
template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > e_F_dw_dw (const Eigen::MatrixBase< Derived > &beta_omega)
 Calculates the matrix 𝐅_𝛿ω'_𝛿ω
 
template<typename KeyType, typename T>
KeyedMatrixX< T, KeyType, KeyType > e_noiseInput_G (const Eigen::Quaterniond &b_quat_p, const Eigen::Quaternion< T > &e_quat_b, bool accelBiases, bool gyroBiases, bool accelScaleFactor, bool gyroScaleFactor, bool accelMisalignment, bool gyroMisalignment)
 Calculate the noise input matrix in Earth frame coordinates.
 
template<typename KeyType, typename T>
KeyedMatrixX< T, KeyType, KeyType > e_noiseScale_W (const Eigen::Vector3d &sigma2_ra, const Eigen::Vector3d &sigma2_rg, const Eigen::Vector3d &sigma2_bad, const Eigen::Vector3d &sigma2_bgd, const Eigen::Vector3d &sigma2_sad, const Eigen::Vector3d &sigma2_sgd, bool accelBiases, bool gyroBiases, bool accelScaleFactor, bool gyroScaleFactor)
 Calculate the noise scale matrix in Earth frame coordinates.
 
template<typename KeyType, typename T>
KeyedMatrixX< T, KeyType, KeyType > e_systemMatrix_F (const Eigen::Vector3d &ps_f_ip, const Eigen::Vector3d &ps_omega_ip, const Eigen::Quaterniond &b_quat_p, const Eigen::Vector3< T > &e_gravitation, const T &r_eS_e, std::optional< double > tau_bad, std::optional< double > tau_bgd, const Eigen::Vector3< T > &e_position, const Eigen::Quaternion< T > &e_quat_b, const Eigen::Vector3< T > &p_accelBias, const Eigen::Vector3< T > &p_gyroBias, const Eigen::Vector3< T > &p_accelScale, const Eigen::Vector3< T > &p_gyroScale, const Eigen::Quaternion< T > &p_quatAccel_ps, const Eigen::Quaternion< T > &p_quatGyro_ps, const PosVelAttDerivativeConstants &config, bool accelBiases, bool gyroBiases, bool accelScaleFactor, bool gyroScaleFactor, bool accelMisalignment, bool gyroMisalignment)
 Calculate the linearized system matrix in Earth frame coordinates.
 
double egm96_compute_altitude_offset (double lat, double lon)
 Compute the geoid undulation from the EGM96 potential coefficient model to The WGS84 ellipsoid.
 
void from_json (const json &j, AtmosphereModels &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, Code &data)
 Converts the provided json object into a link object.
 
void from_json (const json &j, Colormap &cmap)
 Converts the provided json object into a struct.
 
void from_json (const json &j, Combiner::Combination &data)
 Read info from a json object.
 
void from_json (const json &j, Combiner::Combination::Term &data)
 Read info from a json object.
 
void from_json (const json &j, CycleSlipDetector &data)
 Read info from a json object.
 
static void from_json (const json &j, Demo::DemoData &data)
 Read info from a json object.
 
void from_json (const json &j, Frequency &data)
 Converts the provided json object into a link object.
 
void from_json (const json &j, GnssAnalyzer::Combination &data)
 Read info from a json object.
 
void from_json (const json &j, GnssAnalyzer::Combination::Term &data)
 Read info from a json object.
 
void from_json (const json &j, GnssMeasurementErrorModel &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, GnssMeasurementErrorModel::ModelParametersCosineType &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, GnssMeasurementErrorModel::ModelParametersExponential &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, GnssMeasurementErrorModel::ModelParametersRtklib &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, GnssMeasurementErrorModel::ModelParametersSine &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, GnssMeasurementErrorModel::ModelParametersSineCN0 &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, GnssMeasurementErrorModel::ModelParametersSineOffset &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, GnssMeasurementErrorModel::ModelParametersSineSqrt &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, ImuPos &pos)
 Read info from a json object.
 
void from_json (const json &j, InertialIntegrator &data)
 Read info from a json object.
 
void from_json (const json &j, InputPin &pin)
 Converts the provided json object into a pin object.
 
void from_json (const json &j, InsTime &insTime)
 Converts the provided json object into an InsTime.
 
void from_json (const json &j, LowPassFilter::FilterItem &data)
 Converts the provided json object into a link object.
 
void from_json (const json &j, Node &node)
 Converts the provided json object into a node object.
 
void from_json (const json &j, OutputPin &pin)
 Converts the provided json object into a pin object.
 
static void from_json (const json &j, PinData &data)
 Read info from a json object.
 
static void from_json (const json &j, PinDataBsplineKF &data)
 Read info from a json object.
 
static void from_json (const json &j, PinDataIRWKF &data)
 Read info from a json object.
 
static void from_json (const json &j, Plot::PinData &data)
 Read info from a json object.
 
static void from_json (const json &j, Plot::PinData::PlotData &data)
 Read info from a json object.
 
static void from_json (const json &j, Plot::PlotInfo &data)
 Read info from a json object.
 
static void from_json (const json &j, Plot::PlotInfo::PlotItem &data)
 Read info from a json object.
 
void from_json (const json &j, PlotItemStyle &style)
 Read info from a json object.
 
template<typename Key>
void from_json (const json &j, PolynomialCycleSlipDetector< Key > &data)
 Read info from a json object.
 
template<typename Scalar = double>
void from_json (const json &j, PolynomialRegressor< Scalar > &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, PosVelAttDerivativeConstants &data)
 Read info from a json object.
 
void from_json (const json &j, RandomNumberGenerator &rng)
 Read info from a json object.
 
void from_json (const json &j, SatelliteSystem &data)
 Converts the provided json object into a link object.
 
void from_json (const json &j, SatId &data)
 Converts the provided json object into a link object.
 
void from_json (const json &j, SatSigId &data)
 Converts the provided json object into a link object.
 
void from_json (const json &j, SNRMask &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, TemperatureModel &obj)
 Converts the provided json object into a node object.
 
void from_json (const json &j, TimeSystem &timeSystem)
 Converts the provided json object into a TimeSystem.
 
void from_json (const json &j, TroposphereModelSelection &obj)
 Converts the provided json object into a node object.
 
Eigen::Matrix3d G_GaussMarkov1 (const Eigen::Vector3d &sigma2, const Eigen::Vector3d &beta)
 Submatrix 𝐆_a of the noise input matrix 𝐆
 
Eigen::Matrix3d G_RandomWalk (const Eigen::Vector3d &sigma2)
 Random walk noise input matrix 𝐆
 
double galSisaIdx2Val (uint8_t idx)
 Converts a GALILEO SISA (Signal in space accuracy) index to it's value.
 
uint8_t galSisaVal2Idx (double val)
 Converts a GALILEO SISA (Signal in space accuracy) value to it's index.
 
template<size_t N, typename Scalar>
constexpr std::array< Scalar, N > genRangeArray (Scalar start, Scalar stepSize, Scalar end)
 Returns a container filled with the given range.
 
template<typename Scalar>
std::vector< Scalar > genRangeVector (Scalar start, Scalar stepSize, Scalar end)
 Returns a container filled with the given range.
 
double gpsUraIdx2Val (uint8_t idx)
 Converts a GPS URA (user range accuracy) index to it's value.
 
uint8_t gpsUraVal2Idx (double val)
 Converts a GPS URA (user range accuracy) value to it's index.
 
GPT2output GPT2_param (const double &mjd, const Eigen::Vector3d &lla_pos)
 Determine pressure, temperature, temperature lapse rate, mean temperature of the water vapor, water vapor pressure, hydrostatic and wet mapping function coefficients ah and aw, water vapour decrease factor and geoid undulation for specific sites near the Earth surface, based on a 1 x 1 degree GPT2 grid.
 
GPT3output GPT3_param (const double &mjd, const Eigen::Vector3d &lla_pos)
 Determine pressure, temperature, temperature lapse rate, mean temperature of the water vapor, water vapour pressure, hydrostatic and wet mapping function coefficients ah and aw, water vapour decrease factor, geoid undulation and empirical tropospheric gradients for specific sites near the earth's surface, based on a 1 x 1 degree GPT3 grid.
 
template<typename Y, typename Z, std::floating_point Scalar>
Heun2 (const Y &y_n, const std::array< Z, 2 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0)
 Heun's method (2nd order) (explicit) .
 
template<typename Y, typename Z, std::floating_point Scalar>
Heun3 (const Y &y_n, const std::array< Z, 3 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0)
 Heun's method (3nd order) (explicit) .
 
double hundu (double p[_coeffs+1], double sinml[_361+1], double cosml[_361+1], double gr, double re)
 
Eigen::Matrix3d ie_Q_dr_df (const Eigen::Vector3d &S_bad, const Eigen::Matrix3d &ie_Dcm_b, const double &tau_s)
 Submatrix 𝐐_34 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d ie_Q_dr_domega (const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &ie_F_21, const Eigen::Matrix3d &ie_Dcm_b, const double &tau_s)
 Submatrix 𝐐_35 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d ie_Q_dr_dr (const Eigen::Vector3d &S_ra, const Eigen::Vector3d &S_bad, const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &ie_F_21, const double &tau_s)
 Submatrix 𝐐_33 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d ie_Q_dr_dv (const Eigen::Vector3d &S_ra, const Eigen::Vector3d &S_bad, const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &ie_F_21, const double &tau_s)
 Submatrix 𝐐_32 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d ie_Q_dr_psi (const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &ie_F_21, const double &tau_s)
 Submatrix 𝐐_31 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d ien_Q_dv_domega (const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &ien_F_21, const Eigen::Matrix3d &ien_Dcm_b, const double &tau_s)
 Submatrix 𝐐_25 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d ien_Q_dv_dv (const Eigen::Vector3d &S_ra, const Eigen::Vector3d &S_bad, const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &ien_F_21, const double &tau_s)
 Submatrix 𝐐_22 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d ien_Q_dv_psi (const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &ien_F_21, const double &tau_s)
 Submatrix 𝐐_21 of the system noise covariance matrix 𝐐
 
bool InertialIntegratorGui (const char *label, InertialIntegrator &integrator, bool &preferAccelerationOverDeltaMeasurements, float width=250.0F)
 Shows a GUI for advanced configuration of the InertialIntegrator.
 
double ionoErrorVar (double dpsr_I, Frequency freq, int8_t num)
 Calculates the ionospheric error variance.
 
template<typename T>
std::string joinToString (const T &container, const char *delimiter=", ", const std::string &elementFormat="")
 Joins the container to a string.
 
template<typename T, typename U>
std::string joinToStringCustom (const T &container, U &&formatFunc, const char *delimiter=", ")
 Joins the container to a string.
 
void legfdn (unsigned m, double theta, double rleg[_361+1])
 
bool lessCompareSatSigId (const std::string &lhs, const std::string &rhs)
 Less than comparison from string representation.
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > lla_calcTimeDerivativeForPosition (const Eigen::MatrixBase< Derived > &n_velocity, const auto &phi, const auto &h, const auto &R_N, const auto &R_E)
 Calculates the time derivative of the curvilinear position.
 
void loadImPlotStyleFromConfigFile (const char *path, ImPlotStyle &imPlotStyle)
 Loads the ImPlotStyle from a json file.
 
template<typename T>
std::string MakeComboItems ()
 Units separated by '\0' and terminated by double '\0'.
 
double mjd2doy (const double &mjd)
 To calculate the day of year.
 
template<typename T>
void move (std::vector< T > &v, size_t sourceIdx, size_t targetIdx)
 Moves an element within a vector to a new position.
 
template<typename DerivedA, typename DerivedB, typename DerivedC>
Eigen::Vector3< typename DerivedA::Scalar > n_calcCoriolisAcceleration (const Eigen::MatrixBase< DerivedA > &n_omega_ie, const Eigen::MatrixBase< DerivedB > &n_omega_en, const Eigen::MatrixBase< DerivedC > &n_velocity)
 Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame)
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > n_calcGravitation (const Eigen::MatrixBase< Derived > &lla_position, GravitationModel gravitationModel=GravitationModel::EGM96)
 Calculates the gravitation (acceleration due to mass attraction of the Earth)
 
template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > n_calcGravitation_EGM96 (const Eigen::MatrixBase< Derived > &lla_position, size_t ndegree=10)
 Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the EGM96 spherical harmonic model (up to order 10)
 
template<typename T>
Eigen::Vector3< T > n_calcGravitation_SomiglianaAltitude (const T &latitude, const T &altitude)
 Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the Somigliana model and makes corrections for altitude.
 
template<typename T>
Eigen::Vector3< T > n_calcGravitation_WGS84 (const T &latitude, const T &altitude)
 Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential.
 
template<typename T>
Eigen::Vector3< T > n_calcGravitation_WGS84_Skydel (const T &latitude, const T &altitude)
 Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential. However, the north component of the centrifugal acceleration is neglected in order to match the implementation of Skydel's 'ImuPlugin'.
 
template<typename T>
Eigen::Vector< T, 10 > n_calcPosVelAttDerivative (const Eigen::Vector< T, 10 > &y, const Eigen::Vector< T, 6 > &z, const PosVelAttDerivativeConstants &c, double=0.0)
 Calculates the derivative of the quaternion, velocity and curvilinear position.
 
template<typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedD>
Eigen::Vector3< typename DerivedA::Scalar > n_calcTimeDerivativeForVelocity (const Eigen::MatrixBase< DerivedA > &n_measuredForce, const Eigen::MatrixBase< DerivedB > &n_coriolisAcceleration, const Eigen::MatrixBase< DerivedC > &n_gravitation, const Eigen::MatrixBase< DerivedD > &n_centrifugalAcceleration)
 Calculates the time derivative of the velocity in local-navigation frame coordinates.
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedA::Scalar > n_calcTransportRate (const Eigen::MatrixBase< DerivedA > &lla_position, const Eigen::MatrixBase< DerivedB > &n_velocity, const auto &R_N, const auto &R_E)
 Calculates the transport rate ω_en_n (rotation rate of the Earth frame relative to the navigation frame)
 
Eigen::Matrix3d n_F_df_df (const Eigen::Vector3d &beta_a)
 Calculates the matrix 𝐅_𝛿f'_𝛿f.
 
Eigen::Matrix3d n_F_dpsi_dpsi (const Eigen::Vector3d &n_omega_in)
 Calculates the matrix 𝐅_𝜓'_𝜓
 
Eigen::Matrix3d n_F_dpsi_dr (double latitude, double height, const Eigen::Vector3d &n_velocity, double R_N, double R_E)
 Calculates the matrix 𝐅_𝜓'_𝛿r.
 
Eigen::Matrix3d n_F_dpsi_dv (double latitude, double height, double R_N, double R_E)
 Calculates the matrix 𝐅_𝜓'_𝛿v.
 
Eigen::Matrix3d n_F_dpsi_dw (const Eigen::Matrix3d &n_Dcm_b)
 Calculates the matrix 𝐅_𝜓'_𝛿ω
 
Eigen::Matrix3d n_F_dr_dr (const Eigen::Vector3d &n_velocity, double latitude, double height, double R_N, double R_E)
 Calculates the matrix 𝐅_𝛿r'_𝛿r.
 
Eigen::Matrix3d n_F_dr_dv (double latitude, double height, double R_N, double R_E)
 Calculates the matrix 𝐅_𝛿r'_𝛿v.
 
Eigen::Matrix3d n_F_dv_df (const Eigen::Matrix3d &n_Dcm_b)
 Calculates the matrix 𝐅_𝜓'_𝛿f.
 
Eigen::Matrix3d n_F_dv_dpsi (const Eigen::Vector3d &n_force_ib)
 Calculates the matrix 𝐅_𝛿v'_𝜓
 
Eigen::Matrix3d n_F_dv_dr (const Eigen::Vector3d &n_velocity, double latitude, double height, double R_N, double R_E, double g_0, double r_eS_e)
 Calculates the matrix 𝐅_𝛿v'_𝛿r.
 
Eigen::Matrix3d n_F_dv_dv (const Eigen::Vector3d &n_velocity, double latitude, double height, double R_N, double R_E)
 Calculates the matrix 𝐅_𝛿v'_𝛿v.
 
Eigen::Matrix3d n_F_dw_dw (const Eigen::Vector3d &beta_omega)
 Calculates the matrix 𝐅_𝛿ω'_𝛿ω
 
Eigen::Matrix3d n_Q_dr_df (const Eigen::Vector3d &S_bad, const Eigen::Matrix3d &T_rn_p, const Eigen::Matrix3d &n_Dcm_b, const double &tau_s)
 Submatrix 𝐐_34 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d n_Q_dr_domega (const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &n_F_21, const Eigen::Matrix3d &T_rn_p, const Eigen::Matrix3d &n_Dcm_b, const double &tau_s)
 Submatrix 𝐐_35 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d n_Q_dr_dr (const Eigen::Vector3d &S_ra, const Eigen::Vector3d &S_bad, const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &n_F_21, const Eigen::Matrix3d &T_rn_p, const double &tau_s)
 Submatrix 𝐐_33 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d n_Q_dr_dv (const Eigen::Vector3d &S_ra, const Eigen::Vector3d &S_bad, const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &n_F_21, const Eigen::Matrix3d &T_rn_p, const double &tau_s)
 Submatrix 𝐐_32 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d n_Q_dr_psi (const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &n_F_21, const Eigen::Matrix3d &T_rn_p, const double &tau_s)
 Submatrix 𝐐_31 of the system noise covariance matrix 𝐐
 
bool operator!= (const Code &lhs, const Code &rhs)
 
bool operator!= (const Code &lhs, const Code::Enum &rhs)
 
bool operator!= (const Code::Enum &lhs, const Code &rhs)
 
constexpr bool operator!= (const Frequency &lhs, const Frequency &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const Frequency &lhs, const Frequency_ &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const Frequency_ &lhs, const Frequency &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const Node::Kind &lhs, const Node::Kind &rhs)
 Inequal compares Node::Kind values.
 
constexpr bool operator!= (const Node::Kind &lhs, const Node::Kind::Value &rhs)
 Inequal compares Node::Kind values.
 
constexpr bool operator!= (const Node::Kind::Value &lhs, const Node::Kind &rhs)
 Inequal compares Node::Kind values.
 
constexpr bool operator!= (const Pin::Kind &lhs, const Pin::Kind &rhs)
 Inequal compares Pin::Kind values.
 
constexpr bool operator!= (const Pin::Kind &lhs, const Pin::Kind::Value &rhs)
 Inequal compares Pin::Kind values.
 
constexpr bool operator!= (const Pin::Kind::Value &lhs, const Pin::Kind &rhs)
 Inequal compares Pin::Kind values.
 
constexpr bool operator!= (const Pin::Type &lhs, const Pin::Type &rhs)
 Inequal compares Pin::Type values.
 
constexpr bool operator!= (const Pin::Type &lhs, const Pin::Type::Value &rhs)
 Inequal compares Pin::Type values.
 
constexpr bool operator!= (const Pin::Type::Value &lhs, const Pin::Type &rhs)
 Inequal compares Pin::Type values.
 
constexpr bool operator!= (const SatelliteSystem &lhs, const SatelliteSystem &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const SatelliteSystem &lhs, const SatelliteSystem_ &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const SatelliteSystem_ &lhs, const SatelliteSystem &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const TimeSystem &lhs, const TimeSystem &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const TimeSystem &lhs, const TimeSystem_ &rhs)
 Inequal compares values.
 
constexpr bool operator!= (const TimeSystem_ &lhs, const TimeSystem &rhs)
 Inequal compares values.
 
constexpr long double operator""_deg (long double deg)
 Converts [degree] to [radian].
 
constexpr long double operator""_mas (long double mas)
 Converts [milliarcseconds] to [radian].
 
constexpr long double operator""_mas (unsigned long long mas)
 Converts [milliarcseconds] to [radian].
 
constexpr long double operator""_ppb (long double ppb)
 Parts per billion.
 
constexpr long double operator""_ppb (unsigned long long ppb)
 Parts per billion.
 
Code operator& (Code lhs, Frequency rhs)
 
Code operator& (Code lhs, Frequency_ rhs)
 
Code operator& (Code lhs, SatelliteSystem rhs)
 
Code operator& (Code lhs, SatelliteSystem_ rhs)
 
Code operator& (const Code &lhs, const Code &rhs)
 
Code operator& (const Code &lhs, const Code::Enum &rhs)
 
Code operator& (const Code::Enum &lhs, const Code &rhs)
 
Code operator& (const Code::Enum &lhs, const Code::Enum &rhs)
 Allows combining flags of the Code enum.
 
Code operator& (Frequency lhs, Code rhs)
 
constexpr Frequency_ operator& (Frequency lhs, Frequency rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_ operator& (Frequency lhs, Frequency_ rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_ operator& (Frequency lhs, SatelliteSystem rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr Frequency_ operator& (Frequency lhs, SatelliteSystem_ rhs)
 Allows filtering Frequency with SatelliteSystem.
 
Code operator& (Frequency_ lhs, Code rhs)
 
constexpr Frequency_ operator& (Frequency_ lhs, Frequency rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_ operator& (Frequency_ lhs, Frequency_ rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_ operator& (Frequency_ lhs, SatelliteSystem rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr Frequency_ operator& (Frequency_ lhs, SatelliteSystem_ rhs)
 Allows filtering Frequency with SatelliteSystem.
 
Orbit::Calc operator& (Orbit::Calc lhs, Orbit::Calc rhs)
 Allows construction of Calc objects.
 
Code operator& (SatelliteSystem lhs, Code rhs)
 
constexpr Frequency_ operator& (SatelliteSystem lhs, Frequency rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr Frequency_ operator& (SatelliteSystem lhs, Frequency_ rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr SatelliteSystem operator& (SatelliteSystem lhs, SatelliteSystem rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_ operator& (SatelliteSystem lhs, SatelliteSystem_ rhs)
 Allows combining flags of the SatelliteSystem enum.
 
Code operator& (SatelliteSystem_ lhs, Code rhs)
 
constexpr Frequency_ operator& (SatelliteSystem_ lhs, Frequency rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr Frequency_ operator& (SatelliteSystem_ lhs, Frequency_ rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr SatelliteSystem_ operator& (SatelliteSystem_ lhs, SatelliteSystem rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_ operator& (SatelliteSystem_ lhs, SatelliteSystem_ rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr TimeSystem operator& (TimeSystem lhs, TimeSystem rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem operator& (TimeSystem lhs, TimeSystem_ rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem operator& (TimeSystem_ lhs, TimeSystem rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem_ operator& (TimeSystem_ lhs, TimeSystem_ rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr Frequencyoperator&= (Frequency &lhs, const Frequency &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequencyoperator&= (Frequency &lhs, const Frequency_ &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequencyoperator&= (Frequency &lhs, const SatelliteSystem &rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr Frequencyoperator&= (Frequency &lhs, const SatelliteSystem_ &rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr Frequency_operator&= (Frequency_ &lhs, const Frequency &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_operator&= (Frequency_ &lhs, const Frequency_ &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_operator&= (Frequency_ &lhs, const SatelliteSystem &rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr Frequency_operator&= (Frequency_ &lhs, const SatelliteSystem_ &rhs)
 Allows filtering Frequency with SatelliteSystem.
 
constexpr SatelliteSystemoperator&= (SatelliteSystem &lhs, const SatelliteSystem &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystemoperator&= (SatelliteSystem &lhs, const SatelliteSystem_ &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_operator&= (SatelliteSystem_ &lhs, const SatelliteSystem &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_operator&= (SatelliteSystem_ &lhs, const SatelliteSystem_ &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr TimeSystemoperator&= (TimeSystem &lhs, const TimeSystem &rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystemoperator&= (TimeSystem &lhs, const TimeSystem_ &rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem_operator&= (TimeSystem_ &lhs, const TimeSystem &rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem_operator&= (TimeSystem_ &lhs, const TimeSystem_ &rhs)
 Allows combining flags of the TimeSystem enum.
 
bool operator< (const Code &lhs, const Code &rhs)
 
bool operator< (const Code &lhs, const Code::Enum &rhs)
 
bool operator< (const Code::Enum &lhs, const Code &rhs)
 
template<std::size_t N>
bool operator< (const std::bitset< N > &lhs, const std::bitset< N > &rhs)
 Comparison operator for bitsets.
 
std::ostream & operator<< (std::ostream &os, const InsTime &insTime)
 Stream insertion operator overload.
 
std::ostream & operator<< (std::ostream &os, const InsTime_GPSweekTow &gpsWeekTow)
 Stream insertion operator overload.
 
std::ostream & operator<< (std::ostream &os, const InsTime_JD &jd)
 Stream insertion operator overload.
 
std::ostream & operator<< (std::ostream &os, const InsTime_MJD &mjd)
 Stream insertion operator overload.
 
std::ostream & operator<< (std::ostream &os, const InsTime_YDoySod &yDoySod)
 Stream insertion operator overload.
 
std::ostream & operator<< (std::ostream &os, const InsTime_YMDHMS &ymdhms)
 Stream insertion operator overload.
 
std::ostream & operator<< (std::ostream &os, const SatelliteSystem &satSys)
 Stream insertion operator overload.
 
bool operator== (const Code &lhs, const Code &rhs)
 
bool operator== (const Code &lhs, const Code::Enum &rhs)
 
bool operator== (const Code::Enum &lhs, const Code &rhs)
 
constexpr bool operator== (const Frequency &lhs, const Frequency &rhs)
 Equal compares values.
 
constexpr bool operator== (const Frequency &lhs, const Frequency_ &rhs)
 Equal compares values.
 
constexpr bool operator== (const Frequency_ &lhs, const Frequency &rhs)
 Equal compares values.
 
constexpr bool operator== (const Node::Kind &lhs, const Node::Kind &rhs)
 Equal compares Node::Kind values.
 
constexpr bool operator== (const Node::Kind &lhs, const Node::Kind::Value &rhs)
 Equal compares Node::Kind values.
 
constexpr bool operator== (const Node::Kind::Value &lhs, const Node::Kind &rhs)
 Equal compares Node::Kind values.
 
constexpr bool operator== (const Pin::Kind &lhs, const Pin::Kind &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const Pin::Kind &lhs, const Pin::Kind::Value &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const Pin::Kind::Value &lhs, const Pin::Kind &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const Pin::Type &lhs, const Pin::Type &rhs)
 Equal compares Pin::Type values.
 
constexpr bool operator== (const Pin::Type &lhs, const Pin::Type::Value &rhs)
 Equal compares Pin::Type values.
 
constexpr bool operator== (const Pin::Type::Value &lhs, const Pin::Type &rhs)
 Equal compares Pin::Type values.
 
constexpr bool operator== (const SatelliteSystem &lhs, const SatelliteSystem &rhs)
 Equal compares values.
 
constexpr bool operator== (const SatelliteSystem &lhs, const SatelliteSystem_ &rhs)
 Equal compares values.
 
constexpr bool operator== (const SatelliteSystem_ &lhs, const SatelliteSystem &rhs)
 Equal compares values.
 
template<typename T>
bool operator== (const std::vector< T > &lhs, std::span< const T > rhs)
 Comparison operator for span and vector.
 
constexpr bool operator== (const TemperatureModel &lhs, const TemperatureModel &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const TemperatureModel &lhs, const TemperatureModel::Model &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const TemperatureModel::Model &lhs, const TemperatureModel &rhs)
 Equal compares Pin::Kind values.
 
constexpr bool operator== (const TimeSystem &lhs, const TimeSystem &rhs)
 Equal compares values.
 
constexpr bool operator== (const TimeSystem &lhs, const TimeSystem_ &rhs)
 Equal compares values.
 
constexpr bool operator== (const TimeSystem_ &lhs, const TimeSystem &rhs)
 Equal compares values.
 
template<typename T>
bool operator== (std::span< const T > lhs, const std::vector< T > &rhs)
 Comparison operator for span and vector.
 
Code operator| (Code lhs, Frequency rhs)
 
Code operator| (Code lhs, Frequency_ rhs)
 
Code operator| (Code lhs, SatelliteSystem rhs)
 
Code operator| (Code lhs, SatelliteSystem_ rhs)
 
Code operator| (const Code &lhs, const Code &rhs)
 
Code operator| (const Code &lhs, const Code::Enum &rhs)
 
Code operator| (const Code::Enum &lhs, const Code &rhs)
 
Code operator| (const Code::Enum &lhs, const Code::Enum &rhs)
 Allows combining flags of the Code enum.
 
Code operator| (Frequency lhs, Code rhs)
 
constexpr Frequency_ operator| (Frequency lhs, Frequency rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_ operator| (Frequency lhs, Frequency_ rhs)
 Allows combining flags of the Frequency enum.
 
Code operator| (Frequency_ lhs, Code rhs)
 
constexpr Frequency_ operator| (Frequency_ lhs, Frequency rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_ operator| (Frequency_ lhs, Frequency_ rhs)
 Allows combining flags of the Frequency enum.
 
Orbit::Calc operator| (Orbit::Calc lhs, Orbit::Calc rhs)
 Allows construction of Calc objects.
 
Code operator| (SatelliteSystem lhs, Code rhs)
 
constexpr SatelliteSystem_ operator| (SatelliteSystem lhs, SatelliteSystem rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_ operator| (SatelliteSystem lhs, SatelliteSystem_ rhs)
 Allows combining flags of the SatelliteSystem enum.
 
Code operator| (SatelliteSystem_ lhs, Code rhs)
 
constexpr SatelliteSystem_ operator| (SatelliteSystem_ lhs, SatelliteSystem rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_ operator| (SatelliteSystem_ lhs, SatelliteSystem_ rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr TimeSystem operator| (TimeSystem lhs, TimeSystem rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem operator| (TimeSystem lhs, TimeSystem_ rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem operator| (TimeSystem_ lhs, TimeSystem rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem_ operator| (TimeSystem_ lhs, TimeSystem_ rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr Frequencyoperator|= (Frequency &lhs, const Frequency &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequencyoperator|= (Frequency &lhs, const Frequency_ &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_operator|= (Frequency_ &lhs, const Frequency &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr Frequency_operator|= (Frequency_ &lhs, const Frequency_ &rhs)
 Allows combining flags of the Frequency enum.
 
constexpr SatelliteSystemoperator|= (SatelliteSystem &lhs, const SatelliteSystem &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystemoperator|= (SatelliteSystem &lhs, const SatelliteSystem_ &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_operator|= (SatelliteSystem_ &lhs, const SatelliteSystem &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_operator|= (SatelliteSystem_ &lhs, const SatelliteSystem_ &rhs)
 Allows combining flags of the SatelliteSystem enum.
 
constexpr TimeSystemoperator|= (TimeSystem &lhs, const TimeSystem &rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystemoperator|= (TimeSystem &lhs, const TimeSystem_ &rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem_operator|= (TimeSystem_ &lhs, const TimeSystem &rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr TimeSystem_operator|= (TimeSystem_ &lhs, const TimeSystem_ &rhs)
 Allows combining flags of the TimeSystem enum.
 
constexpr Frequency_ operator~ (Frequency rhs)
 Allows negating flags of the Frequency enum.
 
constexpr Frequency_ operator~ (Frequency_ rhs)
 Allows negating flags of the Frequency enum.
 
constexpr SatelliteSystem_ operator~ (SatelliteSystem rhs)
 Allows negating flags of the SatelliteSystem enum.
 
constexpr SatelliteSystem_ operator~ (SatelliteSystem_ rhs)
 Allows negating flags of the SatelliteSystem enum.
 
constexpr TimeSystem operator~ (TimeSystem rhs)
 Allows negating flags of the TimeSystem enum.
 
constexpr TimeSystem operator~ (TimeSystem_ rhs)
 Allows negating flags of the TimeSystem enum.
 
template<typename Key>
bool PolynomialCycleSlipDetectorGui (const char *label, PolynomialCycleSlipDetector< Key > &polynomialCycleSlipDetector, float width=0.0F)
 Shows a GUI for advanced configuration of the PolynomialCycleSlipDetector.
 
Eigen::Vector3d psd2BiasGaussMarkov (const Eigen::Vector3d &sigma2_bd, const Eigen::Vector3d &tau_bd)
 u_bias^2 Power Spectral Density of the bias for a Gauss-Markov random process
 
Eigen::Matrix3d Q_df_df (const Eigen::Vector3d &S_bad, const double &tau_s)
 Submatrix 𝐐_44 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d Q_df_dv (const Eigen::Vector3d &S_bad, const Eigen::Matrix3d &b_Dcm_ien, const double &tau_s)
 Submatrix 𝐐_42 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d Q_domega_domega (const Eigen::Vector3d &S_bgd, const double &tau_s)
 Submatrix 𝐐_55 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d Q_domega_psi (const Eigen::Vector3d &S_bgd, const Eigen::Matrix3d &b_Dcm_ien, const double &tau_s)
 Submatrix 𝐐_51 of the system noise covariance matrix 𝐐
 
Eigen::Matrix2d Q_gnss (const double &S_cPhi, const double &S_cf, const double &tau_s)
 Submatrix 𝐐_66 of the system noise covariance matrix 𝐐
 
Eigen::Matrix3d Q_psi_psi (const Eigen::Vector3d &S_rg, const Eigen::Vector3d &S_bgd, const double &tau_s)
 Submatrix 𝐐_11 of the system noise covariance matrix 𝐐
 
template<typename Scalar>
Eigen::Vector3< Scalar > rad2deg (const Eigen::Vector3< Scalar > &rad)
 Convert Radians to Degree.
 
template<class T>
constexpr auto rad2deg (const T &rad)
 Convert Radians to Degree.
 
template<class T>
constexpr auto rad2semicircles (const T &rad)
 Convert Radians to Semicircles.
 
double rangeRate2doppler (double rangeRate, Frequency freq, int8_t num)
 Transforms a range-rate into a doppler-shift.
 
double ratioFreqSquared (Frequency f1, Frequency f2, int8_t num1, int8_t num2)
 Calculates the ration of the frequencies squared γ
 
template<typename Derived>
void removeCols (Eigen::DenseBase< Derived > &matrix, const std::vector< int > &colIndices)
 Removes cols from a matrix or vector.
 
template<typename Derived>
void removeCols (Eigen::DenseBase< Derived > &matrix, size_t index, size_t length)
 Removes columns from a matrix or vector.
 
template<typename Derived>
void removeRows (Eigen::DenseBase< Derived > &matrix, const std::vector< int > &rowIndices)
 Removes rows from a matrix or vector.
 
template<typename Derived>
void removeRows (Eigen::DenseBase< Derived > &matrix, size_t index, size_t length)
 Removes rows from a matrix or vector.
 
template<typename Derived>
void removeRowsAndCols (Eigen::DenseBase< Derived > &matrix, const std::vector< int > &rowIndices, const std::vector< int > &colIndices)
 Removes rows and columns from a matrix or vector.
 
template<typename Derived>
void removeRowsAndCols (Eigen::DenseBase< Derived > &matrix, size_t row, size_t rows, size_t col, size_t cols)
 Removes rows and columns from a matrix or vector.
 
template<typename Y, typename Z, std::floating_point Scalar>
RungeKutta1 (const Y &y_n, const std::array< Z, 1 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0)
 Runge-Kutta 1st order (explicit) / (Forward) Euler method .
 
template<typename Y, typename Z, std::floating_point Scalar>
RungeKutta2 (const Y &y_n, const std::array< Z, 2 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0)
 Runge-Kutta 2nd order (explicit) / Explicit midpoint method .
 
template<typename Y, typename Z, std::floating_point Scalar>
RungeKutta3 (const Y &y_n, const std::array< Z, 3 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0)
 Runge-Kutta 3rd order (explicit) / Simpson's rule .
 
template<typename Y, typename Z, std::floating_point Scalar>
RungeKutta4 (const Y &y_n, const std::array< Z, 4 > &z, const Scalar &h, const auto &f, const auto &constParam, const Scalar &t_n=0)
 Runge-Kutta 4th order (explicit) .
 
template<class T>
constexpr auto semicircles2rad (const T &semicircles)
 Convert Semicircles to Radians.
 
bool ShowCodeSelector (const char *label, Code &code, const Frequency &filterFreq, bool singleSelect=false)
 Shows a ComboBox to select signal codes.
 
bool ShowColormapSelector (ColormapMaskType &type, int64_t &id, const char *label="")
 Shows a combobox to select a colormap.
 
bool ShowFrequencySelector (const char *label, Frequency &frequency, bool singleSelect=false)
 Shows a ComboBox to select GNSS frequencies.
 
bool ShowPlotTooltip (std::vector< PlotTooltip > &tooltips, size_t plotItemIdx, const std::string &plotName, ImAxis axis, const ScrollingBuffer< double > &xData, const ScrollingBuffer< double > &yData, bool otherHoverTooltipsShown, const std::function< void(size_t)> &showTooltipCallback)
 Shows a tooltip if the plot is hovered.
 
void ShowPlotTooltipWindows (std::vector< PlotTooltip > &tooltips, size_t plotItemIdx, const std::string &plotName, const std::string &uid, const std::vector< int * > &parentWindows, const std::function< InsTime(size_t)> &getInsTime, const std::function< void(size_t, const char *)> &showTooltipCallback)
 Shows all tooltip windows in the vector.
 
bool ShowSatelliteSelector (const char *label, SatId &satellite, SatelliteSystem filterSys=SatSys_All, bool displayOnlyNumber=false)
 Shows a ComboBox to select a single satellite.
 
bool ShowSatelliteSelector (const char *label, std::vector< SatId > &satellites, SatelliteSystem filterSys=SatSys_All, bool displayOnlyNumber=false)
 Shows a ComboBox to select satellites.
 
template<typename DerivedA, typename DerivedB>
Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime > solveLinearLeastSquares (const Eigen::MatrixBase< DerivedA > &H, const Eigen::MatrixBase< DerivedB > &dz)
 Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.
 
template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedVectorX< Scalar, StateKeyType > solveLinearLeastSquares (const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > &H, const KeyedVectorX< Scalar, MeasKeyType > &dz)
 Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.
 
template<typename DerivedA, typename DerivedB>
LeastSquaresResult< Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime >, Eigen::Matrix< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime, DerivedA::ColsAtCompileTime > > solveLinearLeastSquaresUncertainties (const Eigen::MatrixBase< DerivedA > &H, const Eigen::MatrixBase< DerivedB > &dz)
 Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.
 
template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedLeastSquaresResult< Scalar, StateKeyType > solveLinearLeastSquaresUncertainties (const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > &H, const KeyedVectorX< Scalar, MeasKeyType > &dz)
 Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.
 
template<typename DerivedA, typename DerivedW, typename DerivedB>
Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime > solveWeightedLinearLeastSquares (const Eigen::MatrixBase< DerivedA > &H, const Eigen::MatrixBase< DerivedW > &W, const Eigen::MatrixBase< DerivedB > &dz)
 Finds the "weighted least squares" solution.
 
template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedVectorX< Scalar, StateKeyType > solveWeightedLinearLeastSquares (const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > &H, const KeyedMatrixX< Scalar, MeasKeyType, MeasKeyType > &W, const KeyedVectorX< Scalar, MeasKeyType > &dz)
 Finds the "weighted least squares" solution (see LeastSquares.hpp)
 
template<typename DerivedA, typename DerivedW, typename DerivedB>
LeastSquaresResult< Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime >, Eigen::Matrix< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime, DerivedA::ColsAtCompileTime > > solveWeightedLinearLeastSquaresUncertainties (const Eigen::MatrixBase< DerivedA > &H, const Eigen::MatrixBase< DerivedW > &W, const Eigen::MatrixBase< DerivedB > &dz)
 Finds the "weighted least squares" solution.
 
template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedLeastSquaresResult< Scalar, StateKeyType > solveWeightedLinearLeastSquaresUncertainties (const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > &H, const KeyedMatrixX< Scalar, MeasKeyType, MeasKeyType > &W, const KeyedVectorX< Scalar, MeasKeyType > &dz)
 Finds the "weighted least squares" solution.
 
template<typename Derived, typename Compare>
std::vector< size_t > sort_permutation (const Eigen::MatrixBase< Derived > &vec, Compare compare)
 Gives the permutation to sort the vector.
 
template<typename T, typename Compare>
std::vector< size_t > sort_permutation (const std::vector< T > &vec, Compare compare)
 Gives the permutation to sort the std::vector.
 
bool SystemModelGui (SystemModelCalcAlgorithm &algorithm, float itemWidth, const char *id)
 Shows a GUI.
 
void to_json (json &j, const AtmosphereModels &obj)
 Converts the provided object into json.
 
void to_json (json &j, const Code &data)
 Converts the provided link into a json object.
 
void to_json (json &j, const Colormap &cmap)
 Converts the provided object into a json object.
 
void to_json (json &j, const Combiner::Combination &data)
 Write info to a json object.
 
void to_json (json &j, const Combiner::Combination::Term &data)
 Write info to a json object.
 
void to_json (json &j, const CycleSlipDetector &data)
 Write info to a json object.
 
static void to_json (json &j, const Demo::DemoData &data)
 Write info to a json object.
 
void to_json (json &j, const Frequency &data)
 Converts the provided link into a json object.
 
void to_json (json &j, const GnssAnalyzer::Combination &data)
 Write info to a json object.
 
void to_json (json &j, const GnssAnalyzer::Combination::Term &data)
 Write info to a json object.
 
void to_json (json &j, const GnssMeasurementErrorModel &obj)
 Converts the provided object into json.
 
void to_json (json &j, const GnssMeasurementErrorModel::ModelParametersCosineType &obj)
 Converts the provided object into json.
 
void to_json (json &j, const GnssMeasurementErrorModel::ModelParametersExponential &obj)
 Converts the provided object into json.
 
void to_json (json &j, const GnssMeasurementErrorModel::ModelParametersRtklib &obj)
 Converts the provided object into json.
 
void to_json (json &j, const GnssMeasurementErrorModel::ModelParametersSine &obj)
 Converts the provided object into json.
 
void to_json (json &j, const GnssMeasurementErrorModel::ModelParametersSineCN0 &obj)
 Converts the provided object into json.
 
void to_json (json &j, const GnssMeasurementErrorModel::ModelParametersSineOffset &obj)
 Converts the provided object into json.
 
void to_json (json &j, const GnssMeasurementErrorModel::ModelParametersSineSqrt &obj)
 Converts the provided object into json.
 
void to_json (json &j, const ImuPos &pos)
 Write info to a json object.
 
void to_json (json &j, const InertialIntegrator &data)
 Write info to a json object.
 
void to_json (json &j, const InputPin &pin)
 Converts the provided pin into a json object.
 
void to_json (json &j, const InsTime &insTime)
 Converts the provided InsTime into a json object.
 
void to_json (json &j, const LowPassFilter::FilterItem &data)
 Converts the provided link into a json object.
 
void to_json (json &j, const Node &node)
 Converts the provided node into a json object.
 
void to_json (json &j, const OutputPin &pin)
 Converts the provided pin into a json object.
 
static void to_json (json &j, const PinData &data)
 Write info to a json object.
 
static void to_json (json &j, const PinDataBsplineKF &data)
 Write info to a json object.
 
static void to_json (json &j, const PinDataIRWKF &data)
 Write info to a json object.
 
static void to_json (json &j, const Plot::PinData &data)
 Write info to a json object.
 
static void to_json (json &j, const Plot::PinData::PlotData &data)
 Write info to a json object.
 
static void to_json (json &j, const Plot::PlotInfo &data)
 Write info to a json object.
 
static void to_json (json &j, const Plot::PlotInfo::PlotItem &data)
 Write info to a json object.
 
void to_json (json &j, const PlotItemStyle &style)
 Write info to a json object.
 
template<typename Key>
void to_json (json &j, const PolynomialCycleSlipDetector< Key > &data)
 Write info to a json object.
 
template<typename Scalar = double>
void to_json (json &j, const PolynomialRegressor< Scalar > &obj)
 Converts the provided object into json.
 
void to_json (json &j, const PosVelAttDerivativeConstants &data)
 Write info to a json object.
 
void to_json (json &j, const RandomNumberGenerator &rng)
 Write info to a json object.
 
void to_json (json &j, const SatelliteSystem &data)
 Converts the provided link into a json object.
 
void to_json (json &j, const SatId &data)
 Converts the provided link into a json object.
 
void to_json (json &j, const SatSigId &data)
 Converts the provided link into a json object.
 
void to_json (json &j, const SNRMask &obj)
 Converts the provided object into json.
 
static void to_json (json &j, const std::vector< Plot::PinData::PlotData > &data)
 Write info to a json object.
 
void to_json (json &j, const TemperatureModel &obj)
 Converts the provided object into json.
 
void to_json (json &j, const TimeSystem &timeSystem)
 Converts the provided TimeSystem into a json object.
 
void to_json (json &j, const TroposphereModelSelection &obj)
 Converts the provided object into json.
 
std::string to_string (const CycleSlipDetector::Result &cycleSlip)
 Converts the detector result into a string.
 
const char * to_string (const TemperatureModel &temperatureModel)
 Converts the enum to a string.
 
const char * to_string (GnssMeasurementErrorModel::Model model)
 Converts the enum to a string.
 
constexpr const char * to_string (GnssObs::ObservationType obsType)
 Converts the enum to a string.
 
const char * to_string (GravitationModel gravitationModel)
 Converts the enum to a string.
 
const char * to_string (gui::widgets::PositionWithFrame::ReferenceFrame refFrame)
 Converts the enum to a string.
 
const char * to_string (gui::widgets::TimeEditFormat::Format timeEditFormat)
 Converts the enum to a string.
 
const char * to_string (InertialIntegrator::IntegrationAlgorithm algorithm)
 Converts the enum to a string.
 
const char * to_string (InertialIntegrator::IntegrationFrame frame)
 Converts the enum to a string.
 
const char * to_string (IonosphereModel ionosphereModel)
 Converts the enum to a string.
 
const char * to_string (MappingFunction mappingFunction)
 Converts the enum to a string.
 
constexpr const char * to_string (NAV::BaroSimulator::GravityInput value)
 Converts the enum to a string.
 
constexpr const char * to_string (NAV::ImuFusion::ImuFusionType value)
 
constexpr const char * to_string (NAV::MultiImuFile::NmeaType value)
 Converts the enum to a string.
 
constexpr const char * to_string (NAV::PressToHgt::GravityInput value)
 Converts the enum to a string.
 
const char * to_string (NAV::VectorNavBinaryConverter::OutputType value)
 Converts the enum to a string.
 
const char * to_string (PolynomialRegressor<>::Strategy strategy)
 Converts the enum to a string.
 
constexpr const char * to_string (PosVelAttInitializer::AttitudeMode attitudeMode)
 Converts the enum to a string.
 
constexpr const char * to_string (PosVelAttInitializer::VelocityOverride velOverride)
 Converts the enum to a string.
 
const char * to_string (PressureModel pressureModel)
 Converts the enum to a string.
 
const char * to_string (SPP::Algorithm::EstimatorType estimatorType)
 Converts the enum to a string.
 
const char * to_string (SPP::Algorithm::ReceiverType receiver)
 Converts the enum to a string.
 
const char * to_string (TemperatureModel::Model temperatureModel)
 Converts the enum to a string.
 
const char * to_string (TimeSystem::TimeSystemEnum timeSystem)
 Converts the enum to a string.
 
const char * to_string (TroposphereModel troposphereZhdModel)
 Converts the enum to a string.
 
std::string to_string (Units::AttitudeUncertaintyUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::AttitudeUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::CovarianceAccelUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::CovarianceAngularVelocityUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::CovarianceClkFrequencyDriftUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::CovarianceClkPhaseDriftUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuAccelerometerFilterBiasUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuAccelerometerFilterNoiseUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuAccelerometerIRWUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuAccelerometerNoiseUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuAccelerometerUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuGyroscopeFilterBiasUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuGyroscopeFilterNoiseUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuGyroscopeIRWUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuGyroscopeNoiseUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::ImuGyroscopeUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::PositionUncertaintyUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::VelocityUncertaintyUnits unit)
 Converts the unit into a string.
 
std::string to_string (Units::VelocityUnits unit)
 Converts the unit into a string.
 
const char * to_string (vendor::RINEX::ObsHeader::MarkerTypes markerType)
 Converts the enum to a string.
 
const char * to_string (WaterVaporModel waterVaporModel)
 Converts the enum to a string.
 
const char * tooltip (vendor::RINEX::ObsHeader::MarkerTypes markerType)
 Converts the enum to a string tooltip.
 
template<typename Derived>
Derived::PlainObject transitionMatrix_Phi_exp (const Eigen::MatrixBase< Derived > &F, typename Derived::Scalar tau_s)
 Calculates the state transition matrix 𝚽 using the exponential matrix.
 
template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > transitionMatrix_Phi_exp (const KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > &F, Scalar tau_s)
 Calculates the state transition matrix 𝚽 using the exponential matrix.
 
template<typename Derived>
Derived::PlainObject transitionMatrix_Phi_Taylor (const Eigen::MatrixBase< Derived > &F, double tau_s, size_t order)
 Calculates the state transition matrix 𝚽 limited to specified order in 𝐅𝜏ₛ
 
template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > transitionMatrix_Phi_Taylor (const KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > &F, Scalar tau_s, size_t order)
 Calculates the state transition matrix 𝚽 limited to specified order in 𝐅𝜏ₛ
 
double tropoErrorVar (double dpsr_T, double elevation)
 Calculates the tropospheric error variance.
 
double vmf1h (const double &ah, const double &dmjd, const double &dlat, const double &ht, const double &zd)
 mapping functions with height correction
 
double vmf1w (const double &aw, const double &zd)
 mapping functions with height correction
 

Variables

static const internal::all_t all
 Used to request all rows or columns in KeyedMatrices.
 
const Code Code_ALL
 
const Code Code_B1D_B1P_B1X
 B1 (data, pilot, combined)
 
const Code Code_B2I_B2Q_B2X
 B1I(OS), B1Q, combined.
 
const Code Code_B5D_B5P_B5X
 B2a (data, pilot, combined)
 
const Code Code_B6I_B6Q_B6X
 B3I, B3Q, combined.
 
const Code Code_B7D_B7P_B7Z
 B2b (data, pilot, combined)
 
const Code Code_B7I_B7Q_B7X
 B2I(OS), B2Q, combined.
 
const Code Code_B8D_B8P_B8X
 B2 (B2a+B2b) (data, pilot, combined)
 
const Code Code_Default
 Default selection for codes.
 
const Code Code_E1B_E1C_E1X
 OS (data, pilot, combined)
 
const Code Code_E5I_E5Q_E5X
 E5a (data, pilot, combined)
 
const Code Code_E6B_E6C_E6X
 E6 (data, pilot, combined)
 
const Code Code_E7I_E7Q_E7X
 E5b (data, pilot, combined)
 
const Code Code_E8I_E8Q_E8X
 E5 AltBOC (data, pilot, combined)
 
const Code Code_G1S_G1L_G1X
 L1C (data, pilot, combined)
 
const Code Code_G2S_G2L_G2X
 L2C-code (medium, long, combined)
 
const Code Code_G5I_G5Q_G5X
 L5 (data, pilot, combined)
 
const Code Code_I5B_I5C_I5X
 RS (data, pilot, combined)
 
const Code Code_I9B_I9C_I9X
 RS (data, pilot, combined)
 
const Code Code_J1S_J1L_J1X
 L1C (data, pilot, combined)
 
const Code Code_J2S_J2L_J2X
 L2C-code (medium, long, combined)
 
const Code Code_J5D_J5P_J5Z
 L5 (data, pilot, combined)
 
const Code Code_J5I_J5Q_J5X
 L5 (data, pilot, combined)
 
const Code Code_J6S_J6L_J6X
 LEX signal (short, long, combined)
 
const Code Code_R3I_R3Q_R3X
 L3 (data, pilot, combined)
 
const Code Code_R4A_R4B_R4X
 G1a (data, pilot, combined)
 
const Code Code_R6A_R6B_R6X
 G2a (data, pilot, combined)
 
const Code Code_S5I_S5Q_S5X
 L5 (data, pilot, combined)
 
std::vector< ColormapColormapsFlow
 Flow colormaps.
 
std::vector< ColormapColormapsGlobal
 Global colormaps.
 
constexpr Frequency_ Freq_All
 All Frequencies.
 
constexpr SatelliteSystem_ SatSys_All
 All Systems.
 
const std::vector< std::string > supportedDataIdentifier
 List of supported data identifiers.
 

Detailed Description

This file is part of INSTINCT, the INS Toolkit for Integrated Navigation Concepts and Training by the Institute of Navigation of the University of Stuttgart, Germany.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

Typedef Documentation

◆ KeyedKalmanFilterD

template<typename StateKeyType, typename MeasKeyType>
using NAV::KeyedKalmanFilterD

Keyed Kalman Filter class with double as type.

Template Parameters
StateKeyTypeType of the key used for state lookup
MeasKeyTypeType of the key used for measurement lookup

Definition at line 584 of file KeyedKalmanFilter.hpp.

◆ KeyedMatrix2d

template<typename RowKeyType, typename ColKeyType = RowKeyType>
using NAV::KeyedMatrix2d

Static 2x2 squared size KeyedMatrix with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup

Definition at line 2318 of file KeyedMatrix.hpp.

◆ KeyedMatrix3d

template<typename RowKeyType, typename ColKeyType = RowKeyType>
using NAV::KeyedMatrix3d

Static 3x3 squared size KeyedMatrix with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup

Definition at line 2323 of file KeyedMatrix.hpp.

◆ KeyedMatrix4d

template<typename RowKeyType, typename ColKeyType = RowKeyType>
using NAV::KeyedMatrix4d

Static 4x4 squared size KeyedMatrix with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup

Definition at line 2328 of file KeyedMatrix.hpp.

◆ KeyedMatrix5d

template<typename RowKeyType, typename ColKeyType = RowKeyType>
using NAV::KeyedMatrix5d

Static 5x5 squared size KeyedMatrix with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup

Definition at line 2333 of file KeyedMatrix.hpp.

◆ KeyedMatrix6d

template<typename RowKeyType, typename ColKeyType = RowKeyType>
using NAV::KeyedMatrix6d

Static 6x6 squared size KeyedMatrix with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup

Definition at line 2338 of file KeyedMatrix.hpp.

◆ KeyedMatrixX

template<typename Scalar, typename RowKeyType, typename ColKeyType = RowKeyType>
using NAV::KeyedMatrixX

Dynamic size KeyedMatrix.

Template Parameters
ScalarNumeric type, e.g. float, double, int or std::complex<float>.
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup

Definition at line 2308 of file KeyedMatrix.hpp.

◆ KeyedMatrixXd

template<typename RowKeyType, typename ColKeyType = RowKeyType>
using NAV::KeyedMatrixXd

Dynamic size KeyedMatrix with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup
ColKeyTypeType of the key used for col lookup

Definition at line 2313 of file KeyedMatrix.hpp.

◆ KeyedRowVector2d

template<typename ColKeyType>
using NAV::KeyedRowVector2d

Static 2 col KeyedRowVector with double types.

Template Parameters
ColKeyTypeType of the key used for col lookup

Definition at line 2381 of file KeyedMatrix.hpp.

◆ KeyedRowVector3d

template<typename ColKeyType>
using NAV::KeyedRowVector3d

Static 3 col KeyedRowVector with double types.

Template Parameters
ColKeyTypeType of the key used for col lookup

Definition at line 2385 of file KeyedMatrix.hpp.

◆ KeyedRowVector4d

template<typename ColKeyType>
using NAV::KeyedRowVector4d

Static 4 col KeyedRowVector with double types.

Template Parameters
ColKeyTypeType of the key used for col lookup

Definition at line 2389 of file KeyedMatrix.hpp.

◆ KeyedRowVector5d

template<typename ColKeyType>
using NAV::KeyedRowVector5d

Static 5 col KeyedRowVector with double types.

Template Parameters
ColKeyTypeType of the key used for col lookup

Definition at line 2393 of file KeyedMatrix.hpp.

◆ KeyedRowVector6d

template<typename ColKeyType>
using NAV::KeyedRowVector6d

Static 6 col KeyedRowVector with double types.

Template Parameters
ColKeyTypeType of the key used for col lookup

Definition at line 2397 of file KeyedMatrix.hpp.

◆ KeyedRowVectorX

template<typename Scalar, typename ColKeyType>
using NAV::KeyedRowVectorX

Dynamic size KeyedRowVector.

Template Parameters
ColKeyTypeType of the key used for col lookup

Definition at line 2373 of file KeyedMatrix.hpp.

◆ KeyedRowVectorXd

template<typename ColKeyType>
using NAV::KeyedRowVectorXd

Dynamic size KeyedRowVector with double types.

Template Parameters
ColKeyTypeType of the key used for col lookup

Definition at line 2377 of file KeyedMatrix.hpp.

◆ KeyedVector2d

template<typename RowKeyType>
using NAV::KeyedVector2d

Static 2 row KeyedVector with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup

Definition at line 2352 of file KeyedMatrix.hpp.

◆ KeyedVector3d

template<typename RowKeyType>
using NAV::KeyedVector3d

Static 3 row KeyedVector with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup

Definition at line 2356 of file KeyedMatrix.hpp.

◆ KeyedVector4d

template<typename RowKeyType>
using NAV::KeyedVector4d

Static 4 row KeyedVector with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup

Definition at line 2360 of file KeyedMatrix.hpp.

◆ KeyedVector5d

template<typename RowKeyType>
using NAV::KeyedVector5d

Static 5 row KeyedVector with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup

Definition at line 2364 of file KeyedMatrix.hpp.

◆ KeyedVector6d

template<typename RowKeyType>
using NAV::KeyedVector6d

Static 6 row KeyedVector with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup

Definition at line 2368 of file KeyedMatrix.hpp.

◆ KeyedVectorX

template<typename Scalar, typename RowKeyType>
using NAV::KeyedVectorX

Dynamic size KeyedVector.

Template Parameters
ScalarNumeric type, e.g. float, double, int or std::complex<float>.
RowKeyTypeType of the key used for row lookup

Definition at line 2344 of file KeyedMatrix.hpp.

◆ KeyedVectorXd

template<typename RowKeyType>
using NAV::KeyedVectorXd

Dynamic size KeyedVector with double types.

Template Parameters
RowKeyTypeType of the key used for row lookup

Definition at line 2348 of file KeyedMatrix.hpp.

Enumeration Type Documentation

◆ ColormapMaskType

enum class NAV::ColormapMaskType : uint8_t
strong

Type of the Colormap mask.

Enumerator
None 

Do not use a colormap mask.

Global 

Use the global colormap.

Flow 

Use the flow colormap.

Definition at line 117 of file Colormap.hpp.

◆ Frequency_

enum NAV::Frequency_ : uint64_t

Enumerate for GNSS frequencies.

Enumerator
Freq_None 

None.

G01 

GPS L1 (1575.42 MHz).

G02 

GPS L2 (1227.6 MHz).

G05 

GPS L5 (1176.45 MHz).

E01 

Galileo, "E1" (1575.42 MHz).

E05 

Galileo E5a (1176.45 MHz).

E06 

Galileo E6 (1278.75 MHz).

E07 

Galileo E5b (1207.14 MHz).

E08 

Galileo E5 (E5a + E5b) (1191.795MHz).

R01 

GLONASS, "G1" (1602 MHZ).

R02 

GLONASS, "G2" (1246 MHz).

R03 

GLONASS, "G3" (1202.025 MHz).

R04 

GLONASS, "G1a" (1600.995 MHZ).

R06 

GLONASS, "G2a" (1248.06 MHz).

B01 

Beidou B1 (1575.42 MHz).

B02 

Beidou B1-2 (B1I) (1561.098 MHz).

B05 

Beidou B2a (1176.45 MHz).

B06 

Beidou B3 (1268.52 MHz).

B07 

Beidou B2b (B2I) (1207.14 MHz).

B08 

Beidou B2 (B2a + B2b) (1191.795MHz).

J01 

QZSS L1 (1575.42 MHz).

J02 

QZSS L2 (1227.6 MHz).

J05 

QZSS L5 (1176.45 MHz).

J06 

QZSS L6 / LEX (1278.75 MHz).

I05 

IRNSS L5 (1176.45 MHz).

I09 

IRNSS S (2492.028 MHz).

S01 

SBAS L1 (1575.42 MHz).

S05 

SBAS L5 (1176.45 MHz).

Definition at line 25 of file Frequency.hpp.

◆ GravitationModel

enum class NAV::GravitationModel : uint8_t
strong

Available Gravitation Models.

Enumerator
None 

Gravity Model turned off.

WGS84 

World Geodetic System 1984.

WGS84_Skydel 

World Geodetic System 1984 implemented by the Skydel Simulator // FIXME: Remove after Skydel uses the same as Instinct.

Somigliana 

Somigliana gravity model.

EGM96 

Earth Gravitational Model 1996.

COUNT 

Amount of items in the enum.

Definition at line 29 of file Gravity.hpp.

◆ IonosphereModel

enum class NAV::IonosphereModel : uint8_t
strong

Available Ionosphere Models.

Enumerator
None 

Ionosphere model turned off.

Klobuchar 

Klobuchar model (GPS), also called Broadcast sometimes.

COUNT 

Amount of items in the enum.

Definition at line 27 of file Ionosphere.hpp.

◆ MappingFunction

enum class NAV::MappingFunction : uint8_t
strong

Available Mapping Functions.

Enumerator
None 

Mapping Function turned off (= 1)

Cosecant 

Cosecant of elevation.

GMF 

Global Mapping Function (GMF)

NMF 

Niell Mapping Function (NMF)

VMF_GPT2 

Vienna Mapping Function based on the GPT2 grid.

VMF_GPT3 

Vienna Mapping Function based on the GPT3 grid.

COUNT 

Amount of items in the enum.

Definition at line 50 of file Troposphere.hpp.

◆ PolynomialCycleSlipDetectorResult

enum class NAV::PolynomialCycleSlipDetectorResult : uint8_t
strong

Cycle-slip detection result type.

Enumerator
Disabled 

The cycle-slip detector is disabled.

LessDataThanWindowSize 

Less data than the specified window size (cannot predict cycle-slip yet)

NoCycleSlip 

No cycle-slip found.

CycleSlip 

Cycle-slip found.

Definition at line 38 of file PolynomialCycleSlipDetector.hpp.

◆ PressureModel

enum class NAV::PressureModel : uint8_t
strong

Available pressure Models.

Enumerator
None 

No pressure model.

ConstNN 

Constant value at zero altitude.

ISA 

ICAO Standard Atmosphere.

GPT2 

GPT2.

GPT3 

GPT3.

COUNT 

Amount of items in the enum.

Definition at line 23 of file Pressure.hpp.

◆ SatelliteSystem_

enum NAV::SatelliteSystem_ : uint64_t

Satellite System enumeration.

Enumerator
SatSys_None 

No Satellite system.

GPS 

Global Positioning System.

GAL 

Galileo.

GLO 

Globalnaja nawigazionnaja sputnikowaja sistema (GLONASS)

BDS 

Beidou.

QZSS 

Quasi-Zenith Satellite System.

IRNSS 

Indian Regional Navigation Satellite System.

SBAS 

Satellite Based Augmentation System.

Definition at line 30 of file SatelliteSystem.hpp.

◆ SystemModelCalcAlgorithm

enum class NAV::SystemModelCalcAlgorithm : uint8_t
strong

Algorithms to calculate the system model with.

Enumerator
VanLoan 

Van-Loan.

Taylor1 

Taylor.

Definition at line 22 of file SystemModel.hpp.

◆ TimeSystem_

enum NAV::TimeSystem_ : uint8_t

List of all time systems.

Enumerator
TimeSys_None 

No Time system.

UTC 

Coordinated Universal Time.

GPST 

GPS Time.

GLNT 

GLONASS Time (GLONASST)

GST 

Galileo System Time.

BDT 

BeiDou Time.

QZSST 

Quasi-Zenith Satellite System Time.

IRNSST 

Indian Regional Navigation Satellite System Time.

Definition at line 26 of file TimeSystem.hpp.

◆ TroposphereModel

enum class NAV::TroposphereModel : uint8_t
strong

Available Troposphere delay models.

Enumerator
None 

Troposphere Model turned off.

Saastamoinen 

Saastamoinen model.

GPT2 

GPT2.

GPT3 

GPT3.

COUNT 

Amount of items in the enum.

Definition at line 40 of file Troposphere.hpp.

◆ WaterVaporModel

enum class NAV::WaterVaporModel : uint8_t
strong

Available Water vapor Models.

Enumerator
None 

Water vapor model turned off.

ISA 

ICAO Standard Atmosphere.

GPT2 

GPT2.

GPT3 

GPT3.

COUNT 

Amount of items in the enum.

Definition at line 23 of file WaterVapor.hpp.

Function Documentation

◆ apply_permutation() [1/2]

template<typename Scalar, int Size>
Eigen::Vector< Scalar, Size > NAV::apply_permutation ( const Eigen::Vector< Scalar, Size > & vec,
const std::vector< size_t > & p )

Sort a vector with a permutation.

Parameters
vecVector to sort
pPermutation to sort by
Returns
Sorted vector
Note
Taken from https://stackoverflow.com/a/17074810, adapted for Eigen

Definition at line 72 of file Sort.hpp.

◆ apply_permutation() [2/2]

template<typename T>
std::vector< T > NAV::apply_permutation ( const std::vector< T > & vec,
const std::vector< size_t > & p )

Sort a std::vector with a permutation.

Parameters
vecVector to sort
pPermutation to sort by
Returns
Sorted vector
Note
Taken from https://stackoverflow.com/a/17074810

Definition at line 58 of file Sort.hpp.

◆ apply_permutation_colwise()

template<typename Derived>
Derived::PlainObject NAV::apply_permutation_colwise ( const Eigen::MatrixBase< Derived > & m,
const std::vector< size_t > & p )

Sort a matrix col-wise with a permutation.

Parameters
mMatrix to sort
pPermutation to sort by
Returns
Sorted matrix
Note
Taken from https://stackoverflow.com/a/17074810, adapted for Eigen

Definition at line 100 of file Sort.hpp.

◆ apply_permutation_colwise_in_place()

template<typename Scalar, int Rows, int Cols>
void NAV::apply_permutation_colwise_in_place ( Eigen::Matrix< Scalar, Rows, Cols > & m,
const std::vector< size_t > & p )

Sort a matrix col-wise with a permutation.

Parameters
mMatrix to sort
pPermutation to sort by
Note
Taken from https://stackoverflow.com/a/17074810

Definition at line 193 of file Sort.hpp.

◆ apply_permutation_in_place() [1/2]

template<typename Scalar, int Size>
void NAV::apply_permutation_in_place ( Eigen::Vector< Scalar, Size > & vec,
const std::vector< size_t > & p )

Sort a vector with a permutation.

Parameters
vecVector to sort
pPermutation to sort by
Note
Taken from https://stackoverflow.com/a/17074810

Definition at line 139 of file Sort.hpp.

◆ apply_permutation_in_place() [2/2]

template<typename T>
void NAV::apply_permutation_in_place ( std::vector< T > & vec,
const std::vector< size_t > & p )

Sort a std::vector with a permutation.

Parameters
vecVector to sort
pPermutation to sort by

Definition at line 112 of file Sort.hpp.

◆ apply_permutation_rowwise()

template<typename Derived>
Derived::PlainObject NAV::apply_permutation_rowwise ( const Eigen::MatrixBase< Derived > & m,
const std::vector< size_t > & p )

Sort a matrix row-wise with a permutation.

Parameters
mMatrix to sort
pPermutation to sort by
Returns
Sorted matrix
Note
Taken from https://stackoverflow.com/a/17074810, adapted for Eigen

Definition at line 86 of file Sort.hpp.

◆ apply_permutation_rowwise_in_place()

template<typename Scalar, int Rows, int Cols>
void NAV::apply_permutation_rowwise_in_place ( Eigen::Matrix< Scalar, Rows, Cols > & m,
const std::vector< size_t > & p )

Sort a matrix row-wise with a permutation.

Parameters
mMatrix to sort
pPermutation to sort by
Note
Taken from https://stackoverflow.com/a/17074810

Definition at line 166 of file Sort.hpp.

◆ asknewet()

double NAV::asknewet ( const double & e,
const double & Tm,
const double & la )

This subroutine determines the zenith wet delay.

Parameters
[in]ewater vapor pressure in hPa
[in]Tmmean temperature in Kelvin
[in]lawater vapor lapse rate (see definition in Askne and Nordius 1987)
Returns
zwd: zenith wet delay in meter
Note
See [3] Aske and Nordius (1987), eq. 22

Definition at line 587 of file GPT.cpp.

◆ calcAbsoluteTemperatureStAtm()

double NAV::calcAbsoluteTemperatureStAtm ( double altitudeMSL)
nodiscardconstexpr

Calculates the standard atmosphere absolute temperature.

Parameters
[in]altitudeMSLGeodetic height above MSL (mean sea level)
Returns
The absolute temperature in [K]
Note
See [44] RTKLIB ch. E.5, eq. E.5.2, p. 149

Definition at line 23 of file StandardAtmosphere.hpp.

◆ calcEarthRadius_E()

template<std::floating_point Scalar>
Scalar NAV::calcEarthRadius_E ( const Scalar & latitude,
const Scalar & a = InsConst::WGS84::a,
const Scalar & e_squared = InsConst::WGS84::e_squared )
nodiscard

Calculates the East/West (prime vertical) earth radius.

Parameters
[in]latitude𝜙 Latitude in [rad]
[in]aSemi-major axis
[in]e_squaredSquare of the first eccentricity of the ellipsoid
Returns
East/West (prime vertical) earth radius [m]
Note
See [17] Groves, ch. 2.4.2, eq. 2.106, p. 59
See [47] Titterton, ch. 3.7.2, eq. 3.84, p. 49

Definition at line 58 of file Ellipsoid.hpp.

◆ calcEarthRadius_N()

template<std::floating_point Scalar>
Scalar NAV::calcEarthRadius_N ( const Scalar & latitude,
const Scalar & a = InsConst::WGS84::a,
const Scalar & e_squared = InsConst::WGS84::e_squared )
nodiscard

Calculates the North/South (meridian) earth radius.

Parameters
[in]latitude𝜙 Latitude in [rad]
[in]aSemi-major axis
[in]e_squaredSquare of the first eccentricity of the ellipsoid
Returns
North/South (meridian) earth radius [m]
Note
See [17] Groves, ch. 2.4.2, eq. 2.105, p. 59
See [47] Titterton, ch. 3.7.2, eq. 3.83, p. 49

Definition at line 42 of file Ellipsoid.hpp.

◆ calcGeocentricRadius()

template<std::floating_point Scalar>
Scalar NAV::calcGeocentricRadius ( const Scalar & latitude,
const Scalar & R_E,
const Scalar & e_squared = InsConst::WGS84::e_squared )
nodiscard

r_eS^e The distance of a point on the Earth's surface from the center of the Earth

Parameters
[in]latitude𝜙 Latitude in [rad]
[in]R_EPrime vertical radius of curvature (East/West) in [m]
[in]e_squaredSquare of the first eccentricity of the ellipsoid
Returns
Geocentric Radius in [m]
Note
[17] Groves, ch. 2.4.7, eq. 2.137, p. 71

Definition at line 29 of file Ellipsoid.hpp.

◆ calcGeographicalDistance()

template<std::floating_point Scalar>
Scalar NAV::calcGeographicalDistance ( Scalar lat1,
Scalar lon1,
Scalar lat2,
Scalar lon2 )
nodiscard

Measure the distance between two points over an ellipsoidal-surface.

Parameters
[in]lat1Latitude of first point in [rad]
[in]lon1Longitude of first point in [rad]
[in]lat2Latitude of second point in [rad]
[in]lon2Longitude of second point in [rad]
Returns
The distance in [m]
Note
See Lambert's formula for long lines (https://en.wikipedia.org/wiki/Geographical_distance#Lambert's_formula_for_long_lines)

Definition at line 107 of file Ellipsoid.hpp.

◆ calcGreatCircleDistance()

template<std::floating_point Scalar>
Scalar NAV::calcGreatCircleDistance ( Scalar lat1,
Scalar lon1,
Scalar lat2,
Scalar lon2 )
nodiscard

Measure the distance between two points on a sphere.

Parameters
[in]lat1Latitude of first point in [rad]
[in]lon1Longitude of first point in [rad]
[in]lat2Latitude of second point in [rad]
[in]lon2Longitude of second point in [rad]
Returns
The distance in [m]
Note
See Haversine Formula (https://www.movable-type.co.uk/scripts/latlong.html)

Definition at line 88 of file Ellipsoid.hpp.

◆ calcIonosphericDelay()

double NAV::calcIonosphericDelay ( double tow,
Frequency freq,
int8_t freqNum,
const Eigen::Vector3d & lla_pos,
double elevation,
double azimuth,
IonosphereModel ionosphereModel = IonosphereModel::None,
const IonosphericCorrections * corrections = nullptr )

Calculates the ionospheric delay.

Parameters
[in]towGPS time of week in [s]
[in]freqFrequency of the signal
[in]freqNumFrequency number. Only used for GLONASS G1 and G2
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
[in]elevationAngle between the user and satellite [rad]
[in]azimuthAngle between the user and satellite, measured clockwise positive from the true North [rad]
[in]ionosphereModelIonosphere model to use
[in]correctionsIonospheric correction parameters
Returns
Ionospheric time delay in [m]

Definition at line 43 of file Ionosphere.cpp.

◆ calcIonosphericTimeDelay_Klobuchar()

double NAV::calcIonosphericTimeDelay_Klobuchar ( double tow,
Frequency freq,
int8_t freqNum,
double latitude,
double longitude,
double elevation,
double azimuth,
const std::array< double, 4 > & alpha,
const std::array< double, 4 > & beta )

Calculates the ionospheric time delay with the Klobuchar model.

Parameters
[in]towGPS time of week in [s]
[in]freqFrequency of the signal
[in]freqNumFrequency number. Only used for GLONASS G1 and G2
[in]latitude𝜙 Geodetic latitude in [rad]
[in]longitudeλ Geodetic longitude in [rad]
[in]elevationAngle between the user and satellite [rad]
[in]azimuthAngle between the user and satellite, measured clockwise positive from the true North [rad]
[in]alphaThe coefficients of a cubic equation representing the amplitude of the vertical delay
[in]betaThe coefficients of a cubic equation representing the period of the model
Returns
Ionospheric time delay in [s]
Note
See [27] Klobuchar p. 329
See [21] IS-GPS-200 ch. 20.3.3.5.2.5 Figure 20-4 p.131-134

Algorithm description

Given the approximate position $ \phi, \lambda $, the elevation angle $ \varepsilon $, the azimuth $ \alpha $ as well as the 8 Klobuchar coefficients $ \alpha_i, \beta_i, i = 0,...,3 $ one can compute the following:

  • earth-centred angle (elevation in semicircles)

    \begin{equation} \label{eq:eq-klobuchar-earthCentredAngle}
    \psi = \frac{0.0137}{\varepsilon + 0.11} - 0.022
\end{equation}

  • latitude of the Ionospheric Pierce Point IPP (semicircles)

    \begin{equation} \label{eq:eq-klobuchar-latIPP}
    \phi_\mathrm{IPP} = \phi + \psi \cos(\alpha)
\end{equation}

    If $ \phi_\mathrm{IPP} > 0.416 $, then $ \phi_\mathrm{IPP} = 0.416 $ and if $ \phi_\mathrm{IPP} < -0.416 $, then $ \phi_\mathrm{IPP} = -0.416 $ .
  • longitude of the Ionospheric Pierce Point IPP (semicircles)

    \begin{equation} \label{eq:eq-klobuchar-longIPP}
    \lambda_\mathrm{IPP} = \lambda + \frac{\psi \sin(\alpha)}{\cos(\phi_\mathrm{IPP})}
\end{equation}

  • geomagnetic latitude of IPP

    \begin{equation} \label{eq:eq-klobuchar-latIPP-geomag}
    \phi_\mathrm{mag} = \phi_\mathrm{IPP} + 0.064 \cos(\lambda_\mathrm{IPP}-1.617)
\end{equation}

  • local time at IPP in [s]

    \begin{equation} \label{eq:eq-klobuchar-localTimeIPP}
    t = 43200 \lambda_\mathrm{IPP} + t_\mathrm{GPS}
\end{equation}

    where the local time at IPP is $ 0 \leq t < 86400 $, so if $ t \geq 86400 $, $ t = t - 86400 $ and if $ t < 0 $, $ t = t + 86400 $.
  • slant factor (elevation in semicircles)

    \begin{equation} \label{eq:eq-klobuchar-slantFactor}
    F = 1.0 + 16.0 (0.53-\varepsilon)^{3}
\end{equation}

  • amplitude of ionospheric delay in [s]

    \begin{equation} \label{eq:eq-klobuchar-amp}
    A_\mathrm{I}=\sum_{n=0}^{3} \alpha_{n} \phi_{mag}^{n}
\end{equation}

  • period of ionospheric delay in [s]

    \begin{equation} \label{eq:eq-klobuchar-period}
    P_\mathrm{I}=\sum_{n=0}^{3} \beta_{n} \phi_{mag}^{n}
\end{equation}

    If $ P_\mathrm{I} < 72000 $, set it to $ P_\mathrm{I} = 72000 $.
  • phase of ionospheric delay in [rad]

    \begin{equation} \label{eq:eq-klobuchar-phase}
    X_\mathrm{I} = \frac{2\pi (t-50400)}{P_\mathrm{I}}
\end{equation}

  • ionospheric time delay in [s]

    \begin{equation} \label{eq:eq-klobuchar-ionoTimeDelay}
    I_{L1_{GPS}}= \begin{cases}{
    \left[5 \cdot 10^{-9}+ A_\mathrm{I} \cdot\left(1-\frac{X_{I}^{2}}{2}+\frac{X_{I}^{4}}{24}\right)\right] \cdot F} & , \text{if} \left|X_{I}\right| < 1.57 \\
    5 \cdot 10^{-9} \cdot F & , \text{if} \left|X_{I}\right| \geq 1.57
    \end{cases}
\end{equation}

  • The ionospheric time delay $ I_{L1_{GPS}} $ refers to the GPS L1 frequency and gets adapted to the given frequency automatically.

Definition at line 21 of file Klobuchar.cpp.

◆ calcPhiAndQWithVanLoanMethod() [1/2]

template<typename DerivedF, typename DerivedG, typename DerivedW>
std::pair< typename DerivedF::PlainObject, typename DerivedF::PlainObject > NAV::calcPhiAndQWithVanLoanMethod ( const Eigen::MatrixBase< DerivedF > & F,
const Eigen::MatrixBase< DerivedG > & G,
const Eigen::MatrixBase< DerivedW > & W,
double dt )
nodiscard

Numerical Method to calculate the State transition matrix 𝚽 and System/Process noise covariance matrix 𝐐

Template Parameters
DerivedFMatrix type of the F matrix
DerivedGMatrix type of the G matrix
DerivedWMatrix type of the W matrix
Parameters
[in]FSystem model matrix
[in]GNoise model matrix
[in]WNoise scale factors
[in]dtTime step in [s]
Returns
A pair with the matrices {𝚽, 𝐐}

Definition at line 65 of file VanLoan.hpp.

◆ calcPhiAndQWithVanLoanMethod() [2/2]

template<typename DerivedF, typename DerivedG, typename DerivedW>
std::pair< typename DerivedF::PlainObject, typename DerivedF::PlainObject > NAV::calcPhiAndQWithVanLoanMethod ( const Eigen::MatrixBase< DerivedF > & F,
const Eigen::MatrixBase< DerivedG > & G,
const Eigen::MatrixBase< DerivedW > & W,
double dt,
size_t expmOrder )
nodiscard

Numerical Method to calculate the State transition matrix 𝚽 and System/Process noise covariance matrix 𝐐

Template Parameters
DerivedFMatrix type of the F matrix
DerivedGMatrix type of the G matrix
DerivedWMatrix type of the W matrix
Parameters
[in]FSystem model matrix
[in]GNoise model matrix
[in]WNoise scale factors
[in]dtTime step in [s]
[in]expmOrderOrder to use to calculate the exponential matrix
Returns
A pair with the matrices {𝚽, 𝐐}

Definition at line 109 of file VanLoan.hpp.

◆ calcPitchFromStaticAcceleration()

template<typename Derived>
Derived::Scalar NAV::calcPitchFromStaticAcceleration ( const Eigen::MatrixBase< Derived > & b_accel)
nodiscard

Calculates the pitch angle from a static acceleration measurement.

Parameters
[in]b_accelAcceleration measurement in static condition in [m/s^2]
Returns
The pitch angle in [rad]
Note
See E.-H. Shin (2005) - Estimation Techniques for Low-Cost Inertial Navigation (Chapter 2.6)

Definition at line 133 of file Functions.hpp.

◆ calcPitchFromVelocity()

template<typename Derived>
Derived::Scalar NAV::calcPitchFromVelocity ( const Eigen::MatrixBase< Derived > & n_velocity)
nodiscard

Calculates the Pitch angle from the trajectory defined by the given velocity.

\begin{equation} \label{eq:eq-INS-Mechanization-Pitch}
  P = \tan^{-1}\left(\frac{-v_D}{\sqrt{v_N^2 + v_E^2}}\right)
\end{equation}

Parameters
[in]n_velocityVelocity in [m/s] in local-navigation frame coordinates
Returns
Pitch angle in [rad]
Note
See [17] Groves, ch. 6.1.4, eq. 6.17, p. 225

Definition at line 169 of file Functions.hpp.

◆ calcRollFromStaticAcceleration()

template<typename Derived>
Derived::Scalar NAV::calcRollFromStaticAcceleration ( const Eigen::MatrixBase< Derived > & b_accel)
nodiscard

Calculates the roll angle from a static acceleration measurement.

Parameters
[in]b_accelAcceleration measurement in static condition in [m/s^2]
Returns
The roll angle in [rad]
Note
See E.-H. Shin (2005) - Estimation Techniques for Low-Cost Inertial Navigation (Chapter 2.6)

Definition at line 118 of file Functions.hpp.

◆ calcSagnacCorrection()

template<typename DerivedA, typename DerivedB>
DerivedA::Scalar NAV::calcSagnacCorrection ( const Eigen::MatrixBase< DerivedA > & e_posAnt,
const Eigen::MatrixBase< DerivedB > & e_satPos )
nodiscard

Calculates the Earth rotation/Sagnac correction.

Parameters
[in]e_posAntPosition of the user antenna in ECEF frame coordinates
[in]e_satPosPosition of the satellite in ECEF frame coordinates
Returns
Earth rotation/Sagnac correction [m]
Note
See [45] Springer Handbook ch. 19.1.1, eq. 19.7, p. 562

Definition at line 66 of file Functions.hpp.

◆ calcSagnacRateCorrection()

template<typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedD>
DerivedA::Scalar NAV::calcSagnacRateCorrection ( const Eigen::MatrixBase< DerivedA > & e_recvPos,
const Eigen::MatrixBase< DerivedB > & e_satPos,
const Eigen::MatrixBase< DerivedC > & e_recvVel,
const Eigen::MatrixBase< DerivedD > & e_satVel )
nodiscard

Calculates the Range-rate Earth rotation/Sagnac correction.

Parameters
[in]e_recvPosPosition of the user antenna in ECEF frame coordinates
[in]e_satPosPosition of the satellite in ECEF frame coordinates
[in]e_recvVelVelocity of the user antenna in ECEF frame coordinates
[in]e_satVelVelocity of the satellite in ECEF frame coordinates
Returns
Range-rate Earth rotation/Sagnac correction [m/s]
Note
See [17] Groves ch. 8.5.3, eq. 8.46, p. 342

Definition at line 81 of file Functions.hpp.

◆ calcSatAzimuth()

template<typename Derived>
Derived::Scalar NAV::calcSatAzimuth ( const Eigen::MatrixBase< Derived > & n_lineOfSightUnitVector)
nodiscard

Calculates the azimuth of the satellite from the antenna.

Parameters
[in]n_lineOfSightUnitVectorLine-of-sight unit vector from the antenna to the satellite in NED frame coordinates
Returns
Azimuth [rad]
Note
See [17] Groves, ch. 8.5.4, eq. 8.57, p. 344

Definition at line 54 of file Functions.hpp.

◆ calcSatElevation()

template<typename Derived>
Derived::Scalar NAV::calcSatElevation ( const Eigen::MatrixBase< Derived > & n_lineOfSightUnitVector)
nodiscard

Calculates the elevation of the satellite from the antenna.

Parameters
[in]n_lineOfSightUnitVectorLine-of-sight unit vector from the antenna to the satellite in NED frame coordinates
Returns
Elevation [rad]
Note
See [17] Groves, ch. 8.5.4, eq. 8.57, p. 344

Definition at line 43 of file Functions.hpp.

◆ calcTimeDerivativeFor_e_Quat_b()

template<typename DerivedA, typename DerivedB>
Eigen::Vector4< typename DerivedA::Scalar > NAV::calcTimeDerivativeFor_e_Quat_b ( const Eigen::MatrixBase< DerivedA > & b_omega_eb,
const Eigen::MatrixBase< DerivedB > & e_Quat_b_coeffs )

Calculates the time derivative of the quaternion e_Quat_b.

\begin{equation} \label{eq:eq-INS-Mechanization-e_Quat_b-dot}
  \mathbf{\dot{q}}_b^e
   = \begin{bmatrix} \dot{x} \\ \dot{y} \\ \dot{z} \\ \dot{w} \end{bmatrix}
   = \frac{1}{2} \begin{bmatrix}        0         &  \omega_{eb,z}^b & -\omega_{eb,y}^b & \omega_{eb,x}^b \\
                                 -\omega_{eb,z}^b &        0         &  \omega_{eb,x}^b & \omega_{eb,y}^b \\
                                  \omega_{eb,y}^b & -\omega_{eb,x}^b &        0         & \omega_{eb,z}^b \\
                                 -\omega_{eb,x}^b & -\omega_{eb,y}^b & -\omega_{eb,z}^b &        0        \end{bmatrix}
                 \begin{bmatrix} x \\ y \\ z \\ w \end{bmatrix}
\end{equation}

Parameters
[in]b_omega_ebω_eb_b Body rate with respect to the ECEF frame, expressed in the body frame
[in]e_Quat_b_coeffsCoefficients of the quaternion e_Quat_b in order x, y, z, w (q = w + ix + jy + kz)
Returns
The time derivative of the coefficients of the quaternion e_Quat_b in order x, y, z, w (q = w + ix + jy + kz)
Note
See Propagation of quaternion with time equation \eqref{eq:eq-ImuIntegrator-Mechanization-e-Attitude-Quaternion-matrix}

Definition at line 51 of file Mechanization.hpp.

◆ calcTimeDerivativeFor_n_Quat_b()

template<typename DerivedA, typename DerivedB>
Eigen::Vector4< typename DerivedA::Scalar > NAV::calcTimeDerivativeFor_n_Quat_b ( const Eigen::MatrixBase< DerivedA > & b_omega_nb,
const Eigen::MatrixBase< DerivedB > & n_Quat_b_coeffs )

Calculates the time derivative of the quaternion n_Quat_b.

\begin{equation} \label{eq:eq-INS-Mechanization-n_Quat_b-dot}
  \mathbf{\dot{q}}_b^n
   = \begin{bmatrix} \dot{x} \\ \dot{y} \\ \dot{z} \\ \dot{w} \end{bmatrix}
   = \frac{1}{2} \begin{bmatrix}        0         &  \omega_{nb,z}^b & -\omega_{nb,y}^b & \omega_{nb,x}^b \\
                                 -\omega_{nb,z}^b &        0         &  \omega_{nb,x}^b & \omega_{nb,y}^b \\
                                  \omega_{nb,y}^b & -\omega_{nb,x}^b &        0         & \omega_{nb,z}^b \\
                                 -\omega_{nb,x}^b & -\omega_{nb,y}^b & -\omega_{nb,z}^b &        0        \end{bmatrix}
                 \begin{bmatrix} x \\ y \\ z \\ w \end{bmatrix}
\end{equation}

Parameters
[in]b_omega_nbω_nb_b Body rate with respect to the navigation frame, expressed in the body frame
[in]n_Quat_b_coeffsCoefficients of the quaternion n_Quat_b in order x, y, z, w (q = w + ix + jy + kz)
Returns
The time derivative of the coefficients of the quaternion n_Quat_b in order x, y, z, w (q = w + ix + jy + kz)
Note
See Propagation of quaternion with time equation \eqref{eq:eq-ImuIntegrator-Mechanization-n-Attitude-Quaternion-matrix-Titterton}

Definition at line 52 of file Mechanization.hpp.

◆ calcTotalPressure()

double NAV::calcTotalPressure ( double altitudeMSL,
PressureModel pressureModel )
nodiscard

Calculates the total pressure.

Parameters
[in]altitudeMSLGeodetic height above MSL (mean sea level) [m]
[in]pressureModelPressure model to use
Returns
The total pressure in [hPa] = [mbar]

Definition at line 45 of file Pressure.cpp.

◆ calcTotalPressureStAtm()

double NAV::calcTotalPressureStAtm ( double altitudeMSL)
nodiscardconstexpr

Calculates the standard atmosphere total pressure.

Parameters
[in]altitudeMSLGeodetic height above MSL (mean sea level) [m]
Returns
The total pressure in [hPa] = [mbar]
Note
See [44] RTKLIB ch. E.5, eq. E.5.1, p. 149

Definition at line 25 of file StandardAtmosphere.hpp.

◆ calcTropoMapFunc_cosecant()

double NAV::calcTropoMapFunc_cosecant ( double elevation)

Calculates the mapping factor as cosecant of the elevation.

Parameters
[in]elevationAngle between the user and satellite [rad]
Returns
Mapping factor for converting tropospheric zenith delay into slant delay

Definition at line 16 of file Cosecant.cpp.

◆ calcTropoMapFunc_GMFH()

double NAV::calcTropoMapFunc_GMFH ( double mjd,
const Eigen::Vector3d & lla_pos,
double elevation )

Calculates the Global Mapping Function (GMF) for the hydrostatic delay.

Parameters
[in]mjdModified julian date
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
[in]elevationAngle between the user and satellite [rad]
Returns
Hydrostatic mapping function

Definition at line 75 of file GMF.cpp.

◆ calcTropoMapFunc_GMFW()

double NAV::calcTropoMapFunc_GMFW ( double mjd,
const Eigen::Vector3d & lla_pos,
double elevation )

Calculates the Global Mapping Function (GMF) for the wet delay.

Parameters
[in]mjdModified julian date
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
[in]elevationAngle between the user and satellite [rad]
Returns
Wet mapping function

Definition at line 140 of file GMF.cpp.

◆ calcTropoMapFunc_NMFH()

double NAV::calcTropoMapFunc_NMFH ( const InsTime & epoch,
const Eigen::Vector3d & lla_pos,
double elevation )

Calculates the Niell Mapping Function (NMF) for the hydrostatic delay.

Parameters
[in]epochTime
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
[in]elevationAngle between the user and satellite [rad]
Returns
Hydrostatic mapping function

Definition at line 87 of file NiellMappingFunction.cpp.

◆ calcTropoMapFunc_NMFW()

double NAV::calcTropoMapFunc_NMFW ( const Eigen::Vector3d & lla_pos,
double elevation )

Calculates the Niell Mapping Function (NMF) for the wet delay.

Parameters
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
[in]elevationAngle between the user and satellite [rad]
Returns
Wet mapping function

Definition at line 111 of file NiellMappingFunction.cpp.

◆ calcTropoMapFunc_secant()

double NAV::calcTropoMapFunc_secant ( double zenithDistance)

Calculates the mapping factor as cosecant of the elevation (= secant of the zenith distance)

Parameters
[in]zenithDistanceZenith distance/angle of the satellite [rad]
Returns
Mapping factor for converting tropospheric zenith delay into slant delay

Definition at line 21 of file Cosecant.cpp.

◆ calcTroposphericDelayAndMapping()

ZenithDelay NAV::calcTroposphericDelayAndMapping ( const InsTime & insTime,
const Eigen::Vector3d & lla_pos,
double elevation,
double azimuth,
const TroposphereModelSelection & troposphereModels,
const std::string & nameId )

Calculates the tropospheric zenith hydrostatic and wet delays and corresponding mapping factors.

Parameters
[in]insTimeTime to calculate the values for
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
[in]elevationSatellite elevation [rad]
[in]azimuthSatellite azimuth [rad]
[in]troposphereModelsModels to use for each calculation
[in]nameIdName and Id of the node used for log messages only
Returns
ZHD, ZWD and mapping factors for ZHD and ZWD

Definition at line 297 of file Troposphere.cpp.

◆ calcWaterVaporPartialPressure()

double NAV::calcWaterVaporPartialPressure ( double temp,
double humidity_rel,
WaterVaporModel waterVaporModel )
nodiscard

Calculates the partial pressure of water vapor.

Parameters
[in]tempThe absolute temperature in [K]
[in]humidity_relThe relative humidity
[in]waterVaporModelWater vapor model to use
Returns
The partial pressure [hPa] of water vapor

Definition at line 43 of file WaterVapor.cpp.

◆ calcWaterVaporPartialPressureStAtm()

double NAV::calcWaterVaporPartialPressureStAtm ( double temp,
double humidity_rel )
nodiscardconstexpr

Calculates the standard atmosphere partial pressure of water vapor.

Parameters
[in]tempThe absolute temperature in [K]
[in]humidity_relThe relative humidity
Returns
The partial pressure [hPa] of water vapor
Note
See [44] RTKLIB ch. E.5, eq. E.5.3, p. 149

Definition at line 26 of file StandardAtmosphere.hpp.

◆ calcYawFromVelocity()

template<typename Derived>
Derived::Scalar NAV::calcYawFromVelocity ( const Eigen::MatrixBase< Derived > & n_velocity)
nodiscard

Calculates the Yaw angle from the trajectory defined by the given velocity.

\begin{equation} \label{eq:eq-INS-Mechanization-Yaw}
  Y = \tan^{-1}\left(\frac{v_E}{v_N}\right)
\end{equation}

Parameters
[in]n_velocityVelocity in [m/s] in local-navigation frame coordinates
Returns
Yaw angle in [rad]
Note
See [17] Groves, ch. 6.1.4, eq. 6.14, p. 225

Definition at line 153 of file Functions.hpp.

◆ calcZHD_Saastamoinen()

double NAV::calcZHD_Saastamoinen ( const Eigen::Vector3d & lla_pos,
double p )

Calculates the tropospheric zenith hydrostatic delay with the Saastamoinen model.

Parameters
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
[in]pTotal barometric pressure in [millibar]
Returns
Range correction for troposphere and stratosphere for radio ranging in [m]
Note
See [41] Saastamoinen, p. 32
See [11] Davis, Appendix A, p. 1604
See [8] Böhm ch. 1, p. 1
See [44] RTKLIB ch. E.5 Troposphere and Ionosphere Models, sec. (1), p. 149

Definition at line 17 of file Saastamoinen.cpp.

◆ calcZWD_Saastamoinen()

double NAV::calcZWD_Saastamoinen ( double T,
double e )

Calculates the tropospheric zenith wet delay with the Saastamoinen model.

Parameters
[in]TAbsolute temperature in [K]
[in]ePartial pressure of water vapour in [millibar]
Returns
Range correction for troposphere and stratosphere for radio ranging in [m]
Note
See [41] Saastamoinen, p. 32
See [11] Davis, Appendix A, p. 1604
See [8] Böhm ch. 1, p. 1
See [44] RTKLIB ch. E.5 Troposphere and Ionosphere Models, sec. (1), p. 149

Definition at line 29 of file Saastamoinen.cpp.

◆ cartesian_product() [1/2]

template<typename Function, typename... Ranges>
void NAV::cartesian_product ( Function function,
Ranges const &... ranges )

Calls a function on all combinations over ranges.

Parameters
[in]functionFunction to call. Needs one parameter for each range given. Type of the parameter must be equal to the range type.
[in]rangesRanges to call the function on

Definition at line 196 of file CartesianProduct.hpp.

◆ cartesian_product() [2/2]

template<typename SubList, size_t N, typename Function>
void NAV::cartesian_product ( Function function,
std::array< SubList, N > list )

Calls a function on all combinations over ranges defined in an array, e.g. std::array<std::vector>

Parameters
[in]functionFunction to call. Needs one parameter for each element in the array. Type of the parameter must be equal to the range type.
[in]listList of ranges to call the function on

Definition at line 217 of file CartesianProduct.hpp.

◆ cartesian_product_idx()

template<typename SubList, size_t N, typename Function>
void NAV::cartesian_product_idx ( Function function,
std::array< SubList, N > list )

Calls a function on all combinations over ranges defined in an array, e.g. std::array<std::vector>. Instead of providing the list entry to the function, provides the index of it in the sub list.

Parameters
[in]functionFunction to call. Needs one 'size_t' parameter for each element in the array
[in]listList of ranges to call the function on

Definition at line 227 of file CartesianProduct.hpp.

◆ ColormapButton()

bool NAV::ColormapButton ( const char * label,
Colormap & cmap,
const ImVec2 & size_arg )

Display a colormap button.

Parameters
[in]labelLabel to display on the button (unique id for ImGui)
[in,out]cmapColormap to show on the button and edit in the popup
[in]size_argSize of the button
Returns
True if clicked
Note
Code from Implot library

Definition at line 118 of file Colormap.cpp.

◆ ColormapSearch()

std::optional< std::reference_wrapper< const Colormap > > NAV::ColormapSearch ( const ColormapMaskType & type,
const int64_t & id )

Searches for the colormap in the Global and Flow colormaps.

Parameters
typeType of the colormap (global or flow)
idId of the colormap
Returns
The colormap if one could be found

Definition at line 301 of file Colormap.cpp.

◆ ComboGravitationModel()

bool NAV::ComboGravitationModel ( const char * label,
GravitationModel & gravitationModel )

Shows a ComboBox to select the gravitation model.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]gravitationModelReference to the gravitation model to select

Definition at line 38 of file Gravity.cpp.

◆ ComboIonosphereModel()

bool NAV::ComboIonosphereModel ( const char * label,
IonosphereModel & ionosphereModel )

Shows a ComboBox to select the ionosphere model.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]ionosphereModelReference to the ionosphere model to select

Definition at line 38 of file Ionosphere.cpp.

◆ ComboPressureModel()

bool NAV::ComboPressureModel ( const char * label,
PressureModel & pressureModel )

Shows a ComboBox to select the pressure model.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]pressureModelReference to the pressure model to select

Definition at line 40 of file Pressure.cpp.

◆ ComboTemperatureModel()

bool NAV::ComboTemperatureModel ( const char * label,
TemperatureModel & temperatureModel )

Shows a ComboBox to select the temperature model.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]temperatureModelReference to the temperature model to select

Definition at line 22 of file Temperature.cpp.

◆ ComboTimeSystem()

bool NAV::ComboTimeSystem ( const char * label,
TimeSystem & timeSystem )

Shows a ComboBox to select the time system.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]timeSystemReference to the time system to select

Definition at line 44 of file TimeSystem.cpp.

◆ ComboTroposphereModel()

bool NAV::ComboTroposphereModel ( const char * label,
TroposphereModelSelection & troposphereModelSelection,
float width = 0.0F )

Shows a ComboBox and button for advanced configuration to select the troposphere models.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]troposphereModelSelectionReference to the troposphere model to select
[in]widthWidth of the widget

Definition at line 141 of file Troposphere.cpp.

◆ ComboWaterVaporModel()

bool NAV::ComboWaterVaporModel ( const char * label,
WaterVaporModel & waterVaporModel )

Shows a ComboBox to select the water vapor model.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]waterVaporModelReference to the water vapor model to select

Definition at line 38 of file WaterVapor.cpp.

◆ conversionMatrixCartesianCurvilinear()

template<typename Derived>
Eigen::Matrix3< typename Derived::Scalar > NAV::conversionMatrixCartesianCurvilinear ( const Eigen::MatrixBase< Derived > & lla_position,
const typename Derived::Scalar & R_N,
const typename Derived::Scalar & R_E )
nodiscard

Conversion matrix between cartesian and curvilinear perturbations to the position.

Parameters
[in]lla_positionPosition as Lat Lon Alt in [rad rad m]
[in]R_NMeridian radius of curvature in [m]
[in]R_EPrime vertical radius of curvature (East/West) [m]
Returns
T_rn_p A 3x3 matrix
Note
See [17] Groves, ch. 2.4.3, eq. 2.119, p. 63

Definition at line 71 of file Ellipsoid.hpp.

◆ convertUnit() [1/24]

double NAV::convertUnit ( const double & value,
Units::AttitudeUncertaintyUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 189 of file Units.cpp.

◆ convertUnit() [2/24]

double NAV::convertUnit ( const double & value,
Units::AttitudeUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 247 of file Units.cpp.

◆ convertUnit() [3/24]

double NAV::convertUnit ( const double & value,
Units::CovarianceAccelUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 112 of file Units.cpp.

◆ convertUnit() [4/24]

double NAV::convertUnit ( const double & value,
Units::CovarianceAngularVelocityUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 126 of file Units.cpp.

◆ convertUnit() [5/24]

double NAV::convertUnit ( const double & value,
Units::CovarianceClkFrequencyDriftUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 162 of file Units.cpp.

◆ convertUnit() [6/24]

double NAV::convertUnit ( const double & value,
Units::CovarianceClkPhaseDriftUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 148 of file Units.cpp.

◆ convertUnit() [7/24]

double NAV::convertUnit ( const double & value,
Units::PositionUncertaintyUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 135 of file Units.cpp.

◆ convertUnit() [8/24]

double NAV::convertUnit ( const double & value,
Units::VelocityUncertaintyUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 162 of file Units.cpp.

◆ convertUnit() [9/24]

double NAV::convertUnit ( const double & value,
Units::VelocityUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 224 of file Units.cpp.

◆ convertUnit() [10/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuAccelerometerFilterBiasUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 379 of file Units.hpp.

◆ convertUnit() [11/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuAccelerometerFilterNoiseUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 337 of file Units.hpp.

◆ convertUnit() [12/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuAccelerometerIRWUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 295 of file Units.hpp.

◆ convertUnit() [13/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuAccelerometerNoiseUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 253 of file Units.hpp.

◆ convertUnit() [14/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuAccelerometerUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 215 of file Units.hpp.

◆ convertUnit() [15/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuGyroscopeFilterBiasUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 398 of file Units.hpp.

◆ convertUnit() [16/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuGyroscopeFilterNoiseUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 356 of file Units.hpp.

◆ convertUnit() [17/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuGyroscopeIRWUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 314 of file Units.hpp.

◆ convertUnit() [18/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuGyroscopeNoiseUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 272 of file Units.hpp.

◆ convertUnit() [19/24]

template<typename Derived>
Derived::PlainObject NAV::convertUnit ( const Eigen::MatrixBase< Derived > & value,
Units::ImuGyroscopeUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 234 of file Units.hpp.

◆ convertUnit() [20/24]

Eigen::Vector3d NAV::convertUnit ( const Eigen::Vector3d & value,
Units::AttitudeUncertaintyUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 206 of file Units.cpp.

◆ convertUnit() [21/24]

Eigen::Vector3d NAV::convertUnit ( const Eigen::Vector3d & value,
Units::AttitudeUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 260 of file Units.cpp.

◆ convertUnit() [22/24]

Eigen::Vector3d NAV::convertUnit ( const Eigen::Vector3d & value,
Units::PositionUncertaintyUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 148 of file Units.cpp.

◆ convertUnit() [23/24]

Eigen::Vector3d NAV::convertUnit ( const Eigen::Vector3d & value,
Units::VelocityUncertaintyUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 175 of file Units.cpp.

◆ convertUnit() [24/24]

Eigen::Vector3d NAV::convertUnit ( const Eigen::Vector3d & value,
Units::VelocityUnits unit )
nodiscard

Converts the value depending on the unit provided.

Parameters
[in]valueValue to convert
[in]unitUnit the value is in
Returns
Value in unit of the first item in the Unit enum

Definition at line 235 of file Units.cpp.

◆ create_array()

template<std::size_t N, typename T>
std::array< T, N > NAV::create_array ( const T & value)
constexpr

Create an array with the value assigned to all elements in the container.

Parameters
[in]valueValue to fill with
Note
See https://stackoverflow.com/a/57757301

Definition at line 42 of file Array.hpp.

◆ CycleSlipDetectorGui()

bool NAV::CycleSlipDetectorGui ( const char * label,
CycleSlipDetector & cycleSlipDetector,
float width = 0.0F,
bool dualFrequencyAvailable = true )

Shows a GUI for advanced configuration of the CycleSlipDetector.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]cycleSlipDetectorReference to the cycle-slip detector to configure
[in]widthWidth of the widget
[in]dualFrequencyAvailableWhether dual frequency is available

Definition at line 211 of file CycleSlipDetector.cpp.

◆ deg2rad() [1/2]

template<typename Scalar>
Eigen::Vector3< Scalar > NAV::deg2rad ( const Eigen::Vector3< Scalar > & deg)
inlinenodiscard

Convert Degree to Radians.

Parameters
[in]degValue to convert in [deg]
Returns
The converted value in [rad]

Definition at line 30 of file Units.hpp.

◆ deg2rad() [2/2]

template<class T>
auto NAV::deg2rad ( const T & deg)
nodiscardconstexpr

Convert Degree to Radians.

Parameters
[in]degValue to convert in [deg]
Returns
The converted value in [rad]

Definition at line 21 of file Units.hpp.

◆ doppler2rangeRate()

double NAV::doppler2rangeRate ( double doppler,
Frequency freq,
int8_t num )
nodiscard

Transforms a doppler-shift into a range-rate.

Parameters
[in]dopplerThe doppler-shift to transform [Hz]
[in]freqFrequency
[in]numFrequency number. Only used for GLONASS G1 and G2
Returns
The corresponding range-rate [m/s]
Note
See [17] Groves, ch. 9.2.7, eq. 9.70, p. 388

Definition at line 14 of file Functions.cpp.

◆ dscml()

void NAV::dscml ( double rlon,
double sinml[_361+1],
double cosml[_361+1] )

Definition at line 112 of file EGM96.cpp.

◆ e_calcCentrifugalAcceleration()

template<typename DerivedA, typename DerivedB = DerivedA>
Eigen::Vector3< typename DerivedA::Scalar > NAV::e_calcCentrifugalAcceleration ( const Eigen::MatrixBase< DerivedA > & e_position,
const Eigen::MatrixBase< DerivedB > & e_omega_ie = InsConst::e_omega_ie )
nodiscard

Calculates the centrifugal acceleration in [m/s^2] (acceleration that makes a body follow a curved path)

\begin{equation} \label{eq:eq-INS-Mechanization-CentrifugalAcceleration}
  \boldsymbol{\omega}_{ie}^e \times [ \boldsymbol{\omega}_{ie}^e \times \mathbf{x}^e ]
\end{equation}

Parameters
[in]e_positionPosition in coordinates in [m]
[in]e_omega_ieAngular rate of the Earth rotation in [rad/s] in the Earth coordinate frame
Returns
Centrifugal acceleration in the Earth coordinate frame in [m/s^2]

Definition at line 72 of file Functions.hpp.

◆ e_calcCoriolisAcceleration()

template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedB::Scalar > NAV::e_calcCoriolisAcceleration ( const Eigen::MatrixBase< DerivedA > & e_omega_ie,
const Eigen::MatrixBase< DerivedB > & e_velocity )
nodiscard

Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame)

\begin{equation} \label{eq:eq-INS-Mechanization-CoriolisAcceleration-e}
  2 \boldsymbol{\omega}_{ie}^e \times \boldsymbol{v}^e
\end{equation}

Parameters
[in]e_omega_ieω_ie_e Angular rate of the Earth rotation in [rad/s] in ECEF coordinates
[in]e_velocityVelocity in ECEF frame coordinates in [m/s^2]
Returns
Coriolis acceleration in ECEF coordinates in [m/s^2]

Definition at line 107 of file Functions.hpp.

◆ e_calcLineOfSightUnitVector()

template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedA::Scalar > NAV::e_calcLineOfSightUnitVector ( const Eigen::MatrixBase< DerivedA > & e_posAnt,
const Eigen::MatrixBase< DerivedB > & e_posSat )
nodiscard

Calculates the line-of-sight unit vector from the user antenna to the satellite.

Parameters
[in]e_posAntPosition of the user antenna in ECEF frame coordinates
[in]e_posSatPosition of the satellite in ECEF frame coordinates
Returns
The line-of-sight unit vector in ECEF frame coordinates
Note
See [17] Groves, ch. 8.5.3, eq. 8.41, p. 341

Definition at line 31 of file Functions.hpp.

◆ e_calcPosVelAttDerivative()

template<typename T>
Eigen::Vector< T, 10 > NAV::e_calcPosVelAttDerivative ( const Eigen::Vector< T, 10 > & y,
const Eigen::Vector< T, 6 > & z,
const PosVelAttDerivativeConstants & c,
double = 0.0 )

Calculates the derivative of the quaternion, velocity and position in ECEF coordinates.

Parameters
[in]y[x, y, z, v_x, v_y, v_z, e_q_bx, e_q_by, e_q_bz, e_q_bw]^T
[in]z[fx, fy, fz, ωx, ωy, ωz]^T
[in]cConstant values needed to calculate the derivatives
Returns
The derivative ∂/∂t [x, y, z, v_x, v_y, v_z, e_q_bx, e_q_by, e_q_bz, e_q_bw]^T

Definition at line 121 of file Mechanization.hpp.

◆ e_calcTimeDerivativeForPosition()

template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::e_calcTimeDerivativeForPosition ( const Eigen::MatrixBase< Derived > & e_velocity)

Calculates the time derivative of the ECEF position.

\begin{equation} \label{eq:eq-INS-Mechanization-x_e-dot}
  \boldsymbol{\dot{x}}^e = \boldsymbol{v}^e
\end{equation}

Parameters
[in]e_velocityVelocity with respect to the Earth in ECEF frame coordinates [m/s]
Returns
The time derivative of the ECEF position
Note
See Position equation \eqref{eq:eq-ImuIntegrator-Mechanization-e-Position}

Definition at line 110 of file Mechanization.hpp.

◆ e_calcTimeDerivativeForVelocity()

template<typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedD>
Eigen::Vector3< typename DerivedA::Scalar > NAV::e_calcTimeDerivativeForVelocity ( const Eigen::MatrixBase< DerivedA > & e_measuredForce,
const Eigen::MatrixBase< DerivedB > & e_coriolisAcceleration,
const Eigen::MatrixBase< DerivedC > & e_gravitation,
const Eigen::MatrixBase< DerivedD > & e_centrifugalAcceleration )

Calculates the time derivative of the velocity in ECEF frame coordinates.

\begin{equation} \label{eq:eq-INS-Mechanization-v_e-dot}
  \boldsymbol{\dot{v}}^e
      = \overbrace{\boldsymbol{f}^e}^{\hidewidth\text{measured}\hidewidth}
        -\ \underbrace{2 \boldsymbol{\omega}_{ie}^e \times \boldsymbol{v}^e}_{\text{coriolis acceleration}}
        +\ \overbrace{\mathbf{g}^e}^{\hidewidth\text{gravitation}\hidewidth}
        -\ \underbrace{\left(\boldsymbol{\omega}_{ie}^e \times [ \boldsymbol{\omega}_{ie}^e \times \mathbf{x}^e ] \right)}_{\text{centrifugal acceleration}}
\end{equation}

Parameters
[in]e_measuredForcef_e Specific force vector as measured by a triad of accelerometers and resolved into ECEF frame coordinates
[in]e_coriolisAccelerationCoriolis acceleration in ECEF coordinates in [m/s^2]
[in]e_gravitationLocal gravitation vector (caused by effects of mass attraction) in ECEF frame coordinates [m/s^2]
[in]e_centrifugalAccelerationCentrifugal acceleration in ECEF coordinates in [m/s^2]
Returns
The time derivative of the velocity in ECEF frame coordinates
Note
See Velocity equation \eqref{eq:eq-ImuIntegrator-Mechanization-e-Velocity}

Definition at line 88 of file Mechanization.hpp.

◆ e_F_df_df()

template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > NAV::e_F_df_df ( const Eigen::MatrixBase< Derived > & beta_a)
nodiscard

Calculates the matrix 𝐅_𝛿f'_𝛿f.

Parameters
[in]beta_aGauss-Markov constant for the accelerometer 𝛽 = 1 / 𝜏 (𝜏 correlation length)
Returns
3x3 matrix in [1 / s]
Note
See T. Hobiger (2021) Inertialnavigation V06 - equation (6.3)

Definition at line 410 of file ErrorEquations.hpp.

◆ e_F_dpsi_dpsi()

template<typename T>
Eigen::Matrix3< T > NAV::e_F_dpsi_dpsi ( const T & omega_ie)
nodiscard

Calculates the matrix 𝐅_𝜓'_𝜓

Parameters
[in]omega_ieAngular velocity of the Earth in [rad/s]
Returns
3x3 matrix in [rad / s]
Note
See [17] Groves, ch. 14.2.3, eq. 14.48, p. 583 - 𝐅_11

Definition at line 31 of file ErrorEquations.hpp.

◆ e_F_dpsi_dw()

template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > NAV::e_F_dpsi_dw ( const Eigen::MatrixBase< Derived > & e_Dcm_b)
nodiscard

Calculates the matrix 𝐅_𝜓'_𝛿ω

Parameters
[in]e_Dcm_bDCM from body to Earth frame
Returns
3x3 matrix in [-]
Note
See [17] Groves, ch. 14.2.3, eq. 14.48, p. 583 - 𝐅_15

Definition at line 48 of file ErrorEquations.hpp.

◆ e_F_dq_dGyroBias()

template<typename Derived1, typename Derived2>
Eigen::Matrix< typename Derived2::Scalar, 4, 3 > NAV::e_F_dq_dGyroBias ( const Eigen::QuaternionBase< Derived1 > & b_quat_p,
const Eigen::QuaternionBase< Derived2 > & e_quat_b )
nodiscard

Calculate the linearized attitude quaternion differential equation partially derived for the angular rate bias.

Parameters
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame

Definition at line 281 of file ErrorEquations.hpp.

◆ e_F_dq_dGyroMisalignment()

template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5>
Eigen::Matrix4< typename Derived5::Scalar > NAV::e_F_dq_dGyroMisalignment ( const Eigen::MatrixBase< Derived1 > & p_gyroScale,
const Eigen::QuaternionBase< Derived2 > & p_quatGyro_ps,
const Eigen::MatrixBase< Derived3 > & ps_omega_ip,
const Eigen::QuaternionBase< Derived4 > & b_quat_p,
const Eigen::QuaternionBase< Derived5 > & e_quat_b )
nodiscard

Calculate the linearized attitude quaternion differential equation partially derived for the gyroscope misalignment.

Parameters
p_gyroScaleAngular rate scale factor in platform frame coordinates [rad/s]
p_quatGyro_psGyroscope misalignment
ps_omega_ipGyroscope measurement [m/s^2]
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame

Definition at line 338 of file ErrorEquations.hpp.

◆ e_F_dq_dGyroScale()

template<typename Derived1, typename Derived2, typename Derived3, typename Derived4>
Eigen::Matrix< typename Derived4::Scalar, 4, 3 > NAV::e_F_dq_dGyroScale ( const Eigen::QuaternionBase< Derived1 > & p_quatGyro_ps,
const Eigen::MatrixBase< Derived2 > & ps_omega_ip,
const Eigen::QuaternionBase< Derived3 > & b_quat_p,
const Eigen::QuaternionBase< Derived4 > & e_quat_b )
nodiscard

Calculate the linearized attitude quaternion differential equation partially derived for the angular rate scale factor.

Parameters
p_quatGyro_psGyroscope misalignment
ps_omega_ipGyroscope measurement [m/s^2]
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame

Definition at line 321 of file ErrorEquations.hpp.

◆ e_F_dq_dq()

template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5, typename Derived6>
Eigen::Matrix4< typename Derived6::Scalar > NAV::e_F_dq_dq ( const Eigen::MatrixBase< Derived1 > & p_gyroBias,
const Eigen::MatrixBase< Derived2 > & p_gyroScale,
const Eigen::QuaternionBase< Derived3 > & p_quatGyro_ps,
const Eigen::MatrixBase< Derived4 > & ps_omega_ip,
const Eigen::QuaternionBase< Derived5 > & b_quat_p,
const Eigen::QuaternionBase< Derived6 > & e_quat_b,
double omega_ie )
nodiscard

Calculate the linearized attitude quaternion differential equation partially derived for the attitude quaternion.

Parameters
p_gyroBiasAngular rate bias in platform frame coordinates [rad/s]
p_gyroScaleAngular rate scale factor in platform frame coordinates [rad/s]
p_quatGyro_psGyroscope misalignment
ps_omega_ipGyroscope measurement [m/s^2]
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame
omega_ieEarth rotation rate [rad/s]

Definition at line 240 of file ErrorEquations.hpp.

◆ e_F_dr_dv()

template<typename T>
Eigen::Matrix3< T > NAV::e_F_dr_dv ( )
nodiscard

Calculates the matrix 𝐅_𝛿r'_𝛿v.

Returns
3x3 matrix in [-]
Note
See [17] Groves, ch. 14.2.3, eq. 14.48, p. 583 - 𝐅_32

Definition at line 400 of file ErrorEquations.hpp.

◆ e_F_dv_dAccelBias()

template<typename Derived1, typename Derived2>
Eigen::Matrix< typename Derived2::Scalar, 3, 3 > NAV::e_F_dv_dAccelBias ( const Eigen::QuaternionBase< Derived1 > & b_quat_p,
const Eigen::QuaternionBase< Derived2 > & e_quat_b )
nodiscard

Calculates the matrix 𝐅_𝜓'_𝛿f_p.

Parameters
[in]b_quat_pQuaternion from IMU platform frame to body frame
[in]e_quat_bQuaternion from body to Earth frame
Returns
3x3 matrix in [-]

Definition at line 161 of file ErrorEquations.hpp.

◆ e_F_dv_dAccelMisalignment()

template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5>
Eigen::Matrix< typename Derived5::Scalar, 3, 4 > NAV::e_F_dv_dAccelMisalignment ( const Eigen::MatrixBase< Derived1 > & p_accelScale,
const Eigen::QuaternionBase< Derived2 > & p_quatAccel_ps,
const Eigen::MatrixBase< Derived3 > & ps_f_ip,
const Eigen::QuaternionBase< Derived4 > & b_quat_p,
const Eigen::QuaternionBase< Derived5 > & e_quat_b )
nodiscard

Calculate the linearized velocity differential equation partially derived for the accelerometer misalignment.

Parameters
p_accelScaleAcceleration scale factor in platform frame coordinates [m/s^2]
p_quatAccel_psAccelerometer misalignment
ps_f_ipAccelerometer measurement [m/s^2]
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame

Definition at line 190 of file ErrorEquations.hpp.

◆ e_F_dv_dAccelScale()

template<typename Derived1, typename Derived2, typename Derived3, typename Derived4>
Eigen::Matrix< typename Derived4::Scalar, 3, 3 > NAV::e_F_dv_dAccelScale ( const Eigen::QuaternionBase< Derived1 > & p_quatAccel_ps,
const Eigen::MatrixBase< Derived2 > & ps_f_ip,
const Eigen::QuaternionBase< Derived3 > & b_quat_p,
const Eigen::QuaternionBase< Derived4 > & e_quat_b )
nodiscard

Calculate the linearized velocity differential equation partially derived for the acceleration bias.

Parameters
p_quatAccel_psAccelerometer misalignment
ps_f_ipAccelerometer measurement [m/s^2]
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame

Definition at line 172 of file ErrorEquations.hpp.

◆ e_F_dv_df_b()

template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > NAV::e_F_dv_df_b ( const Eigen::MatrixBase< Derived > & e_Dcm_b)
nodiscard

Calculates the matrix 𝐅_𝜓'_𝛿f_b.

Parameters
[in]e_Dcm_bDCM from body to Earth frame
Returns
3x3 matrix in [-]
Note
See [17] Groves, ch. 14.2.3, eq. 14.48, p. 583 - 𝐅_24

Definition at line 151 of file ErrorEquations.hpp.

◆ e_F_dv_dpsi()

template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > NAV::e_F_dv_dpsi ( const Eigen::MatrixBase< Derived > & e_force_ib)
nodiscard

Calculates the matrix 𝐅_𝛿v'_𝜓

Parameters
[in]e_force_ibSpecific force of the body with respect to inertial frame in [m / s^2], resolved in Earth frame coordinates
Returns
3x3 matrix in [m / s^2]
Note
See [17] Groves, ch. 14.2.3, eq. 14.49, p. 584 - 𝐅_21

Definition at line 58 of file ErrorEquations.hpp.

◆ e_F_dv_dq()

template<typename Derived1, typename Derived2, typename Derived3, typename Derived4, typename Derived5, typename Derived6>
Eigen::Matrix< typename Derived6::Scalar, 3, 4 > NAV::e_F_dv_dq ( const Eigen::MatrixBase< Derived1 > & p_accelBias,
const Eigen::MatrixBase< Derived2 > & p_accelScale,
const Eigen::QuaternionBase< Derived3 > & p_quatAccel_ps,
const Eigen::MatrixBase< Derived4 > & ps_f_ip,
const Eigen::QuaternionBase< Derived5 > & b_quat_p,
const Eigen::QuaternionBase< Derived6 > & e_quat_b )

Calculate the linearized velocity differential equation partially derived for the attitude.

Parameters
p_accelBiasAcceleration bias in platform frame coordinates [m/s^2]
p_accelScaleAcceleration scale factor in platform frame coordinates [m/s^2]
p_quatAccel_psAccelerometer misalignment
ps_f_ipAccelerometer measurement [m/s^2]
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame

Definition at line 116 of file ErrorEquations.hpp.

◆ e_F_dv_dr()

template<typename Derived1, typename Derived2, typename T>
Eigen::Matrix< typename Derived1::Scalar, 3, 3 > NAV::e_F_dv_dr ( const Eigen::MatrixBase< Derived1 > & e_position,
const Eigen::MatrixBase< Derived2 > & e_gravitation,
const T & r_eS_e,
const Eigen::Vector3d & e_omega_ie )
nodiscard

Calculates the matrix 𝐅_𝛿v'_𝛿r.

Parameters
[in]e_positionPosition in ECEF coordinates in [m]
[in]e_gravitationGravitational acceleration in [m/s^2]
[in]r_eS_eGeocentric radius. The distance of a point on the Earth's surface from the center of the Earth in [m]
[in]e_omega_ieAngular velocity of Earth with respect to inertial system, represented in e-sys in [rad/s]
Returns
3x3 matrix in [1 / s^2]
Note
See [17] Groves, ch. 14.2.3, eq. 14.49, p. 584 - 𝐅_23

Definition at line 95 of file ErrorEquations.hpp.

◆ e_F_dv_dv()

template<typename T>
Eigen::Matrix3< T > NAV::e_F_dv_dv ( double omega_ie)
nodiscard

Calculates the matrix 𝐅_𝛿v'_𝛿v.

Parameters
[in]omega_ieomega_ie Angular velocity of the Earth in [rad/s]
Returns
3x3 matrix in [1 / s]
Note
See [17] Groves, ch. 14.2.3, eq. 14.48, p. 583 - 𝐅_22

Definition at line 75 of file ErrorEquations.hpp.

◆ e_F_dw_dw()

template<typename Derived>
Eigen::Matrix< typename Derived::Scalar, 3, 3 > NAV::e_F_dw_dw ( const Eigen::MatrixBase< Derived > & beta_omega)
nodiscard

Calculates the matrix 𝐅_𝛿ω'_𝛿ω

Parameters
[in]beta_omegaGauss-Markov constant for the gyroscope 𝛽 = 1 / 𝜏 (𝜏 correlation length)
Returns
3x3 matrix in [1 / s]
Note
See T. Hobiger (2021) Inertialnavigation V06 - equation (6.3)

Definition at line 421 of file ErrorEquations.hpp.

◆ e_noiseInput_G()

template<typename KeyType, typename T>
KeyedMatrixX< T, KeyType, KeyType > NAV::e_noiseInput_G ( const Eigen::Quaterniond & b_quat_p,
const Eigen::Quaternion< T > & e_quat_b,
bool accelBiases,
bool gyroBiases,
bool accelScaleFactor,
bool gyroScaleFactor,
bool accelMisalignment,
bool gyroMisalignment )
nodiscard

Calculate the noise input matrix in Earth frame coordinates.

Parameters
b_quat_pQuaternion from IMU platform frame to body frame
e_quat_bQuaternion from body to Earth frame
accelBiasesFlag wether to calculate the rows and columns for the acceleration bias
gyroBiasesFlag wether to calculate the rows and columns for the angular rate bias
accelScaleFactorFlag wether to calculate the rows and columns for the acceleration scale factor
gyroScaleFactorFlag wether to calculate the rows and columns for the angular rate scale factor
accelMisalignmentFlag wether to calculate the rows and columns for the accelerometer misalignment
gyroMisalignmentFlag wether to calculate the rows and columns for the gyroscope misalignment

Definition at line 228 of file ProcessNoise.hpp.

◆ e_noiseScale_W()

template<typename KeyType, typename T>
KeyedMatrixX< T, KeyType, KeyType > NAV::e_noiseScale_W ( const Eigen::Vector3d & sigma2_ra,
const Eigen::Vector3d & sigma2_rg,
const Eigen::Vector3d & sigma2_bad,
const Eigen::Vector3d & sigma2_bgd,
const Eigen::Vector3d & sigma2_sad,
const Eigen::Vector3d & sigma2_sgd,
bool accelBiases,
bool gyroBiases,
bool accelScaleFactor,
bool gyroScaleFactor )
nodiscard

Calculate the noise scale matrix in Earth frame coordinates.

Parameters
sigma2_ra𝜎²_ra Variance of the noise on the accelerometer specific-force measurements [m^2 / s^4 / Hz]
sigma2_rg𝜎²_rg Variance of the noise on the gyro angular-rate measurements [rad^2 / s^2 /Hz]
sigma2_bad𝜎²_bad Variance of the accelerometer dynamic bias [m^2 / s^4]
sigma2_bgd𝜎²_bgd Variance of the gyro dynamic bias [rad^2/s^2]
sigma2_sad𝜎²_sad Variance of the accelerometer dynamic scale factor [-]
sigma2_sgd𝜎²_sgd Variance of the gyro dynamic scale factor [-]
accelBiasesFlag wether to calculate the rows and columns for the acceleration bias
gyroBiasesFlag wether to calculate the rows and columns for the angular rate bias
accelScaleFactorFlag wether to calculate the rows and columns for the acceleration scale factor
gyroScaleFactorFlag wether to calculate the rows and columns for the angular rate scale factor

Definition at line 299 of file ProcessNoise.hpp.

◆ e_systemMatrix_F()

template<typename KeyType, typename T>
KeyedMatrixX< T, KeyType, KeyType > NAV::e_systemMatrix_F ( const Eigen::Vector3d & ps_f_ip,
const Eigen::Vector3d & ps_omega_ip,
const Eigen::Quaterniond & b_quat_p,
const Eigen::Vector3< T > & e_gravitation,
const T & r_eS_e,
std::optional< double > tau_bad,
std::optional< double > tau_bgd,
const Eigen::Vector3< T > & e_position,
const Eigen::Quaternion< T > & e_quat_b,
const Eigen::Vector3< T > & p_accelBias,
const Eigen::Vector3< T > & p_gyroBias,
const Eigen::Vector3< T > & p_accelScale,
const Eigen::Vector3< T > & p_gyroScale,
const Eigen::Quaternion< T > & p_quatAccel_ps,
const Eigen::Quaternion< T > & p_quatGyro_ps,
const PosVelAttDerivativeConstants & config,
bool accelBiases,
bool gyroBiases,
bool accelScaleFactor,
bool gyroScaleFactor,
bool accelMisalignment,
bool gyroMisalignment )
nodiscard

Calculate the linearized system matrix in Earth frame coordinates.

Parameters
ps_f_ipAccelerometer measurement [m/s^2]
ps_omega_ipGyroscope measurement [m/s^2]
b_quat_pQuaternion from IMU platform frame to body frame
e_gravitationGravitation in [m/s^2] in ECEF coordinates
r_eS_eGeocentric radius in [m]
tau_badCorrelation length of the accel dynamic bias in [s]
tau_bgdCorrelation length of the gyro dynamic bias in [s]
e_positionPosition in ECEF coordinates in [m]
e_quat_bQuaternion from body to Earth frame
p_accelBiasAcceleration bias in platform frame coordinates [m/s^2]
p_gyroBiasAngular rate bias in platform frame coordinates [rad/s]
p_accelScaleAcceleration scale factor in platform frame coordinates [m/s^2]
p_gyroScaleAngular rate scale factor in platform frame coordinates [rad/s]
p_quatAccel_psAccelerometer misalignment
p_quatGyro_psGyroscope misalignment
configIntegration config
accelBiasesFlag wether to calculate the rows and columns for the acceleration bias
gyroBiasesFlag wether to calculate the rows and columns for the angular rate bias
accelScaleFactorFlag wether to calculate the rows and columns for the acceleration scale factor
gyroScaleFactorFlag wether to calculate the rows and columns for the angular rate scale factor
accelMisalignmentFlag wether to calculate the rows and columns for the accelerometer misalignment
gyroMisalignmentFlag wether to calculate the rows and columns for the gyroscope misalignment

Definition at line 451 of file ErrorEquations.hpp.

◆ egm96_compute_altitude_offset()

double NAV::egm96_compute_altitude_offset ( double lat,
double lon )

Compute the geoid undulation from the EGM96 potential coefficient model to The WGS84 ellipsoid.

Parameters
[in]latLatitude in [rad]
[in]lonLongitude in [rad]
Returns
The geoid undulation / altitude offset in [m]

Definition at line 272 of file EGM96.cpp.

◆ from_json() [1/44]

void NAV::from_json ( const json & j,
AtmosphereModels & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 554 of file Troposphere.cpp.

◆ from_json() [2/44]

void NAV::from_json ( const json & j,
Code & data )

Converts the provided json object into a link object.

Parameters
[in]jJson object with the needed values
[out]dataObject to fill from the json

Definition at line 1194 of file Code.cpp.

◆ from_json() [3/44]

void NAV::from_json ( const json & j,
Colormap & cmap )

Converts the provided json object into a struct.

Parameters
[in]jJson object with the vector values
[out]cmapStruct to return

Definition at line 225 of file Colormap.cpp.

◆ from_json() [4/44]

void NAV::from_json ( const json & j,
Combiner::Combination & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 74 of file Combiner.cpp.

◆ from_json() [5/44]

void NAV::from_json ( const json & j,
Combiner::Combination::Term & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 55 of file Combiner.cpp.

◆ from_json() [6/44]

void NAV::from_json ( const json & j,
CycleSlipDetector & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 288 of file CycleSlipDetector.cpp.

◆ from_json() [7/44]

static void NAV::from_json ( const json & j,
Demo::DemoData & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 61 of file Demo.cpp.

◆ from_json() [8/44]

void NAV::from_json ( const json & j,
Frequency & data )

Converts the provided json object into a link object.

Parameters
[in]jJson object with the needed values
[out]dataObject to fill from the json

Definition at line 501 of file Frequency.cpp.

◆ from_json() [9/44]

void NAV::from_json ( const json & j,
GnssAnalyzer::Combination & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 70 of file GnssAnalyzer.cpp.

◆ from_json() [10/44]

void NAV::from_json ( const json & j,
GnssAnalyzer::Combination::Term & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 45 of file GnssAnalyzer.cpp.

◆ from_json() [11/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 372 of file MeasurementErrors.cpp.

◆ from_json() [12/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel::ModelParametersCosineType & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 476 of file MeasurementErrors.cpp.

◆ from_json() [13/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel::ModelParametersExponential & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 461 of file MeasurementErrors.cpp.

◆ from_json() [14/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel::ModelParametersRtklib & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 434 of file MeasurementErrors.cpp.

◆ from_json() [15/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel::ModelParametersSine & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 394 of file MeasurementErrors.cpp.

◆ from_json() [16/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel::ModelParametersSineCN0 & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 420 of file MeasurementErrors.cpp.

◆ from_json() [17/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel::ModelParametersSineOffset & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 406 of file MeasurementErrors.cpp.

◆ from_json() [18/44]

void NAV::from_json ( const json & j,
GnssMeasurementErrorModel::ModelParametersSineSqrt & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 447 of file MeasurementErrors.cpp.

◆ from_json() [19/44]

void NAV::from_json ( const json & j,
ImuPos & pos )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]posOutput object

Definition at line 23 of file ImuPos.cpp.

◆ from_json() [20/44]

void NAV::from_json ( const json & j,
InertialIntegrator & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 444 of file InertialIntegrator.cpp.

◆ from_json() [21/44]

void NAV::from_json ( const json & j,
InputPin & pin )

Converts the provided json object into a pin object.

Parameters
[in]jJson object with the needed values
[out]pinObject to fill from the json

Definition at line 472 of file Pin.cpp.

◆ from_json() [22/44]

void NAV::from_json ( const json & j,
InsTime & insTime )

Converts the provided json object into an InsTime.

Parameters
[in]jJson object with the time values
[out]insTimeTime to return

Definition at line 104 of file InsTime.cpp.

◆ from_json() [23/44]

void NAV::from_json ( const json & j,
LowPassFilter::FilterItem & data )

Converts the provided json object into a link object.

Parameters
[in]jJson object with the needed values
[out]dataObject to fill from the json

Definition at line 408 of file LowPassFilter.cpp.

◆ from_json() [24/44]

void NAV::from_json ( const json & j,
Node & node )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]nodeObject to fill from the json

Definition at line 1007 of file Node.cpp.

◆ from_json() [25/44]

void NAV::from_json ( const json & j,
OutputPin & pin )

Converts the provided json object into a pin object.

Parameters
[in]jJson object with the needed values
[out]pinObject to fill from the json

Definition at line 459 of file Pin.cpp.

◆ from_json() [26/44]

static void NAV::from_json ( const json & j,
PinData & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 68 of file ImuFusion.cpp.

◆ from_json() [27/44]

static void NAV::from_json ( const json & j,
PinDataBsplineKF & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 283 of file ImuFusion.cpp.

◆ from_json() [28/44]

static void NAV::from_json ( const json & j,
PinDataIRWKF & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 185 of file ImuFusion.cpp.

◆ from_json() [29/44]

static void NAV::from_json ( const json & j,
Plot::PinData & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 103 of file Plot.cpp.

◆ from_json() [30/44]

static void NAV::from_json ( const json & j,
Plot::PinData::PlotData & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 70 of file Plot.cpp.

◆ from_json() [31/44]

static void NAV::from_json ( const json & j,
Plot::PlotInfo & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 178 of file Plot.cpp.

◆ from_json() [32/44]

static void NAV::from_json ( const json & j,
Plot::PlotInfo::PlotItem & data )
static

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 139 of file Plot.cpp.

◆ from_json() [33/44]

void NAV::from_json ( const json & j,
PlotItemStyle & style )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]styleOutput object

Definition at line 64 of file PlotItemStyle.cpp.

◆ from_json() [34/44]

template<typename Key>
void NAV::from_json ( const json & j,
PolynomialCycleSlipDetector< Key > & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 306 of file PolynomialCycleSlipDetector.hpp.

◆ from_json() [35/44]

template<typename Scalar = double>
void NAV::from_json ( const json & j,
PolynomialRegressor< Scalar > & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 250 of file PolynomialRegressor.hpp.

◆ from_json() [36/44]

void NAV::from_json ( const json & j,
PosVelAttDerivativeConstants & data )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]dataOutput object

Definition at line 25 of file Mechanization.cpp.

◆ from_json() [37/44]

void NAV::from_json ( const json & j,
RandomNumberGenerator & rng )

Read info from a json object.

Parameters
[in]jJson variable to read info from
[out]rngOutput object

Definition at line 26 of file RandomNumberGenerator.cpp.

◆ from_json() [38/44]

void NAV::from_json ( const json & j,
SatelliteSystem & data )

Converts the provided json object into a link object.

Parameters
[in]jJson object with the needed values
[out]dataObject to fill from the json

Definition at line 315 of file SatelliteSystem.cpp.

◆ from_json() [39/44]

void NAV::from_json ( const json & j,
SatId & data )

Converts the provided json object into a link object.

Parameters
[in]jJson object with the needed values
[out]dataObject to fill from the json

Definition at line 66 of file SatelliteIdentifier.cpp.

◆ from_json() [40/44]

void NAV::from_json ( const json & j,
SatSigId & data )

Converts the provided json object into a link object.

Parameters
[in]jJson object with the needed values
[out]dataObject to fill from the json

Definition at line 79 of file SatelliteIdentifier.cpp.

◆ from_json() [41/44]

void NAV::from_json ( const json & j,
SNRMask & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 208 of file SNRMask.cpp.

◆ from_json() [42/44]

void NAV::from_json ( const json & j,
TemperatureModel & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 91 of file Temperature.cpp.

◆ from_json() [43/44]

void NAV::from_json ( const json & j,
TimeSystem & timeSystem )

Converts the provided json object into a TimeSystem.

Parameters
[in]jJson object with the time system
[out]timeSystemTimeSystem to return

Definition at line 39 of file TimeSystem.cpp.

◆ from_json() [44/44]

void NAV::from_json ( const json & j,
TroposphereModelSelection & obj )

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 571 of file Troposphere.cpp.

◆ G_GaussMarkov1()

Eigen::Matrix3d NAV::G_GaussMarkov1 ( const Eigen::Vector3d & sigma2,
const Eigen::Vector3d & beta )

Submatrix 𝐆_a of the noise input matrix 𝐆

Parameters
[in]sigma2Variance of the noise on the measurements
[in]betaGauss-Markov constant 𝛽 = 1 / 𝜏 (𝜏 correlation length)
Note
See T. Hobiger (2021) Inertialnavigation V06 - equation (6.3)

Definition at line 23 of file ProcessNoise.cpp.

◆ G_RandomWalk()

Eigen::Matrix3d NAV::G_RandomWalk ( const Eigen::Vector3d & sigma2)

Random walk noise input matrix 𝐆

Parameters
[in]sigma2Variance of the noise on the measurements
Note
See T. Hobiger (2021) Inertialnavigation V06 - equation (6.3)

Definition at line 16 of file ProcessNoise.cpp.

◆ galSisaIdx2Val()

double NAV::galSisaIdx2Val ( uint8_t idx)
nodiscard

Converts a GALILEO SISA (Signal in space accuracy) index to it's value.

Parameters
[in]idxThe SISA index
Returns
SISA value in [m]
Note
See [13] GAL ICD ch. 5.1.12, p.58

Definition at line 38 of file Functions.cpp.

◆ galSisaVal2Idx()

uint8_t NAV::galSisaVal2Idx ( double val)
nodiscard

Converts a GALILEO SISA (Signal in space accuracy) value to it's index.

Parameters
[in]valSISA value in [m]
Returns
The SISA index
Note
See [13] GAL ICD ch. 5.1.12, p.58

Definition at line 29 of file Functions.cpp.

◆ genRangeArray()

template<size_t N, typename Scalar>
std::array< Scalar, N > NAV::genRangeArray ( Scalar start,
Scalar stepSize,
Scalar end )
constexpr

Returns a container filled with the given range.

Parameters
startInclusive start value of the range
stepSizeStep size of the range
endExclusive end value of the range

Definition at line 52 of file Array.hpp.

◆ genRangeVector()

template<typename Scalar>
std::vector< Scalar > NAV::genRangeVector ( Scalar start,
Scalar stepSize,
Scalar end )

Returns a container filled with the given range.

Parameters
startInclusive start value of the range
stepSizeStep size of the range
endExclusive end value of the range

Definition at line 46 of file Vector.hpp.

◆ gpsUraIdx2Val()

double NAV::gpsUraIdx2Val ( uint8_t idx)
nodiscard

Converts a GPS URA (user range accuracy) index to it's value.

Parameters
[in]idxThe URA index
Returns
URA value in [m]
Note
See [21] GPS ICD ch. 20.3.3.3.1.3, p.92ff

Definition at line 54 of file Functions.cpp.

◆ gpsUraVal2Idx()

uint8_t NAV::gpsUraVal2Idx ( double val)
nodiscard

Converts a GPS URA (user range accuracy) value to it's index.

Parameters
[in]valURA value in [m]
Returns
The URA index
Note
See [21] GPS ICD ch. 20.3.3.3.1.3, p.92ff

Definition at line 47 of file Functions.cpp.

◆ GPT2_param()

GPT2output NAV::GPT2_param ( const double & mjd,
const Eigen::Vector3d & lla_pos )

Determine pressure, temperature, temperature lapse rate, mean temperature of the water vapor, water vapor pressure, hydrostatic and wet mapping function coefficients ah and aw, water vapour decrease factor and geoid undulation for specific sites near the Earth surface, based on a 1 x 1 degree GPT2 grid.

Parameters
[in]mjdmodified Julian date
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
Note
See [9] Böhm2015

Definition at line 22 of file GPT.cpp.

◆ GPT3_param()

GPT3output NAV::GPT3_param ( const double & mjd,
const Eigen::Vector3d & lla_pos )

Determine pressure, temperature, temperature lapse rate, mean temperature of the water vapor, water vapour pressure, hydrostatic and wet mapping function coefficients ah and aw, water vapour decrease factor, geoid undulation and empirical tropospheric gradients for specific sites near the earth's surface, based on a 1 x 1 degree GPT3 grid.

Parameters
[in]mjdmodified Julian date
[in]lla_pos[𝜙, λ, h]^T Geodetic latitude, longitude and height in [rad, rad, m]
Note
See [29] Landskron2018

Definition at line 254 of file GPT.cpp.

◆ Heun2()

template<typename Y, typename Z, std::floating_point Scalar>
Y NAV::Heun2 ( const Y & y_n,
const std::array< Z, 2 > & z,
const Scalar & h,
const auto & f,
const auto & constParam,
const Scalar & t_n = 0 )

Heun's method (2nd order) (explicit) .

\begin{equation} \label{eq:eq-Heun2}
\begin{aligned}
  y_{n+1} &= y_n + \frac{h}{2} (k_1 + k_2) \\[1em]
  k_1     &= f(t_n, y_n) \\
  k_2     &= f(t_n + h, y_n + h k_1) \\
\end{aligned}
\end{equation}

Butcher tableau:

\begin{equation} \label{eq:eq-Heun2-bt}
\renewcommand\arraystretch{1.2}
\begin{array}{c|cc}
0 \\
1 & 1 \\ \hline
  & \frac{1}{2} & \frac{1}{2} \\
\end{array}
\end{equation}

Parameters
[in]y_nState vector at time t_n
[in]zArray of measurements, one for each evaluation point of the Runge Kutta
[in]hIntegration step in [s]
[in]fTime derivative function
[in]constParamConstant parameters passed to each time derivative function call
[in]t_nTime t_n

Definition at line 233 of file NumericalIntegration.hpp.

◆ Heun3()

template<typename Y, typename Z, std::floating_point Scalar>
Y NAV::Heun3 ( const Y & y_n,
const std::array< Z, 3 > & z,
const Scalar & h,
const auto & f,
const auto & constParam,
const Scalar & t_n = 0 )

Heun's method (3nd order) (explicit) .

\begin{equation} \label{eq:eq-Heun3}
\begin{aligned}
  y_{n+1} &= y_n + \frac{h}{4} (k_1 + 3 k_3) \\[1em]
  k_1     &= f(t_n, y_n) \\
  k_2     &= f(t_n + \frac{h}{3}, y_n + \frac{h}{3} k_1) \\
  k_3     &= f(t_n + \frac{2 h}{3}, y_n + \frac{2 h}{3} k_2) \\
\end{aligned}
\end{equation}

Butcher tableau:

\begin{equation} \label{eq:eq-Heun3-bt}
\renewcommand\arraystretch{1.2}
\begin{array}{c|ccc}
0 \\
\frac{1}{3} & \frac{1}{3} \\
\frac{2}{3} &      0      & \frac{2}{3} \\ \hline
            & \frac{1}{4} &      0      & \frac{3}{4} \\
\end{array}
\end{equation}

Parameters
[in]y_nState vector at time t_n
[in]zArray of measurements, one for each evaluation point of the Runge Kutta
[in]hIntegration step in [s]
[in]fTime derivative function
[in]constParamConstant parameters passed to each time derivative function call
[in]t_nTime t_n

Definition at line 295 of file NumericalIntegration.hpp.

◆ hundu()

double NAV::hundu ( double p[_coeffs+1],
double sinml[_361+1],
double cosml[_361+1],
double gr,
double re )

Definition at line 71 of file EGM96.cpp.

◆ ie_Q_dr_df()

Eigen::Matrix3d NAV::ie_Q_dr_df ( const Eigen::Vector3d & S_bad,
const Eigen::Matrix3d & ie_Dcm_b,
const double & tau_s )
nodiscard

Submatrix 𝐐_34 of the system noise covariance matrix 𝐐

Parameters
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]ie_Dcm_bDirection Cosine Matrix from body to {i,e} coordinates
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_34
Note
See Groves (2013) equation (14.81)

Definition at line 95 of file ProcessNoise.cpp.

◆ ie_Q_dr_domega()

Eigen::Matrix3d NAV::ie_Q_dr_domega ( const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & ie_F_21,
const Eigen::Matrix3d & ie_Dcm_b,
const double & tau_s )
nodiscard

Submatrix 𝐐_35 of the system noise covariance matrix 𝐐

Parameters
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]ie_F_21Submatrix 𝐅_21 of the system matrix 𝐅
[in]ie_Dcm_bDirection Cosine Matrix from body to {i,e} coordinates
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_35
Note
See Groves (2013) equation (14.81)

Definition at line 105 of file ProcessNoise.cpp.

◆ ie_Q_dr_dr()

Eigen::Matrix3d NAV::ie_Q_dr_dr ( const Eigen::Vector3d & S_ra,
const Eigen::Vector3d & S_bad,
const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & ie_F_21,
const double & tau_s )
nodiscard

Submatrix 𝐐_33 of the system noise covariance matrix 𝐐

Parameters
[in]S_raPower Spectral Density of the accelerometer random noise
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]ie_F_21Submatrix 𝐅_21 of the system matrix 𝐅 in {i,e} frame
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_33
Note
See Groves (2013) equation (14.81)

Definition at line 84 of file ProcessNoise.cpp.

◆ ie_Q_dr_dv()

Eigen::Matrix3d NAV::ie_Q_dr_dv ( const Eigen::Vector3d & S_ra,
const Eigen::Vector3d & S_bad,
const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & ie_F_21,
const double & tau_s )
nodiscard

Submatrix 𝐐_32 of the system noise covariance matrix 𝐐

Parameters
[in]S_raPower Spectral Density of the accelerometer random noise
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]ie_F_21Submatrix 𝐅_21 of the system matrix 𝐅 in {i,e} frame
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_32
Note
See Groves (2013) equation (14.81)

Definition at line 72 of file ProcessNoise.cpp.

◆ ie_Q_dr_psi()

Eigen::Matrix3d NAV::ie_Q_dr_psi ( const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & ie_F_21,
const double & tau_s )
nodiscard

Submatrix 𝐐_31 of the system noise covariance matrix 𝐐

Parameters
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]ie_F_21Submatrix 𝐅_21 of the system matrix 𝐅 in {i,e} frame
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_31
Note
See Groves (2013) equation (14.81)

Definition at line 61 of file ProcessNoise.cpp.

◆ ien_Q_dv_domega()

Eigen::Matrix3d NAV::ien_Q_dv_domega ( const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & ien_F_21,
const Eigen::Matrix3d & ien_Dcm_b,
const double & tau_s )
nodiscard

Submatrix 𝐐_25 of the system noise covariance matrix 𝐐

Parameters
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]ien_F_21Submatrix 𝐅_21 of the system matrix 𝐅
[in]ien_Dcm_bDirection Cosine Matrix from body to {i,e,n} frame
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_25
Note
See Groves (2013) equation (14.80)

Definition at line 51 of file ProcessNoise.cpp.

◆ ien_Q_dv_dv()

Eigen::Matrix3d NAV::ien_Q_dv_dv ( const Eigen::Vector3d & S_ra,
const Eigen::Vector3d & S_bad,
const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & ien_F_21,
const double & tau_s )
nodiscard

Submatrix 𝐐_22 of the system noise covariance matrix 𝐐

Parameters
[in]S_raPower Spectral Density of the accelerometer random noise
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]ien_F_21Submatrix 𝐅_21 of the system matrix 𝐅 in {i,e,n} frame
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_22
Note
See Groves (2013) equation (14.81)

Definition at line 45 of file ProcessNoise.cpp.

◆ ien_Q_dv_psi()

Eigen::Matrix3d NAV::ien_Q_dv_psi ( const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & ien_F_21,
const double & tau_s )
nodiscard

Submatrix 𝐐_21 of the system noise covariance matrix 𝐐

Parameters
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]ien_F_21Submatrix 𝐅_21 of the system matrix 𝐅 in {i,e,n} frame
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_21
Note
See Groves (2013) equation (14.81)

Definition at line 40 of file ProcessNoise.cpp.

◆ InertialIntegratorGui()

bool NAV::InertialIntegratorGui ( const char * label,
InertialIntegrator & integrator,
bool & preferAccelerationOverDeltaMeasurements,
float width = 250.0F )

Shows a GUI for advanced configuration of the InertialIntegrator.

Parameters
[in]labelLabel to show. This has to be a unique id for ImGui.
[in]integratorReference to the integrator to configure
[in]preferAccelerationOverDeltaMeasurementsWether to prefer accelerations over delta measurements
[in]widthWidth of the widget

Definition at line 333 of file InertialIntegrator.cpp.

◆ ionoErrorVar()

double NAV::ionoErrorVar ( double dpsr_I,
Frequency freq,
int8_t num )

Calculates the ionospheric error variance.

Parameters
[in]dpsr_IIonosphere propagation error [m]
[in]freqFrequency
[in]numFrequency number. Only used for GLONASS G1 and G2
Returns
Variance of the error [m^2]

Definition at line 81 of file Ionosphere.cpp.

◆ joinToString()

template<typename T>
std::string NAV::joinToString ( const T & container,
const char * delimiter = ", ",
const std::string & elementFormat = "" )

Joins the container to a string.

Parameters
[in]containerContainer to join
[in]delimiterDelimiter to use to concatenate the elements
[in]elementFormatfmt format string, which gets places inside '{}' to format the elements

Definition at line 30 of file STL.hpp.

◆ joinToStringCustom()

template<typename T, typename U>
std::string NAV::joinToStringCustom ( const T & container,
U && formatFunc,
const char * delimiter = ", " )

Joins the container to a string.

Parameters
[in]containerContainer to join
[in]formatFuncFunction to evaluate for each element to get the string representation
[in]delimiterDelimiter to use to concatenate the elements

Definition at line 44 of file STL.hpp.

◆ legfdn()

void NAV::legfdn ( unsigned m,
double theta,
double rleg[_361+1] )
Parameters
m: order.
theta: Colatitude (radians).
rleg: Normalized legendre function.

This subroutine computes all normalized legendre function in 'rleg'. The dimensions of array 'rleg' must be at least equal to nmax+1. All calculations are in double precision.

Original programmer: Oscar L. Colombo, Dept. of Geodetic Science the Ohio State University, August 1980. ineiev: I removed the derivatives, for they are never computed here.

Definition at line 141 of file EGM96.cpp.

◆ lessCompareSatSigId()

bool NAV::lessCompareSatSigId ( const std::string & lhs,
const std::string & rhs )

Less than comparison from string representation.

Parameters
[in]lhsLeft hand side of the operator
[in]rhsRight hand side of the operator
Returns
True if lhs < rhs

Definition at line 41 of file SatelliteIdentifier.cpp.

◆ lla_calcTimeDerivativeForPosition()

template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::lla_calcTimeDerivativeForPosition ( const Eigen::MatrixBase< Derived > & n_velocity,
const auto & phi,
const auto & h,
const auto & R_N,
const auto & R_E )

Calculates the time derivative of the curvilinear position.

\begin{equation} \label{eq:eq-INS-Mechanization-p_lla-dot}
\begin{aligned}
  \dot{\phi}    &= \frac{v_N}{R_N + h} \\
  \dot{\lambda} &= \frac{v_E}{(R_E + h) \cos{\phi}} \\
  \dot{h}       &= -v_D
\end{aligned}
\end{equation}

Parameters
[in]n_velocity[v_N v_E v_D]^T Velocity with respect to the Earth in local-navigation frame coordinates [m/s]
[in]phiϕ Latitude [rad]
[in]hAltitude above the ellipsoid [m]
[in]R_NNorth/South (meridian) earth radius [m]
[in]R_EEast/West (prime vertical) earth radius [m]
Returns
The time derivative of the curvilinear position
Note
See Position equation \eqref{eq:eq-ImuIntegrator-Mechanization-n-Position}

Definition at line 119 of file Mechanization.hpp.

◆ loadImPlotStyleFromConfigFile()

void NAV::loadImPlotStyleFromConfigFile ( const char * path,
ImPlotStyle & imPlotStyle )

Loads the ImPlotStyle from a json file.

Parameters
[in]pathPath of the file
[out]imPlotStyleObject to fill

This file is part of INSTINCT, the INS Toolkit for Integrated Navigation Concepts and Training by the Institute of Navigation of the University of Stuttgart, Germany.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

Definition at line 28 of file ImPlot.cpp.

◆ MakeComboItems()

template<typename T>
std::string NAV::MakeComboItems ( )
nodiscard

Units separated by '\0' and terminated by double '\0'.

Definition at line 28 of file InputWithUnit.hpp.

◆ mjd2doy()

double NAV::mjd2doy ( const double & mjd)

To calculate the day of year.

Parameters
[in]mjdthe Modified Julien Date
Returns
the day of year

Definition at line 527 of file GPT.cpp.

◆ move()

template<typename T>
void NAV::move ( std::vector< T > & v,
size_t sourceIdx,
size_t targetIdx )

Moves an element within a vector to a new position.

Parameters
[in,out]vVector with the elements
[in]sourceIdxOld index which will be moved
[in]targetIdxNew index which is the target

Definition at line 27 of file Vector.hpp.

◆ n_calcCoriolisAcceleration()

template<typename DerivedA, typename DerivedB, typename DerivedC>
Eigen::Vector3< typename DerivedA::Scalar > NAV::n_calcCoriolisAcceleration ( const Eigen::MatrixBase< DerivedA > & n_omega_ie,
const Eigen::MatrixBase< DerivedB > & n_omega_en,
const Eigen::MatrixBase< DerivedC > & n_velocity )
nodiscard

Calculates the coriolis acceleration in [m/s^2] (acceleration due to motion in rotating reference frame)

\begin{equation} \label{eq:eq-INS-Mechanization-CoriolisAcceleration}
  (2 \boldsymbol{\omega}_{ie}^n + \boldsymbol{\omega}_{en}^n) \times \boldsymbol{v}^n
\end{equation}

Parameters
[in]n_omega_ieω_ie_n Angular rate of the Earth rotation in [rad/s] in local-navigation coordinates
[in]n_omega_enω_en_n Transport rate in [rad/s] in local-navigation coordinates
[in]n_velocityVelocity in local-navigation frame coordinates in [m/s^2]
Returns
Coriolis acceleration in local-navigation coordinates in [m/s^2]

Definition at line 90 of file Functions.hpp.

◆ n_calcGravitation()

template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::n_calcGravitation ( const Eigen::MatrixBase< Derived > & lla_position,
GravitationModel gravitationModel = GravitationModel::EGM96 )
nodiscard

Calculates the gravitation (acceleration due to mass attraction of the Earth)

Parameters
[in]lla_position[ϕ, λ, h] Latitude, Longitude, Altitude in [rad, rad, m]
[in]gravitationModelGravitation model to use
Returns
Gravitation vector in local-navigation frame coordinates in [m/s^2]

Definition at line 193 of file Gravity.hpp.

◆ n_calcGravitation_EGM96()

template<typename Derived>
Eigen::Vector3< typename Derived::Scalar > NAV::n_calcGravitation_EGM96 ( const Eigen::MatrixBase< Derived > & lla_position,
size_t ndegree = 10 )
nodiscard

Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the EGM96 spherical harmonic model (up to order 10)

Parameters
[in]lla_position[ϕ, λ, h] Latitude, Longitude, Altitude in [rad, rad, m]
[in]ndegreeDegree of the EGM96 (1 <= ndegree <= 10)
Returns
Gravitation vector in local-navigation frame coordinates in [m/s^2]
Note
See Groves (2013) Chapter 2.4.3 and 'GUT User Guide' (2018) Chapter 7.4

Definition at line 128 of file Gravity.hpp.

◆ n_calcGravitation_SomiglianaAltitude()

template<typename T>
Eigen::Vector3< T > NAV::n_calcGravitation_SomiglianaAltitude ( const T & latitude,
const T & altitude )
nodiscard

Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using the Somigliana model and makes corrections for altitude.

Parameters
[in]latitudeLatitude in [rad]
[in]altitudeAltitude in [m]
Returns
Gravitation vector in local-navigation frame coordinates in [m/s^2]
Note
See S. Gleason (2009) - GNSS Applications and Methods (Chapter 6.2.3.2 - eq. 6.16)

Definition at line 57 of file Gravity.hpp.

◆ n_calcGravitation_WGS84()

template<typename T>
Eigen::Vector3< T > NAV::n_calcGravitation_WGS84 ( const T & latitude,
const T & altitude )
nodiscard

Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential.

Parameters
[in]latitudeLatitude in [rad]
[in]altitudeAltitude in [m]
Returns
Gravitation vector in local-navigation frame coordinates in [m/s^2]
Note
See 'INS-Projects/INSTINCT/SpecificLiterature/GravityPotentialWGS84' in NC folder (eq. (3) derived after 'r')

Definition at line 105 of file Gravity.hpp.

◆ n_calcGravitation_WGS84_Skydel()

template<typename T>
Eigen::Vector3< T > NAV::n_calcGravitation_WGS84_Skydel ( const T & latitude,
const T & altitude )
nodiscard

Calculates the gravitation (acceleration due to mass attraction of the Earth) at the WGS84 reference ellipsoid using gravity as derived from the gravity potential. However, the north component of the centrifugal acceleration is neglected in order to match the implementation of Skydel's 'ImuPlugin'.

Parameters
[in]latitudeLatitude in [rad]
[in]altitudeAltitude in [m]
Returns
Gravitation vector in local-navigation frame coordinates in [m/s^2]
Note
See Skydel API plug-in 'skydel_plugin/source/library/inertial_math/Sources/source/gravity.cpp'

Definition at line 82 of file Gravity.hpp.

◆ n_calcPosVelAttDerivative()

template<typename T>
Eigen::Vector< T, 10 > NAV::n_calcPosVelAttDerivative ( const Eigen::Vector< T, 10 > & y,
const Eigen::Vector< T, 6 > & z,
const PosVelAttDerivativeConstants & c,
double = 0.0 )

Calculates the derivative of the quaternion, velocity and curvilinear position.

Parameters
[in]y[ 𝜙, λ, h, v_N, v_E, v_D, n_q_bx, n_q_by, n_q_bz, n_q_bw]^T
[in]z[fx, fy, fz, ωx, ωy, ωz]^T
[in]cConstant values needed to calculate the derivatives
Returns
The derivative ∂/∂t [ 𝜙, λ, h, v_N, v_E, v_D, n_q_bx, n_q_by, n_q_bz, n_q_bw]^T

Definition at line 141 of file Mechanization.hpp.

◆ n_calcTimeDerivativeForVelocity()

template<typename DerivedA, typename DerivedB, typename DerivedC, typename DerivedD>
Eigen::Vector3< typename DerivedA::Scalar > NAV::n_calcTimeDerivativeForVelocity ( const Eigen::MatrixBase< DerivedA > & n_measuredForce,
const Eigen::MatrixBase< DerivedB > & n_coriolisAcceleration,
const Eigen::MatrixBase< DerivedC > & n_gravitation,
const Eigen::MatrixBase< DerivedD > & n_centrifugalAcceleration )

Calculates the time derivative of the velocity in local-navigation frame coordinates.

\begin{equation} \label{eq:eq-INS-Mechanization-v_n-dot}
  \boldsymbol{\dot{v}}^n
      = \overbrace{\boldsymbol{f}^n}^{\hidewidth\text{measured}\hidewidth}
        -\ \underbrace{(2 \boldsymbol{\omega}_{ie}^n + \boldsymbol{\omega}_{en}^n) \times \boldsymbol{v}^n}_{\text{coriolis acceleration}}
        +\ \overbrace{\mathbf{g}^n}^{\hidewidth\text{gravitation}\hidewidth}
        -\ \mathbf{C}_e^n \cdot \underbrace{\left(\boldsymbol{\omega}_{ie}^e \times [ \boldsymbol{\omega}_{ie}^e \times \mathbf{x}^e ] \right)}_{\text{centrifugal acceleration}}
\end{equation}

Parameters
[in]n_measuredForcef_n = [f_N f_E f_D]^T Specific force vector as measured by a triad of accelerometers and resolved into local-navigation frame coordinates
[in]n_coriolisAccelerationCoriolis acceleration in local-navigation coordinates in [m/s^2]
[in]n_gravitationLocal gravitation vector (caused by effects of mass attraction) in local-navigation frame coordinates [m/s^2]
[in]n_centrifugalAccelerationCentrifugal acceleration in local-navigation coordinates in [m/s^2]
Returns
The time derivative of the velocity in local-navigation frame coordinates
Note
See Velocity equation \eqref{eq:eq-ImuIntegrator-Mechanization-n-Velocity}

Definition at line 89 of file Mechanization.hpp.

◆ n_calcTransportRate()

template<typename DerivedA, typename DerivedB>
Eigen::Vector3< typename DerivedA::Scalar > NAV::n_calcTransportRate ( const Eigen::MatrixBase< DerivedA > & lla_position,
const Eigen::MatrixBase< DerivedB > & n_velocity,
const auto & R_N,
const auto & R_E )
nodiscard

Calculates the transport rate ω_en_n (rotation rate of the Earth frame relative to the navigation frame)

\begin{equation} \label{eq:eq-INS-Mechanization-TransportRate}
  \boldsymbol{\omega}_{en}^n = \begin{bmatrix} \dfrac{v_E}{R_E + h} & \dfrac{-v_N}{R_N + h} & \dfrac{-v_E \tan{\phi}}{R_E + h} \end{bmatrix}^T
\end{equation}

Parameters
[in]lla_position[𝜙, λ, h] Latitude, Longitude and altitude in [rad, rad, m]
[in]n_velocityVelocity in [m/s], in navigation coordinate
[in]R_NNorth/South (meridian) earth radius [m]
[in]R_EEast/West (prime vertical) earth radius [m]
Returns
ω_en_n Transport Rate in local-navigation coordinates in [rad/s]
Note
See [17] Groves, ch. 5.4.1, eq. 5.44, p. 177
See [14] Gleason, ch. 6.2.3.2, eq. 6.15, p. 155
See [47] Titterton, ch. 3.7.2, eq. 3.87, p. 50 (mistake in denominator 3rd term)

Definition at line 39 of file Functions.hpp.

◆ n_F_df_df()

Eigen::Matrix3d NAV::n_F_df_df ( const Eigen::Vector3d & beta_a)
nodiscard

Calculates the matrix 𝐅_𝛿f'_𝛿f.

Parameters
[in]beta_aGauss-Markov constant for the accelerometer 𝛽 = 1 / 𝜏 (𝜏 correlation length)
Returns
3x3 matrix in [1 / s]
Note
See T. Hobiger (2021) Inertialnavigation V06 - equation (6.3)

Definition at line 166 of file ErrorEquations.cpp.

◆ n_F_dpsi_dpsi()

Eigen::Matrix3d NAV::n_F_dpsi_dpsi ( const Eigen::Vector3d & n_omega_in)
nodiscard

Calculates the matrix 𝐅_𝜓'_𝜓

Parameters
[in]n_omega_inAngular rate vector of the n-system with respect to the i-system in [rad / s], resolved in the n-system
Returns
3x3 matrix in [rad / s]
Note
See [17] Groves, ch. 14.2.4, eq. 14.64, p. 587 - 𝐅_11
See T. Hobiger (2021) Inertialnavigation V07 - equation (7.22)

Definition at line 16 of file ErrorEquations.cpp.

◆ n_F_dpsi_dr()

Eigen::Matrix3d NAV::n_F_dpsi_dr ( double latitude,
double height,
const Eigen::Vector3d & n_velocity,
double R_N,
double R_E )
nodiscard

Calculates the matrix 𝐅_𝜓'_𝛿r.

Parameters
[in]latitudeGeodetic latitude of the body in [rad]
[in]heightGeodetic height of the body in [m]
[in]n_velocityVelocity of the body with respect to the e-system in [m / s], resolved in the n-system
[in]R_NNorth/South (meridian) earth radius in [m]
[in]R_EEast/West (prime vertical) earth radius in [m]
Returns
3x3 matrix in [rad / s] for latitude and [1 / (m · s)] for height
Note
See [17] Groves, ch. 14.2.4, eq. 14.66, p. 587 - 𝐅_13
See T. Hobiger (2021) Inertialnavigation V07 - equation (7.21)

Definition at line 40 of file ErrorEquations.cpp.

◆ n_F_dpsi_dv()

Eigen::Matrix3d NAV::n_F_dpsi_dv ( double latitude,
double height,
double R_N,
double R_E )
nodiscard

Calculates the matrix 𝐅_𝜓'_𝛿v.

Parameters
[in]latitudeGeodetic latitude of the body in [rad]
[in]heightGeodetic height of the body in [m]
[in]R_NNorth/South (meridian) earth radius in [m]
[in]R_EEast/West (prime vertical) earth radius in [m]
Returns
3x3 matrix in [1 / m]
Note
See [17] Groves, ch. 14.2.4, eq. 14.65, p. 587 - 𝐅_12
See T. Hobiger (2021) Inertialnavigation V07 - equation (7.21)

Definition at line 28 of file ErrorEquations.cpp.

◆ n_F_dpsi_dw()

Eigen::Matrix3d NAV::n_F_dpsi_dw ( const Eigen::Matrix3d & n_Dcm_b)
nodiscard

Calculates the matrix 𝐅_𝜓'_𝛿ω

Parameters
[in]n_Dcm_bDCM from body to navigation frame
Returns
3x3 matrix in [-]
Note
See [17] Groves, ch. 14.2.4, eq. 14.63, p. 587 - 𝐅_15

Definition at line 58 of file ErrorEquations.cpp.

◆ n_F_dr_dr()

Eigen::Matrix3d NAV::n_F_dr_dr ( const Eigen::Vector3d & n_velocity,
double latitude,
double height,
double R_N,
double R_E )
nodiscard

Calculates the matrix 𝐅_𝛿r'_𝛿r.

Parameters
[in]n_velocityVelocity of the body with respect to the e-system in [m / s], resolved in the n-system
[in]latitudeGeodetic latitude of the body in [rad]
[in]heightGeodetic height of the body in [m]
[in]R_NNorth/South (meridian) earth radius in [m]
[in]R_EEast/West (prime vertical) earth radius in [m]
Returns
3x3 matrix in [1 / s] for latitude and [1 / (m · s)] for height
Note
See [17] Groves, ch. 14.2.4, eq. 14.71, p. 588 - 𝐅_33
See T. Hobiger (2021) Inertialnavigation V07 - equation (7.5)

Definition at line 151 of file ErrorEquations.cpp.

◆ n_F_dr_dv()

Eigen::Matrix3d NAV::n_F_dr_dv ( double latitude,
double height,
double R_N,
double R_E )
nodiscard

Calculates the matrix 𝐅_𝛿r'_𝛿v.

Parameters
[in]latitudeGeodetic latitude of the body in [rad]
[in]heightGeodetic height of the body in [m]
[in]R_NNorth/South (meridian) earth radius in [m]
[in]R_EEast/West (prime vertical) earth radius in [m]
Returns
3x3 matrix in [1 / m] for latitude and longitude and [-] for height
Note
See [17] Groves, ch. 14.2.4, eq. 14.70, p. 588 - 𝐅_32
See T. Hobiger (2021) Inertialnavigation V07 - equation (7.5)

Definition at line 140 of file ErrorEquations.cpp.

◆ n_F_dv_df()

Eigen::Matrix3d NAV::n_F_dv_df ( const Eigen::Matrix3d & n_Dcm_b)
nodiscard

Calculates the matrix 𝐅_𝜓'_𝛿f.

Parameters
[in]n_Dcm_bDCM from body to navigation frame
Returns
3x3 matrix in [-]
Note
See [17] Groves, ch. 14.2.4, eq. 14.63, p. 587 - 𝐅_24

Definition at line 135 of file ErrorEquations.cpp.

◆ n_F_dv_dpsi()

Eigen::Matrix3d NAV::n_F_dv_dpsi ( const Eigen::Vector3d & n_force_ib)
nodiscard

Calculates the matrix 𝐅_𝛿v'_𝜓

Parameters
[in]n_force_ibSpecific force of the body with respect to inertial frame in [m / s^2], resolved in local navigation frame coordinates
Returns
3x3 matrix in [m / s^2]
Note
See [17] Groves, ch. 14.2.4, eq. 14.67, p. 587 - 𝐅_21
See T. Hobiger (2021) Inertialnavigation V08 - equation (8.4)

Definition at line 63 of file ErrorEquations.cpp.

◆ n_F_dv_dr()

Eigen::Matrix3d NAV::n_F_dv_dr ( const Eigen::Vector3d & n_velocity,
double latitude,
double height,
double R_N,
double R_E,
double g_0,
double r_eS_e )
nodiscard

Calculates the matrix 𝐅_𝛿v'_𝛿r.

Parameters
[in]n_velocityVelocity of the body with respect to the e-system in [m / s], resolved in the n-system
[in]latitudeGeodetic latitude of the body in [rad]
[in]heightGeodetic height of the body in [m]
[in]R_NNorth/South (meridian) earth radius in [m]
[in]R_EEast/West (prime vertical) earth radius in [m]
[in]g_0Magnitude of the gravity vector in [m/s^2] (see [17] Groves, ch. 2.4.7, eq. 2.135, p. 70)
[in]r_eS_eGeocentric radius. The distance of a point on the Earth's surface from the center of the Earth in [m]
Returns
3x3 matrix in [m / s^2] for latitude and [1 / s^2] for height
Note
See [17] Groves, ch. 14.2.4, eq. 14.69, p. 588 - 𝐅_23
See T. Hobiger (2021) Inertialnavigation V08 - equation (8.14, 8.16)

Definition at line 105 of file ErrorEquations.cpp.

◆ n_F_dv_dv()

Eigen::Matrix3d NAV::n_F_dv_dv ( const Eigen::Vector3d & n_velocity,
double latitude,
double height,
double R_N,
double R_E )
nodiscard

Calculates the matrix 𝐅_𝛿v'_𝛿v.

Parameters
[in]n_velocityVelocity of the body with respect to the e-system in [m / s], resolved in the n-system
[in]latitudeGeodetic latitude of the body in [rad]
[in]heightGeodetic height of the body in [m]
[in]R_NNorth/South (meridian) earth radius in [m]
[in]R_EEast/West (prime vertical) earth radius in [m]
Returns
3x3 matrix in [1 / s]
Note
See [17] Groves, ch. 14.2.4, eq. 14.68, p. 587 - 𝐅_22
See T. Hobiger (2021) Inertialnavigation V08 - equation (8.6, 8.15)

Definition at line 80 of file ErrorEquations.cpp.

◆ n_F_dw_dw()

Eigen::Matrix3d NAV::n_F_dw_dw ( const Eigen::Vector3d & beta_omega)
nodiscard

Calculates the matrix 𝐅_𝛿ω'_𝛿ω

Parameters
[in]beta_omegaGauss-Markov constant for the gyroscope 𝛽 = 1 / 𝜏 (𝜏 correlation length)
Returns
3x3 matrix in [1 / s]
Note
See T. Hobiger (2021) Inertialnavigation V06 - equation (6.3)

Definition at line 172 of file ErrorEquations.cpp.

◆ n_Q_dr_df()

Eigen::Matrix3d NAV::n_Q_dr_df ( const Eigen::Vector3d & S_bad,
const Eigen::Matrix3d & T_rn_p,
const Eigen::Matrix3d & n_Dcm_b,
const double & tau_s )
nodiscard

Submatrix 𝐐_34 of the system noise covariance matrix 𝐐

Parameters
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]T_rn_pConversion matrix between cartesian and curvilinear perturbations to the position
[in]n_Dcm_bDirection Cosine Matrix from body to navigation coordinates
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_34
Note
See Groves (2013) equation (14.81)

Definition at line 90 of file ProcessNoise.cpp.

◆ n_Q_dr_domega()

Eigen::Matrix3d NAV::n_Q_dr_domega ( const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & n_F_21,
const Eigen::Matrix3d & T_rn_p,
const Eigen::Matrix3d & n_Dcm_b,
const double & tau_s )
nodiscard

Submatrix 𝐐_35 of the system noise covariance matrix 𝐐

Parameters
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]n_F_21Submatrix 𝐅_21 of the system matrix 𝐅
[in]T_rn_pConversion matrix between cartesian and curvilinear perturbations to the position
[in]n_Dcm_bDirection Cosine Matrix from body to navigation coordinates
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_35
Note
See Groves (2013) equation (14.81)

Definition at line 100 of file ProcessNoise.cpp.

◆ n_Q_dr_dr()

Eigen::Matrix3d NAV::n_Q_dr_dr ( const Eigen::Vector3d & S_ra,
const Eigen::Vector3d & S_bad,
const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & n_F_21,
const Eigen::Matrix3d & T_rn_p,
const double & tau_s )
nodiscard

Submatrix 𝐐_33 of the system noise covariance matrix 𝐐

Parameters
[in]S_raPower Spectral Density of the accelerometer random noise
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]n_F_21Submatrix 𝐅_21 of the system matrix 𝐅
[in]T_rn_pConversion matrix between cartesian and curvilinear perturbations to the position
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_33
Note
See Groves (2013) equation (14.81)

Definition at line 78 of file ProcessNoise.cpp.

◆ n_Q_dr_dv()

Eigen::Matrix3d NAV::n_Q_dr_dv ( const Eigen::Vector3d & S_ra,
const Eigen::Vector3d & S_bad,
const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & n_F_21,
const Eigen::Matrix3d & T_rn_p,
const double & tau_s )
nodiscard

Submatrix 𝐐_32 of the system noise covariance matrix 𝐐

Parameters
[in]S_raPower Spectral Density of the accelerometer random noise
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]n_F_21Submatrix 𝐅_21 of the system matrix 𝐅
[in]T_rn_pConversion matrix between cartesian and curvilinear perturbations to the position
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_32
Note
See Groves (2013) equation (14.81)

Definition at line 66 of file ProcessNoise.cpp.

◆ n_Q_dr_psi()

Eigen::Matrix3d NAV::n_Q_dr_psi ( const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & n_F_21,
const Eigen::Matrix3d & T_rn_p,
const double & tau_s )
nodiscard

Submatrix 𝐐_31 of the system noise covariance matrix 𝐐

Parameters
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]n_F_21Submatrix 𝐅_21 of the system matrix 𝐅
[in]T_rn_pConversion matrix between cartesian and curvilinear perturbations to the position
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_31
Note
See Groves (2013) equation (14.81)

Definition at line 56 of file ProcessNoise.cpp.

◆ operator!=() [1/21]

bool NAV::operator!= ( const Code & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 752 of file Code.cpp.

◆ operator!=() [2/21]

bool NAV::operator!= ( const Code & lhs,
const Code::Enum & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 757 of file Code.cpp.

◆ operator!=() [3/21]

bool NAV::operator!= ( const Code::Enum & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 762 of file Code.cpp.

◆ operator!=() [4/21]

bool NAV::operator!= ( const Frequency & lhs,
const Frequency & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 410 of file Frequency.hpp.

◆ operator!=() [5/21]

bool NAV::operator!= ( const Frequency & lhs,
const Frequency_ & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 415 of file Frequency.hpp.

◆ operator!=() [6/21]

bool NAV::operator!= ( const Frequency_ & lhs,
const Frequency & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 420 of file Frequency.hpp.

◆ operator!=() [7/21]

bool NAV::operator!= ( const Node::Kind & lhs,
const Node::Kind & rhs )
constexpr

Inequal compares Node::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 506 of file Node.hpp.

◆ operator!=() [8/21]

bool NAV::operator!= ( const Node::Kind & lhs,
const Node::Kind::Value & rhs )
constexpr

Inequal compares Node::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 522 of file Node.hpp.

◆ operator!=() [9/21]

bool NAV::operator!= ( const Node::Kind::Value & lhs,
const Node::Kind & rhs )
constexpr

Inequal compares Node::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 527 of file Node.hpp.

◆ operator!=() [10/21]

bool NAV::operator!= ( const Pin::Kind & lhs,
const Pin::Kind & rhs )
constexpr

Inequal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 785 of file Pin.hpp.

◆ operator!=() [11/21]

bool NAV::operator!= ( const Pin::Kind & lhs,
const Pin::Kind::Value & rhs )
constexpr

Inequal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 801 of file Pin.hpp.

◆ operator!=() [12/21]

bool NAV::operator!= ( const Pin::Kind::Value & lhs,
const Pin::Kind & rhs )
constexpr

Inequal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 806 of file Pin.hpp.

◆ operator!=() [13/21]

bool NAV::operator!= ( const Pin::Type & lhs,
const Pin::Type & rhs )
constexpr

Inequal compares Pin::Type values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 817 of file Pin.hpp.

◆ operator!=() [14/21]

bool NAV::operator!= ( const Pin::Type & lhs,
const Pin::Type::Value & rhs )
constexpr

Inequal compares Pin::Type values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 833 of file Pin.hpp.

◆ operator!=() [15/21]

bool NAV::operator!= ( const Pin::Type::Value & lhs,
const Pin::Type & rhs )
constexpr

Inequal compares Pin::Type values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 838 of file Pin.hpp.

◆ operator!=() [16/21]

bool NAV::operator!= ( const SatelliteSystem & lhs,
const SatelliteSystem & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 363 of file SatelliteSystem.hpp.

◆ operator!=() [17/21]

bool NAV::operator!= ( const SatelliteSystem & lhs,
const SatelliteSystem_ & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 368 of file SatelliteSystem.hpp.

◆ operator!=() [18/21]

bool NAV::operator!= ( const SatelliteSystem_ & lhs,
const SatelliteSystem & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 373 of file SatelliteSystem.hpp.

◆ operator!=() [19/21]

bool NAV::operator!= ( const TimeSystem & lhs,
const TimeSystem & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 381 of file TimeSystem.hpp.

◆ operator!=() [20/21]

bool NAV::operator!= ( const TimeSystem & lhs,
const TimeSystem_ & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 386 of file TimeSystem.hpp.

◆ operator!=() [21/21]

bool NAV::operator!= ( const TimeSystem_ & lhs,
const TimeSystem & rhs )
constexpr

Inequal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 391 of file TimeSystem.hpp.

◆ operator""_deg()

long double NAV::operator""_deg ( long double deg)
constexpr

Converts [degree] to [radian].

Definition at line 72 of file Units.hpp.

◆ operator""_mas() [1/2]

long double NAV::operator""_mas ( long double mas)
constexpr

Converts [milliarcseconds] to [radian].

Definition at line 78 of file Units.hpp.

◆ operator""_mas() [2/2]

long double NAV::operator""_mas ( unsigned long long mas)
constexpr

Converts [milliarcseconds] to [radian].

Definition at line 84 of file Units.hpp.

◆ operator""_ppb() [1/2]

long double NAV::operator""_ppb ( long double ppb)
constexpr

Parts per billion.

Definition at line 90 of file Units.hpp.

◆ operator""_ppb() [2/2]

long double NAV::operator""_ppb ( unsigned long long ppb)
constexpr

Parts per billion.

Definition at line 96 of file Units.hpp.

◆ operator&() [1/33]

Code NAV::operator& ( Code lhs,
Frequency rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 1034 of file Code.cpp.

◆ operator&() [2/33]

Code NAV::operator& ( Code lhs,
Frequency_ rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 906 of file Code.cpp.

◆ operator&() [3/33]

Code NAV::operator& ( Code lhs,
SatelliteSystem rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 830 of file Code.cpp.

◆ operator&() [4/33]

Code NAV::operator& ( Code lhs,
SatelliteSystem_ rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 784 of file Code.cpp.

◆ operator&() [5/33]

Code NAV::operator& ( const Code & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ANDed value.

Definition at line 697 of file Code.cpp.

◆ operator&() [6/33]

Code NAV::operator& ( const Code & lhs,
const Code::Enum & rhs )
Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ANDed value.

Definition at line 701 of file Code.cpp.

◆ operator&() [7/33]

Code NAV::operator& ( const Code::Enum & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ANDed value.

Definition at line 705 of file Code.cpp.

◆ operator&() [8/33]

Code NAV::operator& ( const Code::Enum & lhs,
const Code::Enum & rhs )

Allows combining flags of the Code enum.

Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ANDed value.

Definition at line 714 of file Code.cpp.

◆ operator&() [9/33]

Code NAV::operator& ( Frequency lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 1038 of file Code.cpp.

◆ operator&() [10/33]

Frequency_ NAV::operator& ( Frequency lhs,
Frequency rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 317 of file Frequency.hpp.

◆ operator&() [11/33]

Frequency_ NAV::operator& ( Frequency lhs,
Frequency_ rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 325 of file Frequency.hpp.

◆ operator&() [12/33]

Frequency_ NAV::operator& ( Frequency lhs,
SatelliteSystem rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 506 of file Frequency.hpp.

◆ operator&() [13/33]

Frequency_ NAV::operator& ( Frequency lhs,
SatelliteSystem_ rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 480 of file Frequency.hpp.

◆ operator&() [14/33]

Code NAV::operator& ( Frequency_ lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 1025 of file Code.cpp.

◆ operator&() [15/33]

Frequency_ NAV::operator& ( Frequency_ lhs,
Frequency rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 333 of file Frequency.hpp.

◆ operator&() [16/33]

Frequency_ NAV::operator& ( Frequency_ lhs,
Frequency_ rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 309 of file Frequency.hpp.

◆ operator&() [17/33]

Frequency_ NAV::operator& ( Frequency_ lhs,
SatelliteSystem rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 454 of file Frequency.hpp.

◆ operator&() [18/33]

Frequency_ NAV::operator& ( Frequency_ lhs,
SatelliteSystem_ rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 428 of file Frequency.hpp.

◆ operator&() [19/33]

Orbit::Calc NAV::operator& ( Orbit::Calc lhs,
Orbit::Calc rhs )
inline

Allows construction of Calc objects.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 103 of file Orbit.hpp.

◆ operator&() [20/33]

Code NAV::operator& ( SatelliteSystem lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 834 of file Code.cpp.

◆ operator&() [21/33]

Frequency_ NAV::operator& ( SatelliteSystem lhs,
Frequency rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 514 of file Frequency.hpp.

◆ operator&() [22/33]

Frequency_ NAV::operator& ( SatelliteSystem lhs,
Frequency_ rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 462 of file Frequency.hpp.

◆ operator&() [23/33]

SatelliteSystem NAV::operator& ( SatelliteSystem lhs,
SatelliteSystem rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 268 of file SatelliteSystem.hpp.

◆ operator&() [24/33]

SatelliteSystem_ NAV::operator& ( SatelliteSystem lhs,
SatelliteSystem_ rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 276 of file SatelliteSystem.hpp.

◆ operator&() [25/33]

Code NAV::operator& ( SatelliteSystem_ lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 821 of file Code.cpp.

◆ operator&() [26/33]

Frequency_ NAV::operator& ( SatelliteSystem_ lhs,
Frequency rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 488 of file Frequency.hpp.

◆ operator&() [27/33]

Frequency_ NAV::operator& ( SatelliteSystem_ lhs,
Frequency_ rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 436 of file Frequency.hpp.

◆ operator&() [28/33]

SatelliteSystem_ NAV::operator& ( SatelliteSystem_ lhs,
SatelliteSystem rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 284 of file SatelliteSystem.hpp.

◆ operator&() [29/33]

SatelliteSystem_ NAV::operator& ( SatelliteSystem_ lhs,
SatelliteSystem_ rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 260 of file SatelliteSystem.hpp.

◆ operator&() [30/33]

TimeSystem NAV::operator& ( TimeSystem lhs,
TimeSystem rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 288 of file TimeSystem.hpp.

◆ operator&() [31/33]

TimeSystem NAV::operator& ( TimeSystem lhs,
TimeSystem_ rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 296 of file TimeSystem.hpp.

◆ operator&() [32/33]

TimeSystem NAV::operator& ( TimeSystem_ lhs,
TimeSystem rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 304 of file TimeSystem.hpp.

◆ operator&() [33/33]

TimeSystem_ NAV::operator& ( TimeSystem_ lhs,
TimeSystem_ rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 280 of file TimeSystem.hpp.

◆ operator&=() [1/16]

Frequency & NAV::operator&= ( Frequency & lhs,
const Frequency & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 351 of file Frequency.hpp.

◆ operator&=() [2/16]

Frequency & NAV::operator&= ( Frequency & lhs,
const Frequency_ & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 369 of file Frequency.hpp.

◆ operator&=() [3/16]

Frequency & NAV::operator&= ( Frequency & lhs,
const SatelliteSystem & rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 522 of file Frequency.hpp.

◆ operator&=() [4/16]

Frequency & NAV::operator&= ( Frequency & lhs,
const SatelliteSystem_ & rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 496 of file Frequency.hpp.

◆ operator&=() [5/16]

Frequency_ & NAV::operator&= ( Frequency_ & lhs,
const Frequency & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 360 of file Frequency.hpp.

◆ operator&=() [6/16]

Frequency_ & NAV::operator&= ( Frequency_ & lhs,
const Frequency_ & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 342 of file Frequency.hpp.

◆ operator&=() [7/16]

Frequency_ & NAV::operator&= ( Frequency_ & lhs,
const SatelliteSystem & rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 470 of file Frequency.hpp.

◆ operator&=() [8/16]

Frequency_ & NAV::operator&= ( Frequency_ & lhs,
const SatelliteSystem_ & rhs )
constexpr

Allows filtering Frequency with SatelliteSystem.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 444 of file Frequency.hpp.

◆ operator&=() [9/16]

SatelliteSystem & NAV::operator&= ( SatelliteSystem & lhs,
const SatelliteSystem & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 302 of file SatelliteSystem.hpp.

◆ operator&=() [10/16]

SatelliteSystem & NAV::operator&= ( SatelliteSystem & lhs,
const SatelliteSystem_ & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 320 of file SatelliteSystem.hpp.

◆ operator&=() [11/16]

SatelliteSystem_ & NAV::operator&= ( SatelliteSystem_ & lhs,
const SatelliteSystem & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 311 of file SatelliteSystem.hpp.

◆ operator&=() [12/16]

SatelliteSystem_ & NAV::operator&= ( SatelliteSystem_ & lhs,
const SatelliteSystem_ & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 293 of file SatelliteSystem.hpp.

◆ operator&=() [13/16]

TimeSystem & NAV::operator&= ( TimeSystem & lhs,
const TimeSystem & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 322 of file TimeSystem.hpp.

◆ operator&=() [14/16]

TimeSystem & NAV::operator&= ( TimeSystem & lhs,
const TimeSystem_ & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 340 of file TimeSystem.hpp.

◆ operator&=() [15/16]

TimeSystem_ & NAV::operator&= ( TimeSystem_ & lhs,
const TimeSystem & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 331 of file TimeSystem.hpp.

◆ operator&=() [16/16]

TimeSystem_ & NAV::operator&= ( TimeSystem_ & lhs,
const TimeSystem_ & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ANDed value.

Definition at line 313 of file TimeSystem.hpp.

◆ operator<() [1/4]

bool NAV::operator< ( const Code & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight hand side of the operator
Returns
True if lhs < rhs

Definition at line 767 of file Code.cpp.

◆ operator<() [2/4]

bool NAV::operator< ( const Code & lhs,
const Code::Enum & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight hand side of the operator
Returns
True if lhs < rhs

Definition at line 772 of file Code.cpp.

◆ operator<() [3/4]

bool NAV::operator< ( const Code::Enum & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight hand side of the operator
Returns
True if lhs < rhs

Definition at line 777 of file Code.cpp.

◆ operator<() [4/4]

template<std::size_t N>
bool NAV::operator< ( const std::bitset< N > & lhs,
const std::bitset< N > & rhs )

Comparison operator for bitsets.

Template Parameters
NAmount of bits
Parameters
[in]lhsLeft-hand side
[in]rhsRight-hand side
Returns
True when lhs < rhs

Definition at line 59 of file STL.hpp.

◆ operator<<() [1/7]

std::ostream & NAV::operator<< ( std::ostream & os,
const InsTime & insTime )

Stream insertion operator overload.

Parameters
[in,out]osOutput stream object to stream the time into
[in]insTimeObject to print
Returns
Returns the output stream object in order to chain stream insertions

Definition at line 64 of file InsTime.cpp.

◆ operator<<() [2/7]

std::ostream & NAV::operator<< ( std::ostream & os,
const InsTime_GPSweekTow & gpsWeekTow )

Stream insertion operator overload.

Parameters
[in,out]osOutput stream object to stream the time into
[in]gpsWeekTowObject to print
Returns
Returns the output stream object in order to chain stream insertions

Definition at line 79 of file InsTime.cpp.

◆ operator<<() [3/7]

std::ostream & NAV::operator<< ( std::ostream & os,
const InsTime_JD & jd )

Stream insertion operator overload.

Parameters
[in,out]osOutput stream object to stream the time into
[in]jdObject to print
Returns
Returns the output stream object in order to chain stream insertions

Definition at line 74 of file InsTime.cpp.

◆ operator<<() [4/7]

std::ostream & NAV::operator<< ( std::ostream & os,
const InsTime_MJD & mjd )

Stream insertion operator overload.

Parameters
[in,out]osOutput stream object to stream the time into
[in]mjdObject to print
Returns
Returns the output stream object in order to chain stream insertions

Definition at line 69 of file InsTime.cpp.

◆ operator<<() [5/7]

std::ostream & NAV::operator<< ( std::ostream & os,
const InsTime_YDoySod & yDoySod )

Stream insertion operator overload.

Parameters
[in,out]osOutput stream object to stream the time into
[in]yDoySodObject to print
Returns
Returns the output stream object in order to chain stream insertions

Definition at line 89 of file InsTime.cpp.

◆ operator<<() [6/7]

std::ostream & NAV::operator<< ( std::ostream & os,
const InsTime_YMDHMS & ymdhms )

Stream insertion operator overload.

Parameters
[in,out]osOutput stream object to stream the time into
[in]ymdhmsObject to print
Returns
Returns the output stream object in order to chain stream insertions

Definition at line 84 of file InsTime.cpp.

◆ operator<<() [7/7]

std::ostream & NAV::operator<< ( std::ostream & os,
const SatelliteSystem & satSys )

Stream insertion operator overload.

Parameters
[in,out]osOutput stream object to stream the time into
[in]satSysObject to print
Returns
Returns the output stream object in order to chain stream insertions

Definition at line 320 of file SatelliteSystem.cpp.

◆ operator==() [1/26]

bool NAV::operator== ( const Code & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 737 of file Code.cpp.

◆ operator==() [2/26]

bool NAV::operator== ( const Code & lhs,
const Code::Enum & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 742 of file Code.cpp.

◆ operator==() [3/26]

bool NAV::operator== ( const Code::Enum & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 747 of file Code.cpp.

◆ operator==() [4/26]

bool NAV::operator== ( const Frequency & lhs,
const Frequency & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 394 of file Frequency.hpp.

◆ operator==() [5/26]

bool NAV::operator== ( const Frequency & lhs,
const Frequency_ & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 399 of file Frequency.hpp.

◆ operator==() [6/26]

bool NAV::operator== ( const Frequency_ & lhs,
const Frequency & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 404 of file Frequency.hpp.

◆ operator==() [7/26]

bool NAV::operator== ( const Node::Kind & lhs,
const Node::Kind & rhs )
constexpr

Equal compares Node::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 501 of file Node.hpp.

◆ operator==() [8/26]

bool NAV::operator== ( const Node::Kind & lhs,
const Node::Kind::Value & rhs )
constexpr

Equal compares Node::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 512 of file Node.hpp.

◆ operator==() [9/26]

bool NAV::operator== ( const Node::Kind::Value & lhs,
const Node::Kind & rhs )
constexpr

Equal compares Node::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 517 of file Node.hpp.

◆ operator==() [10/26]

bool NAV::operator== ( const Pin::Kind & lhs,
const Pin::Kind & rhs )
constexpr

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 780 of file Pin.hpp.

◆ operator==() [11/26]

bool NAV::operator== ( const Pin::Kind & lhs,
const Pin::Kind::Value & rhs )
constexpr

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 791 of file Pin.hpp.

◆ operator==() [12/26]

bool NAV::operator== ( const Pin::Kind::Value & lhs,
const Pin::Kind & rhs )
constexpr

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 796 of file Pin.hpp.

◆ operator==() [13/26]

bool NAV::operator== ( const Pin::Type & lhs,
const Pin::Type & rhs )
constexpr

Equal compares Pin::Type values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 812 of file Pin.hpp.

◆ operator==() [14/26]

bool NAV::operator== ( const Pin::Type & lhs,
const Pin::Type::Value & rhs )
constexpr

Equal compares Pin::Type values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 823 of file Pin.hpp.

◆ operator==() [15/26]

bool NAV::operator== ( const Pin::Type::Value & lhs,
const Pin::Type & rhs )
constexpr

Equal compares Pin::Type values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 828 of file Pin.hpp.

◆ operator==() [16/26]

bool NAV::operator== ( const SatelliteSystem & lhs,
const SatelliteSystem & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 347 of file SatelliteSystem.hpp.

◆ operator==() [17/26]

bool NAV::operator== ( const SatelliteSystem & lhs,
const SatelliteSystem_ & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 352 of file SatelliteSystem.hpp.

◆ operator==() [18/26]

bool NAV::operator== ( const SatelliteSystem_ & lhs,
const SatelliteSystem & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 357 of file SatelliteSystem.hpp.

◆ operator==() [19/26]

template<typename T>
bool NAV::operator== ( const std::vector< T > & lhs,
std::span< const T > rhs )
nodiscard

Comparison operator for span and vector.

Parameters
lhsLeft-hand side
rhsRight-hand side
Returns
True if all elements are equal

Definition at line 65 of file Vector.hpp.

◆ operator==() [20/26]

bool NAV::operator== ( const TemperatureModel & lhs,
const TemperatureModel & rhs )
constexpr

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 73 of file Temperature.hpp.

◆ operator==() [21/26]

bool NAV::operator== ( const TemperatureModel & lhs,
const TemperatureModel::Model & rhs )
constexpr

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 87 of file Temperature.hpp.

◆ operator==() [22/26]

bool NAV::operator== ( const TemperatureModel::Model & lhs,
const TemperatureModel & rhs )
constexpr

Equal compares Pin::Kind values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 92 of file Temperature.hpp.

◆ operator==() [23/26]

bool NAV::operator== ( const TimeSystem & lhs,
const TimeSystem & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 365 of file TimeSystem.hpp.

◆ operator==() [24/26]

bool NAV::operator== ( const TimeSystem & lhs,
const TimeSystem_ & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 370 of file TimeSystem.hpp.

◆ operator==() [25/26]

bool NAV::operator== ( const TimeSystem_ & lhs,
const TimeSystem & rhs )
constexpr

Equal compares values.

Parameters
[in]lhsLeft-hand side of the operator
[in]rhsRight-hand side of the operator
Returns
Whether the comparison was successful

Definition at line 375 of file TimeSystem.hpp.

◆ operator==() [26/26]

template<typename T>
bool NAV::operator== ( std::span< const T > lhs,
const std::vector< T > & rhs )
nodiscard

Comparison operator for span and vector.

Parameters
lhsLeft-hand side
rhsRight-hand side
Returns
True if all elements are equal

Definition at line 80 of file Vector.hpp.

◆ operator|() [1/25]

Code NAV::operator| ( Code lhs,
Frequency rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 1176 of file Code.cpp.

◆ operator|() [2/25]

Code NAV::operator| ( Code lhs,
Frequency_ rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 1048 of file Code.cpp.

◆ operator|() [3/25]

Code NAV::operator| ( Code lhs,
SatelliteSystem rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 890 of file Code.cpp.

◆ operator|() [4/25]

Code NAV::operator| ( Code lhs,
SatelliteSystem_ rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 844 of file Code.cpp.

◆ operator|() [5/25]

Code NAV::operator| ( const Code & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ORed value.

Definition at line 673 of file Code.cpp.

◆ operator|() [6/25]

Code NAV::operator| ( const Code & lhs,
const Code::Enum & rhs )
Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ORed value.

Definition at line 677 of file Code.cpp.

◆ operator|() [7/25]

Code NAV::operator| ( const Code::Enum & lhs,
const Code & rhs )
Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ORed value.

Definition at line 681 of file Code.cpp.

◆ operator|() [8/25]

Code NAV::operator| ( const Code::Enum & lhs,
const Code::Enum & rhs )

Allows combining flags of the Code enum.

Parameters
[in]lhsLeft-hand side value.
[in]rhsRight-hand side value.
Returns
The binary ORed value.

Definition at line 710 of file Code.cpp.

◆ operator|() [9/25]

Code NAV::operator| ( Frequency lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 1180 of file Code.cpp.

◆ operator|() [10/25]

Frequency_ NAV::operator| ( Frequency lhs,
Frequency rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 247 of file Frequency.hpp.

◆ operator|() [11/25]

Frequency_ NAV::operator| ( Frequency lhs,
Frequency_ rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 263 of file Frequency.hpp.

◆ operator|() [12/25]

Code NAV::operator| ( Frequency_ lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 1167 of file Code.cpp.

◆ operator|() [13/25]

Frequency_ NAV::operator| ( Frequency_ lhs,
Frequency rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 255 of file Frequency.hpp.

◆ operator|() [14/25]

Frequency_ NAV::operator| ( Frequency_ lhs,
Frequency_ rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 239 of file Frequency.hpp.

◆ operator|() [15/25]

Orbit::Calc NAV::operator| ( Orbit::Calc lhs,
Orbit::Calc rhs )
inline

Allows construction of Calc objects.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 97 of file Orbit.hpp.

◆ operator|() [16/25]

Code NAV::operator| ( SatelliteSystem lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 894 of file Code.cpp.

◆ operator|() [17/25]

SatelliteSystem_ NAV::operator| ( SatelliteSystem lhs,
SatelliteSystem rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 198 of file SatelliteSystem.hpp.

◆ operator|() [18/25]

SatelliteSystem_ NAV::operator| ( SatelliteSystem lhs,
SatelliteSystem_ rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 214 of file SatelliteSystem.hpp.

◆ operator|() [19/25]

Code NAV::operator| ( SatelliteSystem_ lhs,
Code rhs )
Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 881 of file Code.cpp.

◆ operator|() [20/25]

SatelliteSystem_ NAV::operator| ( SatelliteSystem_ lhs,
SatelliteSystem rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 206 of file SatelliteSystem.hpp.

◆ operator|() [21/25]

SatelliteSystem_ NAV::operator| ( SatelliteSystem_ lhs,
SatelliteSystem_ rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 190 of file SatelliteSystem.hpp.

◆ operator|() [22/25]

TimeSystem NAV::operator| ( TimeSystem lhs,
TimeSystem rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 218 of file TimeSystem.hpp.

◆ operator|() [23/25]

TimeSystem NAV::operator| ( TimeSystem lhs,
TimeSystem_ rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 234 of file TimeSystem.hpp.

◆ operator|() [24/25]

TimeSystem NAV::operator| ( TimeSystem_ lhs,
TimeSystem rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 226 of file TimeSystem.hpp.

◆ operator|() [25/25]

TimeSystem_ NAV::operator| ( TimeSystem_ lhs,
TimeSystem_ rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 210 of file TimeSystem.hpp.

◆ operator|=() [1/12]

Frequency & NAV::operator|= ( Frequency & lhs,
const Frequency & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 281 of file Frequency.hpp.

◆ operator|=() [2/12]

Frequency & NAV::operator|= ( Frequency & lhs,
const Frequency_ & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 299 of file Frequency.hpp.

◆ operator|=() [3/12]

Frequency_ & NAV::operator|= ( Frequency_ & lhs,
const Frequency & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 290 of file Frequency.hpp.

◆ operator|=() [4/12]

Frequency_ & NAV::operator|= ( Frequency_ & lhs,
const Frequency_ & rhs )
constexpr

Allows combining flags of the Frequency enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 272 of file Frequency.hpp.

◆ operator|=() [5/12]

SatelliteSystem & NAV::operator|= ( SatelliteSystem & lhs,
const SatelliteSystem & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 232 of file SatelliteSystem.hpp.

◆ operator|=() [6/12]

SatelliteSystem & NAV::operator|= ( SatelliteSystem & lhs,
const SatelliteSystem_ & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 250 of file SatelliteSystem.hpp.

◆ operator|=() [7/12]

SatelliteSystem_ & NAV::operator|= ( SatelliteSystem_ & lhs,
const SatelliteSystem & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 241 of file SatelliteSystem.hpp.

◆ operator|=() [8/12]

SatelliteSystem_ & NAV::operator|= ( SatelliteSystem_ & lhs,
const SatelliteSystem_ & rhs )
constexpr

Allows combining flags of the SatelliteSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 223 of file SatelliteSystem.hpp.

◆ operator|=() [9/12]

TimeSystem & NAV::operator|= ( TimeSystem & lhs,
const TimeSystem & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 252 of file TimeSystem.hpp.

◆ operator|=() [10/12]

TimeSystem & NAV::operator|= ( TimeSystem & lhs,
const TimeSystem_ & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 270 of file TimeSystem.hpp.

◆ operator|=() [11/12]

TimeSystem_ & NAV::operator|= ( TimeSystem_ & lhs,
const TimeSystem & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 261 of file TimeSystem.hpp.

◆ operator|=() [12/12]

TimeSystem_ & NAV::operator|= ( TimeSystem_ & lhs,
const TimeSystem_ & rhs )
constexpr

Allows combining flags of the TimeSystem enum.

Parameters
[in]lhsLeft-hand side enum value.
[in]rhsRight-hand side enum value.
Returns
The binary ORed value.

Definition at line 243 of file TimeSystem.hpp.

◆ operator~() [1/6]

Frequency_ NAV::operator~ ( Frequency rhs)
constexpr

Allows negating flags of the Frequency enum.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary NEGed value.

Definition at line 385 of file Frequency.hpp.

◆ operator~() [2/6]

Frequency_ NAV::operator~ ( Frequency_ rhs)
constexpr

Allows negating flags of the Frequency enum.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary NEGed value.

Definition at line 378 of file Frequency.hpp.

◆ operator~() [3/6]

SatelliteSystem_ NAV::operator~ ( SatelliteSystem rhs)
constexpr

Allows negating flags of the SatelliteSystem enum.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary NEGed value.

Definition at line 336 of file SatelliteSystem.hpp.

◆ operator~() [4/6]

SatelliteSystem_ NAV::operator~ ( SatelliteSystem_ rhs)
constexpr

Allows negating flags of the SatelliteSystem enum.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary NEGed value.

Definition at line 329 of file SatelliteSystem.hpp.

◆ operator~() [5/6]

TimeSystem NAV::operator~ ( TimeSystem rhs)
constexpr

Allows negating flags of the TimeSystem enum.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary NEGed value.

Definition at line 356 of file TimeSystem.hpp.

◆ operator~() [6/6]

TimeSystem NAV::operator~ ( TimeSystem_ rhs)
constexpr

Allows negating flags of the TimeSystem enum.

Parameters
[in]rhsRight-hand side enum value.
Returns
The binary NEGed value.

Definition at line 349 of file TimeSystem.hpp.

◆ PolynomialCycleSlipDetectorGui()

template<typename Key>
bool NAV::PolynomialCycleSlipDetectorGui ( const char * label,
PolynomialCycleSlipDetector< Key > & polynomialCycleSlipDetector,
float width = 0.0F )

Shows a GUI for advanced configuration of the PolynomialCycleSlipDetector.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in]polynomialCycleSlipDetectorReference to the cycle-slip detector to configure
[in]widthWidth of the widget

Definition at line 245 of file PolynomialCycleSlipDetector.hpp.

◆ psd2BiasGaussMarkov()

Eigen::Vector3d NAV::psd2BiasGaussMarkov ( const Eigen::Vector3d & sigma2_bd,
const Eigen::Vector3d & tau_bd )
nodiscard

u_bias^2 Power Spectral Density of the bias for a Gauss-Markov random process

Parameters
[in]sigma2_bd𝜎²_bd standard deviation of the bias noise
[in]tau_bd𝜏 Correlation length in [s]
Note
See Brown & Hwang (2011) - Introduction to Random Signals and Applied Kalman Filtering (example 9.6)

Definition at line 29 of file ProcessNoise.cpp.

◆ Q_df_df()

Eigen::Matrix3d NAV::Q_df_df ( const Eigen::Vector3d & S_bad,
const double & tau_s )
nodiscard

Submatrix 𝐐_44 of the system noise covariance matrix 𝐐

Parameters
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_44
Note
See Groves (2013) equation (14.80)

Definition at line 115 of file ProcessNoise.cpp.

◆ Q_df_dv()

Eigen::Matrix3d NAV::Q_df_dv ( const Eigen::Vector3d & S_bad,
const Eigen::Matrix3d & b_Dcm_ien,
const double & tau_s )
nodiscard

Submatrix 𝐐_42 of the system noise covariance matrix 𝐐

Parameters
[in]S_badPower Spectral Density of the accelerometer bias variation
[in]b_Dcm_ienDirection Cosine Matrix from {i,e,n} to body coordinates
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_42
Note
See Groves (2013) equation (14.80)

Definition at line 110 of file ProcessNoise.cpp.

◆ Q_domega_domega()

Eigen::Matrix3d NAV::Q_domega_domega ( const Eigen::Vector3d & S_bgd,
const double & tau_s )
nodiscard

Submatrix 𝐐_55 of the system noise covariance matrix 𝐐

Parameters
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_55
Note
See Groves (2013) equation (14.80)

Definition at line 125 of file ProcessNoise.cpp.

◆ Q_domega_psi()

Eigen::Matrix3d NAV::Q_domega_psi ( const Eigen::Vector3d & S_bgd,
const Eigen::Matrix3d & b_Dcm_ien,
const double & tau_s )
nodiscard

Submatrix 𝐐_51 of the system noise covariance matrix 𝐐

Parameters
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]b_Dcm_ienDirection Cosine Matrix from {i,e,n} to body coordinates
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_51
Note
See Groves (2013) equation (14.80)

Definition at line 120 of file ProcessNoise.cpp.

◆ Q_gnss()

Eigen::Matrix2d NAV::Q_gnss ( const double & S_cPhi,
const double & S_cf,
const double & tau_s )
nodiscard

Submatrix 𝐐_66 of the system noise covariance matrix 𝐐

Parameters
[in]S_cPhiPower Spectral Density of the receiver clock phase drift in [m^2 s^-1]
[in]S_cfPower Spectral Density of the receiver clock frequency-drift [m^2 s^-3]
[in]tau_sTime interval in [s]
Returns
See Groves (2013) equation (9.152)

Definition at line 130 of file ProcessNoise.cpp.

◆ Q_psi_psi()

Eigen::Matrix3d NAV::Q_psi_psi ( const Eigen::Vector3d & S_rg,
const Eigen::Vector3d & S_bgd,
const double & tau_s )
nodiscard

Submatrix 𝐐_11 of the system noise covariance matrix 𝐐

Parameters
[in]S_rgPower Spectral Density of the gyroscope random noise
[in]S_bgdPower Spectral Density of the gyroscope bias variation
[in]tau_sTime interval in [s]
Returns
The 3x3 matrix 𝐐_11
Note
See Groves (2013) equation (14.81)

Definition at line 35 of file ProcessNoise.cpp.

◆ rad2deg() [1/2]

template<typename Scalar>
Eigen::Vector3< Scalar > NAV::rad2deg ( const Eigen::Vector3< Scalar > & rad)
inlinenodiscard

Convert Radians to Degree.

Parameters
[in]radValue to convert in [rad]
Returns
The converted value in [deg]

Definition at line 48 of file Units.hpp.

◆ rad2deg() [2/2]

template<class T>
auto NAV::rad2deg ( const T & rad)
nodiscardconstexpr

Convert Radians to Degree.

Parameters
[in]radValue to convert in [rad]
Returns
The converted value in [deg]

Definition at line 39 of file Units.hpp.

◆ rad2semicircles()

template<class T>
auto NAV::rad2semicircles ( const T & rad)
nodiscardconstexpr

Convert Radians to Semicircles.

Parameters
[in]radValue to convert in [rad]
Returns
The converted value in [semicircles]

Definition at line 66 of file Units.hpp.

◆ rangeRate2doppler()

double NAV::rangeRate2doppler ( double rangeRate,
Frequency freq,
int8_t num )
nodiscard

Transforms a range-rate into a doppler-shift.

Parameters
[in]rangeRateThe range-rate to transform [m/s]
[in]freqFrequency
[in]numFrequency number. Only used for GLONASS G1 and G2
Returns
The corresponding doppler-shift [Hz]
Note
See [17] Groves, ch. 9.2.7, eq. 9.70, p. 388

Definition at line 19 of file Functions.cpp.

◆ ratioFreqSquared()

double NAV::ratioFreqSquared ( Frequency f1,
Frequency f2,
int8_t num1,
int8_t num2 )
nodiscard

Calculates the ration of the frequencies squared γ

\begin{equation} \label{eq:eq-GNSS-freqRatio}
  \gamma = (f_1 / f_2)^2
\end{equation}

Parameters
[in]f1First frequency (usually L1)
[in]f2Second frequency (usually L2)
[in]num1First frequency number. Only used for GLONASS G1 and G2
[in]num2Second frequency number. Only used for GLONASS G1 and G2
Returns
The ratio (f1/f2)^2 [-]
Note
See [21] IS-GPS-200 ch. 20.3.3.3.3.2 p.99

Definition at line 24 of file Functions.cpp.

◆ removeCols() [1/2]

template<typename Derived>
void NAV::removeCols ( Eigen::DenseBase< Derived > & matrix,
const std::vector< int > & colIndices )

Removes cols from a matrix or vector.

Parameters
matrixMatrix to remove from
colIndicesList with indices of cols to remove

Definition at line 201 of file Eigen.hpp.

◆ removeCols() [2/2]

template<typename Derived>
void NAV::removeCols ( Eigen::DenseBase< Derived > & matrix,
size_t index,
size_t length )

Removes columns from a matrix or vector.

Parameters
matrixMatrix to remove from
indexIndex to start removing
lengthLength to remove

Definition at line 185 of file Eigen.hpp.

◆ removeRows() [1/2]

template<typename Derived>
void NAV::removeRows ( Eigen::DenseBase< Derived > & matrix,
const std::vector< int > & rowIndices )

Removes rows from a matrix or vector.

Parameters
matrixMatrix to remove from
rowIndicesList with indices of rows to remove

Definition at line 165 of file Eigen.hpp.

◆ removeRows() [2/2]

template<typename Derived>
void NAV::removeRows ( Eigen::DenseBase< Derived > & matrix,
size_t index,
size_t length )

Removes rows from a matrix or vector.

Parameters
matrixMatrix to remove from
indexIndex to start removing
lengthLength to remove

Definition at line 149 of file Eigen.hpp.

◆ removeRowsAndCols() [1/2]

template<typename Derived>
void NAV::removeRowsAndCols ( Eigen::DenseBase< Derived > & matrix,
const std::vector< int > & rowIndices,
const std::vector< int > & colIndices )

Removes rows and columns from a matrix or vector.

Parameters
matrixMatrix to remove from
rowIndicesList with indices of rows to remove
colIndicesList with indices of cols to remove

Definition at line 246 of file Eigen.hpp.

◆ removeRowsAndCols() [2/2]

template<typename Derived>
void NAV::removeRowsAndCols ( Eigen::DenseBase< Derived > & matrix,
size_t row,
size_t rows,
size_t col,
size_t cols )

Removes rows and columns from a matrix or vector.

Parameters
matrixMatrix to remove from
rowRow index to start removing
rowsAmount of rows to remove
colCol index to start removing
colsAmount of cols to remove

Definition at line 223 of file Eigen.hpp.

◆ RungeKutta1()

template<typename Y, typename Z, std::floating_point Scalar>
Y NAV::RungeKutta1 ( const Y & y_n,
const std::array< Z, 1 > & z,
const Scalar & h,
const auto & f,
const auto & constParam,
const Scalar & t_n = 0 )

Runge-Kutta 1st order (explicit) / (Forward) Euler method .

\begin{equation} \label{eq:eq-RungeKutta1-explicit}
  y_{n+1} = y_n + h f(t_n, y_n)
\end{equation}

Butcher tableau:

\begin{equation} \label{eq:eq-RungeKutta1-explicit-bt}
\renewcommand\arraystretch{1.2}
\begin{array}{c|c}
0 \\ \hline
  & 1 \\
\end{array}
\end{equation}

Parameters
[in]y_nState vector at time t_n
[in]zArray of measurements, one for each evaluation point of the Runge Kutta
[in]hIntegration step in [s]
[in]fTime derivative function
[in]constParamConstant parameters passed to each time derivative function call
[in]t_nTime t_n

Definition at line 175 of file NumericalIntegration.hpp.

◆ RungeKutta2()

template<typename Y, typename Z, std::floating_point Scalar>
Y NAV::RungeKutta2 ( const Y & y_n,
const std::array< Z, 2 > & z,
const Scalar & h,
const auto & f,
const auto & constParam,
const Scalar & t_n = 0 )

Runge-Kutta 2nd order (explicit) / Explicit midpoint method .

\begin{equation} \label{eq:eq-RungeKutta2-explicit}
\begin{aligned}
  y_{n+1} &= y_n + h k_2 \\[1em]
  k_1     &= f(t_n, y_n) \\
  k_2     &= f(t_n + \frac{h}{2}, y_n + \frac{h}{2} k_1) \\
\end{aligned}
\end{equation}

Butcher tableau:

\begin{equation} \label{eq:eq-RungeKutta2-explicit-bt}
\renewcommand\arraystretch{1.2}
\begin{array}{c|cc}
0 \\
\frac{1}{2} & \frac{1}{2} \\ \hline
            &      0      & 1 \\
\end{array}
\end{equation}

Parameters
[in]y_nState vector at time t_n
[in]zArray of measurements, one for each evaluation point of the Runge Kutta
[in]hIntegration step in [s]
[in]fTime derivative function
[in]constParamConstant parameters passed to each time derivative function call
[in]t_nTime t_n

Definition at line 204 of file NumericalIntegration.hpp.

◆ RungeKutta3()

template<typename Y, typename Z, std::floating_point Scalar>
Y NAV::RungeKutta3 ( const Y & y_n,
const std::array< Z, 3 > & z,
const Scalar & h,
const auto & f,
const auto & constParam,
const Scalar & t_n = 0 )

Runge-Kutta 3rd order (explicit) / Simpson's rule .

\begin{equation} \label{eq:eq-RungeKutta3-explicit}
\begin{aligned}
  y_{n+1} &= y_n + \frac{h}{6} ( k_1 + 4 k_2 + k_3 ) \\[1em]
  k_1     &= f(t_n, y_n) \\
  k_2     &= f(t_n + \frac{h}{2}, y_n + \frac{h}{2} k_1) \\
  k_3     &= f(t_n + h, y_n + h (-k_1 + 2 k_2)) \\
\end{aligned}
\end{equation}

Butcher tableau:

\begin{equation} \label{eq:eq-RungeKutta3-explicit-bt}
\renewcommand\arraystretch{1.2}
\begin{array}{c|ccc}
0 \\
\frac{1}{2} & \frac{1}{2} \\
     1      &     -1      & 2 \\ \hline
            & \frac{1}{6} & \frac{4}{6} & \frac{1}{6} \\
\end{array}
\end{equation}

Parameters
[in]y_nState vector at time t_n
[in]zArray of measurements, one for each evaluation point of the Runge Kutta
[in]hIntegration step in [s]
[in]fTime derivative function
[in]constParamConstant parameters passed to each time derivative function call
[in]t_nTime t_n

Definition at line 264 of file NumericalIntegration.hpp.

◆ RungeKutta4()

template<typename Y, typename Z, std::floating_point Scalar>
Y NAV::RungeKutta4 ( const Y & y_n,
const std::array< Z, 4 > & z,
const Scalar & h,
const auto & f,
const auto & constParam,
const Scalar & t_n = 0 )

Runge-Kutta 4th order (explicit) .

\begin{equation} \label{eq:eq-RungeKutta4-explicit}
\begin{aligned}
  y_{n+1} &= y_n + \frac{h}{6} ( k_1 + 2 k_2 + 2 k_3 + k_4 ) \\[1em]
  k_1     &= f(t_n, y_n) \\
  k_2     &= f(t_n + \frac{h}{2}, y_n + \frac{h}{2} k_1) \\
  k_3     &= f(t_n + \frac{h}{2}, y_n + \frac{h}{2} k_2) \\
  k_4     &= f(t_n + h, y_n + h k_3) \\
\end{aligned}
\end{equation}

Butcher tableau:

\begin{equation} \label{eq:eq-RungeKutta4-explicit-bt}
\renewcommand\arraystretch{1.2}
\begin{array}{c|cccc}
0 \\
\frac{1}{2} & \frac{1}{2} \\
\frac{1}{2} &      0      & \frac{1}{2} \\
     1      &      0      &      0      &      1      \\ \hline
            & \frac{1}{6} & \frac{1}{3} & \frac{1}{3} & \frac{1}{6} \\
\end{array}
\end{equation}

Parameters
[in]y_nState vector at time t_n
[in]zArray of measurements, one for each evaluation point of the Runge Kutta
[in]hIntegration step in [s]
[in]fTime derivative function
[in]constParamConstant parameters passed to each time derivative function call
[in]t_nTime t_n

Definition at line 328 of file NumericalIntegration.hpp.

◆ semicircles2rad()

template<class T>
auto NAV::semicircles2rad ( const T & semicircles)
nodiscardconstexpr

Convert Semicircles to Radians.

Parameters
[in]semicirclesValue to convert in [semicircles]
Returns
The converted value in [rad]

Definition at line 57 of file Units.hpp.

◆ ShowCodeSelector()

bool NAV::ShowCodeSelector ( const char * label,
Code & code,
const Frequency & filterFreq,
bool singleSelect = false )

Shows a ComboBox to select signal codes.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in,out]codeReference to the code object to select
[in]filterFreqFrequencies to select codes for. Other Frequencies will be disabled.
[in]singleSelectIf true, only one code can be selected at a time

Definition at line 1199 of file Code.cpp.

◆ ShowColormapSelector()

bool NAV::ShowColormapSelector ( ColormapMaskType & type,
int64_t & id,
const char * label = "" )

Shows a combobox to select a colormap.

Parameters
[in,out]typeType of the selected colormap
[in,out]idId of the selected colormap
[in]labelUnique ImGui Id
Returns
True if a change was made

Definition at line 245 of file Colormap.cpp.

◆ ShowFrequencySelector()

bool NAV::ShowFrequencySelector ( const char * label,
Frequency & frequency,
bool singleSelect = false )

Shows a ComboBox to select GNSS frequencies.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in,out]frequencyReference to the frequency object to select
[in]singleSelectIf true, only one code can be selected at a time

Definition at line 506 of file Frequency.cpp.

◆ ShowPlotTooltip()

bool NAV::ShowPlotTooltip ( std::vector< PlotTooltip > & tooltips,
size_t plotItemIdx,
const std::string & plotName,
ImAxis axis,
const ScrollingBuffer< double > & xData,
const ScrollingBuffer< double > & yData,
bool otherHoverTooltipsShown,
const std::function< void(size_t)> & showTooltipCallback )

Shows a tooltip if the plot is hovered.

Parameters
[in,out]tooltipsTooltip vector to show
[in]plotItemIdxPlot item index
[in]plotNameName of the plot item
[in]axisAxis to check for
[in]xDataX axis data
[in]yDataY axis data
[in]otherHoverTooltipsShownWhether other hover tooltips are already shown
[in]showTooltipCallbackCalled inside the tooltip. Argument is the data index for which the tooltip is shown
Returns
True if a tooltip is shown

Definition at line 17 of file PlotTooltip.cpp.

◆ ShowPlotTooltipWindows()

void NAV::ShowPlotTooltipWindows ( std::vector< PlotTooltip > & tooltips,
size_t plotItemIdx,
const std::string & plotName,
const std::string & uid,
const std::vector< int * > & parentWindows,
const std::function< InsTime(size_t)> & getInsTime,
const std::function< void(size_t, const char *)> & showTooltipCallback )

Shows all tooltip windows in the vector.

Parameters
[in,out]tooltipsTooltip vector to show
[in]plotItemIdxPlot item index
[in]plotNameName of the plot item
[in]uidUnique id for the window
[in]parentWindowsParent windows to stay on top of
[in]getInsTimeCallback to get the time associated with the tooltip
[in]showTooltipCallbackCalled inside the tooltip. Argument is the data index and the unique id for which the tooltip is shown

Definition at line 81 of file PlotTooltip.cpp.

◆ ShowSatelliteSelector() [1/2]

bool NAV::ShowSatelliteSelector ( const char * label,
SatId & satellite,
SatelliteSystem filterSys = SatSys_All,
bool displayOnlyNumber = false )

Shows a ComboBox to select a single satellite.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in,out]satelliteReference to the SatId to select
[in]filterSysEnable/Disable GUI elements according to this filter
[in]displayOnlyNumberDisplay only the number, not the system

Definition at line 155 of file SatelliteIdentifier.cpp.

◆ ShowSatelliteSelector() [2/2]

bool NAV::ShowSatelliteSelector ( const char * label,
std::vector< SatId > & satellites,
SatelliteSystem filterSys = SatSys_All,
bool displayOnlyNumber = false )

Shows a ComboBox to select satellites.

Parameters
[in]labelLabel to show beside the combo box. This has to be a unique id for ImGui.
[in,out]satellitesReference to the SatId vector to select
[in]filterSysEnable/Disable GUI elements according to this filter
[in]displayOnlyNumberDisplay only the number, not the system

Definition at line 85 of file SatelliteIdentifier.cpp.

◆ solveLinearLeastSquares() [1/2]

template<typename DerivedA, typename DerivedB>
Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime > NAV::solveLinearLeastSquares ( const Eigen::MatrixBase< DerivedA > & H,
const Eigen::MatrixBase< DerivedB > & dz )

Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.

Minimizes the functional

\begin{equation} \label{eq:eq-LinearLeastSquares-functional}
  J(\mathbf{x}) \equiv \sum_{i=1}^m v_i^2 = \mathbf{v}^T \mathbf{v} = (\mathbf{dz} - \mathbf{H} \mathbf{x})^T (\mathbf{dz} - \mathbf{H} \mathbf{x})
\end{equation}

which has the solution (assuming that the inverse to $ \mathbf{H}^T \mathbf{H} $ exists)

\begin{equation} \label{eq:eq-LinearLeastSquares-solution}
  \mathbf{x} = \left(\mathbf{H}^T \mathbf{H} \right)^{-1} \mathbf{H}^T \mathbf{dz}
\end{equation}

Parameters
[in]HDesign Matrix
[in]dzResidual vector
Returns
Least squares solution

Definition at line 47 of file LeastSquares.hpp.

◆ solveLinearLeastSquares() [2/2]

template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedVectorX< Scalar, StateKeyType > NAV::solveLinearLeastSquares ( const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > & H,
const KeyedVectorX< Scalar, MeasKeyType > & dz )

Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.

Minimizes the functional (see LeastSquares.hpp)

Parameters
[in]HDesign Matrix
[in]dzResidual vector
Returns
Least squares solution

Definition at line 36 of file KeyedLeastSquares.hpp.

◆ solveLinearLeastSquaresUncertainties() [1/2]

template<typename DerivedA, typename DerivedB>
LeastSquaresResult< Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime >, Eigen::Matrix< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime, DerivedA::ColsAtCompileTime > > NAV::solveLinearLeastSquaresUncertainties ( const Eigen::MatrixBase< DerivedA > & H,
const Eigen::MatrixBase< DerivedB > & dz )

Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.

Parameters
[in]HDesign Matrix
[in]dzResidual vector
Returns
Least squares solution and variance

Definition at line 73 of file LeastSquares.hpp.

◆ solveLinearLeastSquaresUncertainties() [2/2]

template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedLeastSquaresResult< Scalar, StateKeyType > NAV::solveLinearLeastSquaresUncertainties ( const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > & H,
const KeyedVectorX< Scalar, MeasKeyType > & dz )

Finds the "least squares" solution for the equation $ \mathbf{v} = \mathbf{dz} - \mathbf{H} \mathbf{x} $.

Parameters
[in]HDesign Matrix
[in]dzResidual vector
Returns
Least squares solution and variance

Definition at line 62 of file KeyedLeastSquares.hpp.

◆ solveWeightedLinearLeastSquares() [1/2]

template<typename DerivedA, typename DerivedW, typename DerivedB>
Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime > NAV::solveWeightedLinearLeastSquares ( const Eigen::MatrixBase< DerivedA > & H,
const Eigen::MatrixBase< DerivedW > & W,
const Eigen::MatrixBase< DerivedB > & dz )

Finds the "weighted least squares" solution.

\begin{equation} \label{eq:eq-WeightedLinearLeastSquares}
  \mathbf{x} = \left(\mathbf{H}^T \mathbf{W} \mathbf{H} \right)^{-1} \mathbf{H}^T \mathbf{W} \mathbf{dz}
\end{equation}

Parameters
[in]HDesign Matrix
[in]WWeight matrix
[in]dzResidual vector
Returns
Least squares solution

Definition at line 62 of file LeastSquares.hpp.

◆ solveWeightedLinearLeastSquares() [2/2]

template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedVectorX< Scalar, StateKeyType > NAV::solveWeightedLinearLeastSquares ( const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > & H,
const KeyedMatrixX< Scalar, MeasKeyType, MeasKeyType > & W,
const KeyedVectorX< Scalar, MeasKeyType > & dz )

Finds the "weighted least squares" solution (see LeastSquares.hpp)

Parameters
[in]HDesign Matrix
[in]WWeight matrix
[in]dzResidual vector
Returns
Least squares solution

Definition at line 49 of file KeyedLeastSquares.hpp.

◆ solveWeightedLinearLeastSquaresUncertainties() [1/2]

template<typename DerivedA, typename DerivedW, typename DerivedB>
LeastSquaresResult< Eigen::Vector< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime >, Eigen::Matrix< typename DerivedA::Scalar, DerivedA::ColsAtCompileTime, DerivedA::ColsAtCompileTime > > NAV::solveWeightedLinearLeastSquaresUncertainties ( const Eigen::MatrixBase< DerivedA > & H,
const Eigen::MatrixBase< DerivedW > & W,
const Eigen::MatrixBase< DerivedB > & dz )

Finds the "weighted least squares" solution.

Parameters
[in]HDesign Matrix
[in]WWeight matrix
[in]dzResidual vector
Returns
Weighted least squares solution and variance

Definition at line 112 of file LeastSquares.hpp.

◆ solveWeightedLinearLeastSquaresUncertainties() [2/2]

template<typename Scalar, typename StateKeyType, typename MeasKeyType>
KeyedLeastSquaresResult< Scalar, StateKeyType > NAV::solveWeightedLinearLeastSquaresUncertainties ( const KeyedMatrixX< Scalar, MeasKeyType, StateKeyType > & H,
const KeyedMatrixX< Scalar, MeasKeyType, MeasKeyType > & W,
const KeyedVectorX< Scalar, MeasKeyType > & dz )

Finds the "weighted least squares" solution.

Parameters
[in]HDesign Matrix
[in]WWeight matrix
[in]dzResidual vector
Returns
Weighted least squares solution and variance

Definition at line 104 of file KeyedLeastSquares.hpp.

◆ sort_permutation() [1/2]

template<typename Derived, typename Compare>
std::vector< size_t > NAV::sort_permutation ( const Eigen::MatrixBase< Derived > & vec,
Compare compare )

Gives the permutation to sort the vector.

Parameters
vecVector to get the sorting permutation for
compareComparison operator
Returns
Permutation vector
Note
Taken from https://stackoverflow.com/a/17074810, adapted for Eigen

Definition at line 44 of file Sort.hpp.

◆ sort_permutation() [2/2]

template<typename T, typename Compare>
std::vector< size_t > NAV::sort_permutation ( const std::vector< T > & vec,
Compare compare )

Gives the permutation to sort the std::vector.

Parameters
vecVector to get the sorting permutation for
compareComparison operator
Returns
Permutation vector
Note
Taken from https://stackoverflow.com/a/17074810

Definition at line 30 of file Sort.hpp.

◆ SystemModelGui()

bool NAV::SystemModelGui ( SystemModelCalcAlgorithm & algorithm,
float itemWidth,
const char * id )

Shows a GUI.

Parameters
[in]algorithmAlgorithm to calculate the system model with
[in]itemWidthWidth of the displayed items
[in]idUnique id for ImGui
Returns
True if something was changed

Definition at line 21 of file SystemModel.cpp.

◆ to_json() [1/45]

void NAV::to_json ( json & j,
const AtmosphereModels & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 545 of file Troposphere.cpp.

◆ to_json() [2/45]

void NAV::to_json ( json & j,
const Code & data )

Converts the provided link into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]dataData to convert into json

Definition at line 1190 of file Code.cpp.

◆ to_json() [3/45]

void NAV::to_json ( json & j,
const Colormap & cmap )

Converts the provided object into a json object.

Parameters
[out]jReturn Json object
[in]cmapColormap to convert

Definition at line 215 of file Colormap.cpp.

◆ to_json() [4/45]

void NAV::to_json ( json & j,
const Combiner::Combination & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 65 of file Combiner.cpp.

◆ to_json() [5/45]

void NAV::to_json ( json & j,
const Combiner::Combination::Term & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 44 of file Combiner.cpp.

◆ to_json() [6/45]

void NAV::to_json ( json & j,
const CycleSlipDetector & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 278 of file CycleSlipDetector.cpp.

◆ to_json() [7/45]

static void NAV::to_json ( json & j,
const Demo::DemoData & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 51 of file Demo.cpp.

◆ to_json() [8/45]

void NAV::to_json ( json & j,
const Frequency & data )

Converts the provided link into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]dataData to convert into json

Definition at line 497 of file Frequency.cpp.

◆ to_json() [9/45]

void NAV::to_json ( json & j,
const GnssAnalyzer::Combination & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 55 of file GnssAnalyzer.cpp.

◆ to_json() [10/45]

void NAV::to_json ( json & j,
const GnssAnalyzer::Combination::Term & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 34 of file GnssAnalyzer.cpp.

◆ to_json() [11/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 354 of file MeasurementErrors.cpp.

◆ to_json() [12/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel::ModelParametersCosineType & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 468 of file MeasurementErrors.cpp.

◆ to_json() [13/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel::ModelParametersExponential & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 453 of file MeasurementErrors.cpp.

◆ to_json() [14/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel::ModelParametersRtklib & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 427 of file MeasurementErrors.cpp.

◆ to_json() [15/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel::ModelParametersSine & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 388 of file MeasurementErrors.cpp.

◆ to_json() [16/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel::ModelParametersSineCN0 & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 412 of file MeasurementErrors.cpp.

◆ to_json() [17/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel::ModelParametersSineOffset & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 399 of file MeasurementErrors.cpp.

◆ to_json() [18/45]

void NAV::to_json ( json & j,
const GnssMeasurementErrorModel::ModelParametersSineSqrt & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 440 of file MeasurementErrors.cpp.

◆ to_json() [19/45]

void NAV::to_json ( json & j,
const ImuPos & pos )

Write info to a json object.

Parameters
[out]jJson output
[in]posObject to read info from

Definition at line 16 of file ImuPos.cpp.

◆ to_json() [20/45]

void NAV::to_json ( json & j,
const InertialIntegrator & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 433 of file InertialIntegrator.cpp.

◆ to_json() [21/45]

void NAV::to_json ( json & j,
const InputPin & pin )

Converts the provided pin into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]pinNode to convert into json

Definition at line 465 of file Pin.cpp.

◆ to_json() [22/45]

void NAV::to_json ( json & j,
const InsTime & insTime )

Converts the provided InsTime into a json object.

Parameters
[out]jReturn Json object
[in]insTimeTime to convert

Definition at line 94 of file InsTime.cpp.

◆ to_json() [23/45]

void NAV::to_json ( json & j,
const LowPassFilter::FilterItem & data )

Converts the provided link into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]dataData to convert into json

Definition at line 399 of file LowPassFilter.cpp.

◆ to_json() [24/45]

void NAV::to_json ( json & j,
const Node & node )

Converts the provided node into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]nodeNode to convert into json

Definition at line 990 of file Node.cpp.

◆ to_json() [25/45]

void NAV::to_json ( json & j,
const OutputPin & pin )

Converts the provided pin into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]pinNode to convert into json

Definition at line 452 of file Pin.cpp.

◆ to_json() [26/45]

static void NAV::to_json ( json & j,
const PinData & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 37 of file ImuFusion.cpp.

◆ to_json() [27/45]

static void NAV::to_json ( json & j,
const PinDataBsplineKF & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 260 of file ImuFusion.cpp.

◆ to_json() [28/45]

static void NAV::to_json ( json & j,
const PinDataIRWKF & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 158 of file ImuFusion.cpp.

◆ to_json() [29/45]

static void NAV::to_json ( json & j,
const Plot::PinData & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 90 of file Plot.cpp.

◆ to_json() [30/45]

static void NAV::to_json ( json & j,
const Plot::PinData::PlotData & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 61 of file Plot.cpp.

◆ to_json() [31/45]

static void NAV::to_json ( json & j,
const Plot::PlotInfo & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 151 of file Plot.cpp.

◆ to_json() [32/45]

static void NAV::to_json ( json & j,
const Plot::PlotInfo::PlotItem & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 126 of file Plot.cpp.

◆ to_json() [33/45]

void NAV::to_json ( json & j,
const PlotItemStyle & style )

Write info to a json object.

Parameters
[out]jJson output
[in]styleObject to read info from

Definition at line 29 of file PlotItemStyle.cpp.

◆ to_json() [34/45]

template<typename Key>
void NAV::to_json ( json & j,
const PolynomialCycleSlipDetector< Key > & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 293 of file PolynomialCycleSlipDetector.hpp.

◆ to_json() [35/45]

template<typename Scalar = double>
void NAV::to_json ( json & j,
const PolynomialRegressor< Scalar > & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 237 of file PolynomialRegressor.hpp.

◆ to_json() [36/45]

void NAV::to_json ( json & j,
const PosVelAttDerivativeConstants & data )

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 14 of file Mechanization.cpp.

◆ to_json() [37/45]

void NAV::to_json ( json & j,
const RandomNumberGenerator & rng )

Write info to a json object.

Parameters
[out]jJson output
[in]rngObject to read info from

Definition at line 19 of file RandomNumberGenerator.cpp.

◆ to_json() [38/45]

void NAV::to_json ( json & j,
const SatelliteSystem & data )

Converts the provided link into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]dataData to convert into json

Definition at line 311 of file SatelliteSystem.cpp.

◆ to_json() [39/45]

void NAV::to_json ( json & j,
const SatId & data )

Converts the provided link into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]dataData to convert into json

Definition at line 59 of file SatelliteIdentifier.cpp.

◆ to_json() [40/45]

void NAV::to_json ( json & j,
const SatSigId & data )

Converts the provided link into a json object.

Parameters
[out]jJson object which gets filled with the info
[in]dataObject to convert into json

Definition at line 72 of file SatelliteIdentifier.cpp.

◆ to_json() [41/45]

void NAV::to_json ( json & j,
const SNRMask & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 200 of file SNRMask.cpp.

◆ to_json() [42/45]

static void NAV::to_json ( json & j,
const std::vector< Plot::PinData::PlotData > & data )
static

Write info to a json object.

Parameters
[out]jJson output
[in]dataObject to read info from

Definition at line 78 of file Plot.cpp.

◆ to_json() [43/45]

void NAV::to_json ( json & j,
const TemperatureModel & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 83 of file Temperature.cpp.

◆ to_json() [44/45]

void NAV::to_json ( json & j,
const TimeSystem & timeSystem )

Converts the provided TimeSystem into a json object.

Parameters
[out]jReturn Json object
[in]timeSystemTimeSystem to convert

Definition at line 34 of file TimeSystem.cpp.

◆ to_json() [45/45]

void NAV::to_json ( json & j,
const TroposphereModelSelection & obj )

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 561 of file Troposphere.cpp.

◆ to_string() [1/46]

std::string NAV::to_string ( const CycleSlipDetector::Result & cycleSlip)
nodiscard

Converts the detector result into a string.

Parameters
cycleSlipCycle-slip

Definition at line 297 of file CycleSlipDetector.cpp.

◆ to_string() [2/46]

const char * NAV::to_string ( const TemperatureModel & temperatureModel)

Converts the enum to a string.

Parameters
[in]temperatureModelEnum value to convert into text
Returns
String representation of the enum

Definition at line 58 of file Temperature.cpp.

◆ to_string() [3/46]

const char * NAV::to_string ( GnssMeasurementErrorModel::Model model)

Converts the enum to a string.

Parameters
[in]modelEnum value to convert into text
Returns
String representation of the enum

Definition at line 328 of file MeasurementErrors.cpp.

◆ to_string() [4/46]

const char * NAV::to_string ( GnssObs::ObservationType obsType)
constexpr

Converts the enum to a string.

Parameters
[in]obsTypeEnum value to convert into text
Returns
String representation of the enum

Definition at line 357 of file GnssObs.hpp.

◆ to_string() [5/46]

const char * NAV::to_string ( GravitationModel gravitationModel)

Converts the enum to a string.

Parameters
[in]gravitationModelEnum value to convert into text
Returns
String representation of the enum

Definition at line 18 of file Gravity.cpp.

◆ to_string() [6/46]

const char * NAV::to_string ( gui::widgets::PositionWithFrame::ReferenceFrame refFrame)

Converts the enum to a string.

Parameters
[in]refFrameEnum value to convert into text
Returns
String representation of the enum

Definition at line 25 of file PositionInput.cpp.

◆ to_string() [7/46]

const char * NAV::to_string ( gui::widgets::TimeEditFormat::Format timeEditFormat)

Converts the enum to a string.

Parameters
[in]timeEditFormatEnum value to convert into text
Returns
String representation of the enum

Definition at line 20 of file TimeEdit.cpp.

◆ to_string() [8/46]

const char * NAV::to_string ( InertialIntegrator::IntegrationAlgorithm algorithm)

Converts the enum to a string.

Parameters
[in]algorithmEnum value to convert into text
Returns
String representation of the enum

Definition at line 457 of file InertialIntegrator.cpp.

◆ to_string() [9/46]

const char * NAV::to_string ( InertialIntegrator::IntegrationFrame frame)

Converts the enum to a string.

Parameters
[in]frameEnum value to convert into text
Returns
String representation of the enum

Definition at line 483 of file InertialIntegrator.cpp.

◆ to_string() [10/46]

const char * NAV::to_string ( IonosphereModel ionosphereModel)

Converts the enum to a string.

Parameters
[in]ionosphereModelEnum value to convert into text
Returns
String representation of the enum

Definition at line 24 of file Ionosphere.cpp.

◆ to_string() [11/46]

const char * NAV::to_string ( MappingFunction mappingFunction)

Converts the enum to a string.

Parameters
[in]mappingFunctionEnum value to convert into text
Returns
String representation of the enum

Definition at line 44 of file Troposphere.cpp.

◆ to_string() [12/46]

const char * NAV::to_string ( NAV::BaroSimulator::GravityInput value)
constexpr

Converts the enum to a string.

Parameters
[in]valueEnum value to convert into text
Returns
String representation of the enum

Definition at line 118 of file BaroSimulator.hpp.

◆ to_string() [13/46]

const char * NAV::to_string ( NAV::ImuFusion::ImuFusionType value)
constexpr
Parameters
[in]valueEnum value to convert into text
Returns
String representation of the enum

Definition at line 247 of file ImuFusion.hpp.

◆ to_string() [14/46]

const char * NAV::to_string ( NAV::MultiImuFile::NmeaType value)
constexpr

Converts the enum to a string.

Parameters
[in]valueEnum value to convert into text
Returns
String representation of the enum

Definition at line 163 of file MultiImuFile.hpp.

◆ to_string() [15/46]

const char * NAV::to_string ( NAV::PressToHgt::GravityInput value)
constexpr

Converts the enum to a string.

Parameters
[in]valueEnum value to convert into text
Returns
String representation of the enum

Definition at line 111 of file PressToHgt.hpp.

◆ to_string() [16/46]

const char * NAV::to_string ( NAV::VectorNavBinaryConverter::OutputType value)

Converts the enum to a string.

Parameters
[in]valueEnum value to convert into text
Returns
String representation of the enum

Definition at line 1179 of file VectorNavBinaryConverter.cpp.

◆ to_string() [17/46]

const char * NAV::to_string ( PolynomialRegressor<>::Strategy strategy)

Converts the enum to a string.

Parameters
[in]strategyEnum value to convert into text
Returns
String representation of the enum

Definition at line 14 of file PolynomialRegressor.cpp.

◆ to_string() [18/46]

const char * NAV::to_string ( PosVelAttInitializer::AttitudeMode attitudeMode)
constexpr

Converts the enum to a string.

Parameters
[in]attitudeModeEnum value to convert into text
Returns
String representation of the enum

Definition at line 207 of file PosVelAttInitializer.hpp.

◆ to_string() [19/46]

const char * NAV::to_string ( PosVelAttInitializer::VelocityOverride velOverride)
constexpr

Converts the enum to a string.

Parameters
[in]velOverrideEnum value to convert into text
Returns
String representation of the enum

Definition at line 226 of file PosVelAttInitializer.hpp.

◆ to_string() [20/46]

const char * NAV::to_string ( PressureModel pressureModel)

Converts the enum to a string.

Parameters
[in]pressureModelEnum value to convert into text
Returns
String representation of the enum

Definition at line 20 of file Pressure.cpp.

◆ to_string() [21/46]

const char * NAV::to_string ( SPP::Algorithm::EstimatorType estimatorType)
nodiscard

Converts the enum to a string.

Parameters
[in]estimatorTypeEnum value to convert into text
Returns
String representation of the enum

Definition at line 817 of file Algorithm.cpp.

◆ to_string() [22/46]

const char * NAV::to_string ( SPP::Algorithm::ReceiverType receiver)
nodiscard

Converts the enum to a string.

Parameters
[in]receiverEnum value to convert into text
Returns
String representation of the enum

Definition at line 833 of file Algorithm.cpp.

◆ to_string() [23/46]

const char * NAV::to_string ( TemperatureModel::Model temperatureModel)

Converts the enum to a string.

Parameters
[in]temperatureModelEnum value to convert into text
Returns
String representation of the enum

Definition at line 63 of file Temperature.cpp.

◆ to_string() [24/46]

const char * NAV::to_string ( TimeSystem::TimeSystemEnum timeSystem)

Converts the enum to a string.

Parameters
[in]timeSystemEnum value to convert into text
Returns
String representation of the enum

Definition at line 55 of file TimeSystem.cpp.

◆ to_string() [25/46]

const char * NAV::to_string ( TroposphereModel troposphereZhdModel)

Converts the enum to a string.

Parameters
[in]troposphereZhdModelEnum value to convert into text
Returns
String representation of the enum

Definition at line 26 of file Troposphere.cpp.

◆ to_string() [26/46]

std::string NAV::to_string ( Units::AttitudeUncertaintyUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 302 of file Units.cpp.

◆ to_string() [27/46]

std::string NAV::to_string ( Units::AttitudeUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 332 of file Units.cpp.

◆ to_string() [28/46]

std::string NAV::to_string ( Units::CovarianceAccelUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 176 of file Units.cpp.

◆ to_string() [29/46]

std::string NAV::to_string ( Units::CovarianceAngularVelocityUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 190 of file Units.cpp.

◆ to_string() [30/46]

std::string NAV::to_string ( Units::CovarianceClkFrequencyDriftUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 226 of file Units.cpp.

◆ to_string() [31/46]

std::string NAV::to_string ( Units::CovarianceClkPhaseDriftUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 212 of file Units.cpp.

◆ to_string() [32/46]

std::string NAV::to_string ( Units::ImuAccelerometerFilterBiasUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 372 of file Units.cpp.

◆ to_string() [33/46]

std::string NAV::to_string ( Units::ImuAccelerometerFilterNoiseUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 340 of file Units.cpp.

◆ to_string() [34/46]

std::string NAV::to_string ( Units::ImuAccelerometerIRWUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 308 of file Units.cpp.

◆ to_string() [35/46]

std::string NAV::to_string ( Units::ImuAccelerometerNoiseUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 276 of file Units.cpp.

◆ to_string() [36/46]

std::string NAV::to_string ( Units::ImuAccelerometerUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 248 of file Units.cpp.

◆ to_string() [37/46]

std::string NAV::to_string ( Units::ImuGyroscopeFilterBiasUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 386 of file Units.cpp.

◆ to_string() [38/46]

std::string NAV::to_string ( Units::ImuGyroscopeFilterNoiseUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 354 of file Units.cpp.

◆ to_string() [39/46]

std::string NAV::to_string ( Units::ImuGyroscopeIRWUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 322 of file Units.cpp.

◆ to_string() [40/46]

std::string NAV::to_string ( Units::ImuGyroscopeNoiseUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 290 of file Units.cpp.

◆ to_string() [41/46]

std::string NAV::to_string ( Units::ImuGyroscopeUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 262 of file Units.cpp.

◆ to_string() [42/46]

std::string NAV::to_string ( Units::PositionUncertaintyUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 274 of file Units.cpp.

◆ to_string() [43/46]

std::string NAV::to_string ( Units::VelocityUncertaintyUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 288 of file Units.cpp.

◆ to_string() [44/46]

std::string NAV::to_string ( Units::VelocityUnits unit)
nodiscard

Converts the unit into a string.

Parameters
[in]unitUnit

Definition at line 320 of file Units.cpp.

◆ to_string() [45/46]

const char * NAV::to_string ( vendor::RINEX::ObsHeader::MarkerTypes markerType)

Converts the enum to a string.

Parameters
[in]markerTypeEnum value to convert into text
Returns
String representation of the enum

Definition at line 605 of file RINEXUtilities.cpp.

◆ to_string() [46/46]

const char * NAV::to_string ( WaterVaporModel waterVaporModel)

Converts the enum to a string.

Parameters
[in]waterVaporModelEnum value to convert into text
Returns
String representation of the enum

Definition at line 20 of file WaterVapor.cpp.

◆ tooltip()

const char * NAV::tooltip ( vendor::RINEX::ObsHeader::MarkerTypes markerType)

Converts the enum to a string tooltip.

Parameters
[in]markerTypeEnum value to convert into text
Returns
Tooltip for the enum

Definition at line 646 of file RINEXUtilities.cpp.

◆ transitionMatrix_Phi_exp() [1/2]

template<typename Derived>
Derived::PlainObject NAV::transitionMatrix_Phi_exp ( const Eigen::MatrixBase< Derived > & F,
typename Derived::Scalar tau_s )

Calculates the state transition matrix 𝚽 using the exponential matrix.

Parameters
[in]FSystem Matrix
[in]tau_stime interval in [s]
Note
See [17] Groves, ch. 3.2.3, eq. 3.33, p. 97
Attention
The cost of the computation is approximately 20n^3 for matrices of size n. The number 20 depends weakly on the norm of the matrix.

Definition at line 235 of file KalmanFilter.hpp.

◆ transitionMatrix_Phi_exp() [2/2]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > NAV::transitionMatrix_Phi_exp ( const KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > & F,
Scalar tau_s )

Calculates the state transition matrix 𝚽 using the exponential matrix.

Parameters
[in]FSystem Matrix
[in]tau_stime interval in [s]
Note
See [17] Groves, ch. 3.2.3, eq. 3.33, p. 97
Attention
The cost of the computation is approximately 20n^3 for matrices of size n. The number 20 depends weakly on the norm of the matrix.

Definition at line 632 of file KeyedKalmanFilter.hpp.

◆ transitionMatrix_Phi_Taylor() [1/2]

template<typename Derived>
Derived::PlainObject NAV::transitionMatrix_Phi_Taylor ( const Eigen::MatrixBase< Derived > & F,
double tau_s,
size_t order )

Calculates the state transition matrix 𝚽 limited to specified order in 𝐅𝜏ₛ

Parameters
[in]FSystem Matrix
[in]tau_stime interval in [s]
[in]orderThe order of the Taylor polynom to calculate
Note
See [17] Groves, ch. 3.2.3, eq. 3.34, p. 98

Definition at line 195 of file KalmanFilter.hpp.

◆ transitionMatrix_Phi_Taylor() [2/2]

template<typename Scalar, typename RowKeyType, typename ColKeyType, int Rows, int Cols>
KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > NAV::transitionMatrix_Phi_Taylor ( const KeyedMatrix< Scalar, RowKeyType, ColKeyType, Rows, Cols > & F,
Scalar tau_s,
size_t order )

Calculates the state transition matrix 𝚽 limited to specified order in 𝐅𝜏ₛ

Parameters
[in]FSystem Matrix
[in]tau_stime interval in [s]
[in]orderThe order of the Taylor polynom to calculate
Note
See [17] Groves, ch. 3.2.3, eq. 3.34, p. 98

Definition at line 592 of file KeyedKalmanFilter.hpp.

◆ tropoErrorVar()

double NAV::tropoErrorVar ( double dpsr_T,
double elevation )

Calculates the tropospheric error variance.

Parameters
[in]dpsr_TTropospheric propagation error [m]
[in]elevationSatellite elevation in [rad]
Returns
Variance of the error [m^2]

Definition at line 538 of file Troposphere.cpp.

◆ vmf1h()

double NAV::vmf1h ( const double & ah,
const double & dmjd,
const double & dlat,
const double & ht,
const double & zd )

mapping functions with height correction

Parameters
[in]ahhydrostatic coefficient a
[in]dmjdmodified julian date
[in]dlatellipsoidal latitude in radians
[in]htellipsoidal height in meter
[in]zdzenith distance in radians
Returns
vmf1h: hydrostatic mapping function

Definition at line 15 of file ViennaMappingFunction.cpp.

◆ vmf1w()

double NAV::vmf1w ( const double & aw,
const double & zd )

mapping functions with height correction

Parameters
[in]awwet coefficient a
[in]zdzenith distance in radians
Returns
vmf1w: wet mapping function

Definition at line 49 of file ViennaMappingFunction.cpp.

Variable Documentation

◆ all

const internal::all_t NAV::all
static

Used to request all rows or columns in KeyedMatrices.

Definition at line 1457 of file KeyedMatrix.hpp.

◆ Code_ALL

const Code NAV::Code_ALL

All codes set

Definition at line 653 of file Code.hpp.

◆ Code_B1D_B1P_B1X

const Code NAV::Code_B1D_B1P_B1X

B1 (data, pilot, combined)

Definition at line 634 of file Code.hpp.

◆ Code_B2I_B2Q_B2X

const Code NAV::Code_B2I_B2Q_B2X

B1I(OS), B1Q, combined.

Definition at line 635 of file Code.hpp.

◆ Code_B5D_B5P_B5X

const Code NAV::Code_B5D_B5P_B5X

B2a (data, pilot, combined)

Definition at line 636 of file Code.hpp.

◆ Code_B6I_B6Q_B6X

const Code NAV::Code_B6I_B6Q_B6X

B3I, B3Q, combined.

Definition at line 637 of file Code.hpp.

◆ Code_B7D_B7P_B7Z

const Code NAV::Code_B7D_B7P_B7Z

B2b (data, pilot, combined)

Definition at line 639 of file Code.hpp.

◆ Code_B7I_B7Q_B7X

const Code NAV::Code_B7I_B7Q_B7X

B2I(OS), B2Q, combined.

Definition at line 638 of file Code.hpp.

◆ Code_B8D_B8P_B8X

const Code NAV::Code_B8D_B8P_B8X

B2 (B2a+B2b) (data, pilot, combined)

Definition at line 640 of file Code.hpp.

◆ Code_Default

const Code NAV::Code_Default

Default selection for codes.

Definition at line 655 of file Code.hpp.

◆ Code_E1B_E1C_E1X

const Code NAV::Code_E1B_E1C_E1X

OS (data, pilot, combined)

Definition at line 624 of file Code.hpp.

◆ Code_E5I_E5Q_E5X

const Code NAV::Code_E5I_E5Q_E5X

E5a (data, pilot, combined)

Definition at line 625 of file Code.hpp.

◆ Code_E6B_E6C_E6X

const Code NAV::Code_E6B_E6C_E6X

E6 (data, pilot, combined)

Definition at line 626 of file Code.hpp.

◆ Code_E7I_E7Q_E7X

const Code NAV::Code_E7I_E7Q_E7X

E5b (data, pilot, combined)

Definition at line 627 of file Code.hpp.

◆ Code_E8I_E8Q_E8X

const Code NAV::Code_E8I_E8Q_E8X

E5 AltBOC (data, pilot, combined)

Definition at line 628 of file Code.hpp.

◆ Code_G1S_G1L_G1X

const Code NAV::Code_G1S_G1L_G1X

L1C (data, pilot, combined)

Definition at line 620 of file Code.hpp.

◆ Code_G2S_G2L_G2X

const Code NAV::Code_G2S_G2L_G2X

L2C-code (medium, long, combined)

Definition at line 621 of file Code.hpp.

◆ Code_G5I_G5Q_G5X

const Code NAV::Code_G5I_G5Q_G5X

L5 (data, pilot, combined)

Definition at line 622 of file Code.hpp.

◆ Code_I5B_I5C_I5X

const Code NAV::Code_I5B_I5C_I5X

RS (data, pilot, combined)

Definition at line 648 of file Code.hpp.

◆ Code_I9B_I9C_I9X

const Code NAV::Code_I9B_I9C_I9X

RS (data, pilot, combined)

Definition at line 649 of file Code.hpp.

◆ Code_J1S_J1L_J1X

const Code NAV::Code_J1S_J1L_J1X

L1C (data, pilot, combined)

Definition at line 642 of file Code.hpp.

◆ Code_J2S_J2L_J2X

const Code NAV::Code_J2S_J2L_J2X

L2C-code (medium, long, combined)

Definition at line 643 of file Code.hpp.

◆ Code_J5D_J5P_J5Z

const Code NAV::Code_J5D_J5P_J5Z

L5 (data, pilot, combined)

Definition at line 645 of file Code.hpp.

◆ Code_J5I_J5Q_J5X

const Code NAV::Code_J5I_J5Q_J5X

L5 (data, pilot, combined)

Definition at line 644 of file Code.hpp.

◆ Code_J6S_J6L_J6X

const Code NAV::Code_J6S_J6L_J6X

LEX signal (short, long, combined)

Definition at line 646 of file Code.hpp.

◆ Code_R3I_R3Q_R3X

const Code NAV::Code_R3I_R3Q_R3X

L3 (data, pilot, combined)

Definition at line 630 of file Code.hpp.

◆ Code_R4A_R4B_R4X

const Code NAV::Code_R4A_R4B_R4X

G1a (data, pilot, combined)

Definition at line 631 of file Code.hpp.

◆ Code_R6A_R6B_R6X

const Code NAV::Code_R6A_R6B_R6X

G2a (data, pilot, combined)

Definition at line 632 of file Code.hpp.

◆ Code_S5I_S5Q_S5X

const Code NAV::Code_S5I_S5Q_S5X

L5 (data, pilot, combined)

Definition at line 651 of file Code.hpp.

◆ ColormapsFlow

std::vector< Colormap > NAV::ColormapsFlow

Flow colormaps.

Definition at line 27 of file Colormap.cpp.

◆ ColormapsGlobal

std::vector< Colormap > NAV::ColormapsGlobal

Global colormaps.

Definition at line 26 of file Colormap.cpp.

◆ Freq_All

Frequency_ NAV::Freq_All
constexpr

All Frequencies.

Definition at line 529 of file Frequency.hpp.

◆ SatSys_All

SatelliteSystem_ NAV::SatSys_All
constexpr

All Systems.

Definition at line 382 of file SatelliteSystem.hpp.

◆ supportedDataIdentifier

const std::vector<std::string> NAV::supportedDataIdentifier

List of supported data identifiers.

Definition at line 44 of file ErrorModel.cpp.