Expand description
GNSS carrier-phase integer ambiguity resolution — the LAMBDA approach (Teunissen 1995): integer least-squares with a decorrelating integer (Z) transform and a closed-form bootstrapped success rate.
Carrier-phase positioning needs the integer cycle ambiguities z ∈ ℤⁿ. A float
solution gives a real-valued estimate â with covariance Q (symmetric positive
definite). The maximum-likelihood integer estimate is the integer least-squares
(ILS) solution
ž = argmin_{z ∈ ℤⁿ} (z − â)ᵀ Q⁻¹ (z − â).Because Q is typically highly correlated (elongated search ellipsoid), the search is
slow in the original coordinates. LAMBDA first applies an integer, volume-preserving
(|det Z| = 1, so Z and Z⁻¹ are both integer) transformation z' = Zᵀ z that
decorrelates the ambiguities — here the integer-Gauss size-reduction step that
drives the off-diagonal correlations below ½ — and then searches in the transformed,
nearly spherical space before mapping the integer solution back, ž = Z⁻ᵀ ž'. The ILS
search itself is an exact Schnorr–Euchner depth-first branch-and-bound over the
Q = L D Lᵀ factorization (sequential conditional rounding with search-shrinking),
so the returned ž is the exact minimiser, independent of how well the transform
decorrelated Q.
The bootstrapped success rate — the probability that sequential conditional
rounding lands on the correct integers — has the closed form
P_s = ∏ᵢ [2Φ(1/(2σ_{î_i|I})) − 1], where the σ²_{î_i|I} are the conditional
variances D[i] of the factorization and Φ is the standard normal CDF. It is a
sharp lower bound on the ILS success rate and rises as the decorrelation makes the
conditional variances smaller, which is the quantitative payoff of the Z-transform.
Scope (honest): the decorrelation implemented here is the integer-Gauss size-reduction part of LAMBDA — it reduces the off-diagonal correlations and is a genuine volume-preserving Z-transform — but the conditional-variance reordering permutations of the full LAMBDA reduction are out of scope (they only speed the search further; they change neither the exact ILS answer nor the bootstrapped rate of the transformed problem). It is a MODELLED capability whose reference tests check the Z-transform invariants, the exact ILS against brute-force enumeration, and the bootstrapped rate against Monte-Carlo — internal-consistency oracles, not an external dataset.
References:
- P. J. G. Teunissen, “The least-squares ambiguity decorrelation adjustment: a method for fast GPS integer ambiguity estimation,” J. Geodesy 70 (1995).
- P. de Jonge & C. Tiberius, “The LAMBDA method for integer ambiguity estimation,” LGR-Series 12, TU Delft (1996).
- X.-W. Chang, X. Yang, T. Zhou, “MLAMBDA: a modified LAMBDA method for integer least-squares estimation,” J. Geodesy 79 (2005).
Structs§
- Ambiguity
Fix - The result of an ambiguity resolution.
Functions§
- back_
transform - Map a decorrelated-space integer solution
z'back to the original ambiguitiesž = Z⁻ᵀ z', i.e. solveZᵀ ž = z'.Zis integer unimodular, sožis integer. - bootstrap_
success_ rate - Closed-form bootstrapped success rate
P_s = ∏ᵢ [2Φ(1/(2σ_{î_i|I})) − 1]from the conditional variancesD[i]of theL D Lᵀfactorisation ofq. ReturnsNoneifqis not positive definite. - decorrelate
- Integer-Gauss decorrelation. Returns the integer transform
Z(with|det Z| = 1) and the decorrelated covarianceQ_z = Zᵀ Q Z. The transformed float ambiguities areẑ = Zᵀ â(transform_float). - ils
- Exact integer least-squares solution for
a_hatwith covarianceq, in the SAME coordinates as the inputs. Returns the integer vector minimising(z − a_hat)ᵀ q⁻¹ (z − a_hat). - ldlt
L D Lᵀfactorisation of a symmetric positive-definiteq: unit lower-triangularLand positive diagonald, withq = L · diag(d) · Lᵀ. ReturnsNoneifqis not positive definite.- resolve
- Full LAMBDA resolution: decorrelate, solve the integer least-squares in the
transformed space, map back to the original ambiguities, and report the ratio test
and the (decorrelated) bootstrapped success rate. Returns
Noneifqis not positive definite or the search budget is exhausted before a candidate is found. - transform_
float - Transformed float ambiguities
ẑ = Zᵀ â.
Type Aliases§
- Mat
- A dense row-major real matrix.