#include <clapack.h>
#include <inttypes.h>
#include <cblas.h>
#include <stdio.h>
#include <string.h>
#include "ambiguity_test.h"
#include "common.h"
#include "constants.h"
#include "linear_algebra.h"
#include "single_diff.h"
#include "amb_kf.h"
#include "lambda.h"
Go to the source code of this file.
Classes | |
struct | fold_contains_t |
struct | fold_mle_t |
struct | generate_hypothesis_state_t |
struct | hyp_filter_t |
struct | intersection_ndxs_t |
struct | rebase_prns_t |
struct | recorrelation_params_t |
Defines | |
#define | DEBUG_AMBIGUITY_TEST 0 |
#define | DECORRELATED_PHASE_BIAS_VAR 0 |
#define | LOG_PROB_RAT_THRESHOLD -90 |
#define | NUM_SEARCH_STDS 5 |
#define | RAW_PHASE_BIAS_VAR 0 |
Functions | |
static void | _check_unanimous (void *arg, element_t *elem) |
void | add_sats (ambiguity_test_t *amb_test, u8 ref_prn, u32 num_added_dds, u8 *added_prns, s32 *lower_bounds, s32 *upper_bounds, s32 *Z_inv) |
u8 | ambiguity_iar_can_solve (ambiguity_test_t *amb_test) |
u8 | ambiguity_sat_inclusion (ambiguity_test_t *amb_test, u8 num_dds_in_intersection, sats_management_t *float_sats, double *float_mean, double *float_cov_U, double *float_cov_D) |
u8 | ambiguity_sat_projection (ambiguity_test_t *amb_test, u8 num_dds_in_intersection, u8 *dd_intersection_ndxs) |
void | ambiguity_test_MLE_ambs (ambiguity_test_t *amb_test, s32 *ambs) |
u32 | ambiguity_test_n_hypotheses (ambiguity_test_t *amb_test) |
u8 | ambiguity_test_pool_contains (ambiguity_test_t *amb_test, double *ambs) |
u8 | ambiguity_update_reference (ambiguity_test_t *amb_test, u8 num_sdiffs, sdiff_t *sdiffs, sdiff_t *sdiffs_with_ref_first) |
u8 | ambiguity_update_sats (ambiguity_test_t *amb_test, u8 num_sdiffs, sdiff_t *sdiffs, sats_management_t *float_sats, double *float_mean, double *float_cov_U, double *float_cov_D) |
void | assign_r_mean (residual_mtxs_t *res_mtxs, u8 num_dds, double *hypothesis, double *r_mean) |
void | assign_r_vec (residual_mtxs_t *res_mtxs, u8 num_dds, double *dd_measurements, double *r_vec) |
void | assign_residual_covariance_inverse (u8 num_dds, double *obs_cov, double *q, double *r_cov_inv) |
void | check_unanimous_ambs (u8 num_dds, hypothesis_t *hyp, unanimous_amb_check_t *amb_check) |
void | create_ambiguity_test (ambiguity_test_t *amb_test) |
void | destroy_ambiguity_test (ambiguity_test_t *amb_test) |
s8 | determine_sats_addition (ambiguity_test_t *amb_test, double *float_N_cov, u8 num_float_dds, double *float_N_mean, s32 *lower_bounds, s32 *upper_bounds, u8 *num_dds_to_add, s32 *Z_inv) |
s8 | filter_all (void *arg, element_t *elem) |
s8 | filter_and_renormalize (void *arg, element_t *elem) |
u8 | find_indices_of_intersection_sats (ambiguity_test_t *amb_test, u8 num_sdiffs, sdiff_t *sdiffs_with_ref_first, u8 *intersection_ndxs) |
u32 | float_to_decor (ambiguity_test_t *amb_test, double *addible_float_cov, u8 num_addible_dds, double *addible_float_mean, u8 num_dds_to_add, s32 *lower_bounds, s32 *upper_bounds, double *Z) |
void | fold_contains (void *x, element_t *elem) |
void | fold_mle (void *x, element_t *elem) |
s8 | generate_next_hypothesis (void *x_, u32 n) |
double | get_quadratic_term (residual_mtxs_t *res_mtxs, u8 num_dds, double *hypothesis, double *r_vec) |
s8 | get_single_hypothesis (ambiguity_test_t *amb_test, s32 *hyp_N) |
void | hypothesis_prod (element_t *new_, void *x_, u32 n, element_t *elem_) |
void | init_ambiguity_test (ambiguity_test_t *amb_test, u8 state_dim, u8 *float_prns, sdiff_t *sdiffs, double *float_mean, double *float_cov, double *DE_mtx, double *obs_cov) |
void | init_residual_matrices (residual_mtxs_t *res_mtxs, u8 num_dds, double *DE_mtx, double *obs_cov) |
bool | is_prn_set (u8 len, u8 *prns) |
s8 | make_ambiguity_dd_measurements_and_sdiffs (ambiguity_test_t *amb_test, u8 num_sdiffs, sdiff_t *sdiffs, double *ambiguity_dd_measurements, sdiff_t *amb_sdiffs) |
s8 | make_ambiguity_resolved_dd_measurements_and_sdiffs (ambiguity_test_t *amb_test, u8 num_sdiffs, sdiff_t *sdiffs, double *ambiguity_dd_measurements, sdiff_t *amb_sdiffs) |
s8 | make_dd_measurements_and_sdiffs (u8 ref_prn, u8 *non_ref_prns, u8 num_dds, u8 num_sdiffs, sdiff_t *sdiffs, double *ambiguity_dd_measurements, sdiff_t *amb_sdiffs) |
void | print_double_mtx (double *m, u32 _r, u32 _c) |
void | print_hyp (void *arg, element_t *elem) |
void | print_pearson_mtx (double *m, u32 dim) |
void | print_s32_gemv (u32 m, u32 n, s32 *M, s32 *v) |
void | print_s32_mtx (u32 m, u32 n, s32 *mat) |
void | print_s32_mtx_diff (u32 m, u32 n, s32 *mat1, s32 *mat2) |
void | projection_aggregator (element_t *new_, void *x_, u32 n, element_t *elem_) |
s32 | projection_comparator (void *arg, element_t *a, element_t *b) |
void | rebase_hypothesis (void *arg, element_t *elem) |
void | recorrelate_added_sats (void *arg, element_t *elem_) |
void | reset_ambiguity_test (ambiguity_test_t *amb_test) |
s8 | sats_match (ambiguity_test_t *amb_test, u8 num_sdiffs, sdiff_t *sdiffs) |
void | test_ambiguities (ambiguity_test_t *amb_test, double *dd_measurements) |
void | update_ambiguity_test (double ref_ecef[3], double phase_var, double code_var, ambiguity_test_t *amb_test, u8 state_dim, sdiff_t *sdiffs, u8 changed_sats) |
void | update_and_get_max_ll (void *x_, element_t *elem) |
void | update_unanimous_ambiguities (ambiguity_test_t *amb_test) |
#define DEBUG_AMBIGUITY_TEST 0 |
Definition at line 31 of file ambiguity_test.c.
#define DECORRELATED_PHASE_BIAS_VAR 0 |
Definition at line 27 of file ambiguity_test.c.
#define LOG_PROB_RAT_THRESHOLD -90 |
Definition at line 29 of file ambiguity_test.c.
#define NUM_SEARCH_STDS 5 |
Definition at line 28 of file ambiguity_test.c.
#define RAW_PHASE_BIAS_VAR 0 |
Definition at line 26 of file ambiguity_test.c.