EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
MeasurementModel.h File Reference

Measurement models and their observations (decisions.md [model-policies], [sensors], [linear-sensors], [measurement-space-functions], [templated-measurements], [method-per-measurement]): the MeasurementFunction that measurementModel() builds from a function, a matrix, or Columns and its policies, or from a likelihood alone; CountFrom, a measurement space that repeats with a block of the state; the MeasurementModel concept; Observed, what observe() makes of a model, a method, an observation, and the call's inputs, and the Measurement concept a filter's update() takes. More...

#include <array>
#include <concepts>
#include <cstddef>
#include <functional>
#include <tuple>
#include <type_traits>
#include <utility>
#include <EmrysFilter/Core/Forwarding.h>
#include <EmrysFilter/Core/Macros.h>
#include <EmrysFilter/Distributions/Gaussian.h>
#include <EmrysFilter/Distributions/Roots.h>
#include <EmrysFilter/Models/Condition.h>
#include <EmrysFilter/Models/Methods.h>
#include <EmrysFilter/Models/Policies.h>
#include <EmrysFilter/Models/TransformArgs.h>
#include <EmrysFilter/Spaces/Composite.h>
#include <EmrysFilter/Spaces/Coordinates.h>
#include <EmrysFilter/Spaces/Space.h>
#include <EmrysFilter/Spaces/Subspace.h>
#include <EmrysFilter/Spaces/TagPath.h>

Go to the source code of this file.

Classes

struct  Emrys::CountFrom< Path, MeasurementSpace >
 The measurement space function of a model whose measurement has a block of MeasurementSpace per repetition of the state's block Path, given to outputSpace() (decisions.md [measurement-space-functions]). More...
class  Emrys::MeasurementFunction< F, Policies >
 A measurement model: a function \( h \) of its input, with the policies that say what it reads, what it writes, and what it is affine in, and its noise (decisions.md [model-policies]). More...
class  Emrys::Columns< Placed >
 The matrix \( H \) of a linear measurement model by its columns: a matrix per block of the state read, each placed by tag path with on() or onEach() (decisions.md [linear-sensors]). More...
class  Emrys::Observed< Method, Model, Observation, Args >
 An observation of a measurement model: the observed value, the model, the method that pushes the state through it, and the inputs of the call, as observe() makes it (decisions.md [templated-measurements], [method-per-measurement], [model-policies]). More...

Concepts

concept  Emrys::MeasurementModel
 A measurement model: what measurementModel() returns, or a composition of such models (decisions.md [model-policies]).
concept  Emrys::Measurement
 A measurement: an observed value with its model and the call's inputs, and the method a Kalman update pushes the state through, as observe() makes it; what update() and every filter's update() take (decisions.md [templated-measurements]).

Functions

template<typename F, typename... Policies>
requires (!MatrixExpression<F> && !internal::ModelPolicy<F> && !internal::isColumns<std::remove_cvref_t<F>>)
auto Emrys::measurementModel (F &&function, Policies &&... policies)
template<MatrixExpression Matrix, typename... Policies>
auto Emrys::measurementModel (Matrix &&matrix, Policies &&... policies)
template<typename... Placed, typename... Policies>
auto Emrys::measurementModel (Columns< Placed... > columns, Policies &&... policies)
template<internal::ModelPolicy... Policies>
auto Emrys::measurementModel (Policies &&... policies)
template<TransformMethod Method, typename M, MatrixExpression Z, typename... Args>
requires MeasurementModel<std::unwrap_ref_decay_t<M>>
auto Emrys::observe (Method method, M &&model, Z &&observation, Args &&... args)
template<typename M, MatrixExpression Z, typename... Args>
requires MeasurementModel<std::unwrap_ref_decay_t<M>>
auto Emrys::observe (M &&model, Z &&observation, Args &&... args)

Detailed Description

Measurement models and their observations (decisions.md [model-policies], [sensors], [linear-sensors], [measurement-space-functions], [templated-measurements], [method-per-measurement]): the MeasurementFunction that measurementModel() builds from a function, a matrix, or Columns and its policies, or from a likelihood alone; CountFrom, a measurement space that repeats with a block of the state; the MeasurementModel concept; Observed, what observe() makes of a model, a method, an observation, and the call's inputs, and the Measurement concept a filter's update() takes.

How an update reads one is in MeasurementReads.h. Read Measurement.h next.