A tool for prototyping a precision GPS system

The GPS allows locating an object in any part of the World with a certain degree of accuracy. Some precision activities need to operate with a sub-metric level of accuracy. This paper introduces a data analysis tool to process the GPS information, by applying filters and algorithms to obtain a more precise position. The experimental results can achieve a positional accuracy of ± 1.00 meter.


NTRODUCTION AND PROBLEM FORMULATION
The standard GPS computes the current position measuring distances between the receiver and the satellites [1], [2]. The GPS has an architecture that is divided into three segments: spatial, control and user's [3]. The spatial segment includes 24 satellites at 20000 kms high from the Earth; they are located into six orbital levels with a 12 hours period. The control segment consists of the Earth stations distributed around the planet, controlling that satellites do not deviate from their trajectory. The GPS receivers are in the user's segment, which in general uses two frequencies: L1 at 1575.42 Mhz and L2 at 1227.60 Mhz [4].
The latitude and longitude accuracy is of 10-15 meters and in altitude of 20-30 meters, 95% of the readings [5], [6]. It can be more precise depending on a variety of factors that includes from the atmosphere deviation or delay of the signal, the signal bouncing in buildings or its concealment due to the presence of trees, low accuracy of clocks and noise in the receiver.
There are some systems that enhance positional accuracy in market, they are: the DGPS (Differential GPS), AGPS (Assisted GPS), RTK (Real-Time Kinematic), e-Dif (extended Differential), amongst others.To use a Differential GPS it must be paid an amount for the service and for the DGPS corrections be valid, receiver must be relatively near a DGPS station; generally less than 1000 km. The achieved accuracy can be of a few meters [6], [7], [8], [9]. The correction signal can not be received if it is a mountainous zone. It is a system that provides GPS receivers corrections of data received by satellites, with the aim at providing greater accuracy in the obtained position. Errors produced by the GPS system affect in the same way the receivers located near each other in a limited radius [10]. This implies that errors are strongly correlated among near receivers. Thus, if the error produced in one receiver is known, it can be spread towards the rest in order to make them correct their position. All GPS differential methods use the same concept [11]. DGPS requires a base station with a GPS receiver in a precise known position. The base compares its known position with that calculated by the satellite signal. The estimated difference in the base is applicable then to the mobile GPS receiver as a differential correction with the premise that any two receivers relatively near experiment similar errors [5]. With the DGPS, errors are corrected, to some extent, due to: selective availability (turned off since May, 2000), propagation through ionosphere, errors in satellite position (ephemeris) and errors produced by clock problems.
To use AGPS system, it is necessary to have mobile devices with active data connection or cell phone like GPRS, Ethernet or WiFi [12]. It is used in the cases where there is a weak signal due to a surrounding of buildings or trees; this implies having a not much precise position. Standard GPS receivers, in order to triangulate and position, need a certain time of cold start [13], [14]. Due to a low signal, it sometimes takes a long time or it is impossible to get it. An AGPS receiver can solve these problems in several ways, either in an "on-line" or "offline" way. In an "on-line" way, access to data is in real time but it is needed an active data connection with the costs this implies. In an "off-line" way, data can be downloaded (while connected to the net via GPRS, Ethernet or WiFi) which are stored in the device and used for several days until they become obsolete. Anyway, the assisted GPS system uses the obtained information in one way or the other and it combines it with the cell information or antenna in order to know the position and which satellites it has over it. All satellites data are stored in an external server or in the prior downloaded data; and according to the actual position given by the cellphone network; the GPS knows from which satellites it should receive information. From those it does not receive anything; it tries to fulfill it with the obtained data.
To use RTK it is paid for the service and, besides, it is very expensive to acquire the infrastructure. This is a technique used in topography, marine navigation and in agricultural automatic guidance in the use of measurements of signals carrying navigators with GPS, GLONASS and/or Galileo's signals, where only one reference station provides correction in real time, obtaining a sub-metric accuracy [15]. It uses the carrier's satellite as its signal, not the messages contained in it. The difficulty in implementing a RTK system lies in aligning signals appropriately. In practice, RTK systems use only one receiver as base station and a determined number of mobile units. The base controls the GPS satellites constellation, and it calculates continuously its position. As it does not move, errors can be calculated in real time. The base transmits, through some channels of communication (VHF or UHF, cellphone network) [15], the carrier's phase which takes measurements and the mobile units compare their own phase measurements with those they are receiving from the base station. With this, they calculate a very accurate corrected position.The e-Dif system is autonomous and it process files with RINEX (Receiver INdependent Exchange format) format, which was created to unify data of different receivers manufacturers [16]. It generates autonomous corrections regarding a coordinate of arbitrary reference and it extrapolates them in time [17]. It is a very consistent relative positioning and its accuracy is of about 1 meter. The system's objective is to study waste from the initializing process to isolate the most important systematic errors that introduce the corresponding equations to each satellite. It is applicable for a reduced time of 40 minutes approximately; since later the w w w . c i r w o r l d . c o m systematic error changes, in this case a new error must be calculated again. In regions where differential corrections aren't available and it is paid for the service, like in South American, African and Australian, this system becomes more interesting.Besides, there exist raise systems that increase accuracy to sub-metric levels. Those based on satellites (SBAS), based on ground (GBAS) and based on aircraft (ABAS) [10]. Most of these implementations are used in different applications and some of them are available for users without special permissions. Even then, costs are high due to the need of certain devices with special characteristics or some infrastructure in agreement with the accuracy level aimed at. Finally, it is worth mentioning that there exists the option to use both frequencies (L1 and L2), where the positions are obtained with a sub-metric position. The problem lies in that they are only accessible in some very expensive receivers; and besides, the L2 is used only with military purposes by the USA.Working with low costs receivers, it cannot be assured a precision greater than 10 meters 95% of the times [5]. Access to a sub-metric position is possible but at a higher cost. In mountainous regions, it is not always possible to receive the correction signal. It is here when developments can make a significant impact on activities related to precision farming. A portable system that can function in the same way in those regions and that can work with low cost standard receivers could be of great usage. In this article, Kalman filter and Fuzzy Logic are included in a tool to analyze the information coming from the GPS system. The system can be used as a low-cost Precision Differential GPS prototype. It uses a relative positioning system that receives data from standard receivers and it applies techniques and algorithms with the aim at providing positions of improved accuracy. In Section 2, the development of the solution proposed is presented by analyzing data by applying the combined selected filters. In Section 3, experiments are carried out on a selected area. In Section 4, the procedure to correction estimation is explained. In Section 5, the selected techniques are used to analyze the data. In Section 6, it is shown how to customize all the system. In Section 7, the experimental results are presented. In Section 8, conclusions future works are shown.

DATA AND COMBINED FILTERS
Due to the fact that GPS receivers use many pseudorange measurements in order to estimate three components of position, a Kalman filter is used. An estimation problem with so many noisy redundant data is a natural application for the Kalman filter; this allows using some of the redundant information to remove the effects from the error sources. The Kalman filter is used to eliminate the white Gaussian noise [18]. The aim is to obtain an optimus estimator of a dynamic system, based on noisy observations and in a model of uncertainty of the system's dynamics. In this case, there are noises in the signal coming from the GPS satellites that are caused by weather reasons in the atmosphere (troposphere and ionosphere), due to the signal bouncing against buildings (multipath), due to receiver precision clock reasons, because a satellite deviated from its orbit [10], and numerical errors caused in the estimation.In this article, a tool is introduced which uses differential relative positioning equipped with low cost receivers and it implements a Kalman filter to estimate the positions. Besides, fuzzy logic is used to weight the implemented filter gain. This tool is based on mathematical functions and filters in order to obtain accurate positions with an error of ± 1.00 meter and that, in some cases, is reduced to ± 0.20 meters. The system is divided into two parts: a reference base and a mobile base. For the experiments, a wireless link point to point is used between the two of them. The systems communicate by sockets by means of protocol TCP/IP. For the data analysis, the following fields are taken into account: PDOP, SNR and the difference of tracked satellites by the three GPS are the input parameters to a fuzzy system and its output weights the Kalman filter gain adopted for the position solution.

EXPERIMENTAL RESEARCH STAGE
In the campus of the UNCPBA, located in Tandil -Buenos Aires -Argentina, experiments are carried out with the objective of trying diverse techniques in order to improve positional accuracy of GPS receivers. Relative positioning is used in a reduced space covering an area of 1 kilometer. The area for taking measurements is shown in Figure 1. GPS 1 and 2 remain fixed composing the reference base station. GPS 3, that works as the mobile system, at first remains fixed in the "Point D" position until the system is stabilized. Once stable GPS 3 is moved towards different points (A, B and C), as shown in Figure 1.Data collection is carried out during several time zones distributed in different days at the rate of one per second, obtaining a total of 486000 samples of each receiver. Therefore, in this experiment, a lot of data is generated which must be processed and analyzed in order to qualify the used techniques. As mentioned before, the objective of this article is to describe the tool of analysis and processing. A time of cold-start is established to have the system stabilized. Receivers are positioned as shown in Figure  1: both from the reference base in the GPS 1 and 2 w w w . c i r w o r l d . c o m respectively and the third GPS, corresponding to the mobile system, in "Point D". After stabilizing the system, the mobile receiver is moved to points A, B and C; in any order.

CORRECTIONS ESTIMATION ALGORITHM
The differential GPS is based on the principle that positioning errors affect, in a correlated way, near receivers within a certain radius. The present project is also based on this principie but, in this case, a low cost standard receiver is used.In order to obtain the measurements, three receivers GPS Garmin 18X USB connected to two notebooks are used. The base station is composed of a notebook and two of the three GPS receivers; the mobile for the notebook and the remaining GPS receiver.
The link between the base station and the mobile one is a wireless connection from point to point link. Figure 2 shows a flowchart of the system. Firstly, after going through the time line of cold-start, positions of each of the receivers are estimated in both systems. Estimation is carried out by means of the Kalman filter weighted with fuzzy logic with a frequency of one per second. In the base system, distance between estimated positions 1 and 2 are obtained, and this is contrasted with the actual one, bearing in mind one threshold. In case of not finding a significant difference between the estimated distance and the actual one, the correction has a null magnitude. All corrections consist of a magnitude and direction so the mobile receiver can determine where to and how its measure should be moved in order to obtain a greater accurate position. Finally, this correction is spread so any mobile receiver can improve its accuracy by adjusting its estimated position with the correction received from base.In order to get a system performance indicator, it is then proceeded to estimate the resulting distances among the three GPS receivers. With these values, the absolute error is deduced to verify the accuracy improvement obtained with the data processing carried out.

APPLIED TECHNIQUES
For the analysis of data, combinations of different techniques and algorithms are used in order to find a better result. In a first processing stage, applied mathematics covers: Static Kalman: is a set of mathematic equations that provide an efficient recursive solution of the method of least squares. This solution allows calculating a linear, unbiased and optimum estimator of the state of a process in each moment of time (t) with base on the available information at the moment t-1, and update, with the available information at the moment t, the estimator value.
Dynamic Kalman: is that system in which the x variable value to be estimated has a value that changes throughout the time ( ), but these states have some known relationship with the instant i and i+1. For example, if an object position is measured, it can be predicted that the position will be: where is the passed time and the speed at instant i. Position can be obtained by a GPS, for instance, and speed with an additional measurement element such as the accelerometer.
Kalman with adjustment of error standard deviation: the deviation is modified and checked in order to see which adjust better. This measure is calculated as the square root of variance, which is at the same time the sum of the squares of each error (Table 1) as shown in equation 1. It is worth mentioning that from Table 1 the only error that is not taken into account is that of signal P(Y) arrival; since work is carried out without the precision code.
(1) Now, error standard deviation ( ) in the receiver's position is estimated, but having into account additionally the PDOP and the numerical error; therefore, the PDOP is added to the calculated deviation from typical errors, since for each measurement taken, this varies according to the instant geometry of satellites. The result of standard deviation used for the Kalman filter is equation 2.
(2) From this comes the fact of applying Kalman with adjustment of standard deviation, since it fluctuates for each piece of information coming from the receivers in each moment as geometry of satellites varies.
Points average: one of the media limitations is that it is affected by extreme values; very high values tent to increase it while very low values tend to reduce it; this implies that it may stop being representative of the population. It is analyzed but not implemented in the solution. Fuzzy logic: it is used to determine the error degree that a position has. Rules that determine the error a position presents are related to analyzing some parameters (PDOP, SNR and difference of tracked satellites). The fuzzy system output weights the Kalman filter gain, providing more weight to more precise positions and the other way round.
Filters allow discarding measurements with much noise or error that influence over the final result of an estimation of a position. Thus, measurements having many errors do not slant the final estimation towards a position far away from the actual one. The application of these filters can be made as measurements are not very far away in time and it is supposed that the vehicle in which the mobile receiver is placed does not move at high speed; this implies that values do not change radically. High/low step filters are used in an analogical way to the electronic filter.
Since the tool is thought to operate in different places of heterogeneous characteristics, relations and configurations are used in order to be able to customize the use according to needs. Relations and configurations used are the following: Degree/Meters relation in Latitude: given the asymmetry, in different places on Earth, the distance that a Latitude degree measures varies.
Degree/Meters relation in Longitude: ditto to Latitude.
Cold start time: a start time is considered so the system can be stabilized. In this time, samples of the device are taken and, only at its end, estimation is carried out. The objective is to reduce or soften systematic and random errors of the GPS system.
Receivers' distance threshold: it can be determined, in an accurate way, the whole interval of the distance measurement between the base devices. As positioning is relative and its distance is known, it can be added a ± value, since there exists a possibility that an element of distance measurement be not accurate enough. Besides, it reduces the computational load because of not having to process data if distance is within the allowed threshold.

DEVELOPED TOOL
In order for the tool to be extensible and configurable, screens where it is customized each variable either, in the base system as well as the mobile system, are developed.

Base system customization
The base system is highly configurable; it must let to analyze all data register through parameters to select the techniques to be applied. he selectable option is related to the amount of satellites used to obtain the position solution. The objective is to be able to analyze only the records that fulfill with an amount of satellites used in the solution or that have a certain amount as minimum or maximum. All records that do not fulfill with this restriction are ignored. he GPS 1 and 2 information are determined by choosing the port by which each of them is attended, whether to apply Kalman filter or not, and if desired to modify the original data of each GPS with the found corrections. The measuring latitude and longitude degree in meters can be specified, as the earth's crust varies in different places due to the Earth's asymmetry.
The type of Kalman filter must be applied, dynamic or static.
The errors estimated to the standard deviation necessary to Kalman filter.
There is a group of specific options for discarding the points. Here, allowed ranges are entered, in which measurements are accepted.
The relative positioning is placed in between the three GPS in the cold-start time.
The sigma value is defined to adjust of the Kalman.
The application of fuzzy logic is defined by using the Table 2,  Table 3 and Table 4. The parameters taken into account for the entrance to the fuzzy system are: PDOP (Positional Dilution of Precision) that represents a quality factor of satellites geometry in view of each receiver has in a certain moment. In a lower value, it shows better geometry and greater accuracy in the position estimation.
SNR (Signal-to-noise Ratio) that indicates the quality of the received signal. The greater the value, the less noise and cleaner signal. Each manufacturer establishes optimum value and range.
Magnitude of tracked satellites difference between the three receivers (the two of the base and the mobile one), since based on the hypotheses that errors produced by the GPS system affect near receivers equally, the less the difference of tracked satellites by the three receivers is, the more correlation the found error will have. Therefore, the correction transmitted to the mobile will be the same such receiver has, since it is wholly correlated to that of the base station receivers.
Besides, it is possible to modify the output values. This fuzzy sub-system estimates the weight given to the Kalman filter gain. In Table 5, qualitative values are shown (high, medium and low) corresponding to the different parameters (PDOP, SNR and satellites difference) with which the inference rules are built up. Quantitative values (0.2, 0.5 and 1) correspond to the output that produces the fuzzy system, which weights the estimated result by the Kalman filter. Values are chosen upon the author's criterion according to the experiments carried out. The corrections estimated by the system communicate through socket; direction and port are configurable. It is also established how long it takes to generate every new correction to be delivered.
All selected options can be stored or uploaded for future executions of the system by means of the bottoms for that end also placed on the right inferior part.
As it can be seen, the parameters configuration covers a wide spectrum. The most simple ones have two states (active or not) but the others consist of a range of values. In some cases, the number of combinations comes to some millions.

Mobile system customization
The mobile system presents a configuration screen similar to that of the base system. Differences lies in being able of increasing the Kalman filter iterations to apply it the original data of GPS 3 (or mobile), if the filter apply option is activated. Besides, it is chosen whether to have into account the received correction or not, and if after applying the correction one wishes to apply again the filter to that result.
Also, distances to different GPS receivers are configured in order to later assess the system's behaviour. Moreover, the mobile system presents a screen where it can be observed the reception of the GPS device data as well as the corrections coming from the reference base. Finally, in a separate screen, satellites which each GPS receiver is tracking can be seen in an instant to obtain the position. The rest of the options are the same to those from the base system.
The customization presented up to here corresponds to how to config the system for its analysis "on line". If it is desired to work in "off line", there exists a "Simulate" tab, which allows analyzing data and obtaining the corresponding results, which are presented in the "Results" tab.

EXPERIMENTAL RESULTS
Different sets of data were selected to be analyzed. The first is that obtained in the cold-start of the system. It consists of three files -one from each GPS-with more than 20 minutes of samples each at a rate of 1 per second, summing up to a total of 1200 samples per each receiver. Other sets are generated when moving the GPS 3 to the point A, B and C.
The experiments produce promising results. The system accuracy improves up to getting errors of the order of ± 1.00 meter 95 % of the times and in some cases of ± 0.20 meters. Different tests are carried out in order to see how the whole system behaves when facing some changes in the parameters. Among the diverse runnings, there are modifications on the values of the error sources, the application of fuzzy logic or not, the values of entrance to the fuzzy system, the values of output, time of cold-start, thresholds for discarding points with lots of errors, whether to apply the Kalman filter to the original GPS values or to the estimated value, amongst others.
The amount of points analyzed in the cold-start is the same for the 3 receivers. In Figure 3, it is shown how receivers are spread at the time of data acquisition. The great dispersion of samples for the three receivers is observed. The estimated value corresponds to that obtained by the tool at the end of the cold-start time as well as the original, which is the value that the GPS system provides without any processing. On the other hand, the original (O) and the estimated (E) average are calculated with all the cold-start samples. w w w . c i r w o r l d . c o m    In Figures 4, 5 and 6 it is observed the data density for each receiver. The plane represents latitude and longitude, while the high of each tower represents the amount of reading of this point. The Figure 4 shows the GPS 1 and it denotes a low data w w w . c i r w o r l d . c o m dispersion regarding to the others and a high density. In Figure 5, positions are far apart, but the density still is high for the GPS 2. Finally, Figure 6 shows the mobile GPS 3 with a high dispersion and a lower density in each point.
In Tables 6, 7 and 8, it is observed that in most of the cases the estimated distances when processing data are more precise than if there was no processing at all or if only average was implemented. Besides, these tables show absolute errors of each positioning.

CONCLUSION AND FUTURE WORK
An area was designed to test the GPS precision where several datas are analysed. A tool developed in order to assist users in the process of positioning an object by means of the GPS system with the objective of obtaining more accurate distances.
A match up to the standard and the improve GPS signal are analysed in this paper. The experimental results showed thar by using the system the accuracy reaches of ± 1.00 meter 95% of the measurements and, in some cases, of ± 0.2 meters. The system uses standard low-cost receivers, making this economical, maintainable and accessible to any user with diverse intentions. Principles are based on mathematical and geometrical functions, conditional filters and data analysis using fuzzy logic.
Therefor, in the future work, it is necesary to analyse the elevation and azimuth of each tracked satellite in order to see how geometry is composed (beyond the PDOP parameter analyzed here). The fuzzy logic and neural networks are going to be analyzed to determine the receiver's error.

ACKNOWLEDGMENT
This work was supported in part by a grant from Agencia Nacional de Promoción Científica y Tecnológica.