32 #ifndef GNSS_SDR_RTKLIB_RKTPOS_H 33 #define GNSS_SDR_RTKLIB_RKTPOS_H 45 const double VAR_POS = std::pow(30.0, 2.0);
46 const double VAR_VEL = std::pow(10.0, 2.0);
47 const double VAR_ACC = std::pow(10.0, 2.0);
48 const double VAR_HWBIAS = std::pow(1.0, 2.0);
49 const double VAR_GRA = std::pow(0.001, 2.0);
50 const double INIT_ZWD = 0.15;
52 const double PRN_HWBIA = 1E-6;
53 const double MAXAC = 30.0;
55 const double VAR_HOLDAMB = 0.001;
57 const double TTOL_MOVEB = (1.0 + 2 *
DTTOL);
65 #define II_RTK(s, opt) (NP_RTK(opt) + (s)-1) 66 #define IT_RTK(r, opt) (NP_RTK(opt) + NI_RTK(opt) + NT_RTK(opt) / 2 * (r)) 67 #define IL_RTK(f, opt) (NP_RTK(opt) + NI_RTK(opt) + NT_RTK(opt) + (f)) 68 #define IB_RTK(s, f, opt) (NR_RTK(opt) + MAXSAT * (f) + (s)-1) 71 int rtkopenstat(
const char *file,
int level);
75 void rtkoutstat(
rtk_t *rtk);
79 void outsolstat(
rtk_t *rtk);
81 void errmsg(
rtk_t *rtk,
const char *format, ...);
83 double sdobs(
const obsd_t *obs,
int i,
int j,
int f);
85 double gfobs_L1L2(
const obsd_t *obs,
int i,
int j,
const double *lam);
87 double gfobs_L1L5(
const obsd_t *obs,
int i,
int j,
const double *lam);
89 double varerr(
int sat,
int sys,
double el,
double bl,
double dt,
int f,
93 double baseline(
const double *ru,
const double *rb,
double *dr);
95 void initx_rtk(
rtk_t *rtk,
double xi,
double var,
int i);
97 int selsat(
const obsd_t *obs,
const double *azel,
int nu,
int nr,
98 const prcopt_t *opt,
int *sat,
int *iu,
int *ir);
100 void udpos(
rtk_t *rtk,
double tt);
102 void udion(
rtk_t *rtk,
double tt,
double bl,
const int *sat,
int ns);
104 void udtrop(
rtk_t *rtk,
double tt,
double bl);
106 void udrcvbias(
rtk_t *rtk,
double tt);
108 void detslp_ll(
rtk_t *rtk,
const obsd_t *obs,
int i,
int rcv);
109 void detslp_gf_L1L2(
rtk_t *rtk,
const obsd_t *obs,
int i,
int j,
112 void detslp_gf_L1L5(
rtk_t *rtk,
const obsd_t *obs,
int i,
int j,
115 void detslp_dop(
rtk_t *rtk,
const obsd_t *obs,
int i,
int rcv,
118 void udbias(
rtk_t *rtk,
double tt,
const obsd_t *obs,
const int *sat,
119 const int *iu,
const int *ir,
int ns,
const nav_t *nav);
121 void udstate(
rtk_t *rtk,
const obsd_t *obs,
const int *sat,
122 const int *iu,
const int *ir,
int ns,
const nav_t *nav);
124 void zdres_sat(
int base,
double r,
const obsd_t *obs,
const nav_t *nav,
125 const double *azel,
const double *dant,
128 int zdres(
int base,
const obsd_t *obs,
int n,
const double *rs,
129 const double *dts,
const int *svh,
const nav_t *nav,
130 const double *rr,
const prcopt_t *opt,
int index,
double *y,
131 double *e,
double *azel);
133 int validobs(
int i,
int j,
int f,
int nf,
const double *y);
135 void ddcov(
const int *nb,
int n,
const double *Ri,
const double *Rj,
138 int constbl(
rtk_t *rtk,
const double *x,
const double *P,
double *v,
139 double *H,
double *Ri,
double *Rj,
int index);
141 double prectrop(
gtime_t time,
const double *pos,
int r,
142 const double *azel,
const prcopt_t *opt,
const double *x,
145 double gloicbcorr(
int sat1,
int sat2,
const prcopt_t *opt,
double lam1,
148 int test_sys(
int sys,
int m);
150 int ddres(
rtk_t *rtk,
const nav_t *nav,
double dt,
const double *x,
151 const double *P,
const int *sat,
double *y,
const double *e,
152 double *azel,
const int *iu,
const int *ir,
int ns,
double *v,
153 double *H,
double *R,
int *vflg);
156 rtk_t *rtk,
double *y);
159 int ddmat(
rtk_t *rtk,
double *D);
161 void restamb(
rtk_t *rtk,
const double *bias,
int nb,
double *xa);
163 void holdamb(
rtk_t *rtk,
const double *xa);
165 int resamb_LAMBDA(
rtk_t *rtk,
double *bias,
double *xa);
167 int valpos(
rtk_t *rtk,
const double *v,
const double *R,
const int *vflg,
168 int nv,
double thres);
170 int relpos(
rtk_t *rtk,
const obsd_t *obs,
int nu,
int nr,
175 void rtkfree(
rtk_t *rtk);
182 #endif // GNSS_SDR_RTKLIB_RKTPOS_H
main header file for the rtklib library
const double DTTOL
tolerance of time difference (s)