在RTKLIB的ppp_res
中有這樣一段程序:
/* reject satellite by pre-fit residuals */
if (!post&&opt->maxinno>0.0&&fabs(v[nv])>opt->maxinno) {
trace(2,"outlier (%d) rejected %s sat=%2d %s%d res=%9.4f el=%4.1f\n",
post,str,sat,j%2?"P":"L",j/2+1,v[nv],azel[1+i*2]*R2D);
exc[i]=1; rtk->ssat[sat-1].rejc[j%2]++;
continue;
}
其中對於rtk->ssat[sat-1].rejc
的索引取餘,那麼問題來了,rejc
是這樣定義的:
unsigned int rejc [NFREQ]; /* reject counter */
表示剔除第幾個頻率的計數,而在該函數中,若j表示L1,P1,L2,P2
,當j表示P1
即j=1
,這是rejc
索引爲1,表示剔除第二個頻率的數據。
基於此,認爲rejc
的索引應該取整而不是取餘,即:
rtk->ssat[sat-1].rejc[j/2]++;
並且上述程序中trace
表示剔除的也是取整,故認爲這應該是一個bug。不過rejc
並不影響程序正常運行,只是在輸出解算狀態信息會不對。