20#include <fmt/format.h>
46template<
typename StateKeyType>
62 template<
typename Scalar,
int Size>
79 template<
typename Scalar,
int Size>
84 for (
const auto& key : Phi.
rowKeys())
86 if (
const auto* bias = std::get_if<Keys::InterFreqBias>(&key))
88 Phi(*bias, *bias) = 1;
114 bool ShowGui(
float itemWidth,
float unitWidth,
const char*
id)
116 bool changed =
false;
127 0.0, 0.0,
"%.2e", ImGuiInputTextFlags_CharsScientific))
180struct hash<NAV::Keys::InterFreqBias>
186 return std::hash<NAV::Frequency>()(interFreqBias.
freq);
192#ifndef DOXYGEN_IGNORE
196struct fmt::formatter<NAV::Keys::InterFreqBias> : fmt::formatter<std::string>
202 template<
typename FormatContext>
203 auto format(
const NAV::Keys::InterFreqBias& interFreqBias, FormatContext& ctx)
const
205 return fmt::formatter<std::string>::format(fmt::format(
"InterFreqBias({})", interFreqBias.
freq), ctx);
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Frequency definition for different satellite systems.
double convertUnit(const double &value, Units::PositionUncertaintyUnits unit)
Converts the value depending on the unit provided.
Units used by the system model parameters.
CovarianceClkPhaseDriftUnits
Possible Units for the Standard deviation of the clock phase drift.
Definition Units.hpp:49
@ m2_s
[ m^2 / s ]
Definition Units.hpp:50
@ m_sqrts
[ m / √(s) ]
Definition Units.hpp:51
std::ostream & operator<<(std::ostream &os, const NAV::Keys::InterFreqBias &obj)
Stream insertion operator overload.
Utility class for logging to console and file.
#define LOG_DEBUG
Debug information. Should not be called on functions which receive observations (spamming)
Definition Logger.hpp:67
Frequency definition for different satellite systems.
Definition Frequency.hpp:59
Inter Frequency Bias System Model.
Definition InterFrequencyBiasModel.hpp:48
void updatePhiAndQ(KeyedMatrix< Scalar, StateKeyType, StateKeyType, Size, Size > &Phi, KeyedMatrix< Scalar, StateKeyType, StateKeyType, Size, Size > &Q, double dt)
Updates the provided Phi and Q matrix.
Definition InterFrequencyBiasModel.hpp:80
std::pair< double, double > calcPhiAndQ(double dt, const Frequency &freq)
Calculates the state transition matrix (𝚽) and the process noise covariance matrix (𝐐)
Definition InterFrequencyBiasModel.hpp:98
friend void to_json(json &j, const InterFrequencyBiasModel &data)
Converts the provided data into a json object.
Definition InterFrequencyBiasModel.hpp:149
double _covarianceInterFrequencyBias
Covariance of the inter-frequency bias [m²/s].
Definition InterFrequencyBiasModel.hpp:144
void initialize()
Initializes the inter-frequency bias.
Definition InterFrequencyBiasModel.hpp:51
double _gui_covarianceInterFrequencyBias
GUI selection for the Standard deviation of the inter-frequency bias.
Definition InterFrequencyBiasModel.hpp:142
bool ShowGui(float itemWidth, float unitWidth, const char *id)
Shows a GUI.
Definition InterFrequencyBiasModel.hpp:114
Units::CovarianceClkPhaseDriftUnits _gui_covarianceInterFrequencyBiasUnit
Gui selection for the Unit of the inter-frequency covarianceInterFrequencyBias parameter.
Definition InterFrequencyBiasModel.hpp:139
void initialize(Keys::InterFreqBias bias, KeyedMatrix< Scalar, StateKeyType, StateKeyType, Size, Size > &F, KeyedMatrix< Scalar, StateKeyType, StateKeyType, Size, Size > &G, KeyedMatrix< Scalar, StateKeyType, StateKeyType, Size, Size > &W)
Initializes the inter-frequency bias.
Definition InterFrequencyBiasModel.hpp:63
friend void from_json(const json &j, InterFrequencyBiasModel &data)
Converts the provided json object into the data object.
Definition InterFrequencyBiasModel.hpp:160
Static sized KeyedMatrix.
Definition KeyedMatrix.hpp:1921
const std::vector< RowKeyType > & rowKeys() const
Returns the row keys.
Definition KeyedMatrix.hpp:80
Inter-frequency bias.
Definition InterFrequencyBiasModel.hpp:35
bool operator==(const InterFreqBias &rhs) const
Equal comparison operator.
Definition InterFrequencyBiasModel.hpp:38
Frequency freq
Frequency.
Definition InterFrequencyBiasModel.hpp:40
size_t operator()(const NAV::Keys::InterFreqBias &interFreqBias) const
Hash function.
Definition InterFrequencyBiasModel.hpp:184
Matrix which can be accessed by keys.
static const internal::all_t all
Used to request all rows or columns in KeyedMatrices.
Definition KeyedMatrix.hpp:1457