Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef LIBSWIFTNAV_STUPID_FILTER_H
00014 #define LIBSWIFTNAV_STUPID_FILTER_H
00015
00016 #include "common.h"
00017 #include "constants.h"
00018 #include "single_diff.h"
00019
00020 typedef struct {
00021 s32 N[MAX_CHANNELS];
00022 } stupid_filter_state_t;
00023
00024 void amb_from_baseline(u8 num_sats, double *DE, double *dd_meas,
00025 double b[3], s32 *N);
00026 void init_stupid_filter(stupid_filter_state_t *s, u8 num_sats, sdiff_t *sdiffs, double *dd_measurements, double b[3], double ref_ecef[3]);
00027 void rebase_stupid_filter(stupid_filter_state_t *s, u8 num_sats, u8 *old_prns, u8 *new_prns);
00028 void update_sats_stupid_filter(stupid_filter_state_t *s, u8 num_old, u8 *old_prns, u8 num_new, sdiff_t *sdiffs, double *dd_measurements, double ref_ecef[3]);
00029 void update_stupid_filter(stupid_filter_state_t *s, u8 num_sats, sdiff_t *sdiffs,
00030 double *dd_measurements, double b[3], double ref_ecef[3]);
00031 void lesq_solution(u8 num_dds, double *dd_meas, s32 *N, double *DE, double b[3], double *resid);
00032
00033 #endif
00034