Solution of the Global Navigation Satellite Systems (GNSS) phase ambiguity
is considered as a global quadratic mixed integer programming task, which can
be transformed into a pure integer problem with a given digit of accuracy. In this
paper, three alternative algorithms are suggested. Two of them are based on local
and global linearization via McCormic Envelopes, respectively. These algorithms can
be effective in case of simple configuration and relatively modest number of satellites.
The third method is a locally
nonlinear, iterative algorithm handling the problem as {-1, 0, 1} programming and
also lets compute the next best integer solution easily. However, it should keep
in mind that the algorithm is a heuristic one, which does not guarantee
to find the global integer
optimum always exactly. The procedure is very powerful utilizing the ability of the
numeric-symbolic abilities of a computer algebraic system, like Wolfram Mathematica
and it is properly fast for minimum 4 satellites with normal configuration,
which means the
Geometric Dilution of Precision (GDOP) should be between 1 and 8. Wolfram Alpha and
Wolfram Clouds Apps give possibility to run the suggested code even via cell phones.
All of these algorithms are illustrated with numerical examples. The result of the
third one
was successfully compared with the LAMBDA method, in case of ten satellites sending
signals on two carrier frequencies (L1 and L2) with weighting matrix used to weight
the GNSS observation and computed as the inverse of the corresponding covariance matrix.