Functions | |
| void | assign_dd_obs_cov (u8 num_dds, double phase_var, double code_var, double *dd_obs_cov) |
| void | assign_de_mtx (u8 num_sats, sdiff_t *sats_with_ref_first, double ref_ecef[3], double *DE) |
| void | assign_H_prime (u8 res_dim, u8 constraint_dim, u8 num_dds, double *Q, double *U_inv, double *H_prime) |
| void | assign_phase_obs_null_basis (u8 num_dds, double *DE_mtx, double *q) |
| void | assign_residual_obs_cov (u8 num_dds, double phase_var, double code_var, double *q, double *r_cov) |
| void | assign_simple_sig (u8 num_dds, double var, double *simple_cov) |
| void | assign_state_rebase_mtx (u8 num_sats, u8 *old_prns, u8 *new_prns, double *rebase_mtx) |
| void | diffuse_state (nkf_t *kf) |
| s32 | find_index_of_element_in_u8s (u32 num_elements, u8 x, u8 *list) |
| void | get_kf_matrices (u8 num_sdiffs, sdiff_t *sdiffs_with_ref_first, double ref_ecef[3], double phase_var, double code_var, double *null_basis_Q, double *U_inv, double *D, double *H_prime) |
| void | incorporate_obs (nkf_t *kf, double *decor_obs) |
| void | incorporate_scalar_measurement (u32 state_dim, double *h, double R, double *U, double *D, double *k) |
| void | initialize_state (nkf_t *kf, double *dd_measurements, double init_var) |
| void | invert_U (u8 res_dim, double *U) |
| void | least_squares_solve_b (nkf_t *kf, sdiff_t *sdiffs_with_ref_first, double *dd_measurements, double ref_ecef[3], double b[3]) |
| void | least_squares_solve_b_external_ambs (u8 num_dds_u8, double *ambs, sdiff_t *sdiffs_with_ref_first, double *dd_measurements, double ref_ecef[3], double b[3]) |
| void | make_residual_measurements (nkf_t *kf, double *measurements, double *resid_measurements) |
| void | nkf_state_inclusion (nkf_t *kf, u8 num_old_non_ref_sats, u8 num_new_non_ref_sats, u8 *ndx_of_old_sat_in_new, double int_init_var) |
| void | nkf_state_projection (nkf_t *kf, u8 num_old_non_ref_sats, u8 num_new_non_ref_sats, u8 *ndx_of_new_sat_in_old) |
| void | nkf_update (nkf_t *kf, double *measurements) |
| void | QR_part1 (integer m, integer n, double *A, double *tau) |
| void | QR_part2 (integer m, integer n, double *A, double *tau) |
| void | rebase_covariance_sigma (double *state_cov, u8 num_sats, u8 *old_prns, u8 *new_prns) |
| void | rebase_covariance_udu (double *state_cov_U, double *state_cov_D, u8 num_sats, u8 *old_prns, u8 *new_prns) |
| void | rebase_mean_N (double *mean, u8 num_sats, u8 *old_prns, u8 *new_prns) |
| void | rebase_nkf (nkf_t *kf, u8 num_sats, u8 *old_prns, u8 *new_prns) |
| void | set_nkf (nkf_t *kf, double amb_drift_var, double phase_var, double code_var, double amb_init_var, u8 num_sdiffs, sdiff_t *sdiffs_with_ref_first, double *dd_measurements, double ref_ecef[3]) |
| void | set_nkf_matrices (nkf_t *kf, double phase_var, double code_var, u8 num_sdiffs, sdiff_t *sdiffs_with_ref_first, double ref_ecef[3]) |
Preliminary integer ambiguity estimation with a Kalman Filter.
| void assign_dd_obs_cov | ( | u8 | num_dds, |
| double | phase_var, | ||
| double | code_var, | ||
| double * | dd_obs_cov | ||
| ) |
| void assign_de_mtx | ( | u8 | num_sats, |
| sdiff_t * | sats_with_ref_first, | ||
| double | ref_ecef[3], | ||
| double * | DE | ||
| ) |
| void assign_H_prime | ( | u8 | res_dim, |
| u8 | constraint_dim, | ||
| u8 | num_dds, | ||
| double * | Q, | ||
| double * | U_inv, | ||
| double * | H_prime | ||
| ) |
| void assign_phase_obs_null_basis | ( | u8 | num_dds, |
| double * | DE_mtx, | ||
| double * | q | ||
| ) |
| void assign_residual_obs_cov | ( | u8 | num_dds, |
| double | phase_var, | ||
| double | code_var, | ||
| double * | q, | ||
| double * | r_cov | ||
| ) |
| void assign_simple_sig | ( | u8 | num_dds, |
| double | var, | ||
| double * | simple_cov | ||
| ) |
| void assign_state_rebase_mtx | ( | u8 | num_sats, |
| u8 * | old_prns, | ||
| u8 * | new_prns, | ||
| double * | rebase_mtx | ||
| ) |
| void diffuse_state | ( | nkf_t * | kf | ) |
| s32 find_index_of_element_in_u8s | ( | u32 | num_elements, |
| u8 | x, | ||
| u8 * | list | ||
| ) |
| void get_kf_matrices | ( | u8 | num_sdiffs, |
| sdiff_t * | sdiffs_with_ref_first, | ||
| double | ref_ecef[3], | ||
| double | phase_var, | ||
| double | code_var, | ||
| double * | null_basis_Q, | ||
| double * | U_inv, | ||
| double * | D, | ||
| double * | H_prime | ||
| ) |
| void incorporate_obs | ( | nkf_t * | kf, |
| double * | decor_obs | ||
| ) |
| void incorporate_scalar_measurement | ( | u32 | state_dim, |
| double * | h, | ||
| double | R, | ||
| double * | U, | ||
| double * | D, | ||
| double * | k | ||
| ) |
| void initialize_state | ( | nkf_t * | kf, |
| double * | dd_measurements, | ||
| double | init_var | ||
| ) |
| void least_squares_solve_b | ( | nkf_t * | kf, |
| sdiff_t * | sdiffs_with_ref_first, | ||
| double * | dd_measurements, | ||
| double | ref_ecef[3], | ||
| double | b[3] | ||
| ) |
A least squares solution for baseline from phases using the KF state. This uses the current state of the KF and a set of phase observations to solve for the current baseline.
| kf | The Kalman filter struct. |
| sdiffs_with_ref_first | A list of sdiffs. The first in the list must be the reference sat of the KF, and the rest must correspond to the KF's DD amb estimates' sats. |
| dd_measurements | A vector of carrier phases. They must be double differenced and ordered according to the sdiffs and KF's sats (which must match each other). |
| ref_ecef | The reference position in ECEF frame, for computing the sat direction vectors. |
| b | The output baseline in meters. |
| void least_squares_solve_b_external_ambs | ( | u8 | num_dds_u8, |
| double * | ambs, | ||
| sdiff_t * | sdiffs_with_ref_first, | ||
| double * | dd_measurements, | ||
| double | ref_ecef[3], | ||
| double | b[3] | ||
| ) |
| void make_residual_measurements | ( | nkf_t * | kf, |
| double * | measurements, | ||
| double * | resid_measurements | ||
| ) |
| void nkf_state_inclusion | ( | nkf_t * | kf, |
| u8 | num_old_non_ref_sats, | ||
| u8 | num_new_non_ref_sats, | ||
| u8 * | ndx_of_old_sat_in_new, | ||
| double | int_init_var | ||
| ) |
| void nkf_state_projection | ( | nkf_t * | kf, |
| u8 | num_old_non_ref_sats, | ||
| u8 | num_new_non_ref_sats, | ||
| u8 * | ndx_of_new_sat_in_old | ||
| ) |
| void nkf_update | ( | nkf_t * | kf, |
| double * | measurements | ||
| ) |
| void rebase_covariance_sigma | ( | double * | state_cov, |
| u8 | num_sats, | ||
| u8 * | old_prns, | ||
| u8 * | new_prns | ||
| ) |
| void rebase_covariance_udu | ( | double * | state_cov_U, |
| double * | state_cov_D, | ||
| u8 | num_sats, | ||
| u8 * | old_prns, | ||
| u8 * | new_prns | ||
| ) |
| void rebase_mean_N | ( | double * | mean, |
| u8 | num_sats, | ||
| u8 * | old_prns, | ||
| u8 * | new_prns | ||
| ) |
| void rebase_nkf | ( | nkf_t * | kf, |
| u8 | num_sats, | ||
| u8 * | old_prns, | ||
| u8 * | new_prns | ||
| ) |