diff --git a/src/options.c b/src/options.c index 1d18d4188e3651924d6fa9659c12e0ddfe054a15..60fc70913da2a54960a8e72ba562233be03f2c4b 100644 --- a/src/options.c +++ b/src/options.c @@ -40,7 +40,7 @@ static char snrmask_[NFREQ][1024]; /* system options table ------------------------------------------------------*/ #define SWTOPT "0:off,1:on" #define MODOPT "0:single,1:dgps,2:kinematic,3:static,4:static-start,5:movingbase,6:fixed,7:ppp-kine,8:ppp-static,9:ppp-fixed" -#define FRQOPT "1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l2+l5+l6" +#define FRQOPT "1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l2+l5+l6,2:l1+l2+e5b" #define TYPOPT "0:forward,1:backward,2:combined" #define IONOPT "0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc,7:qzs-lex,8:stec" #define TRPOPT "0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad,5:ztd" diff --git a/src/rtkpos.c b/src/rtkpos.c index 29ae04d4e38772449250c9b1f269a98ddb33a7a0..5f780c40a5b94d8a1354fc646120c9464a98f71b 100644 --- a/src/rtkpos.c +++ b/src/rtkpos.c @@ -1364,17 +1364,16 @@ static int ddres(rtk_t *rtk, const nav_t *nav, const obsd_t *obs, double dt, con /* if residual too large, flag as outlier */ k=IB(sat[j],frq,opt); - if (rtk->P[k+rtk->nx*k]<SQR(rtk->opt.std[0]/2)) { /* skip check if bias just intialized */ - threshadj=code?1:opt->eratio[frq]; /* adjust threshold by error stdev ratio */ - if (opt->maxinno>0.0&&fabs(v[nv])>opt->maxinno/threshadj) { - if (!code) { - rtk->ssat[sat[j]-1].vsat[frq]=0; - rtk->ssat[sat[j]-1].rejc[frq]++; - } - errmsg(rtk,"outlier rejected (sat=%3d-%3d %s%d v=%.3f)\n", - sat[i],sat[j],code?"P":"L",frq+1,v[nv]); - continue; + /* adjust threshold by error stdev ratio unless phase bias just initialized*/ + threshadj=code||(rtk->P[k+rtk->nx*k]>SQR(rtk->opt.std[0]/2))?opt->eratio[frq]:1; + if (opt->maxinno>0.0&&fabs(v[nv])>opt->maxinno*threshadj) { + if (!code) { + rtk->ssat[sat[j]-1].vsat[frq]=0; + rtk->ssat[sat[j]-1].rejc[frq]++; } + errmsg(rtk,"outlier rejected (sat=%3d-%3d %s%d v=%.3f)\n", + sat[i],sat[j],code?"P":"L",frq+1,v[nv]); + continue; } /* single-differenced measurement error variances */