Structures

This section contains a description of the custom signal structures shared by Skydel.

Skydel provides custom signal plug-ins with various information across different simulation states. This information is always passed using a map based structure to allow for future flexibility and extensibility.

This page details all data structures related to custom signals by listing the available keys. Each key is accompanied by a definition to give context about the associated information, along with its corresponding C++ type.

Here is an example of how to access the eccentricity value from the ConstellationParameters structure:

//            value                 type                     key
//              |                    |                        |
const auto eccentricity = std::get<double>(parameters.at(ECCENTRICITY_KEY));

InitializationDatas

The InitializationDatas structure contains information about both the custom signal and the simulation that is about to start. It is passed to custom signal plug-ins during the createCustomSignal call.

Key Name
Definition
Format
Type

startWeek

Week of the simulation start time

-

uint32_t

startSecondOfWeek

Second number of the simulation start time week

seconds

uint32_t

pathToXml

XML configuration file path

-

std::string

xmlFileName

XML configuration file name

-

std::string

customSignalName

Custom signal name

-

std::string

alpha0

Ionospheric coefficent Alpha 0

seconds

double

alpha1

Ionospheric coefficent Alpha 1

seconds / semicircle

double

alpha2

Ionospheric coefficent Alpha 2

seconds / semicircle²

double

alpha3

Ionospheric coefficent Alpha 3

seconds / semicircle³

double

beta0

Ionospheric coefficent beta 0

seconds

double

beta1

Ionospheric coefficent Beta 1

seconds / semicircle

double

beta2

Ionospheric coefficent Beta 2

seconds / semicircle²

double

beta3

Ionospheric coefficent Beta 3

seconds / semicircle³

double

tot

Time data reference TOW

-

uint32_t

wnot

Time data reference week number

-

uint32_t

a0

Bias coefficient of GPS to UTC

-

double

a1

Drift coefficient of GPS to UTC

-

double

a2

Drift rate coefficient of GPS to UTC

-

double

deltaTLS

Leap second count

-

int32_t

wnLSF

Week number of future leap second

-

uint32_t

dn

Day of future leap second

-

uint32_t

deltaTLSF

Current or future leap second count

-

int32_t

ConstellationDatas

The ConstellationDatas structure contains information about the constellation associated with the custom signal. The key in the map corresponds to the dataset type associated with each ConstellationData.

Here are the available dataset keys:

Key Name
Definition

EPHEMERIS

Ephemeris data set type.

At the current time, only the EPHEMERIS dataset type is shared to custom signals.

ConstellationParameters

The ConstellationParameters structure contains information about specific parameters related to the custom signal's constellation. It is represented as a map, where the keys are the names of the parameters, each pointing to a ConstellationParameter. Each ConstellationParameter is a variant that can take the form of a uint32_t, int32_t, double, or bool, depending on the parameter.

Each constellation has its own specific set of parameters, which are described in the following sections.

Kepler

The following parameters are shared when the custom signal constellation is Keplerian, that is, for any constellation except Glonass and SBAS.

Key Name
Definition
Format
Type

prn

Satellite PRN

-

uint32_t

iod

Issue of data

-

uint32_t

wnop

Week number of prediction

-

uint32_t

top

Time of prediction

seconds

uint32_t

wnoc

Week number of clock

-

uint32_t

toc

Time of clock

seconds

uint32_t

af0

SV clock bias

seconds

double

af1

SV clock drift

seconds / second

double

af2

SV clock bias

seconds / second²

double

wnoe

Week number of ephemeris

-

uint32_t

toe

Time of ephemeris

seconds

uint32_t

sqrtA

Square root semi major axis

meters½

double

eccentricity

Eccentricity

-

double

inclination

Inclination angle

semicircles

double

lonAscendNode

Longitude of ascending node

semicircles

double

rateOfRightAscen

Rate of right ascension

semicircles / second²

double

meanAnomaly

mean anomaly

semicircles

double

argumentOfPerigee

Argument of perigee

-

double

meanMotionDiff

Mean motion difference

semicircles / second

double

iDot

rate of inclination angle

semicircles / second

double

crs

Correction radius sine

meters

double

crc

Correction radius cosine

meters

double

cuc

Correction argument lat sine

radians

double

cus

Correction argument lat sine

radians

double

cic

Correction inclination sine

radians

double

cis

Correction inclination sine

radians

double

GPS

The following parameters are shared when the custom signal constellation is GPS, supplementing the Kepler parameters.

Key Name
Definition
Format
Type

gpsTgd

Time group delay

seconds

double

iodc

Issue of data clock

-

uint32_t

codesOnL2

Codes on L2

-

uint32_t

l2PDataFlag

L2P data flag

-

uint32_t

svSignalHealth

SV signal health

5 bits

uint32_t

svDataHealth

SV data health

3 bits

uint32_t

fitInterval

Fit interval

seconds

uint32_t

uraIndex

URA index

-

uint32_t

integrityStatusFlag

Integrity status flag

-

uint32_t

l2CPhasing

L2C phasing

-

uint32_t

uraEdIndex

URA ED index

-

int32_t

uraNed0Index

URA NED 0 index

-

int32_t

uraNed1Index

URA NED 1 index

-

int32_t

uraNed2Index

URA NED 2 index

-

int32_t

iscL1CaAvailable

Is L1CA inter symbol correction enabled

-

bool

iscL2CAvailable

Is L2C inter symbol correction enabled

-

bool

iscL5I5Available

Is L5I5 inter symbol correction enabled

-

bool

iscL5Q5Available

Is L5Q5 inter symbol correction enabled

-

bool

iscL1CPAvailable

Is L1CP inter symbol correction enabled

-

bool

iscL1CDAvailable

Is L1CD inter symbol correction enabled

-

bool

iscL1Ca

L1CA inter symbol correction

seconds

double

iscL2C

L2C inter symbol correction

seconds

double

iscL5I5

L5I5 inter symbol correction

seconds

double

iscL5Q5

L5Q5 inter symbol correction

seconds

double

iscL1CP

L1CP inter symbol correction

seconds

double

iscL1CD

L1CD inter symbol correction

sedoncs

double

signalHealth

L1/L2 signal health of LNAV

5 bits

uint32_t

dataHealth

L1/L2 data health of LNAV

3 bits

uint32_t

svConfig

SV configuration

3 bits

int32_t

l1Health

L1 health of CNAV and CNAV2

-

bool

l2Health

L2 health of CNAV and CNAV2

-

bool

l5Health

L5 health of CNAV and CNAV2

-

bool

l1cHealth

L1C health of CNAV2

-

bool

navAlertFlag

NAV alert flag

-

bool

cNavAlertFlag

CNAV alert flag

-

bool

Galileo

The following parameters are shared when the custom signal constellation is Galileo, supplementing the Kepler parameters.

Key Name
Definition
Format
Type

galileoBgdE5a

Group delay of E5a

seconds

double

galileoBgdE5b

Group delay of E5b

seconds

double

sisaE5a

SISA E5a

8 bits

uint32_t

sisaE5b

SISA E5b

8 bits

uint32_t

signalHealthE5a

Signal health of E5a

2 bits

uint32_t

signalHealthE5b

Signal health of E5b

2 bits

uint32_t

signalHealthE1B

Signal health of E1B

2 bits

uint32_t

dataHealthE5a

Data validity of E5a

-

bool

dataHealthE5b

Data validity of E5b

-

bool

dataHealthE1B

Data validity of E1B

-

bool

BeiDou

The following parameters are shared when the custom signal constellation is BeiDou, supplementing the Kepler parameters.

Key
Definition
Format
Type

beiDouTgd1

Time group Delay 1

seconds

double

beiDouTgd2

Time group delay 2

seconds

double

beiDouTgdb1cp

Time group delay of B1C pilot component

seconds

double

beiDouTgdb2ap

Time group delay of B2A pilot component

seconds

double

aodc

Age of data clock

-

uint32_t

aode

Age of data ephemeris

-

uint32_t

iodc

Issue of data clock

-

uint32_t

satH2

Satellite health flag for integrity and differential correction information

2 bits

uint32_t

iscB1CdAvailable

Is B1C inter symbol correction enabled

-

bool

iscB1Cd

B1C inter symbol correction

seconds

double

uraIndex

URA index

-

uint32_t

healthInfo

Nav satellite health information

9 bits

uint32_t

autonomousHealth

Autonomous satellite health

-

bool

cnavHealthInfo

CNav satellite health information

8 bits

uint32_t

healthStatus

Satellite health status

2 bits

uint32_t

Glonass

The following parameters are shared when the custom signal constellation is Glonass.

Key Name
Definition
Unit
Type

t_lambda

Reference time of almanac

seconds

double

tau_c

Correction from GLONASS to UTC

seconds

double

tau_gps

Correction to GPS time relative to GLONASS

seconds

double

tau_n

Correction of satellite time relative to GLONASS

seconds

double

lambda

Longitude of first ascending node passage

semicircles

double

delta_i

Correction to the mean value of inclination

semicircles

double

omega

Argument of perigee

semicircles

double

e

Eccentricity

-

double

delta_t

Correction of the mean value of Draconian period

seconds

double

delta_t_rate

Rate of change of Draconian period

seconds / coil

double

tauN

Correction of time relative to GLONASS

seconds

double

svRelativeFrequencyBias

SV relative frequency bias

hz

double

messageFrameTime

Mesage frame time

seconds

uint32_t

age

Age of oper. information

days

uint32_t

positionX

X position

kilometers

double

positionY

Y position

kilometers

double

positionZ

Z position

kilometers

double

velocityX

X velocity

kilometers / second

double

velocityY

Y velocity

kilometers / second

double

velocityZ

Z velocity

kilometers / second

double

accelerationX

X acceleration

kilometers / second²

double

accelerationY

Y acceleration

kilometers / second²

double

accelerationZ

Z acceleration

kilometers / second²

double

Last updated