Introduction

Nowadays, we observe a rapid development in the low-cost GNSS chipsets, which are typically capable of tracking single-frequency multi-constellation signals. These include both low-cost but high-precision chipsets, e.g., produced by u-blox and SkyTraQ, whose application and high performance were proven in Takasu and Yasuda (2008), Wisniewski et al. (2013), and Odolinski and Teunissen (2017) and those of lower performance provided by, e.g., Broadcom, Qualcomm or Intel, which are commonly used in smart devices. The latter group of GNSS chipsets may be successfully applied to selected position-based services such as vehicle tracking, social networking and personal navigation, where typical accuracy of 2–3 m is sufficient (Wang et al. 2011; Saeedi et al. 2014; Engelbrecht et al. 2015; Specht et al. 2019).

A milestone on the way to the introduction of smartphones to location-based applications was making GNSS observations derived from the devices running the Android Nougat 7 operating system accessible to all developers. This step allowed the acquisition not only of code pseudoranges but also phase and Doppler observations, which made it possible to develop algorithms enhancing the accuracy of positioning with mass-market devices. Consequently, the smartphone measurements have also become a subject of intensive analyses aimed at the evaluation of their quality. The initial studies conducted by Pesyna et al. (2014) were related to the application of the smartphone GNSS antenna combined with a high-grade receiver. The assessment revealed low multipath suppression of the smartphones’ antennas but proved that achieving a centimeter-level position accuracy is feasible. A study conducted by Siddakatte et al. (2017) confirmed the low quality of the smartphone antenna but indicated a possible enhancement with the application of an external one. The authors also highlighted a strong influence of the C/N0 values on code noise which can range between 2 and 15 m. Kirkko-Jaakkola et al. (2015) aimed at the implementation of RTK using low-cost receivers. The results obtained with Nokia Lumia 1520 also indicated a low quality of smartphone measurements, which was reflected in high noise in the order of tens of meters for pseudoranges and frequent outliers. This resulted in a meter-level accuracy of RTK positioning. Laurichesse et al. (2017) reported, however, a submeter accuracy of single point positioning supported with SBAS corrections and Doppler filtering.

Several contributions considered precise positioning with the Google/HTC Nexus 9 tablet, which is capable of collecting continuous phase observations, whereas the vast majority of smartphone GNSS chipsets takes advantage of hardware clock discontinuity to support power-save duty cycling. Realini et al. (2017) proved the feasibility of the Nexus 9 measurements for close-range relative positioning with a single baseline up to several kilometers. In such a case, it was likely to obtain centimeter-level accuracy. Gill et al. (2017) analyzed single-frequency precise point positioning (PPP) and achieved the accuracy of several decimeters. To follow on that, an important study was recently conducted by Zhang et al. (2018b). The authors proposed a time-differencing filtering approach for enhancement of positioning performance, which led to the horizontal and vertical position errors at the level of 0.8 m and 1.4 m, respectively.

Other studies verified the applicability of the devices which suffer from duty cycling. The investigations given by Humphreys et al. (2016) confirmed the poor quality of phase data, which are affected by discontinuities and gradual accumulation of errors. The latter effect may be related to the fact that the smartphones commonly log accumulated delta ranges with an arbitrary phase offset instead of true full-phase observations (Riley et al. 2017). This prevents ambiguity fixing and forces application of float solution. Liu et al. (2018) reported improvement of the performance of close-range relative positioning taking advantage of pseudorange smoothing. The pedestrian navigation algorithm that considers the duty cycling was proposed in Liu et al. (2019). Nonetheless, the results are still not sufficiently conclusive.

We focus on the challenging case with an important constraint, which is enabled duty cycling to low-power consumption smartphones. The starting point of this work is aimed at the evaluation of smartphone observables with particular emphasis on anomalies present in phase and code observables driven by the duty-cycling mode. According to the results of this initial part and addressing the phase measurement limitations, the second objective is to assess the medium to long-range code-based relative positioning. We aim to evaluate the accuracy level that can be reached with such devices and to validate the weighting scheme suited for handling the low quality of smartphone observations.

In the following section, we discuss the carrier-to-noise density ratio, quality and noise of smartphone observables with the special focus on the impact of duty cycling. Then, we evaluate the positioning accuracy level with smartphone-derived measurements and described potential benefits from C/N0-dependent weighting function in the pseudorange relative positioning of different ranges. Finally, conclusions are drawn in the last section.

Smartphone observation quality assessment

This section provides selected properties of the smartphone GNSS measurements. We investigate carrier-to-noise density ratio, anomalies in smartphone data as well as observation noise.

Experiment design and data collection

The observation quality assessment is based on signals collected by smartphone affected by duty cycling and high-grade receivers: Huawei P20, Javad Alpha + GrAnt_G3T antenna and Javad Triumph, respectively. The smartphone logged GPS + Galileo + BDS measurements with 1-s interval to RINEX 3.03 over a timespan of about 13 h (3:50–17:00 UTC) on May 11, 2018, with the use of Geo ++ RINEX Logger ver. 1.2.5. Three collocated receivers formed ultra-short baselines of several meters under an unobstructed sky environment. The smartphone was centered above a temporal geodetic site with the use of tripod and tribrach (Fig. 1). This allowed for the elimination of centering errors and further determination of benchmark coordinates of the site with high-grade receiver set. The processing was done with multi-purpose GNSS software (Paziewski 2016).

Fig. 1
figure 1

Huawei P20 smartphone collocated with Javad Alpha + GrAnt_G3T during data collection

Satellite signal power analysis

Carrier-to-noise density ratio (C/N0) is defined as the ratio of the signal carrier power to the noise power in a 1 Hz bandwidth. This indicator strongly depends not only on the satellite antenna, signal propagation and deterioration but also on the hardware, including antenna, receiver and cables (Wang et al. 2012; Hauschild et al. 2012).

Figure 2 depicts C/N0 values collected by the collocated receivers: Javad Alpha and the smartphone. Just a brief look at the figure gives us the impression of a lower level of C/N0 of the signals collected by the smartphone in comparison with the high-grade receiver. In general, the carrier-to-noise density ratio of signals collected by Javad fits in the range of 35–55 dB-Hz, whereas in the case of the smartphone, these values did not exceed 48 dB-Hz.

Fig. 2
figure 2

Time series of C/N0 values collected by Javad Alpha (top) versus Huawei P20 (bottom)

Figure 3 provides the histogram of the C/N0 differences of the corresponding signals collected by the employed receivers. The results reveal that the C/N0 of smartphone measurements is about 9.4 dB-Hz lower with respect to the Javad receiver. These results are in line with the conclusions drawn by Zhang et al. (2018a), Gill et al. (2017) and Liu et al. (2019) who showed that C/N0 of raw smartphone measurements are in general 7.5–10 dB-Hz lower comparing to the high-grade hardware.

Fig. 3
figure 3

Histogram of the C/N0 differences between corresponding signals collected by Javad Alpha and Huawei P20

Figure 4 presents C/N0 values with respect to the satellite elevation angle. As expected, the C/N0 values logged by the high-grade receiver are characterized by a clear relationship with satellite elevation. However, we cannot draw similar conclusions in the case of the smartphone, since the plot is much more flattened. The relationship between the satellite elevation and C/N0 of smartphone measurements is not obvious, especially at low elevations. In this case, the signals are characterized by a noticeable number of low values of C/N0, reaching the level of 10 dB-Hz, also noticed in Fig. 2. The occurrence of these outliers is probably related to multipath affecting the smartphone observables (Pesyna et al. 2014).

Fig. 4
figure 4

C/N0 in the function of elevation angle of collected by Javad Alpha (top) versus Huawei P20 smartphone (bottom)

Figure 5 gives us the impression of azimuthal-elevation dependence of C/N0 values. We notice a slight azimuthal asymmetry as well as the presence of patches of low signal power or even lack of signals for a mobile device, which are absent in the case of the high-grade receiver. This coincides with the investigations of Humphreys et al. (2016) who indicated a high impact of multipath affecting smartphone measurements. The results are given in Figs. 4 and 5 which suggest that the application of C/N0-dependent weighting scheme seems to be more appropriate than the elevation dependent. Hence, investigations in this field are conducted in the section devoted to positioning performance assessment.

Fig. 5
figure 5

Skyplots of C/N0 collected by Javad Alpha (top) versus Huawei P20 (bottom)

Characterization of smartphone observables with the focus on the impact of duty cycling

We begin the smartphone observation analysis with the presentation of phase–code (P–C) differences. This combination is commonly used to assess the code noise; however, in this case, these values can provide us the first glance on the potential presence of effects related to the duty cycling. The phase–code combination between satellite m and receiver k in the units of meters can be expressed as follows:

$$\lambda \varphi_{k}^{m} - P_{k}^{m} = \lambda N_{k}^{m} + c\left( {B_{k,\varphi } - B_{\varphi }^{m} - B_{k,P} + B_{P}^{m} } \right) - 2I_{k}^{m} + M_{k,\varphi }^{m} - M_{k,P}^{m} + \varepsilon_{\varphi } - \varepsilon_{P}$$
(1)

where λ is the signal wavelength, φ is the carrier phase observable in cycles, P denotes the code pseudorange, N states for integer ambiguity, superscript m and subscript k denote satellite and station, respectively, and B corresponds to receiver/satellite bias. When a subscript is present, this bias refers to a receiver, otherwise to a satellite. I denotes ionospheric delay, M is the multipath effect, and finally \(\varepsilon\) denotes observation noise.

Figure 6 depicts the example time series of phase–code differences given for Huawei P20 versus Javad Alpha together with the signal C/N0 during the first 20 min of data collection. For the clarity of presentation, we have corrected each time series with the value related to initial epoch. Thus, the obtained variations should correspond only to time-dependent parameters such as the ionospheric delay, multipath and observational noise without parameters considered as constant like ambiguities and hardware biases. This statement holds true for observables of the high-grade receiver since these phase–code differences are mainly driven by code measurement noise and a very weak trend related to the impact of the ionosphere. The similar behavior is noticed only during the initial 5-min-long period in the case of smartphone data (Figs. 6 and 7). This is related to the fact that duty cycling is activated by the smartphone after the time, which is required by the chipset for ephemerides acquisition (Pirazzi et al. 2017). It usually takes several minutes, which coincides with our results. We can find that after the initial period of approximately 5 min, the smartphone phase–code differences become the subject of two anomalies. The first of them is a noticeable drift, responsible for increasing divergence between phase and code data. The latter is repeated variations featured with 3-s periodicities and causing the jumps in phase–code data in the range of about 20 m. Thus, we inclined toward the hypothesis that the smartphone observables anomalies are driven by duty-cycling mode. The pattern of anomalies is observed for all satellites and due to the scale of variations should be rather considered as receiver clock-related effect (Fig. 6).

Fig. 6
figure 6

Time series of phase–code differences (blue-Huawei, red-Javad) and C/N0 of Huawei observables (green). The gray patch corresponds to the initial 5-min period with inactive duty-cycling mode

Fig. 7
figure 7

Time series of phase-code differences for Huawei (blue) versus Javad (red) with the focus on the inactive duty-cycling period

To verify the phenomena detected in P–C differences, we have investigated phase and phase–code single differences (SD) using observations from collocated Javad and Huawei receivers. In this case, we consider tropospheric delays as greatly reduced due to the ultra-short distance between the receivers. Furthermore, we have eliminated the satellite-to-receiver distance and the receiver clock corrections derived from absolute code pseudorange solution with fixed coordinates. These smartphone clock corrections were smoothed by means of 30 epoch moving average to extract the information which observable is affected by the phenomena indicated in Fig. 6. One can expect that such SD phases should be the subject of ambiguities, observational noise, multipath, receiver biases and residual receiver clock term. The phase–code SDs are contaminated by the same factors as well as by doubled ionospheric delay. Considering the variations related to clock residuals as dominant, the between-receiver differences should allow for assignment of anomalies to particular observables.

Looking at Fig. 8, we can again notice unusual effects in both phase and phase–code SD after the activation of duty cycling. Phase SDs are the subject of strong drift observed earlier in smartphone phase–code combination (Fig. 6). Its occurrence leads to the conclusion that this effect is originated in the smartphone phase observables. Such gradual divergence confirms the inconsistency between smartphone phase and code clocks during the duty-cycling period. The effect needs further investigations, but it may be related to providing the accumulated delta range instead of true full phase. High variability of phase–code SD during the duty-cycling period and lack of this effect in the SD phase indicate the smartphone code observables as a source of this phenomenon. The corresponding variability of the receiver clock correction estimated with code pseudoranges justified the origin of the effect. The occurrence of both anomalies suggests the necessity to estimate independently phase and code clock corrections in potential application of smartphones to PPP.

Fig. 8
figure 8

Time series of between-receiver (Javad Alpha—Huawei P20) phase (blue) and phase-code (red) single difference

Figure 9 depicts the smartphone observables, which were doubly differenced in the time domain. Such combination greatly reduces the impact of geometric distance, receiver clock drift as well as satellite-dependent or spatially correlated errors. Thus, the amplified residuals illustrate only the impact of noise combined with remaining rapidly changing factors such as indicated above clock variations. From the figure, one can notice an increase in phase residuals after the activation of duty cycling reflected in the jump of standard deviations (STDs) from 0.10 up to 0.3–0.5 cycle, depending on the satellite. During the initial 5-min-long period, the phase residuals of all satellites are highly correlated (about 0.9), which indicates the dominant impact of receiver clock residuals. During duty-cycling mode, the correlation coefficient is close zero, and thus, the increase in STD should be rather considered as an increment of phase measurement noise.

Fig. 9
figure 9

Smartphone phase (blue) and code (red) double differences in the time domain. The code time differences with the preliminary elimination of receiver clock are given in the gray color

The similar pattern of time differences is observed for code observables. However, we believe that in this case, the increase in code residuals is mainly driven by receiver clock-related variations and, to a lesser extent, code noise. Dominating impact of the former factor is justified by the high correlation between satellite time series during the duty-cycling period, which reached the level of 0.75. Nevertheless, one can observe the noticeable growth of noise in code double differences with the preliminary elimination of receiver clock (Fig. 9).

Finally, we analyze double differences (DD) formed for grade receiver—smartphone ultra-short baseline. It is expected that in this case, we cancel all satellite- and receiver-dependent errors as well as highly mitigate the effects related to the propagation in the atmosphere. After the elimination of DD satellite-to-receiver distance, the phase time series should be only the subject of ambiguities as well as observational noise and multipath. Consequently, these time series should be free from any anomalies detected earlier, assuming that their pattern is the same for all satellites. For the clarity of presentation, we have removed the initial value from each arc of the DD phase residual time series.

Figure 10 shows that the previously detected strong trend and jumps have been eliminated in a great extent, but still we can see unwanted long-term drift in the phase data during the activated duty-cycling mode. In contrary to previously detected effects in SD, the phase DD does not reveal coincidence between different pairs of satellites and thus cannot be linked with the receiver clock. This is a surprising effect if we consider DD ambiguities as constant values, unlike in the case of high-grade receivers. At this step, it is hard to explain this anomaly without the detailed knowledge of the smartphone signal acquisition algorithm. Nevertheless, the similar variations for DD phase data were previously reported by Humphreys et al. (2016) and Håkansson (2019). The authors justified their presence in zero-baseline DD phase observations by the gradual accumulation of the phase errors. The latter work also suggests a frequency deviation in phase tracking as a source of this anomaly. It should be remarked that these previous contributions analyzed duty-cycling free receivers and the drift depicted there was characterized by a smaller magnitude in relation to the results given in Fig. 10. This behavior of phase observations seems to importantly constrain the application of smartphone phase observations to precise positioning. Hence, at this step, we consider the phase observations collected by smartphones with enabled duty cycling as inefficient for direct processing in relative or absolute mode.

Fig. 10
figure 10

Time series of double-differenced observations for ultra-short-baseline formed of high-grade receiver and smartphone

On the other hand, looking at the code DD we cannot detect any anomalies after activation of the duty cycling, and hence, these were eliminated by double differencing. To address the above findings, in the next part of investigations, we focus on the application of code observations and determine the accuracy of positioning to be as high as possible in such a case.

Observation noise

GNSS signal noise characteristics may be appraised taking advantage of post-fit observation residuals or using time series of DD observations for zero baselines (Bona 2000; de Bakker et al. 2012). Since most of the smartphone devices are not equipped with external antenna connectors, such a case is not possible. Hence, we employed ultra-short baselines formed of Huawei P20 smartphone and two high-grade geodetic receivers with known benchmark coordinates. To retrieve measurement noise combined with the multipath effect, we took advantage of double- and triple-differenced (TD) observables with the eliminated impact of satellite-to-receiver geometry by means of a position-fixed model (Paziewski et al. 2018). Such DD time series for ultra-short baseline can be regarded as free from the influence of ionospheric and tropospheric delays, hardware biases, clock errors and geometry (Amiri-Simkooei and Tiberius 2007). Assuming the ambiguities as constant, the variations of DD should be predominantly related to the noise of signals and multipath effect. However, as shown in Fig. 10, this is not true for smartphone DD phase observables. Hence, considering the detected anomaly, we used also time differencing to reduce long-term drift and to isolate observable noise. We should note that due to the observables differencing the noise is amplified with respect to the undifferenced data, but the impact of multipath effect for 1-s TD time series is expected to be reduced to a great extent (de Bakker et al. 2012). Finally, DD and TD combinations for code and phase data can be written as follows:

$$P_{kl}^{mn} - \rho_{kl}^{mn} = \varepsilon_{kl,P }^{mn} + M_{kl, P}^{mn}$$
(2)
$$\lambda \varphi_{kl}^{mn} - \rho_{kl}^{mn} = \lambda N_{kl}^{mn} + \varepsilon_{kl, \varphi }^{mn} + M_{kl, \varphi }^{mn}$$
(3)
$$P_{{kl, t_{ij} }}^{mn} - \rho_{{kl, t_{ij} }}^{mn} = \varepsilon_{{kl, P,t_{ij} }}^{mn}$$
(4)
$$\lambda \varphi_{{kl, t_{ij} }}^{mn} - \rho_{{kl, t_{ij} }}^{mn} = \varepsilon_{{kl, \varphi ,t_{ij} }}^{mn}$$
(5)

where the satellite (\(m,n\))-to-receiver (\(k,l\)) distance (\(\rho\)) was computed using fixed a priori coordinates.

Table 1 demonstrates the statistics of double- and triple-differenced residuals for the baselines formed of Huawei P20—Javad Alpha versus Javad Alpha—Javad Triumph receivers. The results show a clear drop in standard deviation after time differencing. Except for the smartphone phase data during the duty-cycling mode, in other cases, it is thought to be caused by the reduction in multipath, and effect was observed during the initial period in Fig. 7. High multipath is basically expected for smartphone observables, while its impact in the case of high-grade receivers is most likely due to the application of survey-grade antenna instead of chock ring. The outstanding STD for the DD phase during active duty cycling is a clear consequence of long-term drifts depicted in Fig. 10. The time differencing eliminated the unwanted phase drifts to a great extent. Nevertheless, looking at the TD result, one can assume that fixing of ambiguities during duty-cycling mode would not be possible even after the elimination of the anomaly.

Table 1 Standard deviation of double- and triple-differenced observable residuals (m)

It becomes clear, from the statistics given in Table 1, that phase and code observables are much noisier after activation of duty cycling, which is consistent with the results given in Fig. 9. In the case of code data, the activation of the duty cycling resulted in 24% and 56% increase in the standard deviation for DD and TD residuals, respectively. Analyzing the phase TD, one can observe over the sixfold increase in STD up to 92 mm with respect to the period with inactive duty cycling.

As illustrated in Figs. 11 and 12, the TD code observations of the smartphone—high-grade receiver baseline are in general over ten times noisier than these of Javad receiver baseline. In the former case, we obtained the standard deviation of the TD code during inactive duty cycling at the level of 4.4 m with residuals fitting the range of ± 20 m. In the latter case, STD reached only 0.5 m with dispersion in the range of ± 1.5 m. In general, the ratio of TD code residuals fitting the range of ± 1 m reached the level of 95% in the case of the baseline of high-grade receivers, but only 18% in the case of the smartphone—high-grade geodetic receiver baseline during inactive duty cycling. As is the case for code pseudoranges, the TD phase observations for mixed receiver baseline are much noisier with respect to the baseline formed of high-grade receivers. In the former case, STD reached 14.5 mm during inactive duty cycling. We can conclude that the smartphone observables are mainly responsible for high noise in this case. Regarding high-grade receivers, we obtained the expected level of 2.4 mm. In this context, we consider the results obtained during inactive duty cycling as more reliable indicators of the smartphone observable noise, since after the activation of the algorithm, still, some anomalies may occur.

Fig. 11
figure 11

Histogram of the TD observable residuals for Javad Alpha—Huawei P20 baseline during inactive (top) and active (bottom) duty cycling

Fig. 12
figure 12

Histogram of the TD observable residuals for Javad Alpha—Javad Triumph baseline

Positioning performance assessment

In this section, we present positioning performance assessment based on smartphone code observations. Taking into account the result of signal power and noise analyses, we investigate a potential benefit from relative positioning of different ranges based on the countrywide CORS network supported by C/N0-dependent weighting scheme.

Functional and stochastic modeling

We employed a well-known geometry-based relative functional model limited to the application of code pseudoranges:

$$P_{kl}^{mn} = \rho_{kl}^{mn} + I_{kl}^{mn} + T_{kl}^{mn} + M_{kl,P}^{mn} + \varepsilon_{kl,P}^{mn}$$
(6)

Because only single-frequency signals are available, it is not feasible to apply advanced methods for ionospheric delay handling. Hence, ionospheric delay is reduced only by means of double differencing. However, in the case of smartphone relative positioning, we consider observation noise combined with the multipath effect as a dominating source of accuracy degradation rather than ionospheric delay. The tropospheric delay (T) mitigation is supported by the modified Hopfield model with standard atmospheric parameters and GMF mapping function (Boehm et al. 2006; Wielgosz et al. 2012). The solution employed precise orbits and clocks provided by Wuhan University (Guo et al. 2016).

The weights of DD pseudoranges are derived by means of the law of variance propagation, taking into account inter-station and inter-satellite correlations instigated by double differencing, as well as a priori variances of undifferenced observations (Paziewski and Wielgosz 2014). Typically, a function of satellite elevation is used for observation weighting in GNSS positioning. Then, a priori standard deviation of the pseudorange is derived adopting zenith code STD (\(\sigma_{P}\)) and satellite elevation (el) as follows:

$$\sigma_{{P_{k}^{m} }} = \sqrt {\sigma_{P}^{2} /\sin^{2} \left( {el_{k}^{m} } \right)}$$
(7)

Since the C/N0 is one of the key indicators assessing the quality of GNSS observations, this ration can be alternatively and efficiently employed for stochastic modeling (Hartinger and Brunner 1998; Braasch and van Dierendonck 1999; Kuusniemi et al. 2007). With the use of high-grade receivers, both approaches (elevation and C/N0 dependent) show a comparable performance due to a clear relationship between C/N0 and satellite elevation angle. However, a clear benefit from C/N0-dependent stochastic models is obtained in the signal-degraded environment (Medina et al. 2018). In this case, a priori code observation error used in the weighting process can be approximated by the following equation (Langley 1996):

$$\sigma_{{P_{k}^{m} }} = \sqrt {\frac{{\alpha B_{L} }}{{c/n_{0} }}} \lambda_{c}$$
(8)

where \(c/n_{0}\) is the carrier-to-noise density, which equals \(10^{{\left( {{\text{C}}/{\text{N}}_{0} } \right)/10}}\) for \({\text{C}}/{\text{N}}_{0}\) given in dB-Hz, \(\lambda_{c}\) corresponds to a wavelength of C/A or P-code (29.305 m or 293.05 m), \(B_{L}\) denotes the equivalent code loop noise bandwidth (Hz) typically reaching up to several Hz and \(\alpha\) denotes the dimensionless DLL (delay lock loop) discriminator correlator factor. The values of constants \(B_{L}\) and \(\alpha\) were adopted after Langley (1996).

As previously revealed, the smartphone observations have low C/N0 and are less dependent on satellite signal elevation. Hence, in this case study, we present a collection of results derived with both weighting schemes.

Performance of stand-alone positioning and potential improvement from code relative processing

We show the propagation of high noise of smartphone pseudoranges into position estimates and the benefits of relative positioning. The coordinate estimates are obtained from 13-h dataset (4:00–17:00 UTC), which are split into a defined length of observation sessions of 10 and 20 min. These solutions are compared to benchmark coordinates of high precision provided by static relative positioning.

To assess the stand-alone smartphone positioning, we process code pseudoranges in the static mode. Considering the level of measurement noise characterized previously, we cannot expect a high-precision solution. In the case of 10-min sessions, the standard deviation of coordinate residuals reaches 4.1 m, 2.7 m and 7.0 m for NEU components, respectively, with mean offset with respect to the benchmark position of 1.8 m, − 0.4 m and 3.1 m. In this case, the study of a longer occupation time (20 min) did not lead to accuracy enhancement. The high variability of coordinate residuals is evident in Fig. 13 (green and blue dots), where we can notice several solutions with coordinate residuals exceeding 10–15 m and 20 m for NE and U components, respectively. A similar level of accuracy of stand-alone positioning with the smartphone was reported by Siddakatte et al. (2017) and Zhang et al. (2018b). Such results obviously indicate a need of positioning accuracy enhancement, which we intend to obtain with code relative positioning. Hence, static positioning was performed using a single-baseline mode with baselines of 13 km and 51 km length, as well as a multi-station mode of medium-range (31–69 km) and of long-range (89–135 km) baselines. Figure 14 illustrates the location of the smartphone with respect to the reference stations and baselines. To verify the hypothesis of high impact of C/N0 on coordinate estimates, we have employed two aforementioned weighting schemes: satellite elevation and C/N0 dependent.

Fig. 13
figure 13

Coordinate residuals obtained from stand-alone smartphone positioning of 10 min (blue), 20 min (green) sessions, and static relative positioning with 13-km-long baseline and 10 min session (red)

Fig. 14
figure 14

Network of stations employed in relative positioning. OPNT and DZIA serve as reference stations in short and medium baseline cases, respectively, whereas LAMA, ILAW, DZIA, MYSZ serve as references in medium-range multi-station and BRWO, PLON, GRAJ in long-range multi-station solution. HUAW is the site occupied by the smartphone

Table 2 summarizes the positioning accuracy and provides empirical standard deviation of the coordinate residuals. In these cases, the STDs of the coordinate residuals were in the range of 0.8–1.5 m, 0.6–1.4 m and 1.6–2.8 m for NEU components, respectively, with corresponding mean offset to benchmark position equal to 0.7–0.8 m, about 0.2 m, and 1.7–2.0 m depending on the processing strategy. Comparing the performance of the relative positioning to the stand-alone one, we notice a clear benefit from the double-differenced observation processing in terms of both position repeatability and mean offset. Relative mode reduced the dispersion of position about 3–4 times with respect to the stand-alone solution.

Table 2 Statistics of code-based relative positioning in the function of baseline range and duration of observing session. STD denotes coordinate residuals standard deviation obtained with respect to benchmark position

Table 2 also shows that the application of C/N0-dependent weighting scheme significantly reduces the coordinate STD with respect to the elevation-dependent weighting function. For instance, in the case of the 10-min session, we obtained the enhancement of coordinate STD fitting the range of 28–35%, 21–45%, 23–32%, for the NEU components, respectively. Specifically, the coordinate STD for the short single-baseline solution reduces from 1.47 m for N, 0.84 m for E and 2.80 m for U component, to 1.09 m, 0.69 m and 2.11 m, respectively. Hence, we can conclude that the commonly applied elevation weighting scheme is not optimal for smartphone-based positioning due to the lower dependency of the carrier-to-noise density ratio on satellite elevation. Thus, in such a case, this should be replaced by C/N0-dependent scheme.

Interesting lessons can be learned from the comparison of results obtained with different baselines length. We may draw the conclusion that the impact of baseline length is of lower importance, and thus, tropospheric and ionospheric refraction is not dominating the error budget for relative positioning with a range up to 100 km. We obtain relatively similar values of coordinate STD for single baselines of 13 and 51 km and for a multi-station solution of medium-range baselines. However, a slightly lower precision was obtained for long baselines. With 20-min sessions, baselines up to dozens of kilometers and the C/N0-dependent weighting scheme, it is feasible to achieve a smartphone position with STDs of 0.8 m, 0.6 m and 1.6 m, for NEU components, respectively. The results indicate that a significant enhancement of the smartphone positioning can be obtained employing a relatively sparse network of reference stations with baselines up to 135 km. Hence, long-range pseudorange solution may reach a similar level of accuracy as phase plus pseudorange stand-alone positioning of the smartphone with disabled duty cycling as presented in Zhang et al. (2018b).

Conclusions and future work

We assessed both the measurement quality and the potential benefit of relative positioning to improve the positioning accuracy of smart devices. The study shows that smartphone observables suffer not only from high measurement noise combined with multipath effect and low signal-to-noise ratio but also from several anomalies driven by the duty-cycling mode. The results show increasing divergence between phase and code data after the activation of the duty cycling, which points toward an inconsistency between smartphone phase and code clocks. Moreover, activation of the duty cycling caused repeated variations in code data, which is also considered a receiver clock-related effect. Finally, double-differenced phase observables exposed unwanted drift during the activated duty-cycling mode. In contrary to previously detected effects, this long-term change does not reveal a coincidence between different pairs of satellites. Such effect efficiently prevents integer ambiguity resolution and hence is a severe constraint limiting the application to high-precision positioning techniques such as RTK or PPP. Based on the analysis of the observables, we may expect to address the requirements of precise positioning, providing observables derived from a smartphone without the duty cycle.

To improve the performance of smartphone positioning, we employed code relative positioning of different range, taking advantage of the national permanent GNSS network. We conclude that in such a case the dominating factor, degrading the performance of positioning, is the quality of observations. Even for baselines of over 100 km, it is considered as the main constraint, rendering other sources of errors to be less important. The results show that long-range relative mode might significantly enhance smartphone positioning with respect to the stand-alone solution and provide the submeter level of horizontal coordinate accuracy. This is feasible taking advantage of C/N0-dependent weighting scheme which was superior to the satellite elevation one.

We should note that these statements hold true only for the devices with low-quality phase observations being subject of enabled duty cycling, the gradual accumulation of errors, or the presence of arbitrary starting phase offset. Hence, our future work will involve not only the application of chipsets with inactive duty cycling but also the most recent chipsets such as BCM47755 by Broadcom capable of tracking dual-frequency data, creating an opportunity for the handling of ionospheric delay.