Skip to content

Bypass posvar check for Ambiguity Resolution in Instantaneous Mode(manage_amb_LAMBDA()) #818

@apkpai

Description

@apkpai

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; }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions