# Enhancing Real-Time Kinematic Relative Positioning for Unmanned Aerial Vehicles
## 2 Gnss Measurements Pre-Processing and Time Synchronization  
The GNSS measurements pre-processing procedure, as shown in Figure 2, involves cycle slip detection and measurement time synchronization between the two GNSS receivers. To ensure accurate time synchronization of the GNSS measurements, only measurements with a carrier-to-noise ratio (C/N0) of more than 35 dBHz and that passed the cycle slip tests were used in the RTK process. Figure 1: The conceptual scenario of moving baseline RTK in short baseline situations, mainly covered in this paper, when sufficient GNSS measurements for RTK are available. The GNSS observables of satellite \(k\) at \(f\) frequency for receiver \(i\) can be formulated as follows  
\[\phi^{k}_{i,f} =r^{k}_{i}-I^{k}_{f}+T^{k}+\left(b_{u,i}-b^{k}_{s}\right)+\lambda^{k }_{f}N^{k}_{i,f}+\xi^{k}_{\phi} \tag{1}\] \[\rho^{k}_{i,f} =r^{k}_{i}+I^{k}_{f}+T^{k}+\left(b_{u,i}-b^{k}_{s}\right)+\varepsilon ^{k}_{\rho}\] (2) \[d^{k}_{i,f} =-\frac{1}{\lambda^{k}_{f}}\Big{[}r^{k}_{i}+\left(b_{u,i}-b^{k}_{ s}\right)+\varepsilon^{k}_{d}\Big{]} \tag{3}\]  
where \(\phi^{k}_{i,f},\rho^{k}_{i,f}\) and \(d^{k}_{i,f}\) are carrier phase (m), code (m) and Doppler frequency (Hz) measurements of a GNSS signal, respectively. Here, \(r^{k}_{i}\) is a geometric range between the receiver \(i\) and a satellite \(k\). \(I^{k}_{f}\) and \(T^{k}\) refer to ionospheric and tropospheric delays. \(b_{u,i}\) and \(b^{k}_{s}\) are the receiver and satellite clock biases, respectively. \(\lambda^{k}_{f}\) and \(N^{k}_{f}\) are signal wavelength and integer ambiguity of carrier phase measurements. Each measurement noise and errors are denoted as \(\varepsilon^{k}_{\phi}\), \(\varepsilon^{k}_{\rho}\), and \(\varepsilon^{k}_{d}\). As we are dealing with a short baseline RTK problem where the distance between two receivers is less than several kilometers, a single difference of GNSS measurements between receiver \(i\) and receiver \(j\) for satellite \(k\) is as follows:  
\[\Delta\phi^{k}_{ij} =\phi^{k}_{i}-\phi^{k}_{j}+\Delta\varepsilon^{k}_{\phi}\] \[\Delta\rho^{k}_{ij} =\rho^{k}_{i}-\rho^{k}_{j}+\Delta\varepsilon^{k}_{\rho} \tag{4}\]  
Common satellite clock biases and ionospheric and tropospheric delays are eliminated using a single difference between receivers. Then, the receiver clock biases are removed by double-differencing between satellite \(k\) and pivot satellite \(l\) as follows  
Figure 2: Detailed GNSS measurements preprocessing procedure and the time synchronization process between UAVs prior to the Kalman filter algorithm. \[\
abla\Delta\phi^{kl}_{ij} =\Delta\phi^{k}_{ij}-\Delta\phi^{l}_{ij} \tag{5}\] \[=\
abla\Delta x^{kl}_{ij}+\
abla\Delta N^{kl}_{ij}+\
abla\Delta \epsilon^{kl}_{\phi}\] \[=\underbrace{-\left(\mathbf{1}^{k}_{i}-\mathbf{1}^{l}_{i}\right) }_{G}\cdot\mathbf{x}_{ij}+\
abla\Delta N^{kl}_{ij}+\
abla\Delta\epsilon^{kl}_{\phi}\] \[\phi^{k}_{i,f} =r^{k}_{i}-I^{k}_{f}+T^{k}+\left(b_{u,i}-b^{k}_{s}\right)+\lambda^{k }_{f}N^{k}_{i,f}+\xi^{k}_{\phi} \tag{1}\]0 \[\phi^{k}_{i,f} =r^{k}_{i}-I^{k}_{f}+T^{k}+\left(b_{u,i}-b^{k}_{s}\right)+\lambda^{k }_{f}N^{k}_{i,f}+\xi^{k}_{\phi} \tag{1}\]1  
where \(\mathbf{1}^{k}_{i}\) stands for a user-to-satellite line-of-sight unit vector and \(\mathbf{x}_{ij}\) is a relative position vector between receiver \(i\) and receiver \(j\). Under the short baseline assumption, \(\mathbf{1}^{k}_{j}\) has been considered virtually the same as \(\mathbf{1}^{k}_{i}\). In contrast to the ideal case where both GNSS measurements are received simultaneously at the exact same time, subtle measurement time differences between two distinct GNSS receivers may exist in practical scenarios as shown in \[\phi^{k}_{i,f} =r^{k}_{i}-I^{k}_{f}+T^{k}+\left(b_{u,i}-b^{k}_{s}\right)+\lambda^{k }_{f}N^{k}_{i,f}+\xi^{k}_{\phi} \tag{1}\]2 Having additional unmodeled biases in the GNSS measurements may lead to a false resolution of LAMBDA if not corrected. Therefore, the time differences between the measurements should be adjusted.