## 2 The CNES PPP-WIZARD Demonstrator
### The Network Side of the Demonstrator
The integer widelane ambiguity and the fractional phase biases of the satellite in view from this station can be determined. It is possible to find another station in the network that shares a common view with some of the previous satellites whose bias has been computed, which leads to the determination of the bias of this station. This process is repeated iteratively. As a consequence, the integer solution of the widelane ambiguity is consistent with the fractional biases and the chosen reference station. Once the integer widelane ambiguity \(N_{\text{WL},ij}^{s}\) is known, one of the two ambiguities \(\text{N}_{i}^{s}\) or \(N_{j}^{s}\) must be determined. To do so, choosing the \(\text{N}_{i}^{s}\) ambiguity, the IF combination of the code and phase measurements given in Equation (4) is transformed to:  
\[ \begin{split} C_{\text{IF},ij}&=\rho_{r}^{s}+h_{r, \text{IF},C_{ij}}^{s}+m(E^{s})T_{Z},\\ \lambda_{\text{IF},ij}L_{\text{IF},ij}&=\rho_{r}^{s} +\lambda_{\text{IF},ij}W+h_{r,\text{IF},L_{ij}}^{s}+\frac{\gamma_{j}\lambda_ {i}N_{i}-\gamma_{i}\lambda_{j}(N_{i}+N_{\text{WL},ij}^{s})}{\gamma_{j}-\gamma_ {i}}.\end{split}  \tag{10}\]  
Inserting the already determined widelane ambiguity into the right-hand side of the equation leads to:  
\[ \begin{split} C_{\text{IF},ij}&=\rho_{r}^{s}+h_{r, \text{IF},C_{ij}}^{s}+m(E^{s})T_{Z},\\ \lambda_{\text{IF},ij}\tilde{L}_{\text{IF},ij}&= \lambda_{\text{IF},ij}L_{\text{IF},ij}+\frac{\gamma_{i}\lambda_{j}}{\gamma_{j} -\gamma_{i}}N_{\text{WL},ij}^{s}=\rho_{r}^{s}+\lambda_{\text{IF},ij}W+h_{r, \text{IF},L_{ij}}^{s}+\lambda_{\text{IF},ij}N_{i}^{s}.\end{split}  \tag{11}\]  
The model of Equation (11) brings the geometric distance together with the troposphere wet delay, the clocks, and the ambiguities. As explained in [9; 30], no integer ambiguity can be estimated using this model. Therefore, no integer constraint is added in Equation (11). The determination of the geometrical distance between all the satellites and the ground station receivers, the troposphere delays, the clocks, and the floating ambiguities is performed with a Kalman filter. In order to recover the integer ambiguities, the estimated geometrical distance is subtracted from the IF phase combination:  
\[\lambda_{\text{IF},ij}\tilde{L}_{\text{IF},ij}=\lambda_{\text{IF},ij}\tilde {L}_{\text{IF},ij}-\rho_{r}^{s}-\lambda_{\text{IF},ij}W=\lambda_{\text{IF},ij} N_{i}^{s}+h_{r,\text{IF},L_{ij}}^{s}. \tag{12}\]The problem defined by Equation (12) has the same structure as the one defined by Equation (8): an integer ambiguity has to be estimated together with a receiver minus a satellite clock. Hence, the determination of \(N_{i}^{s}\), \(h_{r,\mathrm{IF},L,i}\), and \(h_{\mathrm{IF},L,i}^{s}\) follows the same process as the one used for the determination of \(N_{\mathrm{WL},ij}^{s}\), \(\mu_{r,ij}\), and \(\mu_{ij}^{s}\). The code biases can be easily computed together with the ionosphere elongation using the geometry-free (GF) combination of the two code measurements \(C_{i}\) and \(C_{j}\):  
\[C_{\mathrm{IF},ij}=\frac{C_{i}-C_{j}}{\gamma_{i}-\gamma_{j}}=e+\tau_{r,C_{ij}} ^{s}. \tag{13}\]  
The individual phase biases are then retrieved from the widelane biases as described in [30]. To do so, it is first mandatory to choose the clock convention used for the definition of the biases on the individual signal. The model given by Equation (1) uses clocks defined as the offset between the satellite and receiver hardware clocks and a reference timescale. For the dissemination of its products, IGS uses its own convention as being the ionosphere-free code clock (see Equation (4)). Therefore, the same convention is used for the definition of the code and phase biases. The code and phase measurements models read thus:  
\[ \begin{split} C_{i}&=\rho_{r}^{s}+h_{r,\mathrm{IF},C_{i}}+\gamma_{i}e+m(E^{s})T_{Z}+b_{r,\mathrm{IF},C_{i}}^{s},\\ \lambda_{i}L_{i}&=\rho_{r}^{s}+h_{r,\mathrm{IF},C_{i }j}-\gamma_{i}e+m(E^{s})T_{Z}+\lambda_{i}W+\lambda_{i}N_{i}^{s}+b_{r,\mathrm{ IF},L,i}^{s},\end{split}