34 #ifndef GNSS_SDR_RTKLIB_RKTPOS_H 35 #define GNSS_SDR_RTKLIB_RKTPOS_H 41 const double VAR_POS = std::pow(30.0, 2.0);
42 const double VAR_VEL = std::pow(10.0, 2.0);
43 const double VAR_ACC = std::pow(10.0, 2.0);
44 const double VAR_HWBIAS = std::pow(1.0, 2.0);
45 const double VAR_GRA = std::pow(0.001, 2.0);
46 const double INIT_ZWD = 0.15;
48 const double PRN_HWBIA = 1E-6;
49 const double MAXAC = 30.0;
51 const double VAR_HOLDAMB = 0.001;
53 const double TTOL_MOVEB = (1.0 + 2 *
DTTOL);
60 #define II_RTK(s, opt) (NP_RTK(opt) + (s)-1) 61 #define IT_RTK(r, opt) (NP_RTK(opt) + NI_RTK(opt) + NT_RTK(opt) / 2 * (r)) 62 #define IL_RTK(f, opt) (NP_RTK(opt) + NI_RTK(opt) + NT_RTK(opt) + (f)) 63 #define IB_RTK(s, f, opt) (NR_RTK(opt) + MAXSAT * (f) + (s)-1) 65 int rtkopenstat(
const char *file,
int level);
69 void rtkoutstat(
rtk_t *rtk);
73 void outsolstat(
rtk_t *rtk);
75 void errmsg(
rtk_t *rtk,
const char *format, ...);
77 double sdobs(
const obsd_t *obs,
int i,
int j,
int f);
79 double gfobs_L1L2(
const obsd_t *obs,
int i,
int j,
const double *lam);
81 double gfobs_L1L5(
const obsd_t *obs,
int i,
int j,
const double *lam);
83 double varerr(
int sat,
int sys,
double el,
double bl,
double dt,
int f,
87 double baseline(
const double *ru,
const double *rb,
double *dr);
89 void initx_rtk(
rtk_t *rtk,
double xi,
double var,
int i);
91 int selsat(
const obsd_t *obs,
const double *azel,
int nu,
int nr,
92 const prcopt_t *opt,
int *sat,
int *iu,
int *ir);
94 void udpos(
rtk_t *rtk,
double tt);
96 void udion(
rtk_t *rtk,
double tt,
double bl,
const int *sat,
int ns);
98 void udtrop(
rtk_t *rtk,
double tt,
double bl);
100 void udrcvbias(
rtk_t *rtk,
double tt);
102 void detslp_ll(
rtk_t *rtk,
const obsd_t *obs,
int i,
int rcv);
103 void detslp_gf_L1L2(
rtk_t *rtk,
const obsd_t *obs,
int i,
int j,
106 void detslp_gf_L1L5(
rtk_t *rtk,
const obsd_t *obs,
int i,
int j,
109 void detslp_dop(
rtk_t *rtk,
const obsd_t *obs,
int i,
int rcv,
112 void udbias(
rtk_t *rtk,
double tt,
const obsd_t *obs,
const int *sat,
113 const int *iu,
const int *ir,
int ns,
const nav_t *nav);
115 void udstate(
rtk_t *rtk,
const obsd_t *obs,
const int *sat,
116 const int *iu,
const int *ir,
int ns,
const nav_t *nav);
118 void zdres_sat(
int base,
double r,
const obsd_t *obs,
const nav_t *nav,
119 const double *azel,
const double *dant,
122 int zdres(
int base,
const obsd_t *obs,
int n,
const double *rs,
123 const double *dts,
const int *svh,
const nav_t *nav,
124 const double *rr,
const prcopt_t *opt,
int index,
double *y,
125 double *e,
double *azel);
127 int validobs(
int i,
int j,
int f,
int nf,
const double *y);
129 void ddcov(
const int *nb,
int n,
const double *Ri,
const double *Rj,
132 int constbl(
rtk_t *rtk,
const double *x,
const double *P,
double *v,
133 double *H,
double *Ri,
double *Rj,
int index);
135 double prectrop(
gtime_t time,
const double *pos,
int r,
136 const double *azel,
const prcopt_t *opt,
const double *x,
139 double gloicbcorr(
int sat1,
int sat2,
const prcopt_t *opt,
double lam1,
142 int test_sys(
int sys,
int m);
144 int ddres(
rtk_t *rtk,
const nav_t *nav,
double dt,
const double *x,
145 const double *P,
const int *sat,
double *y,
const double *e,
146 double *azel,
const int *iu,
const int *ir,
int ns,
double *v,
147 double *H,
double *R,
int *vflg);
150 rtk_t *rtk,
double *y);
153 int ddmat(
rtk_t *rtk,
double *D);
155 void restamb(
rtk_t *rtk,
const double *bias,
int nb,
double *xa);
157 void holdamb(
rtk_t *rtk,
const double *xa);
159 int resamb_LAMBDA(
rtk_t *rtk,
double *bias,
double *xa);
161 int valpos(
rtk_t *rtk,
const double *v,
const double *R,
const int *vflg,
162 int nv,
double thres);
164 int relpos(
rtk_t *rtk,
const obsd_t *obs,
int nu,
int nr,
169 void rtkfree(
rtk_t *rtk);
main header file for the rtklib library
const double DTTOL
tolerance of time difference (s)