  This paper proposes an improved global navigation satellite system (GNSS)
positioning method that explores the time correlation between consecutive
epochs of the code and carrier phase measurements which significantly increases
the robustness against outlier measurements. Instead of relying on the time
difference carrier phase (TDCP) which only considers two neighboring epochs
using an extended Kalman filter (EKF) estimator, this paper proposed to employ
the carrier-phase measurements inside a window, the so-called window
carrier-phase (WCP), to constrain the states inside a factor graph. A left null
space matrix is employed to eliminate the shared unknown ambiguity variables
and therefore, correlated the associated states inside the WCP. Then the
pseudorange, Doppler, and the constructed WCP measurements are integrated
simultaneously using factor graph optimization (FGO) to estimate the state of
the GNSS receiver. We evaluated the performance of the proposed method in two
typical urban canyons in Hong Kong, achieving the mean positioning error of
1.76 meters and 2.96 meters, respectively, using the automobile-level GNSS
receiver. Meanwhile, the effectiveness of the proposed method is further
evaluated using a low-cost smartphone level GNSS receiver and similar
improvement is also obtained, compared with several existing GNSS positioning
methods.
