postpos.c中定义了revs参数,用于控制后处理时进行正向滤波还是反向滤波。通过搜索可知,有7行代码出现了revs参数。
rtklib_2.4.2\src\postpos.c(52):static int revs =0; /* analysis direction (0:forward,1:backward) */
rtklib_2.4.2\src\postpos.c(191): trace(3,"infunc : revs=%d iobsu=%d iobsr=%d isbs=%d\n",revs,iobsu,iobsr,isbs);
rtklib_2.4.2\src\postpos.c(199): if (!revs) { /* input forward data */
rtklib_2.4.2\src\postpos.c(333): else if (!revs) { /* combined-forward */
rtklib_2.4.2\src\postpos.c(927): iobsu=iobsr=isbs=ilex=revs=aborts=0;
rtklib_2.4.2\src\postpos.c(937): revs=1; iobsu=iobsr=obss.n-1; isbs=sbss.n-1; ilex=lexs.n-1;
rtklib_2.4.2\src\postpos.c(951): revs=1; iobsu=iobsr=obss.n-1; isbs=sbss.n-1; ilex=lexs.n-1;
第一次为定义变量
第二次为inputobs中用于trace输入的revs的值
第三次为inputobs中,判断是否revs的值=1,如果不等于1则观测值正向循环,否则反向循环
第四次出现在procpos中,判断是否revs的值=1,如果不等于1则执行combined-forward,否则执行combined-backward
第五次出现在execses中,用于初始化revs为零
第六次出现在execses中,当配置的soltype为backward模式时,revs赋值为1
第七次出现在execses中,当配置的soltype为combined模式时,需要执行两次procpos,第二次执行前将revs赋值为1