Class GroundStationRangeMeasurement¶
Defined in File ground_range_measurement.h
Nested Relationships¶
Nested Types¶
Inheritance Relationships¶
Base Type¶
public lupnt::MeasurementClone< GroundStationRangeMeasurement >(Template Class MeasurementClone)
Class Documentation¶
-
class GroundStationRangeMeasurement : public lupnt::MeasurementClone<GroundStationRangeMeasurement>¶
Instantaneous range and/or range-rate of a target state relative to a fixed reference state (e.g. a ground station), with the closed-form design matrix.
Given a target
[r(3), v(3)](theStatepassed toCompute) and a reference[r(3), v(3)](Config::reference_state, same frame), it returns the selected observables (range = |dr|,range-rate = dr.dv/|dr|, withdr = r - r_ref) and, when a Jacobian is requested, the instantaneous partials with respect to the target Cart6:range row :
[u^T, 0]withu = dr/|dr|range-rate row :
[((dv - rdot*u)/rho)^T, u^T].
Batch orbit-determination chains this instantaneous design matrix with the state transition matrix
Phi(t_k, t0)outside the model; this class owns only the geometry.Public Functions
-
GroundStationRangeMeasurement() = default¶
-
virtual MeasData Compute(const State &x, MatXd *H = nullptr) const override¶
Predict the measurement
z = h(x), its noise covarianceR, and (ifH != nullptr) the measurement JacobianH = dh/dxsizedn_z x x.size().- Parameters:
x – Estimation state.
H – [out] If non-null, filled with the measurement Jacobian; if null, only the value and covariance are computed.
- Returns:
MeasDatawithvalue = zandcovariance = R.
-
struct Config¶
Public Members
-
bool use_range = true¶
include the range row
-
bool use_range_rate = true¶
include the range-rate row
-
Vec6d reference_state = Vec6d::Zero()¶
Reference (station) Cart6
[r, v]in the same frame as the target state.
-
double range_sigma_m = 1.0¶
range noise 1-sigma [m]
-
double range_rate_sigma_mps = 1.0e-3¶
range-rate noise 1-sigma [m/s]
-
bool use_range = true¶