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 | ||
) |