![]() |
0.5.0
|
Namespaces | |
namespace | internal |
Functions | |
template<typename DerivedA, typename DerivedQ, typename DerivedL, typename DerivedD> | |
double | calcChi2 (const Eigen::MatrixBase< DerivedA > &a, const Eigen::MatrixBase< DerivedQ > &Q, const Eigen::MatrixBase< DerivedL > &L_LTDL_Q, const Eigen::MatrixBase< DerivedD > &D_LTDL_Q, const Eigen::Index &ncand=2, double factor=1.5) |
Calculates | |
double | criticalValueFailureRateLookup (double Pf, double Pf_ILS, size_t nAmb) |
Look-up table for the critical value µ, depending on failure rate Pf_ILS. | |
template<typename DerivedA, typename DerivedQ> | |
std::optional< std::tuple< typename DerivedQ::PlainObject, typename DerivedQ::PlainObject, typename DerivedQ::PlainObject, typename DerivedA::PlainObject, typename DerivedA::PlainObject > > | decorrelate_ztrafo (const Eigen::MatrixBase< DerivedA > &a, const Eigen::MatrixBase< DerivedQ > &Q) |
Decorrelates the ambiguities. | |
template<typename DerivedAFix1, typename DerivedAFix2, typename DerivedAFloat, typename DerivedQ> | |
bool | differenceTest (const Eigen::MatrixBase< DerivedAFix1 > &aFix1, const Eigen::MatrixBase< DerivedAFix2 > &aFix2, const Eigen::MatrixBase< DerivedAFloat > &aFloat, const Eigen::MatrixBase< DerivedQ > &Qa, double criticalValue) |
Difference test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::DifferenceTest. | |
bool | differenceTest (double sqNormFix1, double sqNormFix2, double criticalValue) |
Difference test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::DifferenceTest. | |
template<typename DerivedAFix1, typename DerivedAFix2, typename DerivedAFloat, typename DerivedQ, typename DerivedD> | |
bool | fixedFailureRateRatioTest (double Pf, const Eigen::MatrixBase< DerivedAFix1 > &aFix1, const Eigen::MatrixBase< DerivedAFix2 > &aFix2, const Eigen::MatrixBase< DerivedAFloat > &aFloat, const Eigen::MatrixBase< DerivedQ > &Qa, const Eigen::MatrixBase< DerivedD > &D_LTDL_Q) |
Ratio test with a fixed-failure rate for ambiguity resolution, see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestFailureRate. | |
template<typename DerivedD> | |
bool | fixedFailureRateRatioTest (double Pf, double sqNormFix1, double sqNormFix2, size_t nAmb, const Eigen::MatrixBase< DerivedD > &D_LTDL_Q, bool validateBootstrappedSuccessRate=true) |
Ratio test with a fixed-failure rate for ambiguity resolution, see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestFailureRate. | |
template<typename DerivedA, typename DerivedQ, typename DerivedL, typename DerivedD> | |
std::pair< Eigen::MatrixXd, Eigen::VectorXd > | integerLeastSquaresSearch (const Eigen::MatrixBase< DerivedA > &a, const Eigen::MatrixBase< DerivedQ > &Q, const Eigen::MatrixBase< DerivedL > &L_LTDL_Q, const Eigen::MatrixBase< DerivedD > &D_LTDL_Q, const Eigen::Index &numCandidates=2) |
Performs an integer least-squares to search for integer candidates for the ambiguities. | |
template<typename DerivedA, typename DerivedL, typename DerivedD> | |
std::pair< Eigen::MatrixXd, Eigen::VectorXd > | integerLeastSquaresSearchAndShrink (const Eigen::MatrixBase< DerivedA > &zh, const Eigen::MatrixBase< DerivedL > &L_LTDL_Q, const Eigen::MatrixBase< DerivedD > &D_LTDL_Q, const Eigen::Index &numCandidates=2) |
Performs an integer least-squares to search for integer candidates for the ambiguities using the search-and-shrink technique (MLAMBDA) | |
template<typename DerivedA, typename DerivedQ> | |
DerivedA::PlainObject | integerSearchBootstrapping (const Eigen::MatrixBase< DerivedA > &a, const Eigen::MatrixBase< DerivedQ > &Qa) |
Searches for the integer ambiguities by integer bootstrapping. | |
template<typename Derived> | |
Derived::PlainObject | integerSearchRounding (const Eigen::MatrixBase< Derived > &a) |
Searches for the integer ambiguities by integer rounding. | |
template<typename DerivedAFix1, typename DerivedAFix2, typename DerivedAFloat, typename DerivedQ> | |
bool | projectorTest (const Eigen::MatrixBase< DerivedAFix1 > &aFix1, const Eigen::MatrixBase< DerivedAFix2 > &aFix2, const Eigen::MatrixBase< DerivedAFloat > &aFloat, const Eigen::MatrixBase< DerivedQ > &Qa, double mu) |
Projector test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::ProjectorTest. | |
template<typename DerivedAFix1, typename DerivedAFix2, typename DerivedAFloat, typename DerivedQ> | |
bool | ratioTest (const Eigen::MatrixBase< DerivedAFix1 > &aFix1, const Eigen::MatrixBase< DerivedAFix2 > &aFix2, const Eigen::MatrixBase< DerivedAFloat > &aFloat, const Eigen::MatrixBase< DerivedQ > &Qa, double mu) |
Ratio test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestCriticalValue. | |
bool | ratioTest (double sqNormFix1, double sqNormFix2, double mu) |
Ratio test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestCriticalValue. | |
template<typename Derived> | |
double | successRateBootstrapping (const Eigen::MatrixBase< Derived > &D_LTDL_Q) |
Calculates the bootstrapped success rate. |
Variables | |
std::unordered_map< double, std::vector< std::vector< double > > > | lookupTableFailureProbability |
double NAV::Ambiguity::calcChi2 | ( | const Eigen::MatrixBase< DerivedA > & | a, |
const Eigen::MatrixBase< DerivedQ > & | Q, | ||
const Eigen::MatrixBase< DerivedL > & | L_LTDL_Q, | ||
const Eigen::MatrixBase< DerivedD > & | D_LTDL_Q, | ||
const Eigen::Index & | ncand = 2, | ||
double | factor = 1.5 ) |
Calculates , the size of the ellipsoidal region.
[in] | a | Float ambiguity vector [cycles] |
[in] | Q | Variance/covariance matrix of the ambiguities |
[in] | L_LTDL_Q | Lower-triangular matrix from the L^T * D * L decomposition of Q |
[in] | D_LTDL_Q | Diagonal matrix from the L^T * D * L decomposition of Q |
[in] | ncand | Requested number of candidates (default = 2) |
[in] | factor | Multiplication factor for the volume of the resulting search ellipsoid (default = 1.5) |
Definition at line 129 of file EllipsoidalRegion.hpp.
double NAV::Ambiguity::criticalValueFailureRateLookup | ( | double | Pf, |
double | Pf_ILS, | ||
size_t | nAmb ) |
Look-up table for the critical value µ, depending on failure rate Pf_ILS.
Pf | Failure probability to not be higher |
Pf_ILS | Upper bound of the failure probability |
nAmb | Amount of ambiguities |
Definition at line 108 of file Validate.cpp.
|
nodiscard |
Decorrelates the ambiguities.
[in] | a | Float ambiguity vector [cycles] |
[in] | Q | Variance/covariance matrix of the ambiguities |
Definition at line 94 of file Decorrelation.hpp.
bool NAV::Ambiguity::differenceTest | ( | const Eigen::MatrixBase< DerivedAFix1 > & | aFix1, |
const Eigen::MatrixBase< DerivedAFix2 > & | aFix2, | ||
const Eigen::MatrixBase< DerivedAFloat > & | aFloat, | ||
const Eigen::MatrixBase< DerivedQ > & | Qa, | ||
double | criticalValue ) |
Difference test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::DifferenceTest.
[in] | aFix1 | Best integer ambiguities solution |
[in] | aFix2 | Second best integer ambiguities solution |
[in] | aFloat | Float ambiguities |
[in] | Qa | Covariance matrix of the ambiguities |
[in] | criticalValue | Critical value to check against (empirically determined value) |
Definition at line 51 of file Validate.hpp.
bool NAV::Ambiguity::differenceTest | ( | double | sqNormFix1, |
double | sqNormFix2, | ||
double | criticalValue ) |
Difference test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::DifferenceTest.
[in] | sqNormFix1 | Squared norm of the best integer ambiguities solution |
[in] | sqNormFix2 | Squared norm of the second best integer ambiguities solution |
[in] | criticalValue | Critical value to check against (empirically determined value) |
Definition at line 98 of file Validate.cpp.
bool NAV::Ambiguity::fixedFailureRateRatioTest | ( | double | Pf, |
const Eigen::MatrixBase< DerivedAFix1 > & | aFix1, | ||
const Eigen::MatrixBase< DerivedAFix2 > & | aFix2, | ||
const Eigen::MatrixBase< DerivedAFloat > & | aFloat, | ||
const Eigen::MatrixBase< DerivedQ > & | Qa, | ||
const Eigen::MatrixBase< DerivedD > & | D_LTDL_Q ) |
Ratio test with a fixed-failure rate for ambiguity resolution, see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestFailureRate.
[in] | Pf | Fixed-failure rate |
[in] | aFix1 | Best integer ambiguities solution |
[in] | aFix2 | Second best integer ambiguities solution |
[in] | aFloat | Float ambiguities |
[in] | Qa | Covariance matrix of the ambiguities |
[in] | D_LTDL_Q | Diagonal entries from the L^T * D * L decomposition of Q |
Definition at line 123 of file Validate.hpp.
bool NAV::Ambiguity::fixedFailureRateRatioTest | ( | double | Pf, |
double | sqNormFix1, | ||
double | sqNormFix2, | ||
size_t | nAmb, | ||
const Eigen::MatrixBase< DerivedD > & | D_LTDL_Q, | ||
bool | validateBootstrappedSuccessRate = true ) |
Ratio test with a fixed-failure rate for ambiguity resolution, see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestFailureRate.
[in] | Pf | Fixed-failure rate |
[in] | sqNormFix1 | Squared norm of the best integer ambiguities solution |
[in] | sqNormFix2 | Squared norm of the second best integer ambiguities solution |
[in] | nAmb | Number of ambiguities |
[in] | D_LTDL_Q | Diagonal entries from the L^T * D * L decomposition of Q |
[in] | validateBootstrappedSuccessRate | Whether to check the bootstrapped success rate before doing the ratio test |
Definition at line 149 of file Validate.hpp.
std::pair< Eigen::MatrixXd, Eigen::VectorXd > NAV::Ambiguity::integerLeastSquaresSearch | ( | const Eigen::MatrixBase< DerivedA > & | a, |
const Eigen::MatrixBase< DerivedQ > & | Q, | ||
const Eigen::MatrixBase< DerivedL > & | L_LTDL_Q, | ||
const Eigen::MatrixBase< DerivedD > & | D_LTDL_Q, | ||
const Eigen::Index & | numCandidates = 2 ) |
Performs an integer least-squares to search for integer candidates for the ambiguities.
[in] | a | Decorrelated float ambiguity vector [cycles] |
[in] | Q | Variance/covariance matrix of the ambiguities |
[in] | L_LTDL_Q | Lower-triangular matrix from the L^T * D * L decomposition of Q |
[in] | D_LTDL_Q | Diagonal entries from the L^T * D * L decomposition of Q |
[in] | numCandidates | Requested number of candidates (default = 2) |
Definition at line 79 of file Search.hpp.
std::pair< Eigen::MatrixXd, Eigen::VectorXd > NAV::Ambiguity::integerLeastSquaresSearchAndShrink | ( | const Eigen::MatrixBase< DerivedA > & | zh, |
const Eigen::MatrixBase< DerivedL > & | L_LTDL_Q, | ||
const Eigen::MatrixBase< DerivedD > & | D_LTDL_Q, | ||
const Eigen::Index & | numCandidates = 2 ) |
Performs an integer least-squares to search for integer candidates for the ambiguities using the search-and-shrink technique (MLAMBDA)
[in] | zh | Decorrelated float ambiguity vector [cycles] |
[in] | L_LTDL_Q | Lower-triangular matrix from the L^T * D * L decomposition of Q |
[in] | D_LTDL_Q | Diagonal entries from the L^T * D * L decomposition of Q |
[in] | numCandidates | Requested number of candidates (default = 2) |
Definition at line 243 of file Search.hpp.
DerivedA::PlainObject NAV::Ambiguity::integerSearchBootstrapping | ( | const Eigen::MatrixBase< DerivedA > & | a, |
const Eigen::MatrixBase< DerivedQ > & | Qa ) |
Searches for the integer ambiguities by integer bootstrapping.
[in] | a | Decorrelated float ambiguity vector [cycles] |
[in] | Qa | Variance/covariance matrix of the ambiguities |
Definition at line 48 of file Search.hpp.
Derived::PlainObject NAV::Ambiguity::integerSearchRounding | ( | const Eigen::MatrixBase< Derived > & | a | ) |
Searches for the integer ambiguities by integer rounding.
[in] | a | Float ambiguity vector [cycles] |
Definition at line 34 of file Search.hpp.
bool NAV::Ambiguity::projectorTest | ( | const Eigen::MatrixBase< DerivedAFix1 > & | aFix1, |
const Eigen::MatrixBase< DerivedAFix2 > & | aFix2, | ||
const Eigen::MatrixBase< DerivedAFloat > & | aFloat, | ||
const Eigen::MatrixBase< DerivedQ > & | Qa, | ||
double | mu ) |
Projector test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::ProjectorTest.
[in] | aFix1 | Best integer ambiguities solution |
[in] | aFix2 | Second best integer ambiguities solution |
[in] | aFloat | Float ambiguities |
[in] | Qa | Covariance matrix of the ambiguities |
[in] | mu | Critical value to check against, with range (0, 1] |
Definition at line 172 of file Validate.hpp.
bool NAV::Ambiguity::ratioTest | ( | const Eigen::MatrixBase< DerivedAFix1 > & | aFix1, |
const Eigen::MatrixBase< DerivedAFix2 > & | aFix2, | ||
const Eigen::MatrixBase< DerivedAFloat > & | aFloat, | ||
const Eigen::MatrixBase< DerivedQ > & | Qa, | ||
double | mu ) |
Ratio test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestCriticalValue.
[in] | aFix1 | Best integer ambiguities solution |
[in] | aFix2 | Second best integer ambiguities solution |
[in] | aFloat | Float ambiguities |
[in] | Qa | Covariance matrix of the ambiguities |
[in] | mu | Critical value to check against, with range (0, 1] |
Definition at line 83 of file Validate.hpp.
bool NAV::Ambiguity::ratioTest | ( | double | sqNormFix1, |
double | sqNormFix2, | ||
double | mu ) |
Ratio test for the ambiguity resolution see NAV::AmbiguityResolutionParameters::ValidationAlgorithm::RatioTestCriticalValue.
[in] | sqNormFix1 | Squared norm of the best integer ambiguities solution |
[in] | sqNormFix2 | Squared norm of the second best integer ambiguities solution |
[in] | mu | Critical value to check against, with range (0, 1] |
Definition at line 103 of file Validate.cpp.
double NAV::Ambiguity::successRateBootstrapping | ( | const Eigen::MatrixBase< Derived > & | D_LTDL_Q | ) |
Calculates the bootstrapped success rate.
[in] | D_LTDL_Q | Diagonal entries from the L^T * D * L decomposition of Q |
Definition at line 29 of file Validate.hpp.
std::unordered_map<double, std::vector<std::vector<double> > > NAV::Ambiguity::lookupTableFailureProbability |
Definition at line 27 of file Validate.cpp.