Standard Positioning Performance Evaluation of a Single-frequency Gps Receiver Implementing Ionospheric and Tropospheric Error Corrections

—This paper evaluates the positioning performance of a single-frequency software GPS receiver using Ionospheric and Tropospheric corrections. While a dual-frequency user has the ability to eliminate the ionosphere error by taking a linear combination of observables, a single-frequency user must remove or calibrate this error by other means. To remove the ionosphere error we take advantage of the Klobuchar correction model, while for troposphere error mitigation the Hopfield correction model is used. Real GPS measurements were gathered using a single frequency receiver and post–processed by our proposed adaptive positioning algorithm. The integrated Klobuchar and Hopfield error correction models yeild a considerable reduction of the vertical error. The positioning algorithm automatically combines all available GPS pseudorange measurements when more than four satellites are in use. Experimental results show that improved standard positioning is achieved after error mitigation.


I. INTRODUCTION
Recently, there is an increase interest in positioning techniques based on GNSS (Global Navigation Satellite Systems) such as GPS (Global Positioning System).GPS is a satellite-based navigation radio system which is used to verify the position and time in space and on the Earth [1].The standard approach for estimating the receiver position and clock offset is first to linearize the pseudorange measurements around a rough guess of the receiver position and clock bias and then to iterate until the difference between the guess and the measurements approaches zero.While this implies that some information is needed about the initial receiver position, it turns out that the solution is not very sensitive to this initial (or rough) guess [2].The GPS satellites are orbiting the Earth at altitudes of about 20.200 km and it is generally known that the atmospheric effects on the GPS signals are the most dominant spatially correlated biases.The atmosphere causing the delay in GPS signals consists of two main layers: ionosphere and troposphere [3].
The Ionosphere is the band of the atmosphere from around (50 -1000 km) above the earth's surface and is highly variable in space and time, with certain solar-related ionospheric disturbances [4].Ionosphere research attracts significant attention from the GPS community because ionosphere range delay on GPS signals is a major error source in GPS positioning and navigation.The ionospheric delay is a function of the total electron content (TEC) along the signal path and the frequency of the propagated signal, mostly affecting the vertical component of user's position.Two main statistical model are available for the correction of ionospheric range error in single frequency applications: the Klobuchar model for GPS [3] or the NeQuick model [2] foreseen for use in European GALILEO system.
The troposphere is the band of the atmosphere from the earth's surface to about 8 km over the poles and 16 km over the equator [5].The tropospheric propagation delay is directly related to the refractive index (or refractivity).The signal refraction in the troposphere is separated into two components: the dry and the wet component, where the dry or hydrostatic component is mainly a function of atmospheric pressure and gives rise to about 90% of the tropospheric delay.There are different mathematical models that can be used to correct the tropospheric error such as Saastamoinen and Hopfield Model [6].
The paper is organized into seven major sections.The first section goes over background on positioning techniques based on GNSS and atmospheric errors.The second section describes the data collection process and the tools used for measurements.The third section is referred to acquisition and tracking of GPS signals.The fourth section gives a high level description of our approach in implementing the positioning algorithm.Section five is dedicated to Ionospheric and Tropospheric error correction models focusing on Klobuchar and Hopfield models.Section six presents some results obtained analyzing the algorithm performance with and without error corrections.Finally the last section draws the conclusions.

II. DATA COLLECTION PROCESS
In this section is described the GPS data collection process and the implementation of a post-processing adaptive Position Velocity Time (PVT) algorithm, where we included mathematical Ionospheric and Tropospheric correction models aiming to an improved accuracy of user's position estimation.An experiment was conducted using GPS C/A-code pseudorange data collected outside our laboratory in the www.ijacsa.thesai.orgPolytechnic University of Tirana Campus.The precise Cartesian coordinates of our stationary receiver were previously determined by a professional receiver for later comparison.Totally 2340 epochs of data were analyzed for the experiment and post-processed in Matlab ® environment.In the following subsections we describe the tools used for measurements.

A. Receiver Unit
In this section we give a brief description of the receiver used to collect the data and of the software used to process them.SAT-SURF [7] is a hardware black-box integrating GPS and GSM/GPRS functionalities.It appears as a metallic box with two external antennas, a USB cable and a power supply cable (Fig. 1).The SAT-SURF hardware allows getting out from the GPS receiver several data and also each available raw measurement (depending on the receiver capabilities).Each GPS parameter is logged with a related GPS time stamp, so that each parameter can be aligned to the evolution of all the others.In our measurements we used SAT-SURF with the core components indicated in Table 1.
SAT-SURFER [7] is the software suite running on a standard PC that uses data coming from SAT-SURF.It is a software suite able to talk in real-time with state-of-the-art GPS receiver modules as well as external professional GPS units.SAT-SURFER gets raw data, displays such data on the screen and log them in different files allowing any postprocessing activity.

B. Error correction parameters
The major error contribution in the overall user position accuracy comes from the Ionosphere layer, affecting mostly the vertical component and increasing in such way VDOP (Vertical Dilution of Precision) [8].The ionospheric parameters taken from the SAT-SURFER log files are ilustrated in Fig. 2. The α and β are the input data of our adaptive positioning algorithm necessary for the mitigation of ionospheric error in the user's position estimation.It will be later shown that we achieve a considerable improvement of the vertical component and a decreased VDOP, after the application of this correction in the main algorithm.

III. GPS SIGNAL ACQUISITION AND TRACKING
The purpose of acquisition is to determine coarse values of carrier frequency and code phase of the satellite signals.Many research works focus on base-band signal processing in the software receivers.[9].
There are several acquisition methods for GPS signals introduced in recent years, which are often implemented in time domain and frequency domain.Among these methods, serial search acquisition is a traditional method for acquisition in CDMA system, but it is time-consuming and performed through hardware in the time domain.In contrast, the conventional parallel in frequency method increases the speed of acquisition by transforming correlation calculation into the frequency domain through DFT (Discrete Fourier Transform) calculation [10][11].
The performance of signal acquisition method was analyzed using the real GPS IF data, which were collected by the SAT-SURF receiver.The GPS receiver was stationary.The intermediate frequency is 4.152 MHz and the sampling frequency is 16.3676 MHz.In our implementation, the conventional parallel in frequency output of the visible satellite with PRN-21 (Pseudo Random Noise code) is shown in Fig. 3.
The quality of the results showed in the Parallel in Frequency (PiF) approach is proportional to the quantity of points used to compute the Fast Fourier Transform (FFT).Another interesting point is the fact that the PiF gives the results in the intermediate frequency range, so in order to get the value of the Doppler it is necessary to subtract the obtained values by the intermediate frequency of the signal, or use other kind of approach to bring down the signal to the base band [11].After performing the acquisition, control is handed over to the tracking loops, which are used to refine the frequency and code phase parameters.The main purpose of tracking is to refine the carrier frequency and code phase parameters, keep track, and demodulate the navigation data [12].The values in Table 2 are passed into tracking loop so they can keep track and demodulate the navigation data correctly.www.ijacsa.thesai.orgA combination of code tracking loop and carrier tracking loop is used in tracking procedure.In order to extract information from the incoming signals, GPS receivers track them by replicating the PRN code and adjusting its code delay and carrier phase continuously so as to guarantee synchronization with the incoming signal.In Fig. 4 a basic code tracking loop is shown.The code tracking loop is to keep track of the code phase of a specific code.The code tracking loop uses a delay lock loop called an early-late tracking loop [13].Integrate and Dump (I&D) are blocks that accumulate the correlators outputs, and provide their In-phase I and Quadrature Q components.
As it can be seen in Fig. 5, after 3 steps of the loop the algorithm converges to the correct estimated delay.It is interesting to notice that at this step the Early-Late becomes zero and the Prompt reaches its maximum value.

IV. ADAPTIVE POSITIONING ALGORITHM IMPLEMENTATION
This section is dedicated to algorithm implementation.We propose an innovative adaptive PVT algorithm compiled in Matlab ® environment.The specific computation flow diagram of our positioning algorithm is shown in Fig. 6.Initially it is important to extract from the collected data the coordinates of satellites.Since we implement an Iterative Least Squares (ILS) algorithm the method of solving for GPS user's position is to linearize the pseudorange equations and calculate the user position iteratively, starting with a user provided initial position guess [14].The next step is the calculation of the pseudoranges between satellites and user's position.The algorithm computes the differences between the observed and predicted ranges and gives as output the line-of-sight unit vectors from which it builds the geometry matrix.The convergence of the iterative solution will depend on the geometry of the receiver-satellites system, which, in turn, affects the rank of geometry matrix H. Problems can occur if H is rank-deficient or close to it, which can occur when all the satellites lie in or very close to the same plane in threedimensional space.www.ijacsa.thesai.org We obtain a least squares optimization only when the solution is over-determined (i.e., number of satellites in view greater than four).When there are only the minimum four measurements, the result is the solution of a set of linear equations.Regardless, solving these equations give us corrections for our initial guess, which can now be reapplied to the initial guess, and the whole process is repeated until the corrections become smaller than a threshold value [15].There are different possibilities of implementing a positioning algorithm [14].In our approach, data structures are used as a faster and easier way to access the data needed for position computation.In our Matlab ® implementation is defined the "True Position" only for future comparison of the estimated positions obtained by our positioning algorithm and the true one, in order to graphically depict the precision and accuracy of the estimated positions.In order to evaluate the user position, a linearization scenario is implemented by choosing a linearization point, as our known reference position.Initially the linearization point is set the center of Earth in ECEF (Earth-Centered Earth-Fixed) coordinate system with coordinates Lp = [0; 0; 0; 0].The linearization point will be updated after each TOW (Time of Week) iteration, until in the end of the iteration to become the evaluated user position.
All the parameters that will be used in the algorithm are initially set to zero (initialization process).The chosen linearization point is not a good approximation point because it is very far from our "True Position", but it is suitable for the Cold Start of the receiver (state that the receiver has no information of its position).
During our measurements we collected a large amount of data for a total of 2340 TOW-s.The positioning algorithm is tested for different number of iterations and the results obtained for the user position were approximately the same.This is due to the long observation time and due to the fact that the minimum number of fixed satellites were 6 (enough to properly estimate user's position).In Matlab ® environment, simulation time is not a crucial issue but in real receivers, time is a very important constraint.
The Navigation Solution in a first-order approximation is given by the following code lines: SatP(i,:) = [x s y s z s ]; rho_hat(i) = norm(SatP(i,:) -Lp); a(i,:) = (SatP(i,:) -Lp)/rho_hat(i); The first one addresses the satellite coordinate's triplet (Xs, Ys, Zs) , which are used in the second line in order to evaluate the geometrical distance between the satellite position and the linearization point Lp.After this process the a coefficients of the geometric matrix are written and it is important to say that for the first iteration and for the first TOW, we assume that the satellite clock and user clock are synchronized.This happens only for the first TOW, because the coordinates of the updated linearization point will be used as input for the successive TOW.
Since the strength quality of the signal is defined by the Carrier-to-Noise density Ratio, which is the ratio of the power level of the signal in 1 Hz bandwidth, it is important to properly weight satellites with low values of C/N 0 .Elevation angles and C/N 0 values, as recorded by the receiver, are used to model the pseudorange observations noise variance.The choice of the weight matrix is optimal when it equals the inverse of the variance-covariance matrix of the observations [16].We implemented the model in [17] which uses the C/N 0 values of the GPS signals to estimate weights for least square adjustment.Using this approach we achieved an improvement on the position estimation mostly in the vertical component.

V. IONOSPHERIC AND TROPOSPHERIC CORRECTION MODELS
The focus of this section is to evaluate the ionospheric and tropospheric effect on GPS positioning solution.The pseudoranges are affected by errors, which can be modeled as Gaussian random variables, with zero mean, independent and www.ijacsa.thesai.orgidentically distributed, with variance [15].The errors affecting the pseudoranges can be expressed by (1).
Where is the sum of Ionospheric and Tropospheric error contributions, respectively.These two types of corrections are described in details in the following subsections.

A. Ionospheric Corrections
Ionospheric corrections are implemented based on the Klobuchar model [3] which uses as input the parameters shown in Table 3.We designed a function ionogen.m to calculate the delay caused by Ionosphere layer, which was called in our main PVT algorithm.Two are the main inputs of the ionospheric correction function.The first one is PER which is the period of the cosine function and implicates the interval of the ionospheric activity in daytime.It is expressed by (2), whose inputs are taken from the ionosphere log file. (2)

Where
is the geomagnetic latitude of the Earth's projection of the ionospheric intersection point (mean ionospheric height assumed to be 350 km).The second input is the amplitude of the model given by ( 3). (3) The inputs of the Klobuchar model were taken by loading the Elevation and Azimuth angles for each TOW and number of fixed satellites.We observed that these coefficients are constant even for different TOW (Fig. 2) and this result is due to the fact that ionospheric parameters do not change in a short measurement time.

B. Tropospheric Corrections
The signal refraction in the troposphere is separated into two components: the dry and the wet component, where the dry component contributes about 90 % of the total tropospheric delay.The tropospheric delay is approximated by using the Hopfield model [6], whose inputs in our algorithm are:  T -Temperature in 0 C.  P -Pressure in hPa. Huhumidity ratio in %.  R -Earth radius: R = 6371 km. -Satellite Elevation angle.This model is based on the relationship between the dry refractivity at height h to the surface of Earth.We designed a function in Matlab ® named tropogen.mto calculate the delay caused by the Troposphere layer, as a function of elevation angle represented by the following equations Equation ( 4) represents the total Tropospheric error contribution where

VI. ANALYSIS OF THE RESULTS
In this section are shown the results of our work.The reference frame used is the ECEF Cartesian coordinate system.In Fig. 7 the time evolution of Geometrical Dilution Of Precision (GDOP) and the number of satellites are shown.We observe in table 4 that for all the TOW-s taken into consideration, the minimum number of fixed satellites is six which is enough to properly estimate the user position because are required at least four satellites.When the number of fixed satellites decreases, we observe increased values of GDOP, for instance when the number of fixed satellites goes from 13 to 6 the value of GDOP is increased from 1.59 to 5.29.When the number of fixed satellites increases, so more satellites come in view, the proper values of GDOP decrease because a better estimation of the receiver's position is achieved.After running the positioning algorithm with the raw data of the first 10 Times Of Week the obtained estimated position (Fig. 9) has the following coordinates: Latitude = 41.454 0and Longitude = 19.626 0which is far from the true position.This is due to the linearization point which at the beginning is Lp and to the fact that the receiver is set up for the first time (cold start).The receiver in cold start mode has no clue where its position might be and the first linearization point is far from the true position.In Fig. 10 is shown the estimated position of the user after the iterations for all Times of Week and it has these coordinates: Latitude=41.3165 0and Longitude=19.8215 0which are close to the true position (Latitude=41.3169 0and Longitude=19.8215 0).The satellite-user geometry can have a large impact on the accuracy of the PVT estimates obtained from GPS.In other words, some satellite-user geometries will result in a higher accuracy solution than others.As such, it is useful to have a way of comparing different satellite-user geometries.The metric normally used for measuring this impact is dilution of precision (DOP), which represents the degree to which satellite-user geometry dilutes the accuracy of the PVT.DOPs can be viewed as the link between the pseudorange errors and PVT estimation errors.Since DOPs change as the user-satellite geometry changes over time as illustrated in Fig. 7, this implies that a given level of pseudorange measurement error will translate into different levels of PVT errors.
After applying the ionospheric and tropospheric correction models, the error in the vertical component (height z) is significantly reduced.Figure 8 shows the estimated positions and the true position in Geographical coordinates for a better understanding of the atmospheric residual errors.The Klobuchar model reduces the vertical error with a value equal to 42.6 m.The Tropospheric Hopfield model applied in our adaptive PVT algorithm, gives a slight correction to the vertical error in the amount of 1.9 m.This was an expected outcome because Tropospheric error's impact is lower compared to the Ionospheric one, in the total error contribution.These important results are summarized in Table 5. www.ijacsa.thesai.orgFinally, the user's position estimated by our adaptive ILS positioning algorithm for all GPS epochs or TOWs is: [41.3165 0 N; 19.8215 0 E; 14.275 m].This estimated position is very close to the true position which is illustrated in Fig. 10.

VII. CONCLUSION AND FUTURE WORK
The aim of this paper was to evaluate the positioning performance of a single-frequency software GPS receiver using Ionosperic and Tropospheric corrections.We proposed an adaptive ILS algorithm, where we integrated Klobuchar and Hopfield mathematical correction models, enabling data postprocessing.In our measurement process we used the SAT-SURF receiver.In order to minimize the impact of large errors in the position estimation, we applied the Weighted Matrix.In the first ten TOW-s test we obtained very bad results in the user position estimation, this was due to cold start of the receiver (where the receiver has no clue about its position) and because the initial linearization point was chosen to be very far from the user's True Position.Since the goal of a positioning algorithm is to provide the user position in a minimum number of iterations we show that three iterations were enough to fulfill this requirement.The final user position obtained by our positioning algorithm was 41.3165 0 North, 19.8215 0 East, 61.134 m Up.Applying the Klobuchar model for Ionospheric correction, a reduction by 42.6 m of the vertical error was achieved; however this model did not affect significantly the horizontal positioning.On the other hand, the integration of Hopfield Tropospheric model in our positioning algorithm, gave a slight improvement of the vertical error by 4.25 m compared to ionospheric correction.This is a good result, taking into account that our receiver is a mass market receiver working in single frequency.In our future work we will focus on the mitigation of other error's contribution such as relativistic, ephemerides and satellite clock errors.We will also investigate the positioning performance achieved after the application of EGNOS and differential corrections, using double frequency GPS receivers for Precise Point Positioning applications.

Fig. 1 .
Fig. 1.SAT-SURF: view of the case (a) and of the hardware board (b)

Fig. 3 .
Fig. 3.The correlation results of frequency parallel-search method for PRN-21 satellite

Fig. 7 .
Fig. 7.The change of GDOP values and of number of satellites over TOW

Fig. 9 .
Fig. 9.Estimated position for the first 10 Times Of Week In Fig. 8 are plotted the true position of the receiver and the cloud of points which represents the estimated position as an output of the positioning algorithm.

Fig. 10 .
Fig. 10.Estimated user's position from the adaptive PVT algorithm

TABLE II .
RESULTS FROM PIF GPS SATELLITES IN THE RECEIVED SIGNAL

TABLE III .
INPUT PARAMETERS OF KLOBUCHAR CORRECTION MODEL

TABLE IV .
GDOP VALUES AND NUMBER OF SATELLITES IN VIEW FOR ALL TOW The true and estimated position in Geographic coordinates

TABLE V .
SUMMARY OF DIFFERENT TRIALS COMPUTED FOR THE PVT SOLUTION