- freely available
Sensors 2012, 12(10), 12988-13001; doi:10.3390/s121012988
Published: 25 September 2012
Abstract: This study developed a smartphone application that provides wireless communication, NRTIP client, and RTK processing features, and which can simplify the Network RTK-GPS system while reducing the required cost. A determination method for an error model in Network RTK measurements was proposed, considering both random and autocorrelation errors, to accurately calculate the coordinates measured by the application using state estimation filters. The performance evaluation of the developed application showed that it could perform high-precision real-time positioning, within several centimeters of error range at a frequency of 20 Hz. A Kalman Filter was applied to the coordinates measured from the application, to evaluate the appropriateness of the determination method for an error model, as proposed in this study. The results were more accurate, compared with those of the existing error model, which only considered the random error.
In cooperation with Dortmund University in Germany, the Federal Agency for Cartography and Geodesy (BKG) introduced HTTP-based Differential GPS (DGPS) data streaming technology and developed Networked Transport of RTCM via Internet Protocol (NTRIP) as the format of DGPS data . Of the many types of DGPS data transferrable in the NTRIP format, the Network Real-Time Kinematic (NRTK) GPS data provides the most accurate real-time positioning. The NRTK positioning is a technology that calculates the correction message suitable for an area where a GPS rover is positioned [2,3]. The calculated correction message is transferred to the rover, to enable highly accurate real-time positioning . Multiple GPS reference stations are utilized, because using a single reference station reduces accuracy if the distance between the rover and the reference station exceeds 10 km [5,6]. The NRTK correction message may be calculated using the data from multiple GPS reference stations placed at intervals of 50–70 km across a wide area, and the results may then be transferred in NTRIP format. The user can then conduct highly accurate positioning, using only a GPS rover and an NTRIP broadcaster connection terminal.
Representative NRTK services include the EUREF-IP service of the EU , SAPOS in Germany, the IGS-IP service of the International GNSS Service (IGS), and the National Virtual Reference Station (VRS)  Service of Korea. A mobile device connecting the Internet and a GPS receiver with a RTK processing function is required to use the NTRIP broadcaster. Mobile devices (e.g., PDAs, tablet PCs, and exclusive controllers) have conventionally been combined with a phone, for wireless Internet connection, and an expensive GPS receiver, with the RTK processing function, to organize a positioning system for NRTK. However, the recent development and distribution of new smartphones that support installation of user-developed application, high-speed processing, and wireless communication , provides a new environment for NTRIP-type NRTK services. Thus, most NRTK service features were enabled in the smartphone, which provides many advantages. With this background, this study now addresses the development of the NRTK application for smartphones.
The composition of the NRTK system was simplified, and the cost required to organize the system was reduced, by including the NTRIP client feature for correction message reception, NRTK processing feature, and applied features for using the NRTK positioning results in a smartphone application. A suitable method for determining the error model for the NRTK positioning results is also presented, to estimate highly reliable positioning values with a suitable filter in the application program, utilizing the NRTK positioning results.
2. NRTK Application Design for the Smartphone
This study designed the NRTK application using the advantages of the smartphone, including fast data processing speed, diverse wired/wireless communication features, and an installation environment for the universal user of the development application. Most of the processing for NRTK positioning could thus be conducted in the smartphone. This structure was applied for the following reasons. First, the system composition cost can be reduced, as the smartphone provides the RTK processing function, which until now was performed by the GPS receiver. Second, a smartphone performs all the functions that have been provided by a computer device, such as a PDA and a cell phone, simplifying the composition of the NRTK positioning system.
Table 1 shows the functions required for the application. The NRTK service with a virtual reference station, so called the virtual control point, was used for the NRTK service environment in Korea . This method allows the user to transfer his rough position data to the NTRIP broadcaster, while the broadcaster calculates the correction message suitable for the user's position to be transferred to the user. Table 1 shows the core parts of the functions: communication and NRTK processing. The application used the Bluetooth-enabled device of the smartphone to control the GPS receiver, and receive the GPS observation results. The wireless communication module was used to provide the NTRIP client conducting the current position transfer and correction message reception, via the NTRIP broadcaster in the mobile environment. As for the NRTK processing function, the correction messages from communication devices and GPS observation data were processed. The precise positioning results were calculated within several centimeters of error range at a maximum frequency of 20 Hz.
Figure 1 shows the design results of the NRTK application for the smartphone, when the general GPS receiver without RTK processing function is used. Figure 1(a) shows the design of the communication method and data transfer among hardware devices that form the NRTK positioning system. Figure 1(b) shows the software design results, including the composition method of application software module, and data transfer among modules, GPS receiver, and NTRIP broadcaster.
Figure 1(b) shows that the application was organized in NTRIP client, NRTK processing, and utility module parts, so that the application could provide most functions needed for NRTK processing. This increases the processing load of the smartphone, but simplifies the role of the GPS receiver, to allow the GPS receiver without RTK processing function to form the NRTK positioning system.
Figure 2(a,b) shows the application design results, when an expensive GPS receiver with RTK processing function is used. Compared with the design results in Figure 1(a,b), most processing for NRTK positioning was concentrated on the GPS receiver in Figure 2. The NRTK application was composed so that it would only conduct the NTRIP client function, while it would apply module function using the coordinates calculated from the GPS receiver.
Considering the cost required for the system composition and equipment simplification, the design result in Figure 1 was suitable for the smartphone to conduct most of the processing. Based on these design results, an NRTK application for smartphones was developed in this study.
3. Application Development and Performance Evaluation
The NRTK application was developed in a smartphone equipped with the Android OS. Table 2 shows the development environment. The application was developed so that it operated with Android 2.2 (Froyo) or lower, using Android API (Level 8) and JDK 1.7 in Eclipse software, providing an integrated development environment. Java was used as the programming language for the development.
The application uses carrier-phase (L1 and L2) and pseudorange data as primary GPS observables and also uses correction messages enclosing correction information of all GPS observables for precise positioning. The supported formats of correction messages are RTCM v2.3, RTCM v3.0, and CMR.
Figure 3 shows the main user interfaces from the application development results. Figure 3(a,b) shows the application's utility functions serving as the user interfaces for positioning and field set out. Figure 3(c) shows the setting interface for the NTRIP broadcaster connection and GPS receiver control. Figure 3(d) shows the setting interface for the coordinate system and GPS antenna data. The development results showed that most of the functions for normal operation of the NRTK application could be conducted within the development environment of smartphones.
The most important of the functions of the NRTK application is the high accuracy and frequency positioning function. The normal accuracy levels for the RTK-GPS positioning method are 1 cm ± 1 ppm horizontally, and 2 cm ± 2 ppm vertically , with the maximum positioning frequency of 20 Hz . This study developed the NRTK application with a performance level equivalent to such values. To evaluate the performance of the NRTK application, in terms of the positioning accuracy and frequency, the positions of twelve fixed points with accurately measured coordinates were measured for a long period. The statistical positioning accuracy and maximum frequency of the NRTK application were evaluated, by analyzing the test results based on measurements of these twelve points. The transfer time of correction message, that is, the latency of the correction message was analyzed, as it is among the main factors affecting the RTK-GPS positioning accuracy. Figure 4 shows the geographical distributions of test points for evaluating the performance of NRTK application. All points were selected along the main road with good environments of GPS signal reception.
Figure 5 shows the positioning accuracy of the NRTK application using the one-hour data at one fixed point as a sample. Figure 5(a–c) shows the time series data for the positioning errors of the north, east, and ellipsoid height coordinates, respectively. In most sections, the positioning error of horizontal coordinate (Figure 5(a,b)) was within a range of ±2.0 cm, and the positioning error of height coordinate (Figure 5(c)) was within a range of ±5.0 cm.
Table 3 shows statistical indicators of the positioning errors of all test points (including the sample point as shown in Figure 4(a–c)). The levels of north and east errors were higher than the accuracy levels of the normal RTK-GPS positioning method. The measurements of 2 cm or lesser errors accounted for approximately 99% over all test points. As for the ellipsoid height, the measurements of 4 cm or lesser errors accounted for approximately 89% over all test points, considered satisfactory. However, the maximum error was somewhat large, and this will be addressed in another study of cause analysis and accuracy improvement.
Figure 6 shows the latency required to transfer the correction message and positioning frequency of the NRTK application using the one-hour data at one fixed point as a sample. Figure 6(a) shows the latency of the correction message, with the NRTK positioning point as the reference. Most of them are less than two seconds for all test points, within a range of 0.78 ± 0.36 s. Because precision positioning is possible when the latency of the GPS correction message is within a few seconds , this value is quite satisfactory. The smartphone for the study supported 3G mobile communication. The test results showed that a 3G or 4G smartphone is suitable for the reception of the NRTK positioning correction message. Figure 6(b) shows the positioning frequency at the sample point. The measured coordinates were precise at 20 Hz across sections, except for approximately eight times in an hour. This showed that the NRTK application for smartphones is suitable for precision positioning with high frequency.
4. Determination of the Error Model for the NRTK Positioning Results
The NRTK positioning method is used in a wide range of areas, including geodetic survey , structure displacement measurement , and unmanned vehicles . These application areas estimate more accurate positions and posture values, by applying a state estimation filter such as the Kalman Filter [2,3,15–17] to the NRTK positioning coordinate, instead of using the direct NRTK measurements. This study proposed a method for determining the error model of the NRTK positioning coordinate, applied to the state estimation filter and the developed error model and Kalman Filter were included in the NRTK application. The reason for this is that the accurate determination of the error model for the NRTK positioning results is important, to ensure the performance of the state estimation filter and to get more precise positioning results.
The 3D absolute coordinate measured using the RTK-GPS positioning method is very accurate, with an error as large as several centimeters. The error statistically represents the characteristic of the random error. However, Schwieger  suggests that the values measured at a certain time have a high correlation in the case of the RTK-GPS measurements at 1 Hz or higher, and that they lead to autocorrelation and random errors. Based on previous study results, this study now presents a determination method for an error model of NRTK measurement, considering the systematic error due to random error and autocorrelation.
The correlogram analysis, which has the autocorrelation coefficient marked on the time domain, helps determine whether the NRTK measurements include the autocorrelation error. If the N measurements in the time series are l1,l2,l3, …, lk, …, lN, the time difference between measurements is Δt. The average of measurements is M, while the autocovariance coefficient of the measurements Ĉ(i) is expressed in Equation (1), and autocorrelation coefficient in Equation (2) :where i is the order of the autocorrelation coefficient, and the time difference between lk and lk−1 is i × Δt. The autocorrelation coefficient for each i can be calculated from the RTK-GPS values measured for a long period at a fixed point. A diagram showing the correlation between i and Ri is called a correlogram. Figure 7 shows the correlogram drawn by the analysis of the coordinates measured at 2 Hz for more than an hour, using the NRTK application. The figures indicate a distinct tendency of the autocorrelation error. The correlations among the values within a time difference of 10 s were 0.5 or greater, in each of the north, east, and ellipsoid height coordinates. The correlations decreased as the time difference among measurements increased, while the autocorrelation error had an effect within a range of approximately five minutes.
In Figure 7, it is seen that the autocorrelation coefficient distribution of the NRTK observation values follows the Gauss-Markov process. Accordingly, the autocorrelation function can be expressed as an exponential function as follows:where α is a coefficient representing the degree of correlation. If the standard deviation of the random error in NRTK measurements is σδ, and the standard deviation of the autocorrelation error is σΔ, then the statistical error model of the NRTK measurements is expressed in Equation (4) .
The parameters that must be determined, to apply the error model in Equation (4) to the filtering of NRTK measurements, are σδ, σΔ and α. These values can be estimated using the variance of the sample mean via the least square method. Meier and Keller  summarized the correlation between the variance of the sample mean and σδ, σΔ and α, as in Equation (5).
If the variances of the sample mean by sample size (n) are calculated using the data measured at the same point for a long period, three unknown elements that represent the error model can be estimated via the least square method:
Table 4 shows the unknown elements of the error model, estimated using the NRTK coordinates measured from a fixed point for six hours by component. Figure 8(a–c) shows Equation (5) by the component in an overlapping manner, determined using the variance of the sample mean calculated from the measured coordinates, and the values estimated via the least square method.
The static measurement results were filtered, to evaluate the effectiveness of the error model for the NRTK application that is calculated considering the random and autocorrelation errors. The test results were classified into two cases: Case 1 with an error model that only considered random errors, and Case 2 with an error model that considered both random and autocorrelation errors. The 3D coordinates that were measured using the NRTK application were filtered, while their accuracies were comparatively analyzed.
Figure 9(a–c) shows the time series data for the north, east, and ellipsoid height coordinates, respectively. The static coordinates measured for a long period, and filtering results with the Kalman Filter, were superposed. The left and right figures in Figure 9 represent the results of Case 1 and Case 2, respectively. Also, Table 5 shows the statistical indicators of filtering results of Case 1 and Case 2. It can be seen in Figure 9 and Table 5, the test results show that with the method proposed in this study, the accuracy is higher in Case 2 than in Case 1.
In this study, an NRTK application for smartphones was developed, and its performance evaluated via tests. A method for determining the error model of the measured coordinates was proposed, to use the NRTK measurements with higher accuracy, using dynamic state estimation filters. The study results are summarized as follows:
The advantages of smartphones were used to develop a NRTK application with wireless communication, NTRIP client, and RTK processing functions. The composition of the NRTK measurement system was thus simplified, while the NRTK measurement system was put together without using an expensive GPS receiver with RTK processing functions.
The evaluation of the positioning accuracy of the NRTK application showed that the RMSEs of the north, east, and ellipsoid height coordinates were very precise (0.0069 m, 0.0068 m, and 0.0269 m, respectively), when the NRTK positioning was conducted at a high frequency (20 Hz).
The latency for correction message transfer, which significantly affected the accuracy of the NRTK measurements, was 0.71 ± 0.32 s. This confirmed that 3G smartphones are very suitable for NRTK positioning.
A method for determining the error model of NRTK application positioning results was presented. This method aimed to use the NRTK application positioning results more accurately, via state estimation filters. An error model was developed (by considering both the random error and autocorrelation error), and was applied to the Kalman Filter. The positioning results were more accurate, compared with those from an error model that only considered random errors.
- Weber, G.; Dettmering, D.; Gebhard, H. Networked transport of RTCM via Internet Protocol (NTRIP). Int. Assoc. Geodesy Symp. 2005, 128, 60–64. [Google Scholar]
- Lee, H.K. An integration of GPS with INS sensors for precise long-baseline kinematic positioning. Sensors 2010, 10, 9424–9438. [Google Scholar]
- Hwang, J.; Yun, H.; Park, S.-K.; Lee, D.; Hong, S. Optimal methods of RTK-GPS/Accelerometer integration to monitor the displacement of structures. Sensors 2012, 12, 1014–1034. [Google Scholar]
- Al-Shaery, A.; Lim, S.; Rizos, C. Investigation of different interpolation models used in Network-RTK for the virtual reference station technique. J. GPS 2011, 10, 136–148. [Google Scholar]
- Rizos, C. Network RTK research and implementation: A geodetic perspective. J. GPS 2002, 1, 144–150. [Google Scholar]
- Trajkovski, K.K.; Sterle, O.; Stopar, B. Study positioning with high sensitivity GPS sensors under adverse conditions. Sensors 2010, 10, 8332–8347. [Google Scholar]
- Bruyninx, C.; Habrich, H.; Söhne, W.; Kenyeres, A.; Gstangl, G.; Völksen, C. Enhancement of the EUREF permanent network services and products. Int. Assoc. Geodesy Symp. 2012, 136, 27–34. [Google Scholar]
- Martín, A.; Padín, J.; Anquela, A.B.; Sánchez, J.; Belda, S. Compact integration of a GSM-19 magnetic sensor with high-precision positioning using VRS GNSS technology. Sensors 2009, 9, 2944–2950. [Google Scholar]
- Park, Y.; Chen, J.V. Acceptance and adoption of the innovative use of smartphone. Industrial Manage. Data Syst. 2007, 107, 1349–1365. [Google Scholar]
- Retscher, G. Accuracy performance of virtual reference station (VRS) networks. J. GPS 2002, 1, 40–47. [Google Scholar]
- Tamura, Y.; Matsui, M.; Pagnini, L.C.; Ishibashi, R.; Yoshida, A. Measurement of wind-induced response of buildings using RTK-GPS. J. Wind Eng. Ind. Aerodyn. 2002, 90, 1783–1793. [Google Scholar]
- NovAtel Inc. OEMV Family Installation and Operation Manual; OM-20000093. NovAtel: Calgary, AB, Canada, 2006; pp. 103–106. [Google Scholar]
- Weber, G. Streaming Real Time IGS Data and Products Using NTRIP. Proceedings of the IGS Workshop 2006, Darmstadt, Germany, 8– 12 May 2006; pp. 105–109.
- Uradziński, M.; Langley, R.B.; Kim, D. The Usefulness of Internet-Based (Ntrip) RTK for Navigation and Intelligent Transportation Systems. Proceedings of ION GNSS 2008, Savannah, GA, USA, 16–19 September 2008; pp. 6–19.
- Kalman, R.E. A new approach to linear filtering and prediction problems. Trans. ASME 1960, 82, 35–45. [Google Scholar]
- Welch, G.; Bishop, G. An Introduction to the Kalman Filter. Available online: http://www.cs.un-c.edu/welch/kalman/kalmanIntro.html (accessed on 20 August 2011).
- Gomez-Gil, J.; Alonso-Garcia, S.; Gómez-Gil, F.J.; Stombaugh, T. A simple method to improve autonomous GPS positioning for tractors. Sensors 2011, 11, 5630–5644. [Google Scholar]
- Schwieger, V. The Effect of Interepochal Correlations in the Analysis of Monitoring Surveys. Proceedings of the 9th International Symposium on Deformation Measurements, Olsztyn, Poland, 25–28 September 1999; pp. 234–244.
- Strang, G.; Borre, K. Linear Algebra, Geodesy, and GPS; Wellesley-Cambridge Press: Wellesley, MA, USA, 1997. [Google Scholar]
- Kuhlmann, H. Kalman-Filtering with Coloured Measurement Noise for Deformation Analysis. Proceedings of the 11th FIG International Symposium on Deformation Measurements, Santorini, Greece, 25–28 May 2003; pp. 455–462.
- Meier, S.; Keller, W. Geostatistik (Geostatistic); Springer-Verlag: Wienna, NY, USA, 1990. [Google Scholar]
|Table 1. Main functions of the application and considerations by functions.|
|Main Functions||Detailed Function||Remark|
|NTRIP client (SOCKET communication)||The time required to transfer the correction message must be short|
|NRTK positioning||Real-time positioning must be possible at 20 Hz or higher GPS observation values and correction messages in diverse formats must be recognized|
|GPS receiver control and Data reception (Bluetooth communication)||A control function suitable for the communication protocol of the GPS receiver is required|
|Utility||Scalability for meeting the diverse requirements of the user is required|
|Table 2. Application development environment.|
|OS||Android 2.2 (Froyo)|
|SDK||Android API Level 8 & JDK 1.7|
|Integrated Development Environment||Eclipse|
|Table 3. Statistical indicators of the positioning accuracy of the NRTK application calculated from the test results at twelve fixed points displayed in Figure 4.|
|Statistical Indicator||North Coordinates||East Coordinates||Ellipsoid Heights|
|RMSE||0.69 cm||0.68 cm||2.69 cm|
|Average deviation||0.56 cm||0.55 cm||2.12 cm|
|Maximum deviation||2.86 cm||2.77 cm||15.12 cm|
|Ratio of accurate measurements||99.12%|
(within 0.02 m deviation)
(within 0.02 m deviation)
(within 0.04 m deviation)
|Table 4. Error model applied to the NRTK application positioning results.|
|Coordinate Component||North||0.60 cm|
|Table 5. Statistical indicators of the filtering effects for use of random and autocorrelation error model in NRTK application.|
|Statistical Indicator||North Coordinates||East Coordinates||Ellipsoid Heights|
|Case 1||Case 2||Case 1||Case 2||Case 1||Case 2|
|RMSE||0.65 cm||0.47 cm||0.44 cm||0.32 cm||1.41 cm||1.06 cm|
|Average deviation||0.58 cm||0.31 cm||0.55 cm||0.24 cm||1.87 cm||1.02 cm|
|Maximum deviation||2.91 cm||2.03 cm||1.89 cm||1.34 cm||6.73 cm||4.74 cm|
|Ratio of accurate measurements||99.21%||99.97%||99.35%||100.00%||91.74%||97.66%|
|(within 0.02 m deviation)||(within 0.02 m deviation)||(within 0.04 m deviation)|
© 2012 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).