A New DGNSS Positioning Infrastructure for Android Smartphones

One’s position has become an important piece of information for our everyday lives in a smart city. Currently, a position can be obtained easily using smartphones that is equipped with low-cost Global Navigation Satellite System (GNSS) chipsets with accuracy varying from 5 m to 10 m. Differential GNSS (DGNSS) is an efficient technology that removes the majority of GNSS errors with the aid of reference stations installed at known locations. The sub-meter accuracy can be achieved when applying the DGNSS technology on the advanced receivers. In 2016, Android has opened the accesses of raw GNSS measurements to developers. However, most of the mid and low-end smartphones only provide the data using the National Marine Electronics Association (NMEA) protocol. They do not provide the raw measurements, and thus do not support the DGNSS operation either. We proposed a DGNSS infrastructure that correct the standalone GNSS position of smartphones using the corrections from the reference station. In the infrastructure, the position correction is generated considering the GNSS satellite IDs that contribute to the standalone solution in smartphones, and the position obtained is equivalent to the solution of using the range-domain correction directly. To serve a large number of smartphone users, a Client/Server architecture is developed to cope with a mass of DGNSS positioning requests efficiently. The comparison of the proposed infrastructure against the ground truth, for all field tests in open areas, showed that the infrastructure achieves the horizontal positioning accuracy better than 2 m. The improvement in accuracy can reach more than 50% for the test in the afternoon. The infrastructure brings benefits to applications that require more accuracy without requiring any hardware modifications.


Introduction
Global Navigation Satellite System (GNSS) measures the satellite-to-user distances to determine the user position, suffering from measurement errors caused by the satellite clock, the satellite orbit, the propagation delay, and the receiver. The standalone GNSS determines position with an accuracy of 5 m to 10 m, and brings many benefits to our daily life [1]. Some applications, however, such as the lane-level positioning system and the collision warning system, and the Geographic Information System (GIS) information collection system, require far better accuracy than that given by the standalone GNSS [2].
The concept of Differential GNSS (DGNSS) was developed in the 1980s. DGNSS reduces measurement errors using corrections or raw measurements generated from one or more reference

Background
One of the basic observables available in the GNSS receiver is the pseudorange (ρ), which contains the true range r contaminated by various errors: where b and B denote the receiver and satellite clock error; I and T are the ionospheric delay and the tropospheric delay, respectively; M represents the multipath error; and e represents the error caused by receiver noise and interferences. Note that the pseudorange in Equation (1) contains other errors, such as the relativistic error and the differential code bias. For simplicity consideration, these terms are not included.
Most of the errors in Equation (1) can be reduced either using navigation messages broadcast from satellites, or applying pseudorange corrections from a nearby reference station. These two approaches are known as the standalone GNSS and the range domain DGNSS. This section presents the fundamentals, and then introduces the NMEA protocol, which is widely employed to deliver positioning information to users in most of the GNSS chipsets.

Standalone GNSS
The standalone GNSS employs the navigation messages to correct some errors in Equation (1): where ρ c denotes the corrected pseudorange;Î andT are the estimates of the ionospheric delay and the tropospheric delay, respectively; andB is an estimate of the satellite clock error. For the single frequency receiver,Î is estimated using various models. One of the examples is the Klobuchar model that removes approximately 50 percent Root Mean Square (RMS) of ionospheric errors, requiring only eight parameters as a part of navigation messages [20]. Furthermore,B in Equation (2) is estimated using the second-order polynomial, and its coefficients are contained in the navigation messages sent to receivers. The corrected pseudorange ρ c in Equation (2) is a function of a number of unkowns: where i is the index for the satellite, i = 1, 2 . . . n, and n is the number of satellites; (x u , y u , z u ) denotes user position; (x i , y i , z i ) is the position of satellite i, computed from navigation messages; ε i u is the residual error. In case of the single constellation GNSS, four measurements are required to determine the receiver position (x u , y u , z u ) and the receiver clock error b. If the number of the satellite constellations is s, then the number of unknowns is p = s + 3, and at least p measurements are required to solve Equation (3) for the unknowns.
The iterative least squares method is a conventional method to solve for the unknowns [1]. The first step of the method is to derive the approximate pseudorangeρ i c based on the initial state: Next, the corrected pseudorange ρ c is linearized at the initial state where g i represents the line of sight vector to the satellite i; ∆x s is a vector of p unknown parameters. Equation (5) can also be represented as follows: where ∆ρ i is the difference between the corrected pseudorange measurement and the estimated pseudorange: Having n pseudorange measurements, the linearization Equation (6) can be written in the matrix form: where G is a n × p design matrix; ε is the vector of measurement errors. The least-squares solution of Equation (7) is given by where T represents the transpose operation of a matrix; W is the weight matrix. The user position and receiver clock are then updated based on the following equation: where the subscript s denotes the standalone GNSS. The magnitude of vector ∆x s is compared with an acceptable value ξ to determine if the iteration aborts: where ξ is a small value that determines if the iteration stops. If the requirement in Equation (10) is satisfied, x s is regarded as the final solution. Otherwise, x s is then assigned to x 0 , and the iteration continues from Equation (4) to Equation (9), until the requirement in Equation (10) is satisfied.

DGNSS in the Range Domain
The range domain DGNSS provides users with pseudorange corrections based on the reference station located at a known location (x m , y m , z m ). The range between the reference station and the satellite i can be computed as Subtracting the pseudorange ρ i m from the calculated range R i m yields the pseudorange correction (PRC) In the user receiver, the correction PRC i is then employed to reduce various errors where ρ i c is the corrected pseudorange. Using the corrected pseudorange, one can calculate the position using the iterative least squares method discussed in the previous subsection.
Because the satellite clock error is the same for the reference station and the user, the above differencing process can remove all of the satellite clock errors. Moreover, because the propagation errors and the orbit errors are correlated over space, most errors due to the satellite orbit and the propagation delay can be reduced significantly. The corrected pseudorange is then used to determine Sensors 2020, 20, 487 5 of 15 user position. This process is usually achieved based on the iterative method presented in the previous subsection.

NMEA Standard
As discussed previously, the GNSS chipsets utilize the pseudorange measurements to determine the user location. The results, e.g., the positioning information and the satellite information, are usually delivered to users through the NMEA 0183 protocol, which is supported by all chipsets for exchanging the processed measurements.
Android smartphones employ NMEA messages to deliver the positioning results. Several NMEA messages are supported by these smartphones, such as the fix data (GGA), the recommended minimum data (RMC), the overall satellite data (GSA), and the detailed satellite data (GSV) messages. In particular, the DGNSS infrastructure presented in the next section utilizes two of these messages: the GGA message and the GSA message. The GGA message gives the position fix in WGS-84, while the GSA message delivers a list of satellites that contribute to determining the position fix. As an example, the definition of the GSA message is explained in Table 1. One GSA message can contain up to 12 active satellites. There can be several GSA messages for one epoch when more than one constellation is used.

DGNSS Positioning Infrastructure
The fundamentals of DGNSS based on NMEA messages are presented in this section. A positioning infrastructure is then proposed and described, with the emphasis on the architecture and the implementation issues.

DGNSS Based on NMEA Messages
Android smartphones provide the standalone position (x 0 = (x s , y s , z s )) via the NMEA GGA message. More importantly, the NMEA GSA message provides all satellite IDs that contribute to the standalone position. The DGNSS based on NMEA messages starts from standalone position x 0 = (x s , y s , z s ), and attempts find the position correction ∆x d , such that where x d is the solution from the range domain DGNSS. In this subsection, we will derive ∆x d using the range domain DGNSS first, and then attempt to represent ∆x d with the known information.
As the first step of the iterative least squares method, the approximate range between the satellite and the user can be estimated based on the standalone user position x 0 = (x s , y s , z s ): If we know the pseudorange ρ i , then the observable ∆ρ i is obtained as Sensors 2020, 20, 487 6 of 15 If more than p satellites are tracked, then the least-squares position correction ∆x d can be calculated, as done in (8) where G is the design matrix, which can be calculated from the initial user position and satellite positions; ρ is the pseudorange measurement, which is not available from the perspective of developers; PRC represents the pseudorange corrections from the reference station. As shown in Equation (17), the range-domain DGNSS calculates ∆x d based on the pseudorange measurements, which are not available to Android smartphone developers. However, we can rewrite Equation (17) as follows: whereÎ,T, andB are estimates of the ionospheric delay, the tropospheric delay, and the satellite clock error with the broadcast messages, respectively. Substituting (7) into (18) gives because ∆x s is a very small value (shown in Equation (10)), the position shift ∆x d can be approximated as follows: It can be seen from Equation (20) that the position shift can be calculated even if the pseudorange measurements are not provided.
The position correction in Equation (20) is determined by the following vectors: G,Î,B, andT, as well as PRC. The distance from the satellite and the receiver can be as large as 20,000 km., and the accuracy of the satellite position and the receiver position required has limited effects on the positioning results, especially for the meter level positioning. Therefore, the geometry matrix G can be calculated from navigation messages, and it can also computed using the GSV sentences [17,20]. The propagation delaysÎ andT are computed with the standard models. The satellite clock error is estimated using the navigation messages.
The position correction is valid when these vectors are based on the set of satellites, which are utilized in determining the standalone GNSS position. As shown in Figure 1, a critical step of DGNSS based on NMEA messages is that, for each satellite ID that appears in GSA sentences, we compute the propagation delays, the pseudorange correction, and the estimate of the satellite clock error based on the data from the reference station. The above vectors are then formed on the order of satellites that appear in the GSA sentence. The position correction is valid when these vectors are based on the set of satellites, which are utilized in determining the standalone GNSS position. As shown in Figure 1, a critical step of DGNSS based on NMEA messages is that, for each satellite ID that appears in GSA sentences, we compute the propagation delays, the pseudorange correction, and the estimate of the satellite clock error based on the data from the reference station. The above vectors are then formed on the order of satellites that appear in the GSA sentence.

Assumptions on DGNSS Based on NMEA Messages
The DGNSS based on NMEA messages works on some essential assumptions regarding the GNSS chipsets embedded in smartphones:

•
The GNSS chipsets apply the standard Klobuchar model to estimate the ionospehric delay.

•
There are some other methods to solve for unknowns, such as the closed-form method and the Kalman filtering method. The proposed DGNSS assumes that the conventional iterative least squares method is applied.

•
The satellite measurements are weighted based on the satellite elevation.
The performance of the proposed DGNSS is thus dependent on the model and the algorithms used in the chipsets. In the proposed DGNSS, it is assumed that the most conventional model is applied. This also indicates that the direct cooperation with chipset manufacturers is required in the future to understand the method and the model used in the chipsets.

Implementation of the Infrastructure
There are two approaches to implementing the DGNSS based on NMEA messages. One approach is to transmit directly the reference station data to smartphones, which is in turn integrated with the NMEA messages in the smartphones. The smartphone performs most of the calculations. Figure 2a illustrates this approach. It consists of some reference stations that provides the GNSS data to a smartphone in a specific protocol, e.g., Ntrip. In the smartphone, the reference station data and the NMEA messages are processed in the manner as specified in Figure 1. In this simple method, the reference station data are transmitted from the reference station directly, and only one-way communication is required. However, because of the limited computational capacities of smartphones, it is challenging to implement the DGNSS algorithm in the smartphone, including the range correction engine, the monitor engine, and the position engine. For example, the position correction calculation in (20) requires the multiplication and inversion operation of the matrix, and the matrix can have tens of rows in the case of multiple satellite constellations. Such a calculation can be challenging to perform using a smartphone.

Implementation of the Infrastructure
There are two approaches to implementing the DGNSS based on NMEA messages. One approach is to transmit directly the reference station data to smartphones, which is in turn integrated with the NMEA messages in the smartphones. The smartphone performs most of the calculations. Figure 2a illustrates this approach. It consists of some reference stations that provides the GNSS data to a smartphone in a specific protocol, e.g., Ntrip. In the smartphone, the reference station data and the NMEA messages are processed in the manner as specified in Figure 1. In this simple method, the reference station data are transmitted from the reference station directly, and only one-way communication is required. However, because of the limited computational capacities of smartphones, it is challenging to implement the DGNSS algorithm in the smartphone, including the range correction engine, the monitor engine, and the position engine. For example, the position correction calculation in (20) requires the multiplication and inversion operation of the matrix, and the matrix can have tens of rows in the case of multiple satellite constellations. Such a calculation can be challenging to perform using a smartphone. The other approach is to use a server collect GNSS data from reference stations, as shown in Figure 2b. When the smartphone requests the DGNSS service, it transmits the NMEA messages to the server. For each request, the server computes the DGNSS position using the NMEA messages from the smartphone. The DGNSS position is then transmitted to the smartphone. In this method, the server performs most of the calculations in the architecture. The smartphone in this method must transmit the NMEA messages to the server and must receive the DGNSS position from the server. Therefore, two-way communication is required for the smartphone. The first advantage of this method is that most of the calculations are performed by the DGNSS server efficiently, i.e., the smartphone does not have to consider these calculations. The second advantage is that the range correction engine and the monitor engine are common parts for all smartphones that request the DGNSS service. These two engines can be performed simultaneously at the server, and, in turn, the range corrections are utilized by all smartphones that are connected to the server.
To reduce the user's computational requirement, we developed the DGNSS infrastructure based on the second method. The infrastructure consists of a server program responsible for providing DGNSS service, and a Software Development Kit (SDK) capable of sending the NMEA messages to the server and receiving the DGNSS positions from the server. Both programs can be configured with different settings, such as the IP address and the port number.

Experimental Studies
Extensive tests have been conducted to evaluate the performance of the proposed infrastructure. In each test, the standalone and DGNSS positions from smartphones are compared with the ground truth from a surveying-grade receiver. The Trimble GNSS receiver in Figure 3 receives RTK corrections from reference stations, and then solves for integer ambiguities to determine positions up to a few centimeters. Because smartphones offer the meter-level accuracy, this Trimble receiver is sufficient for evaluating the performance of the DGNSS based on NMEA messages.
To reduce the user's computational requirement, we developed the DGNSS infrastructure based on the second method. The infrastructure consists of a server program responsible for providing DGNSS service, and a Software Development Kit (SDK) capable of sending the NMEA messages to the server and receiving the DGNSS positions from the server. Both programs can be configured with different settings, such as the IP address and the port number.

Experimental Studies
Extensive tests have been conducted to evaluate the performance of the proposed infrastructure. In each test, the standalone and DGNSS positions from smartphones are compared with the ground truth from a surveying-grade receiver. The Trimble GNSS receiver in Figure 3 receives RTK corrections from reference stations, and then solves for integer ambiguities to determine positions up to a few centimeters. Because smartphones offer the meter-level accuracy, this Trimble receiver is sufficient for evaluating the performance of the DGNSS based on NMEA messages. Some representative tests are presented in the following three subsections. The walking test is shown in the next subsection. Next, the walking tests in the second subsection show the effects of the ionosphere on the smartphone positioning in low-latitude areas and show how the infrastructure can mitigate them. Finally, the performance of the infrastructure in urban areas is illustrated.

Walking in the Open Area
The open area test was performed to evaluate the proposed infrastructure on a circular observation deck in Macau, China, as shown in Figure 4. The radius of the circular deck is approximately 30 m. The distance between the smartphones and the reference station is approximately 6 km. There are some buildings approximately 1 km away. As shown in the figure, a pedestrian holding the pole walked along the specific tracks from 3:00 p.m. to 4:00 p.m. on 30 November 2016.
sampling rate of 1 Hz. For each test, the log files contain three types of positions: standalone and DGNSS solutions from smartphones, and RTK solutions from the Trimble receiver. For each epoch, the positions of the standalone GNSS and DGNSS from smartphones are compared with the position from the Trimble receiver, and the positioning errors are calculated.
Some representative tests are presented in the following three subsections. The walking test is shown in the next subsection. Next, the walking tests in the second subsection show the effects of the ionosphere on the smartphone positioning in low-latitude areas and show how the infrastructure can mitigate them. Finally, the performance of the infrastructure in urban areas is illustrated.

Walking in the Open Area
The open area test was performed to evaluate the proposed infrastructure on a circular observation deck in Macau, China, as shown in Figure 4. The radius of the circular deck is approximately 30 m. The distance between the smartphones and the reference station is approximately 6 km. There are some buildings approximately 1 km away. As shown in the figure, a pedestrian holding the pole walked along the specific tracks from 3:00 p.m. to 4:00 p.m. on 30 November 2016.  Figure 5 shows the trajectories using different methods. As shown, the pedestrian walked along three pre-defined routes: a portion of a circle sector, a small circle, and a rectangle. In the figure, the red trajectory represents the ground truth, and the blue and green trajectories represent GNSS and DGNSS solutions in the smartphone, respectively. There was a significant bias between the standalone GNSS solution and the ground truth. Figure 5 shows that most of the system errors were removed using the proposed infrastructure.  Figure 5 shows the trajectories using different methods. As shown, the pedestrian walked along three pre-defined routes: a portion of a circle sector, a small circle, and a rectangle. In the figure, the red trajectory represents the ground truth, and the blue and green trajectories represent GNSS and DGNSS solutions in the smartphone, respectively. There was a significant bias between the standalone GNSS solution and the ground truth. Figure 5 shows that most of the system errors were removed using the proposed infrastructure. We also compared the positioning error of GNSS with that of DGNSS in the smartphone. Table  2 shows that the horizontal average positioning error is 2.3 m and the RMS error is 2.6 m when using standalone GNSS in the smartphone. With the proposed DGNSS, the horizontal average positioning error is reduced to 0.8 m and the RMS error is reduced to 1.5 m. We also compared the positioning error of GNSS with that of DGNSS in the smartphone. Table 2 shows that the horizontal average positioning error is 2.3 m and the RMS error is 2.6 m when using standalone GNSS in the smartphone. With the proposed DGNSS, the horizontal average positioning error is reduced to 0.8 m and the RMS error is reduced to 1.5 m. The performance of the proposed infrastructure was also assessed in different types of smartphones. As shown in Figure 6, the DGNSS trajectory of the Unistrong smartphone is shown as the blue line, while that of HTC is shown as a black line. The positioning accuracy is found to be improved in both smartphones. The DGNSS performance in the Unistrong smartphone is better than that on the HTC smartphone. The difference can be caused by a number of factors, such as different algorithms and models employed in smartphone GNSS chipsets. We also compared the positioning error of GNSS with that of DGNSS in the smartphone. Table  2 shows that the horizontal average positioning error is 2.3 m and the RMS error is 2.6 m when using standalone GNSS in the smartphone. With the proposed DGNSS, the horizontal average positioning error is reduced to 0.8 m and the RMS error is reduced to 1.5 m. The performance of the proposed infrastructure was also assessed in different types of smartphones. As shown in Figure 6, the DGNSS trajectory of the Unistrong smartphone is shown as the blue line, while that of HTC is shown as a black line. The positioning accuracy is found to be improved in both smartphones. The DGNSS performance in the Unistrong smartphone is better than that on the HTC smartphone. The difference can be caused by a number of factors, such as different algorithms and models employed in smartphone GNSS chipsets.

Effects of Ionosphere in the Low-Latitude Region
It is well known that the ionospheric activity is affected by many factors, such as daytime, season, and solar activity. Thus, these factors may affect the positioning accuracy of the standalone GNSS. When using the DGNSS positioning infrastructure, most of the ionospehric errors can be mitigated. In this paper, we mainly compared the performance of DGNSS in the morning and that in the afternoon.
Macau is located in low-latitude regions, with the latitude ranging from 22.1 degrees to 22.3 degrees. A comparison test was performed in Macau on 8 December 2016, when the solar activity was low. The first data set was collected from 10:30 a.m. to 11:00 a.m., during which the ionospheric delay was still small. The other was collected from 2:00 p.m. to 2:30 p.m., during which the ionospheric delay reached the diurnal maximum [10]. In two tests, we walked along a predefined track of a trapezoid shape. Both trajectories are in the open area, and the effects of multipath on smartphones can be assumed to be same for two data sets. The distance between the smartphones to the reference station is approximately 4 km. Figure 7 compares the smartphone positioning performance in the morning and that in the afternoon. In the figure, the blue line and the green line represent the smartphone GNSS and DGNSS trajectories respectively, and the red line represents the ground truth. As shown in the figure, Sensors 2020, 20, 487 12 of 15 the standalone GNSS positioning error in the morning was much smaller than that in the afternoon. When using the positioning infrastructure, the positioning error was reduced significantly for both tests.
track of a trapezoid shape. Both trajectories are in the open area, and the effects of multipath on smartphones can be assumed to be same for two data sets. The distance between the smartphones to the reference station is approximately 4 km. Figure 7 compares the smartphone positioning performance in the morning and that in the afternoon. In the figure, the blue line and the green line represent the smartphone GNSS and DGNSS trajectories respectively, and the red line represents the ground truth. As shown in the figure, the standalone GNSS positioning error in the morning was much smaller than that in the afternoon. When using the positioning infrastructure, the positioning error was reduced significantly for both tests.  Table 3 shows the smartphone performance in the morning and that in the afternoon. In the morning, the ionospheric delay was smaller, and the average of the standalone GNSS positioning error was 0.9 m, and the RMS error was 1.7 m. In the afternoon, the ionospheric delay was much larger; the performance of the traditional model used in smartphones was not good, especially for low latitude areas. During this period of time, the average of the standalone GNSS positioning error reached 4.0 m, and the RMS error was as large as 4.4 m. When using the proposed DGNSS, the positioning error was reduced significantly in both tests. Specifically, the RMS error was reduced to 1.5 m, and 1.8 m in the morning and the afternoon, respectively. The average of horizontal positioning error was reduced to 0.4 m in both tests.  Table 3 shows the smartphone performance in the morning and that in the afternoon. In the morning, the ionospheric delay was smaller, and the average of the standalone GNSS positioning error was 0.9 m, and the RMS error was 1.7 m. In the afternoon, the ionospheric delay was much larger; the performance of the traditional model used in smartphones was not good, especially for low latitude areas. During this period of time, the average of the standalone GNSS positioning error reached 4.0 m, and the RMS error was as large as 4.4 m. When using the proposed DGNSS, the positioning error was reduced significantly in both tests. Specifically, the RMS error was reduced to 1.5 m, and 1.8 m in the morning and the afternoon, respectively. The average of horizontal positioning error was reduced to 0.4 m in both tests.

Walking in Urban Areas
Another test was also conducted to evaluate the positioning performance of smartphones in the urban area. In the test, the pedestrian holding the equipment walked around a mountain. The distance between the reference station and the mountain is approximately 2.5 km. Figure 8 shows the trajectory of the pedestrian. Along the sidewalks shown in the green oval, the GNSS signals from satellites were affected by the trees, and the multipath error was not large. The accuracy improvement by using the infrastructure can still be seen from the figure. When the pedestrian was in the section denoted by the black oval, however, the multipath error was very large, and the Trimble receiver could not fix the ambiguities. In this section, the positioning accuracy of smartphones was not improved significantly. This result agrees with the fact that the differencing process could not remove multipath errors. The mitigation of the multipath errors on the GNSS positioning will be conducted in our future study. urban area. In the test, the pedestrian holding the equipment walked around a mountain. The distance between the reference station and the mountain is approximately 2.5 km. Figure 8 shows the trajectory of the pedestrian. Along the sidewalks shown in the green oval, the GNSS signals from satellites were affected by the trees, and the multipath error was not large. The accuracy improvement by using the infrastructure can still be seen from the figure. When the pedestrian was in the section denoted by the black oval, however, the multipath error was very large, and the Trimble receiver could not fix the ambiguities. In this section, the positioning accuracy of smartphones was not improved significantly. This result agrees with the fact that the differencing process could not remove multipath errors. The mitigation of the multipath errors on the GNSS positioning will be conducted in our future study.

Conclusions
This paper described the DGNSS positioning infrastructure that delivers improved accuracy to a huge number of users. The infrastructure enables most of calculations to be performed in the server side, bringing benefits to all of relevant smartphones. When implementing the DGNSS infrastructure, all smartphone types were considered. Because different satellite systems are supported by different smartphones, the infrastructure developed in this paper considers all the combinations of satellite systems used in smartphones.
A comparison of the proposed infrastructure against the ground truth, for all tests performed in open areas, demonstrated that the RMS horizontal positioning error was reduced to less than 2 m. The test in the open area showed that average horizontal positioning errors were reduced from 2.3 m to 0.8 m, and the RMS horizontal error was reduced from 2.6 m to 1.5 m. The strength of DGNSS is

Conclusions
This paper described the DGNSS positioning infrastructure that delivers improved accuracy to a huge number of users. The infrastructure enables most of calculations to be performed in the server side, bringing benefits to all of relevant smartphones. When implementing the DGNSS infrastructure, all smartphone types were considered. Because different satellite systems are supported by different smartphones, the infrastructure developed in this paper considers all the combinations of satellite systems used in smartphones.
A comparison of the proposed infrastructure against the ground truth, for all tests performed in open areas, demonstrated that the RMS horizontal positioning error was reduced to less than 2 m. The test in the open area showed that average horizontal positioning errors were reduced from 2.3 m to 0.8 m, and the RMS horizontal error was reduced from 2.6 m to 1.5 m. The strength of DGNSS is particularly apparent in low-latitude or high-latitude regions, where it removes most of the errors caused by the ionosphere. Another test in Macau (low-latitude regions) showed that the positioning error of the standalone smartphone in the afternoon was much larger than that in the morning. Although the test was performed in 2017 when the solar activity reached almost the minimum, the average horizontal positioning error reached 4.0 m, and the RMS error was as large as 4.4 m. With the infrastructure, the average horizontal positioning error was reduced to 0.4 m, and the RMS error was reduced to 1.8 m.
It is well known that the DGNSS operation does not reduce the receiver related error (e.g., multipath errors). The receiver related error must be considered by DGNSS in urban areas especially for safety-critical applications, for example, the lane-level positioning system and the collision warning system. In this study, the performance of DGNSS in urban areas was studied, and the test demonstrated that the DGNSS still adds value in the urban environments.
We also compared the DGNSS based on NMEA messages with the range-domain DGNSS; the comparison showed that the accuracy of a smartphone with infrastructure is still worse than that of range-domain DGNSS on surveying grade devices. Based on the results, the RMS error of range-domain DGNSS was less than 1 m, and the accuracy of the smartphone positioning with the infrastructure was approximately 1.5 m. The performance of the infrastructure depends on a number of factors, such as the model applied in the chipsets, the position determination algorithms and the weighing methods, as well as the performance of the antenna. In the current infrastructure, we assumed that the most conventional models and algorithms are used in the GNSS chipsets. To obtain the higher accuracy in the future, the direct cooperation with chipset manufactures is required to understand the models and algorithms used in the chipsets.