Error Modeling

The simulator attempts to create a set of realistic measurements by applying different deviations to initial conditions of satellites and measurement biases and by adding noise to measurements based on the defined measurement statistics for each station. ODTK provides the ability for you to control which of these deviations to apply. If you choose to not apply any deviations, the resultant measurements should provide zero residuals when run through the filter, depending on the precision of the tracking file to which the measurements are saved.

The following table lists the error modeling options. In addition, you can assign scaling factors to the attributes that you choose to deviate.

Error Modeling
Parameter Description
NoDeviations If set to true, the simulator applies no deviations, the resultant measurements should yield zero residuals, and none of the parameters below are available. Setting this parameter to true is equivalent to setting all of the other parameters to false.
DeviateOrbits If set to true, the simulator deviates the initial orbit state from the satellite by taking random Gaussian draws against the orbit covariance in a Radial/In-track/Cross-track (RIC) frame. The resultant orbit becomes the 'truth' in the simulator. If set to false, the simulator does not apply initial orbit deviations.
DeviateDensity If set to true, the simulator sets the initial atmospheric density correction to a Gaussian random draw against the internally calculated density correction sigma. This will affect the resultant truth ephemeris of each satellite. If set to false, the simulator does not apply initial density deviation. This setting only applies to deviating the initial correction. In time, this correction will decay toward zero as a function of the density model half-life. The AddForceModelProcessNoise parameter controls the application of force model random errors throughout the orbit. The simulator only makes deviations if you enable the density parameter estimate flag.
DeviateBCoeff If set to true, the simulator deviates the initial ballistic coefficient, B, correction by taking a Gaussian random draw against the B initial sigma. This will affect the resultant truth ephemeris of each satellite. If set to false, the simulator does not apply the initial B correction. This setting only applies to deviating the initial correction. In time, this correction will decay toward zero as a function of the B model half-life. The AddForceModelProcessNoise parameter controls the application of force model random errors throughout the orbit. The simulator only makes deviations if you enable the ballistic coefficient estimate flag.
DeviateSolarP If set to true, the simulator sets the initial solar pressure coefficient correction to a Gaussian random draw against the Cp sigma. This will affect the resultant truth ephemeris of each satellite. If set to false, the simulator does not apply initial solar pressure deviation. This setting only applies to deviating the initial correction. In time, this correction will decay toward zero as a function of the solar pressure half-life. The AddForceModelProcessNoise parameter controls the application of force model random errors throughout the orbit. The simulator only makes deviations if you enable the solar pressure estimate flag.
DeviateTranspDelay

If set to true, the simulator sets the initial transponder delay correction to a Gaussian random draw against the transponder delay sigma. This effect shows up in modeling the measurements. If set to false, the simulator does not apply initial transponder delay deviation. This setting only applies to the deviating of the initial correction.In time, this correction will decay toward zero as a function of the transponder delay model half-life. The AddMeasBiasProcessNoise parameter controls the application of transponder model random errors throughout the orbit. The simulator only makes deviations if you enable the transponder delay estimate flag.

DeviateRetroDelay

If set to true, the simulator sets the initial retroreflector delay correction to a Gaussian random draw against the retroreflector delay sigma. This affects the modeling of measurements. If set to false, the simulator does not apply initial retroreflector delay deviation.

This setting only applies to deviating the initial correction. In time, this correction will decay toward zero as a function of the retroreflector delay model half-life. The AddMeasBiasProcessNoise parameter controls the application of retroreflector model random errors forward in time in the simulation. The simulator only makes deviations if you enable the retroreflector delay estimate flag is enabled. In practice, retroreflector delay is usually well known and therefore rarely estimated.

DeviateMeasBiases If set to true, the simulator deviates each facility's initial measurement bias by a Gaussian random draw against the corresponding bias sigma. This effect shows up in modeling the measurements. If set to false, the simulator does not apply measurement bias deviation. This setting only applies to deviating the initial correction. In time, this correction will decay towards zero as a function of the measurement bias model half-life. The AddMeasBiasProcessNoise parameter controls the application of measurement bias model random errors forward in time in the simulation. The simulator only makes deviations if you enable the measurement bias estimate flag.
DeviateTropoBiases This activates if you set it to true and you set a facility's troposphere bias estimate flag to true. If activated, the simulator adds a deviation to the troposphere model value based on random deviations using the facility's troposphere sigma. This effect shows up in modeling the measurements. If set to false, the simulator does not apply measurement bias deviation. This setting only applies to the deviating of the initial correction.In time, this correction will decay towards zero as a function of the troposphere bias model half-life. The AddMeasBiasProcessNoise parameter controls the application of measurement bias model random errors forward in time in the simulation .
DeviateManeuvers If set to true, the simulator deviates the initial components of each estimated maneuver by Gaussian random draws based on the type of uncertainty. This will affect the truth ephemeris of a given satellite. If set to false, the simulator does not apply maneuver deviation. This setting only applies to deviating the initial correction. The AddForceModelProcessNoise parameter controls the application of force model random errors throughout the orbit.
AddMeasBiasProcessNoise

If set to true, the simulator adds process noise deviations across the simulation time span to the state estimates for measurement model parameters (transponder delay, measurement biases, accelerometer scale factor, and troposphere bias). If set to false, the simulator does not add Measurement Bias process noise.

If set to true, the simulator will add process noise independent of whether the initial condition of that parameter was deviated. For example, if AddMeasBiasProcessNoise = true, and DeviateTropoBiases = false, the simulator will still add process noise deviations to the troposphere bias correction.

This parameter does not control process noise for Maneuver, Clock, or Force Model states. The AddManeuverProcessNoise parameter controls the maneuver state process noise. The DeviateClocks parameter controls the clock process noise. The AddForceModelProcessNoise parameter controls the force model process noise.

AddForceModelProcessNoise

If set to true, the simulator adds process noise deviations across the simulation time span to the state estimates for force model parameters (ballistic coefficient, density correction, solar pressure). If set to false, the simulator does not add Force Model process noise.

If set to true, the simulator will add process noise independent of whether the initial condition of that parameter was deviated. For example, if AddForceModelProcessNoise = true, and DeviateBCoeff = false, the simulator will still add process noise deviations to the B coefficient correction.

This parameter does not control process noise for Maneuver, Clock, or Measurement Bias states. The AddManeuverProcessNoise parameter controls the maneuver state process noise. The DeviateClocks parameter controls the clock process noise. The AddMeasBiasProcessNoise parameter controls the measurement bias process noise.

AddManeuverProcessNoise If set to true, the simulator adds process noise to the state estimates for finite maneuver biases. These biases are present in the state only if you set the Estimate flag to true in the definition of the finite maneuver. If you set AddManeuverProcessNoise to false, the simulator does not add process noise.
AddMeasWhiteNoise If set to true, the simulator applies a random Gaussian draw to each measurement based on the corresponding white noise sigma in the measurement statistics. If set to false, the simulator does not apply the white noise correction.
DeviateStationLocations If set to true, the simulator will randomly deviate the facility locations for those stations which the simulator is estimating.
DeviateAntennaLocations If set to true, the simulator deviates the location of the antenna phase center by Gaussian random draws against the corresponding sigma values.
DeviateClocks If set to true, the simulator adds a random Gaussian draw to the initial state of each clock parameter (phase, frequency, and aging) based on the clock parameter sigma error. In addition, the simulator adds deviations n time using the clock stochastic error model.
DeviateMeasTimeBias If set to true, the simulator biases the measurement time tag for this tracker consistent with the MeasTimeBias stochastic model for that tracker.
DeviateAccelerometers If set to true, the simulator deviates the initial values of biases and scale factors of accelerometer sensors by Gaussian random draws against the corresponding sigma values.
DeviateGlobalDensity If set to true, the simulator generates initial deviations of estimated global atmospheric density model parameters by taking a random Gaussian draw for each estimated parameter. If set to false, the simulator does not apply global atmospheric density model parameter deviations.
AddGlobalDensityProcessNoise If set to true, the simulator adds process noise to the state estimates for global atmospheric density model parameters. These parameters are present in the state only if you set the ProcessControl.GlobalAtmosphericDensityEstimation Mode to Estimate. If set to false, the simulator does not add process noise.
DeviateEmpiricalForces If set to true, the simulator deviates the initial estimate for each estimated model parameter (A0, A1, A2) by taking a Gaussian draw against that parameter’s initial sigma. This will affect the resultant truth ephemeris. If set to false, the simulator does not apply initial corrections.This setting only applies to deviating the initial correction. In time, that correction will decay toward zero as a function of the parameter half-life. As with drag and solar pressure, the AddForceModelProcessNoise parameter controls the application of force model random errors throughout the orbit.
DeviateCentralBodyOrbits If set to true, the simulator generates initial deviations of estimated central body orbits by taking a vector of random Gaussian draws against the central body initial orbit error-covariance. If set to false, the simulator does not apply central orbit deviations.
DeviateChildDeploymentVelocity If set to true, ODTK generates deviations of Delta-Vs used to model parent/child deployment events by taking a vector of random Gaussian draws against the specified Delta-V component uncertainties. If set to false, ODTK does not apply Delta-V deviations.
DeviateCentralBodyGravity If set to true, the simulator generates initial deviations of estimated central body gravitational parameters by taking a random Gaussian draw for each estimated parameter. If set to false, the simulator does not apply central body gravitational parameter deviations.
RandomSeed This is the integer used as a seed for simulating random distributions.

Error scaling

In addition to opting whether or not to deviate a value, you can apply a scale factor to the deviation. The default ErrorScaling value is 1, or 1.00000. This is a sigma multiplier. When the simulator deviates a value, it takes the sigmas normally used to create the initial deviation and multiplies them by the error scaling factor.

As an illustration, suppose you want to put a lot of noise into the simulated tracking data to see how the filter will respond given "optimistic" measurement biases. For example, suppose you want to increase all measurement biases by 50%. To do this, simply change the ErrorScaling factor in the simulator to 1.5 and the simulator will increase all measurement biases by 50%. After you run the simulator, the Sim Tracker Initial State report will show the sigma values actually used in the simulation.

The satellite's drag model attributes include DensityCorrSigmaScale. The simulator applies this scale as well.

Force sequence positive

You have the option to steer the simulated stochastic sequences for some state parameters so as to keep the "total estimate" for that parameter positive. This includes the satellite density, the satellite ballistic coefficient, the satellite solar pressure (Cp and K1), the transponder bias, and laser retroreflector delay parameters. The "total estimate" means the addition of the "constant" value with the current error estimate. Steering the sequence to be positive makes sense physically, but steering also results in a sequence that may be nonrandom and possibly violates the statistical specifications of the sequence itself, complicating your ability to interpret the results based on the simulation.

Prior to having this option, ODTK always steered these parameters to be positive. With the addition of this option, the default for new scenarios is to not steer these parameters. Scenarios built prior to this option will still default to enable the bounds checking. The steering algorithm assumes that the initial total estimate is positive. If it is not positive, the simulator may generate odd sequences.