Class Measurement¶
Defined in File measurement.h
Inheritance Relationships¶
Derived Types¶
public lupnt::MeasurementClone< GnssMeasurement >(Template Class MeasurementClone)public lupnt::MeasurementClone< GroundStationRangeMeasurement >(Template Class MeasurementClone)public lupnt::MeasurementClone< IslCrosslinkMeasurement >(Template Class MeasurementClone)public lupnt::MeasurementClone< LunarGnssCombinedMeasurement >(Template Class MeasurementClone)public lupnt::MeasurementClone< Derived >(Template Class MeasurementClone)
Class Documentation¶
-
class Measurement¶
Abstract base class for a measurement model driven by a filter
Statevector.A concrete
Measurementowns its own measurement-model math and configuration (settings + state-index mapping, typically a nestedConfig). It maps an estimationStateto a predicted observable vectorz = h(x), optionally with its JacobianH = dh/dx(Compute, with an optionalHoutput), and can wrap itself into aFilterMeasurementFunctionfor direct use with theFilterfamily (CreateFunction).This is the base for state-vector measurements (GNSS, inter-satellite crosslinks, ground-station range/range-rate, etc.). Error-state (INS) measurements, whose Jacobian is taken with respect to a nav error state and depends on attitude, use the parallel
ErrorStateMeasurementbase instead.Subclassed by lupnt::MeasurementClone< GnssMeasurement >, lupnt::MeasurementClone< GroundStationRangeMeasurement >, lupnt::MeasurementClone< IslCrosslinkMeasurement >, lupnt::MeasurementClone< LunarGnssCombinedMeasurement >, lupnt::MeasurementClone< Derived >
Public Functions
-
virtual ~Measurement() = default¶
-
virtual MeasData Compute(const State &x, MatXd *H = nullptr) const = 0¶
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.
-
virtual Ptr<Measurement> Clone() const = 0¶
Polymorphic deep copy so
CreateFunction’s closure can own an independent copy of this model (avoids dangling references / slicing).
-
inline virtual FilterMeasurementFunction CreateFunction() const¶
Wrap this model into a
FilterMeasurementFunction(x, H, R) -> zsuitable forFilter::SetMeasurementFunction.The default implementation captures a
Clone()of this model and forwards toCompute(x, H), copying the returnedMeasData::covarianceintoR. Subclasses may override for specialized covariance/Jacobian handling.
-
virtual ~Measurement() = default¶