Go to the source code of this file.
Classes | |
struct | dgnss_settings_t |
Defines | |
#define | DEFAULT_AMB_DRIFT_VAR 1e-8 |
#define | DEFAULT_AMB_INIT_VAR 1e8 |
#define | DEFAULT_CODE_VAR_KF (100 * 400) |
#define | DEFAULT_CODE_VAR_TEST (100 * 400) |
#define | DEFAULT_NEW_INT_VAR 1e10 |
#define | DEFAULT_PHASE_VAR_KF (9e-4 * 16) |
#define | DEFAULT_PHASE_VAR_TEST (9e-4 * 16) |
Functions | |
s8 | _dgnss_low_latency_float_baseline (u8 num_sdiffs, sdiff_t *sdiffs, double ref_ecef[3], u8 *num_used, double b[3]) |
s8 | _dgnss_low_latency_IAR_baseline (u8 num_sdiffs, sdiff_t *sdiffs, double ref_ecef[3], u8 *num_used, double b[3]) |
void | dgnss_fixed_baseline (u8 n, sdiff_t *sdiffs, double ref_ecef[3], u8 *num_used, double b[3]) |
s8 | dgnss_fixed_baseline2 (u8 num_sdiffs, sdiff_t *sdiffs, double ref_ecef[3], u8 *num_used, double b[3]) |
void | dgnss_float_baseline (u8 *num_used, double b[3]) |
s8 | dgnss_iar_get_single_hyp (double *hyp) |
u8 | dgnss_iar_MLE_ambs (s32 *ambs) |
u32 | dgnss_iar_num_hyps (void) |
u32 | dgnss_iar_num_sats (void) |
u8 | dgnss_iar_pool_contains (double *ambs) |
s8 | dgnss_iar_resolved (void) |
void | dgnss_init (u8 num_sats, sdiff_t *sdiffs, double reciever_ecef[3]) |
void | dgnss_init_known_baseline (u8 num_sats, sdiff_t *sdiffs, double receiver_ecef[3], double b[3]) |
s8 | dgnss_low_latency_baseline (u8 num_sdiffs, sdiff_t *sdiffs, double ref_ecef[3], u8 *num_used, double b[3]) |
void | dgnss_new_float_baseline (u8 num_sats, sdiff_t *sdiffs, double ref_ecef[3], u8 *num_used, double b[3]) |
void | dgnss_rebase_ref (u8 num_sats, sdiff_t *sdiffs, double reciever_ecef[3], u8 old_prns[MAX_CHANNELS], sdiff_t *corrected_sdiffs) |
void | dgnss_reset_iar (void) |
void | dgnss_set_settings (double phase_var_test, double code_var_test, double phase_var_kf, double code_var_kf, double amb_drift_var, double amb_init_var, double new_int_var) |
void | dgnss_update (u8 num_sats, sdiff_t *sdiffs, double reciever_ecef[3]) |
u8 | get_amb_kf_cov (double *cov) |
u8 | get_amb_kf_de_and_phase (u8 num_sdiffs, sdiff_t *sdiffs, double ref_ecef[3], double *de, double *phase) |
u8 | get_amb_kf_mean (double *ambs) |
u8 | get_amb_kf_prns (u8 *prns) |
u8 | get_amb_test_prns (u8 *prns) |
nkf_t * | get_dgnss_nkf (void) |
u8 | get_iar_de_and_phase (u8 num_sdiffs, sdiff_t *sdiffs, double ref_ecef[3], double *de, double *phase) |
sats_management_t * | get_sats_management (void) |
s32 * | get_stupid_filter_ints (void) |
void | make_measurements (u8 num_diffs, sdiff_t *sdiffs, double *raw_measurements) |
void | measure_amb_kf_b (double reciever_ecef[3], u8 num_sdiffs, sdiff_t *sdiffs, double *b) |
void | measure_b_with_external_ambs (double reciever_ecef[3], u8 num_sdiffs, sdiff_t *sdiffs, double *ambs, double *b) |
void | measure_iar_b_with_external_ambs (double reciever_ecef[3], u8 num_sdiffs, sdiff_t *sdiffs, double *ambs, double *b) |
Variables | |
dgnss_settings_t | dgnss_settings |
#define DEFAULT_AMB_DRIFT_VAR 1e-8 |
Definition at line 23 of file dgnss_management.h.
#define DEFAULT_AMB_INIT_VAR 1e8 |
Definition at line 24 of file dgnss_management.h.
#define DEFAULT_CODE_VAR_KF (100 * 400) |
Definition at line 22 of file dgnss_management.h.
#define DEFAULT_CODE_VAR_TEST (100 * 400) |
Definition at line 20 of file dgnss_management.h.
#define DEFAULT_NEW_INT_VAR 1e10 |
Definition at line 25 of file dgnss_management.h.
#define DEFAULT_PHASE_VAR_KF (9e-4 * 16) |
Definition at line 21 of file dgnss_management.h.
#define DEFAULT_PHASE_VAR_TEST (9e-4 * 16) |
Definition at line 19 of file dgnss_management.h.
s8 _dgnss_low_latency_float_baseline | ( | u8 | num_sdiffs, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
u8 * | num_used, | ||
double | b[3] | ||
) |
Constructs a low latency float baseline measurement. The sdiffs have no particular reason (other than a general tendency brought by hysteresis) to match up with the float filter's sats, so we have to check if we can solve. For now, unless the sdiffs are a superset of the float sats, we don't solve.
solve whenever the information is there.
since we're now using make_dd_measurements_and_sdiffs outside of the amb_test context, pull it into another file.
pull this function into the KF, once we pull the sats_management struct into the KF too. When we do, do the same for the IAR low lat solution.
num_sdiffs | The number of sdiffs input. |
sdiffs | The sdiffs used to measure. (These should be a superset of the float sats). |
ref_ecef | The reference position used for solving, and making observation matrices. |
num_used | The number of sats actually used to compute the baseline. |
b | The baseline computed. |
Definition at line 532 of file dgnss_management.c.
s8 _dgnss_low_latency_IAR_baseline | ( | u8 | num_sdiffs, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
u8 * | num_used, | ||
double | b[3] | ||
) |
Constructs a low latency IAR resolved baseline measurement. The sdiffs have no particular reason (other than a general tendency brought by hysteresis) to match up with the IAR sats, so we have to check if we can solve. For now, unless the sdiffs are a superset of the IAR sats, we don't solve.
, solve whenever we can
since we're now using make_dd_measurements_and_sdiffs outside of the amb_test context, pull it into another file.
pull this into the IAR file when we do the same for the float low lat solution.
num_sdiffs | The number of sdiffs input. |
sdiffs | The sdiffs used to measure. (These should be a superset of the float sats). |
ref_ecef | The reference position used for solving, and making observation matrices. |
num_used | The number of sats actually used to compute the baseline. |
b | The baseline computed. |
Definition at line 589 of file dgnss_management.c.
void dgnss_fixed_baseline | ( | u8 | n, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
u8 * | num_used, | ||
double | b[3] | ||
) |
Definition at line 428 of file dgnss_management.c.
s8 dgnss_fixed_baseline2 | ( | u8 | num_sdiffs, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
u8 * | num_used, | ||
double | b[3] | ||
) |
Definition at line 450 of file dgnss_management.c.
void dgnss_float_baseline | ( | u8 * | num_used, |
double | b[3] | ||
) |
s8 dgnss_iar_get_single_hyp | ( | double * | hyp | ) |
Definition at line 394 of file dgnss_management.c.
u8 dgnss_iar_MLE_ambs | ( | s32 * | ambs | ) |
Definition at line 1013 of file dgnss_management.c.
u32 dgnss_iar_num_hyps | ( | void | ) |
Definition at line 380 of file dgnss_management.c.
u32 dgnss_iar_num_sats | ( | void | ) |
Definition at line 389 of file dgnss_management.c.
u8 dgnss_iar_pool_contains | ( | double * | ambs | ) |
Definition at line 1008 of file dgnss_management.c.
s8 dgnss_iar_resolved | ( | void | ) |
Definition at line 1003 of file dgnss_management.c.
void dgnss_init | ( | u8 | num_sats, |
sdiff_t * | sdiffs, | ||
double | reciever_ecef[3] | ||
) |
Definition at line 108 of file dgnss_management.c.
void dgnss_init_known_baseline | ( | u8 | num_sats, |
sdiff_t * | sdiffs, | ||
double | receiver_ecef[3], | ||
double | b[3] | ||
) |
Definition at line 679 of file dgnss_management.c.
s8 dgnss_low_latency_baseline | ( | u8 | num_sdiffs, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
u8 * | num_used, | ||
double | b[3] | ||
) |
Finds the baseline using low latency sdiffs. The low latency sdiffs are not guaranteed to match up with either the amb_test's or the float sdiffs, and thus care must be taken to transform them accordingly and check their availability in those sat sets.
num_sdiffs | The number of low-latency sdiffs provided. |
sdiffs | The low-latency sdiffs. |
ref_ecef | The referece position for the baseline. (TODO is this the local or remote receiver position?) |
num_used | Output number of sdiffs actually used in the baseline estimate. |
b | Output baseline. |
Definition at line 643 of file dgnss_management.c.
void dgnss_new_float_baseline | ( | u8 | num_sats, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
u8 * | num_used, | ||
double | b[3] | ||
) |
Definition at line 405 of file dgnss_management.c.
void dgnss_rebase_ref | ( | u8 | num_sats, |
sdiff_t * | sdiffs, | ||
double | reciever_ecef[3], | ||
u8 | old_prns[MAX_CHANNELS], | ||
sdiff_t * | corrected_sdiffs | ||
) |
Definition at line 174 of file dgnss_management.c.
void dgnss_reset_iar | ( | void | ) |
Definition at line 673 of file dgnss_management.c.
void dgnss_set_settings | ( | double | phase_var_test, |
double | code_var_test, | ||
double | phase_var_kf, | ||
double | code_var_kf, | ||
double | amb_drift_var, | ||
double | amb_init_var, | ||
double | new_int_var | ||
) |
Definition at line 39 of file dgnss_management.c.
void dgnss_update | ( | u8 | num_sats, |
sdiff_t * | sdiffs, | ||
double | reciever_ecef[3] | ||
) |
Definition at line 295 of file dgnss_management.c.
u8 get_amb_kf_cov | ( | double * | cov | ) |
Definition at line 984 of file dgnss_management.c.
u8 get_amb_kf_de_and_phase | ( | u8 | num_sdiffs, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
double * | de, | ||
double * | phase | ||
) |
Definition at line 957 of file dgnss_management.c.
u8 get_amb_kf_mean | ( | double * | ambs | ) |
Definition at line 977 of file dgnss_management.c.
u8 get_amb_kf_prns | ( | u8 * | prns | ) |
Definition at line 991 of file dgnss_management.c.
u8 get_amb_test_prns | ( | u8 * | prns | ) |
Definition at line 997 of file dgnss_management.c.
nkf_t* get_dgnss_nkf | ( | void | ) |
Definition at line 1019 of file dgnss_management.c.
u8 get_iar_de_and_phase | ( | u8 | num_sdiffs, |
sdiff_t * | sdiffs, | ||
double | ref_ecef[3], | ||
double * | de, | ||
double * | phase | ||
) |
Definition at line 967 of file dgnss_management.c.
sats_management_t* get_sats_management | ( | void | ) |
Definition at line 1029 of file dgnss_management.c.
s32* get_stupid_filter_ints | ( | void | ) |
Definition at line 1024 of file dgnss_management.c.
void make_measurements | ( | u8 | num_diffs, |
sdiff_t * | sdiffs, | ||
double * | raw_measurements | ||
) |
Definition at line 53 of file dgnss_management.c.
void measure_amb_kf_b | ( | double | reciever_ecef[3], |
u8 | num_sdiffs, | ||
sdiff_t * | sdiffs, | ||
double * | b | ||
) |
Definition at line 810 of file dgnss_management.c.
void measure_b_with_external_ambs | ( | double | reciever_ecef[3], |
u8 | num_sdiffs, | ||
sdiff_t * | sdiffs, | ||
double * | ambs, | ||
double * | b | ||
) |
Definition at line 844 of file dgnss_management.c.
void measure_iar_b_with_external_ambs | ( | double | reciever_ecef[3], |
u8 | num_sdiffs, | ||
sdiff_t * | sdiffs, | ||
double * | ambs, | ||
double * | b | ||
) |
Definition at line 878 of file dgnss_management.c.
Definition at line 29 of file dgnss_management.c.