Process Control
The following options are available for controlling filter or simulator start and stop times and process noise updates:
Process Control | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Option | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StartMode | Specify whether this is the Initial run, a scheduled Restart or an AutoRestart. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(Re)Start time options |
Depending on the selection made for StartMode, one of the following will appear:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RestartLastMeasTime (Filter Only) |
Only displayed when running from a restart record when the Filter is in deep space mode. Displays the time of the last processed observation associated with the selected restart record. Note that this time may be later than the selected restart time. For further details, see the description of the EnableDeepSpaceMode setting for the Filter. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Direction | Filter direction (in time)
= Forwards | Backwards (default = Forwards) when "Backwards" is selected the following are disabled:
when "Backwards" is selected times are "like Smoother" timing
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StopMode | Select one of the following:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimeStep (Simulator only) |
Defines the minimum allowable time between measurements, as well as the grid on which ephemeris will be written if requested. The time step defines the measurement time grid in the absence of custom tracking intervals. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ProcessNoiseUpdateInterval (Filter only) |
Enter a time value in the selected time unit to specify how often process noise is to be updated between measurement passes (see note below). The filter will output data on a union of this uniform time grid and the measurement time grid. The time update grid ensures that process noise is added between measurement passes. This attribute defines the uniform grid used for ephemeris output, if that option is selected. If the Scenario.Units.DateFormat attribute is set to UTCG, the time upgrade grid will be on an even UTC grid; if it is set to GPSG, it will be on an even GPS grid. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MeasurementProcessingMode (Filter only) |
Measurements may be processed in either the scalar mode or the simultaneous mode during filter operation. In the scalar mode, a separate measurement update operation is performed for each measurement processed at a given time. In the simultaneous mode, all measurements at a single time are processed together in a single measurement update operation. The simultaneous mode typically improves the run time performance of the filter, but has been seen to exhibit some instability during the filter initialization period if the initial uncertainties are large. You can switch from one mode to the other when running the filter in either initial mode or from a restart record. (See 2nd note below) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CovarianceUpdateForm | Select either OptimalGain or Joseph. When OptimalGain is selected, the simplified form of the Kalman measurement update of the covariance, which is possible when selecting the Kalman gain matrix in its linearly optimal form is used. P+ = (I -KH)P-. When Joseph is selected, the more general Joseph form of the covariance measurement update is used. P+ = (I-KH)P-(I-KH)T + KRKT. The optimal gain formulation is more computationally efficient while the Joseph form is more numerically stable. The Joseph form offers less chance of the covariance becoming non-positive definite. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MeasurementModelingMode (Filter only) |
The options are Estimation, RefEphem, or RefEphemWithBiases. The default setting is Estimation. If you select RefEphem, running the filter will only process the measurements, computing residuals and the corresponding measurement error variances using Satellite Reference Trajectories (*.e files) for orbit and orbit covariance values. The filter will not perform estimation. The filter models measurements using the nominal measurement bias and modeling values. Measurement error variance values only consider orbit errors and measurement white noise. If you select RefEphemWithBiases, running the filter will otherwise behave as with RefEphem, but the filter will include any applicable biases. You should provide biases using OptionalSolveForParams.MeasBiasCorrectionFile. When using RefEphem or RefEphemWithBiases, you must for all satellites in the Filter.SatelliteList set their Satellite.EstimateOrbit flag to false and specify a Reference Trajectory file as input. Selecting the RefEphem option will cause the Filter StartMode to be set to Initial, the OptionalSolveForParams.MeasBiases to be set to false, the SmootherData.Generate flag to be set to false, and the STKEphemeris.DuringProcess.Generate flag be set to false. If you select RefEphem, OptionalSolveForParams.MeasBiases is false. If you select RefEphemWithBiases is specified, OptionalSolveForParams.MeasBiases is set to true and OptionalSolveForParams.UseMeasBiasFile is set to true. If you turn this option back to Estimation (after selecting another option), you must reset these flags. When using either reference ephemeris option, the filter will model the measurements by interpolating the reference trajectories and propagating the reference covariance as necessary to the time of interest. AGI recommends that you select a smoothed reference ephemeris instead of a filtered reference ephemeris to avoid interpolating across possible discontinuities caused by measurement updates. If the reference trajectory file does not contain velocity covariance, then the filter will propagate the covariance assuming a velocity covariance of zero. If the reference trajectory file does not contain any covariance, then the filter assumes a zero orbit covariance. Using this feature allows the filter to use a reference ephemeris with covariance in residual calculation and residual covariance calculation. The attribute will cause the filter to stop saving restart files and turn off smoother rough file generation, among other actions. Each action yields a Message Viewer message, but you must reset quantities after making a filter run. Manual setting of this field can lead to errors in filter settings. AGI recommends that you use the utility ResidualsVersusReference.htm, which will automatically remember and restore settings that this attribute changed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NumOrbitsAllowedForEpochAlignment | Specify the maximum number of revolutions that a satellite orbit may be propagated to align the satellite initial state with the start time of the process. This setting is also used to determine the allowable difference in epochs between a space-based GPS receiver clock state epoch and the initial condition epoch of its host satellite. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GlobalAtmosphericDensityEstimation
(Simulator only) |
Controls for simulating deviations in selected atmospheric density model parameters. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnableVLS | If true and the filter has one or more child VLS objects with their ProcessControl.Generate flag set to true, then those VLS will be executed in conjunction with the Filter execution. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MeasUpdateOrbitStateRepresentation (Filter only) |
Select the coordinates to be used when updating the non-linear orbit trajectory during the measurement update operation. Choices are Cartesian coordinates and equinoctial elements. The state update is always computed in Cartesian coordinates but can be linearly transformed to an update in equinoctial elements. For closed orbits where the motion is dominated by the two-body dynamics the equinoctial option typically leads to improved filter accuracy and an increased convergence region. Cartesian coordinates can be used for all classes of orbits including open orbits. This option is currently incompatible with variable lag smoothing. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnableDeepSpaceMode (Filter) |
Configure the Filter to run in deep space mode. In this mode, the estimation state inside the filter is advanced to the Information Time of measurements prior to the execution of the measurement update. The Information Time is approximate time that the tracking signal passes through, or emanates from, the spacecraft. This strategy allows for the current time filter to properly estimate effects occurring local to the spacecraft at the time when the signal is at the spacecraft. This is important for two main reasons:
When in deep space mode, the StopTime of the filter is associated with the time of the filter estimation state. Since the typical effect of light time delay is to have the estimation state at an epoch earlier than the time tags of measurements, it is possible that measurements with time tags later than the stop time will be processed. The same concept applies to restart epochs. To improve operator awareness of this nuance, a separate read-only field will be shown below the selected restart record which displays the time of the last processed measurement. Not all measurement types require the subtraction of light time delay to be localized at the spacecraft. Accelerometer measurements, for example, take measurements locally to the spacecraft. When processing a combination of local and non-local measurements (ex: DSN TCP and Accelerometer), the LookAheadBufferSize in the Scenario settings should be made large enough so that the merged measurement set can be properly sorted into Information Time order. For an example where the one-way light time delay is approximately 20 minutes, the buffer should be sized to comfortably hold at least 20 minutes worth of combined observations. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EnableDeepSpaceMode (Simulator) |
Configure the simulator to run in deep space mode. The deep space simulator capability works by running through the simulation timeline twice. The first pass of the simulator servers to generate a state history that covers the entire time frame of the simulation. It also includes a buffer, prior to the simulation start time, to accommodate the measurement modeling at the start time of the simulation. This requires spacecraft states prior to the simulation start time. The second pass through the simulation time period generates the measurements using the time history from the first pass. All input times to the simulator are interpreted as indicating the times when measurements are desired.
The deep space mode of the simulator currently has two important limitations:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DynamicStateSpace (Filter Only) |
The filter can be configured to add/drop particular types of states as they are needed. This feature can be used to improve the processing speed of the filter, improve the processing speed of fixed interval and variable lag smoothing and reduce output file size which results in faster reporting and graphing operations. For each type of state, select between Manual (all possible states are included in state space) and Automatic (states are added when needed at the initial epoch and restart points and dropped when not needed). The following table describes the Automatic mode behavior.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
InstantManeuverEstimation (Filter only) |
Corrections to modeled instant maneuvers can be estimated during the filter process. These estimates are facilitated through the use of fixed epoch smoothers where two smoothed states are estimated at the time of the instant maneuver. The first smoothed state does not contain the velocity change associated with the maneuver and the second smoothed state, at the same epoch, does contain the velocity change. The maneuver estimate is derived by differencing of the two smoothed states. Maneuver estimates which have not completed based on the completion criteria listed below may still be reported at the end of the filter run, but will continue in a subsequent filter run which is initialized from a restart record. A maneuver estimate is considered to be complete when any of the associated completion criteria are met. The following options are available for the estimation of the instant maneuvers during the filter process.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HigherOrderCorrections (Filter only) |
Second Order Gaussian Filter The capability to add in the additional terms associated with the Gaussian second order filter is accessible through the HigherOrderCorrections scope of the Filter attributes. Set the MitigationMethod to SecondOrderGaussian to expose the attributes. The Gaussian second order filter provides augmentation of measurement processing in terms of an adjusted residual and additional measurement deweighting and an augmentation of the time update in terms of an acceleration bias. Controls exist to allow for the inclusion of any or all of these augmentations. The selected second order effects can be included all the time or only when needed based on an automatic detection scheme. The inclusion of second order terms in measurement processing requires the computation of second order partial derivatives (Hessians) of the measurement models. These computations are provided analytically for the most commonly used measurement models in ODTK. Measurement Hessians are computed numerically for those measurement models which do not support second order derivatives analytically. The need to compute measurement Hessians results in slightly slower execution times. The second order effect on the time update is accounted for through the computation of an acceleration bias on all orbit sub-states. The complete acceleration bias representation would require the computation of Hessians for all acceleration models involved in the trajectory propagation. The approach taken in ODTK is to only compute the Hessian of the two-body acceleration since all other accelerations are typically at least three (3) orders of magnitude smaller than the two body acceleration. In all cases examined to the time of this writing, the inclusion of second order augmentation in the measurement update, specifically the measurement de-weighting, has proven to be much more important than the inclusion of second order effects in the time update. Underweighting The capability to augment the linear residual error variance with additional underweighting is accessible through the HigherOrderCorrections scope of the Filter attributes. Set the MitigationMethod to Underweighting to expose the attributes. There are two underweighting schemes implemented: residual variance scaling and a covariance reduction limit. The concept behind underweighting is to decrease the corrections made during measurement processing when the effects of non-linearity are significant. The main effect of underweighting is to slow the contraction of the covariance which can help prevent the filter from "over correcting" and subsequently rejecting valid tracking data. UnscentedFilter The capability to use all or parts of the scaled unscented Kalman Filter (UKF) is available as an option in the HigherOrderCorrection settings. Set the MitigationMethod to UnscentedFilter to expose the attribute. The Filter can be considered a recursive machine of time and measurements updates. Time updates transition the state of the filter from one time to the next. Measurement updates fold in measurement information to improve the estimated state. Options are provided to replace the baseline update algorithms, from the Extended Kalman Filter (EKF), with the update algorithms of the UKF. The UKF may provide better track custody than the EKF in scenarios where the orbit uncertainty grows very large due to highly uncertain dynamics or long gaps in observations. ODTK does not currently have a matching Unscented Smoother. Filters in the UKF configuration can output *.rough information for input into the existing Fixed-Interval smoother. Smoother performance may be degraded in cases where the state-error covariance is large. VLS operations are not available in conjunction with UKF processing.
|
If you set the process noise update interval too large, problems may arise in subsequent calculations.
The ODTK filter processes all measurements up to and including a restart record. Upon restart, ODTK does not process measurements at the restart time. In Scalar mode only measurements at exactly the restart time are not processed; in Simultaneous mode measurements at the restart time + epsilon are not processed where epsilon is 0.01 sec.