Orbit Determination Fusion

fusion_method orbit_determination
   number_of_angle_measurements   <int>
   angles_only_linear_tolerance   <length-value>
   angles_only_maximum_iterations <int>
   lambert_convergence_tolerance  <real>
   process_noise_sigmas_XYZ ...
   propagator ... end_propagator
   debug
   debug_filter
end_correlation_method

Orbit determination fusion incorporates algorithms that fuse multiple sensor measurements to provide an initial estimate of a satellite’s orbit, then continue to fuse subsequent measurements to update and refine the initial estimate. Target measurements either from angles-only sensors, providing bearing-elevation tracks; or measurements that also provide range may be used. Once an orbit is initially determined, an ORBIT_DETERMINATION_INITIATED event is triggered. On subsequent orbit determination updates, a ORBIT_DETERMINATION_UPDATED event is triggered.

Note

It is highly recommended to set retain track history true in the track manager in order to accumulate sufficient measurements to initiate orbit determination. Also, in order to manage the total number of measurements to be retained, set the track history retention interval time in any track processor utilizing this fusion strategy.

Note

The initial orbit determination algorithm employed is documented in “Initial Orbit Determination Using Multiple Observations”, Karimi and Mortari, Celest. Mech. Dyn. Astr. (2011) 109:167-180. Ongoing orbit determination is implemented with the WSF_ORBIT_DETERMINATION_FILTER.

process_noise_sigmas_XYZ <X-value> <Y-value> <Z-value>

Defines the noise standard deviation used by the embedded filter. The values correspond with accelerations in the entity coordinate system (ECS) of the tracked platform.

Default: 0 0 0

propagator <propagator-type> propagator-commands … end_propagator

Specifies the propagator type that will be used in the WSF_ORBIT_DETERMINATION_FILTER to track the target.

Default: The tracked target’s propagator type, if a truth target type is available from the track; otherwise, WSF_KEPLERIAN_PROPAGATOR.

Note

The initial state of the propagator will be provided using results of initial orbit determination and subsequent track updates; any provided initial state configuration (initial orbital elements or orbital state) of the propagator will be ignored.

number_of_angle_measurements <integer>

Specify the number of angles-only measurements to be collected before an angles-only initial orbit determination attempt is made.

Note

This value must be at least 3.

Default 5

angles_only_linear_tolerance <length-value>

Specify the linear tolerance required to converge to a solution with the angles-only initial orbit determination algorithm. Specifying a higher value makes it more likely that a valid solution will be found.

Default 10 meters

angles_only_maximum_iterations <integer>

Specify the maximum number of iterations for the angles-only initial orbit determination algorithm to find a solution.

Note

It is usually not necessary to set this value.

Default 200

lambert_convergence_tolerance <real>

Specify a unitless tolerance for convergence of the Lambert universal-variables algorithm of two locations and time.

Default 1.0e-12

debug

Prints debug information to std::out.

debug_filter

Specifies saving of filtering history information (see filter debug).

range_error_factor

Specify the factor that is used to compute the range error when fusing an angles-only track with an existing track (from which a range can be estimated). This factor is multiplied times the estimated range to obtain the estimated range error.

Default 0.05