When using the Kinematic and Instantaneous strategy (ARMODE_INST), the Ambiguity Resolution (AR) is skipped in almost every epoch.
In instantaneous mode, the float solution is estimated independently for each epoch without temporal filtering constraints. Consequently, the position variance ($posvar$) is naturally high and frequently exceeds the validation threshold rtk->opt.thresar[1]. In the current implementation, this blocks the AR process entirely, making it impossible to achieve an instantaneous fix unless the threshold is set to an unrealistically large value.
/* skip AR if don't meet criteria */ if (rtk->opt.mode<=PMODE_DGPS||rtk->opt.modear==ARMODE_OFF|| rtk->opt.thresar[0]<1.0||posvar>rtk->opt.thresar[1]) { trace(3,"Skip AR\n"); rtk->sol.ratio=0.0; rtk->sol.prev_ratio1=rtk->sol.prev_ratio2=0.0; rtk->nb_ar=0; return 0; }
Changing this code to the following will enable normal amb_fixed:
/* skip AR if don't meet criteria */ if (rtk->opt.mode <= PMODE_DGPS || rtk->opt.modear == ARMODE_OFF ||rtk->opt.thresar[0] < 1.0 || (rtk->opt.modear != ARMODE_INST && posvar > rtk->opt.thresar[1])) { trace(3, "Skip AR\n"); rtk->sol.ratio = 0.0; rtk->sol.prev_ratio1 = rtk->sol.prev_ratio2 = 0.0; rtk->nb_ar = 0; return 0; }
When using the Kinematic and Instantaneous strategy (ARMODE_INST), the Ambiguity Resolution (AR) is skipped in almost every epoch.$posvar$ ) is naturally high and frequently exceeds the validation threshold rtk->opt.thresar[1]. In the current implementation, this blocks the AR process entirely, making it impossible to achieve an instantaneous fix unless the threshold is set to an unrealistically large value.
In instantaneous mode, the float solution is estimated independently for each epoch without temporal filtering constraints. Consequently, the position variance (
/* skip AR if don't meet criteria */ if (rtk->opt.mode<=PMODE_DGPS||rtk->opt.modear==ARMODE_OFF|| rtk->opt.thresar[0]<1.0||posvar>rtk->opt.thresar[1]) { trace(3,"Skip AR\n"); rtk->sol.ratio=0.0; rtk->sol.prev_ratio1=rtk->sol.prev_ratio2=0.0; rtk->nb_ar=0; return 0; }Changing this code to the following will enable normal amb_fixed:
/* skip AR if don't meet criteria */ if (rtk->opt.mode <= PMODE_DGPS || rtk->opt.modear == ARMODE_OFF ||rtk->opt.thresar[0] < 1.0 || (rtk->opt.modear != ARMODE_INST && posvar > rtk->opt.thresar[1])) { trace(3, "Skip AR\n"); rtk->sol.ratio = 0.0; rtk->sol.prev_ratio1 = rtk->sol.prev_ratio2 = 0.0; rtk->nb_ar = 0; return 0; }