Functions
Float Ambiguity Resolution

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

Detailed Description

Preliminary integer ambiguity estimation with a Kalman Filter.


Function Documentation

void assign_dd_obs_cov ( u8  num_dds,
double  phase_var,
double  code_var,
double *  dd_obs_cov 
)

Definition at line 561 of file amb_kf.c.

void assign_de_mtx ( u8  num_sats,
sdiff_t sats_with_ref_first,
double  ref_ecef[3],
double *  DE 
)

Definition at line 241 of file amb_kf.c.

void assign_H_prime ( u8  res_dim,
u8  constraint_dim,
u8  num_dds,
double *  Q,
double *  U_inv,
double *  H_prime 
)

Definition at line 652 of file amb_kf.c.

void assign_phase_obs_null_basis ( u8  num_dds,
double *  DE_mtx,
double *  q 
)

Definition at line 537 of file amb_kf.c.

void assign_residual_obs_cov ( u8  num_dds,
double  phase_var,
double  code_var,
double *  q,
double *  r_cov 
)

Definition at line 579 of file amb_kf.c.

void assign_simple_sig ( u8  num_dds,
double  var,
double *  simple_cov 
)

Definition at line 630 of file amb_kf.c.

void assign_state_rebase_mtx ( u8  num_sats,
u8 old_prns,
u8 new_prns,
double *  rebase_mtx 
)

Definition at line 799 of file amb_kf.c.

void diffuse_state ( nkf_t kf)

Definition at line 203 of file amb_kf.c.

s32 find_index_of_element_in_u8s ( u32  num_elements,
u8  x,
u8 list 
)

Definition at line 768 of file amb_kf.c.

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 
)

Definition at line 685 of file amb_kf.c.

void incorporate_obs ( nkf_t kf,
double *  decor_obs 
)

In place updating of the state mean and covariances to use the (decorrelated) observations This is directly from section 10.2.1 of Gibbs [1]

Definition at line 155 of file amb_kf.c.

void incorporate_scalar_measurement ( u32  state_dim,
double *  h,
double  R,
double *  U,
double *  D,
double *  k 
)

In place updating of the state cov and k vec using a scalar observation This is from section 10.2.1 of Gibbs [1], with some extra logic for handling singular matrices, dictating that zeros from cov_D dominate.

Definition at line 43 of file amb_kf.c.

void initialize_state ( nkf_t kf,
double *  dd_measurements,
double  init_var 
)

Definition at line 487 of file amb_kf.c.

void invert_U ( u8  res_dim,
double *  U 
)

Definition at line 619 of file amb_kf.c.

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.

Parameters:
kfThe Kalman filter struct.
sdiffs_with_ref_firstA 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_measurementsA 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_ecefThe reference position in ECEF frame, for computing the sat direction vectors.
bThe output baseline in meters.

Definition at line 351 of file amb_kf.c.

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

Definition at line 423 of file amb_kf.c.

void make_residual_measurements ( nkf_t kf,
double *  measurements,
double *  resid_measurements 
)

Definition at line 190 of file amb_kf.c.

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 
)

Definition at line 889 of file amb_kf.c.

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 
)

Definition at line 859 of file amb_kf.c.

void nkf_update ( nkf_t kf,
double *  measurements 
)

In place updating of the state mean and covariance. Modifies measurements.

Definition at line 213 of file amb_kf.c.

void QR_part1 ( integer  m,
integer  n,
double *  A,
double *  tau 
)

Definition at line 499 of file amb_kf.c.

void QR_part2 ( integer  m,
integer  n,
double *  A,
double *  tau 
)

Definition at line 520 of file amb_kf.c.

void rebase_covariance_sigma ( double *  state_cov,
u8  num_sats,
u8 old_prns,
u8 new_prns 
)

Definition at line 819 of file amb_kf.c.

void rebase_covariance_udu ( double *  state_cov_U,
double *  state_cov_D,
u8  num_sats,
u8 old_prns,
u8 new_prns 
)

Definition at line 843 of file amb_kf.c.

void rebase_mean_N ( double *  mean,
u8  num_sats,
u8 old_prns,
u8 new_prns 
)

Definition at line 778 of file amb_kf.c.

void rebase_nkf ( nkf_t kf,
u8  num_sats,
u8 old_prns,
u8 new_prns 
)

Definition at line 853 of file amb_kf.c.

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

Definition at line 724 of file amb_kf.c.

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

Definition at line 751 of file amb_kf.c.



swiftnav
Author(s):
autogenerated on Sat Jun 8 2019 18:57:01