Clarification on how to use AmbiguityCache to define all the ambiguity parameters to be estimated for each detected cycle slip in the GNSS carrier phase measurements

Dear all,
in the process of performing the orbit determination of a LEO satellite with GNSS measurements, I am trying to set up the ambiguity parameters to be associated to the OneWayGNSSPhase every time that there is a cycle slip occurring in the GNSS phase measurements.

I see that currently we have to use a constructor of OneWayGNSSPhase that uses the AmbiguityCache, therefore I instantiated the AmbiguityCache outside the loop of all the phase measurements:

AmbiguityCache ambiguityCache = new AmbiguityCache();

Then, inside the loop over the phase measurements I was creating an ambiguity driver every time that a cycle slips occurs, where I am using the receiver name + a cycleSlipIndex identifying each cycle slip in order to have different parameters corresponding to each detected cycle slip for that emitter/receiver/wavelength combination, something like this:

ambiguityDriver = ambiguityCache.getAmbiguity(emitterName, receiverName + cycleSlipIndex, wavelength)

and I am setting these ambiguityDrivers to setSelected(true) in order to estimate them with the BLS process.

However, when debugging if I look inside the estimate() method of BatchLSEstimator class, all these ambiguity parameters are not present in the ParameterDriversList estimatedMeasurementsParameters.

Therefore, I am afraid I am not using properly the AmbiguityCache to define all the ambiguity parametersfor each cycle slip occurring in the phase measurements.

Could you please clarify how to use the AmbiguityCache together with the definition of the ambiguity parameters corresponding to each detected cycle slip? A small sample code could be very useful.

Many thanks.

Best Regards

When building a OneWayGNSSPhase, the ambiguity driver is retrieved or built automatically in the constructor using only the remote name, local name and wavelength. This implies that the same driver is used throughout the use of a shared cache.
The ambiguity driver can still be used across cycle slips because one driver can have validity ranges, so you should probably call the methods addSpans or addSpanAtDate to take into account cycle slips.

Dear Luc,
many thanks for this clarification.

Best Regards