Open ChristopherRabotin opened 4 months ago
sensitivity
function should take an input specifying the type of measurements to be used on the next measurement update. This will set the appropriate columns to zero so that the contribution of the innovation is ignored.t
, then the filter shouldn't advance until all measurement types are handled.
High level description
At the moment, OD only support range and Doppler measurement, simultaneous or not. In practice, especially in LEOP, we may want to use azimuth and elevation data to quickly converge on a valid solution. Moreover, in practice, a tracking data provider may not always align the range, Doppler, and angle data at the same epoch. Hence, this change should ensure that each participant in an ODP can be configured to support either of the supported measurements at runtime without requiring a rebuild.
Requirements
Test plans
Simulate tracking data where the range bias is 250 meters for a lunar orbiter. Run the OD in three different cases:
This will demonstrate just-in-time filtering of measurements, and how processing biased range and Doppler affects the OD results. Use this to write recommendations in the documentation.
Design
This will most likely lead to a decently large refactoring. Specifically, each ground station will need to specify whether it supports a given measurement type. Then, the data read may be nullable (so it must be nullable in the exported data frame). If it's null, or if that participant does not support this measurement type, then the associated row/column of the sensitivity matrix must be nulled as well. This change will likely simplify the trait bounds for the ODP structure, which is why it must be done before version 2.0.0 is stabilized.