# Position Accuracy Improvement by Implementing the DGNSS-CP Algorithm in Smartphones
## 4 Experiments and Results
### Static Test  
To verify that the DGNSS-CP algorithm modified for the Android-based positioning works well in smartphones, another zero-baseline static test was conducted. The test setup was the same as in the preliminary test, and the V10 and Galaxy S5 were placed on the test-bed. We logged the raw data from the FlexPak 6 in Receiver INdependent EXchange (RINEX) format and the smartphone position output in NMEA format. By processing the measurements of the RS, we generated and logged the PRC in Radio Technical Commission for Maritime (RTCM) format. The Galaxy S5 experiment was conducted on 16 October 2015, and the V10 experiment was performed on 3 May 2016. Both experiments took place from 14:00 to 16:00, when the ionospheric variation is greatest. To calculate the empirical atmospheric correction in Equation (9), we used the Klobuchar and Saastamonien models. The parameters for the atmospheric model (see Table 2), four \(\alpha\) values for the amplitude of ionospheric delay and four \(\beta\) values for the period of ionospheric delay [31], were taken from the RINEX navigation file and standard atmospheric model. Using the elevation angle information from the GSV data in the NMEA output, the ionospheric delay (\(\hat{l}_{blob}\)) and tropospheric delay (\(\hat{T}_{sans}\)) were calculated. The results are shown in Figure 8.  
As shown in Figure 9, the original PRC generated by Equation (2) was over 50 m, but this was reduced to several meters using atmospheric compensation. This process was executed on the smartphone side, and the compensated PRC was then projected to the position-domain to create the coordinate correction (\(\delta\overrightarrow{x}\)). \begin{table}
\begin{tabular}{c c c c c} \hline  & \(\alpha\)0 & \(\alpha\)1 & \(\alpha\)2 & \(\alpha\)3 \\
**Ionospheric** & \(0.2049\times 10^{-7}\) & \(-0.7451\times 10^{-8}\) & \(-0.1192\times 10^{-6}\) & \(0.5960\times 10^{-7}\) \\
**Parameters** & \(\beta\)0 & \(\beta\)1 & \(\beta\)2 & \(\beta\)3 \\  & \(0.1249\times 10^{6}\) & \(-0.3277\times 10^{5}\) & \(-0.2621\times 10^{6}\) & \(0.1311\times 10^{6}\) \\ \hline
**Tropospheric** & **Pressure (mb)** & **Temperature (\({}^{\circ}\)K)** & **Humidity** & \\
**Parameters** & \(1013.25\) & \(291.25\) & \(50\%\) & \\ \hline \end{tabular}
\end{table} 
Table 2: Parameters for the Klobuchar and Saastamonien Models. Figure 8: Ionospheric delay (**a**) and tropospheric delay (**b**) calculated by the atmospheric model. The results of the zero-baseline static test for the S5 are shown in Figure 10. According to the horizontal position error on the left, the standalone result given by Android is about 1 m from the true position, whereas the modified DGNSS-CP (D/GPS + GLO + BDS) does not show such a noticeable bias. In the vertical error on the right, the state is displayed more distinctly. The standalone result shows an obvious bias of approximately 4.4 m, whereas, after applying the suggested algorithm, the vertical error fluctuates slightly around 0 m. As such, we can confirm that the proposed algorithm removes the error in the GPS position given by the smartphone. Additionally, it was confirmed that the noise in the standalone smartphone GPS result is far less than 1 m, which is the standard deviation of the ordinary GPS position error; this seems to be because a heavy filter was applied to make the performance of the chipset appear better than it actually is. The V10 results in Figure 11 exhibit a similar tendency to those of the S5.