Performance Enhancement of Land Vehicle Positioning Using Multiple GPS Receivers in an Urban Area

The Global Positioning System (GPS) is the most widely used navigation system in land vehicle applications. In urban areas, the GPS suffers from insufficient signal strength, multipath propagation and non-line-of-sight (NLOS) errors, so it thus becomes difficult to obtain accurate and reliable position information. In this paper, an integration algorithm for multiple receivers is proposed to enhance the positioning performance of GPS for land vehicles in urban areas. The pseudoranges of multiple receivers are integrated based on a tightly coupled approach, and erroneous measurements are detected by testing the closeness of the pseudoranges. In order to fairly compare the pseudoranges, GPS errors and terms arising due to the differences between the positions of the receivers need to be compensated. The double-difference technique is used to eliminate GPS errors in the pseudoranges, and the geometrical distance is corrected by projecting the baseline vector between pairs of receivers. In order to test and analyze the proposed algorithm, an experiment involving live data was performed. The positioning performance of the algorithm was compared with that of the receiver autonomous integrity monitoring (RAIM)-based integration algorithm for multiple receivers. The test results showed that the proposed algorithm yields more accurate position information in urban areas.


Introduction
At present, the Global Positioning System (GPS) is the most widely used sensor for land vehicle navigation systems, as it provides reasonable positioning solutions in terms of absolute coordinates at most locations and times worldwide and it is free of cost [1,2]. In urban areas, skyscrapers and other tall structures prevent the GPS signal propagation, which leads to degradation of the positioning performance due to poor measurement, multipath interference, and non-line-of-sight (NLOS) errors [3,4].
Many techniques have been proposed to enhance the positioning accuracy, availability and reliability of the GPS in urban areas by mitigating and removing the effects of multipath and NLOS errors. The common method involves integrating the GPS with another sensor. A representative sensor is the inertial measurement unit (IMU) because its characteristics complement those of the GPS. The IMU is incorporated in full or reduced order (dead reckoning) to consider the characteristics of load vehicle dynamics [2,5,6]. Another method involves detecting and excluding multipath or NLOS errors by checking the signal propagation path [7][8][9][10][11][12]. The omnidirectional infrared (IR) camera is used to eliminate invisible satellites by comparing the geometrical relation between the satellites and obstructions [7,8]. In [9], a Light Detection and Ranging (LiDAR) sensor was used to obtain the digital surface of the environment, and the results were used as an external source of information on expected

Positioning Algorithm for Multiple Receivers
Measurements from multiple receivers are integrated using a tightly coupled approach to estimate the position of the desired reference point in the vehicle. The tightly coupled approach means the integration of raw measurements, and where the proposed method integrates the pseudoranges from multiple receivers rather than positions. It is similar to the conventional GNSS/INS tightly coupled integration, which combines the raw measurements from two sensors. Figure 1 shows a block diagram of the proposed positioning system. The pseudoranges of each receiver are used as measurements and integrated using a geometrical relationship. In the positioning algorithm, the pseudorange measurements are first tested to detect the outliers, includeing multipath or NLOS errors. Pseudoranges from the same satellite are compared based on the double-difference technique. The passed and the suspended measurements in first test are inspected again using the conventional RAIM algorithm [20]. Finally, inlier measurements are integrated with one another to estimate the position of the reference point. The IWLS is selected as the estimator to evaluate the effect of the single epoch measurements. The details of measurement model and the IWLS are described in the remainder of this section.
Sensors 2016, 16,1688 4 of 25 means the integration of raw measurements, and where the proposed method integrates the pseudoranges from multiple receivers rather than positions. It is similar to the conventional GNSS/INS tightly coupled integration, which combines the raw measurements from two sensors. Figure 1 shows a block diagram of the proposed positioning system. The pseudoranges of each receiver are used as measurements and integrated using a geometrical relationship. In the positioning algorithm, the pseudorange measurements are first tested to detect the outliers, includeing multipath or NLOS errors. Pseudoranges from the same satellite are compared based on the double-difference technique. The passed and the suspended measurements in first test are inspected again using the conventional RAIM algorithm [20]. Finally, inlier measurements are integrated with one another to estimate the position of the reference point. The IWLS is selected as the estimator to evaluate the effect of the single epoch measurements. The details of measurement model and the IWLS are described in the remainder of this section.

Measurement Model
In this paper, the position of the reference point is estimated instead of that of each receiver. To estimate this, the relationship between measurements from multiple receivers and the reference point need to be derived. Figure 2 shows the geometrical relationship between a reference point Xr and the positions of four receivers Xi in the navigation frame with a baseline vector Bi given in the body frame. The position of each receiver is represented as a function of the baseline vector and the reference point using the geometrical relationship, can be expressed as in Equation (1): where:   C : rotation matrix from the body to the navigation frame cos cos sin sin cos cos sin cos sin cos sin sin cos sin sin sin sin cos cos cos sin sin sin cos sin sin cos cos cos Following this, the relationship between the pseudorange of each receiver and the position of the reference point is described. The range of each receiver is a function of the satellite and the receiver's position, and is defined as:

Measurement Model
In this paper, the position of the reference point is estimated instead of that of each receiver. To estimate this, the relationship between measurements from multiple receivers and the reference point need to be derived. Figure 2 shows the geometrical relationship between a reference point X r and the positions of four receivers X i in the navigation frame with a baseline vector B i given in the body frame. The position of each receiver is represented as a function of the baseline vector and the reference point using the geometrical relationship, can be expressed as in Equation (1): where: Following this, the relationship between the pseudorange of each receiver and the position of the reference point is described. The range of each receiver is a function of the satellite and the receiver's position, and is defined as: where r j i is the geometrical range between satellite j and receiver i, and X j = n j e j d j T is the position of satellite j. The range of each receiver can then be represented as a function of the reference point by substituting Equation (1) into Equation (2). The result is expressed as follows: is the baseline vector of the receiver i in the navigation frame. Figure 3 shows the relationship between the range of each receiver and the reference point.
where j i r is the geometrical range between satellite j and receiver i, and The range of each receiver can then be represented as a function of the reference point by substituting Equation (1) into Equation (2). The result is expressed as follows:  is the baseline vector of the receiver i in the navigation frame. Figure  3 shows the relationship between the range of each receiver and the reference point.  In Equation (3), the vehicle's attitude is needed to transfer the baseline vector from the body to the navigation frame. As mentioned above, the roll and pitch angles are ignored. Therefore, the rotation matrix is calculated using only the heading angle.
where j i r is the geometrical range between satellite j and receiver i, and The range of each receiver can then be represented as a function of the reference point by substituting Equation (1) into Equation (2). The result is expressed as follows:  is the baseline vector of the receiver i in the navigation frame. Figure  3 shows the relationship between the range of each receiver and the reference point.  In Equation (3), the vehicle's attitude is needed to transfer the baseline vector from the body to the navigation frame. As mentioned above, the roll and pitch angles are ignored. Therefore, the rotation matrix is calculated using only the heading angle.  In Equation (3), the vehicle's attitude is needed to transfer the baseline vector from the body to the navigation frame. As mentioned above, the roll and pitch angles are ignored. Therefore, the rotation matrix is calculated using only the heading angle.

Implementation of IWLS
The IWLS is implemented using the above results. Since the clock bias of each receiver is different, these should be estimated in order for measurements from multiple receivers to be used together. Thus, the state vector is defined as the reference point and clock bias of multiple receivers. The state variable and the measurement equation are represented by Equations (4)-(6):

•
State variable: where, b i is the clock bias of the receiver and N is the number of receiver. where: • Linearization of measurement equation: where: The IWLS is used to estimate position using a pre-defined state variable and a measurement equation. The state estimation and the update equation are shown in Equations (7) and (8): where X 0 is the nominal state vector, ∆X k is the error of nominal state vector, W k is the weighting matrix, andẐ k is the predicted measurement using the nominal state vector. The weighting factor of each measurement is inverse of variance σ 2 i , and is calculated using the SNR-based model represented in Equation (9) [21]: The model parameters A m and B m are derived by analyzing real data obtained in an open sky area for each receiver. The parameters are estimated by fitting the pseudorange errors to the above model using the LSE algorithm between valid SNRs, e.g., larger than 35 dB. The pseudorange errors are obtained from the reference sensor. Figure 4 shows the measured and modeled pseudorange error for the EVK-M8T receiver, which is one of the receivers used in this study and is mentioned in Section 4.1.
The model parameters m A and m B are derived by analyzing real data obtained in an open sky area for each receiver. The parameters are estimated by fitting the pseudorange errors to the above model using the LSE algorithm between valid SNRs, e.g., larger than 35 dB. The pseudorange errors are obtained from the reference sensor. Figure 4 shows the measured and modeled pseudorange error for the EVK-M8T receiver, which is one of the receivers used in this study and is mentioned in Section 4.1.

Outlier Detection and Exclusion for Multiple Receivers
In degraded signal environments, such as urban areas or forests, the detection and exclusion of outliers is difficult because of the insufficient number of measurements. Furthermore, large and multiple erroneous measurements degrade the capability of RAIM due to their mutual influence on measurements, in spite of the increased redundancy from multiple receivers. This paper proposes a two-stage outlier detection algorithm. In the first stage, the closeness of pseudoranges from the same satellites is checked without the mutual influence of measurements based on the double-difference technique. In the second stage, the RAIM algorithm is applied to remove the remaining outliers for each receiver measurement. The rejection of outliers in the first stage improves the detection ability of RAIM as well as the overall positioning performance. In the remainder of this section, the RAIM algorithm for multiple receivers used in this paper is described. Then, the proposed outlier detection method is explained.

RAIM Algorithm for Multiple Receivers
In the conventional RAIM algorithm, position is estimated using all measurements, and is used to calculate the measurement residual. A statistical test is then performed to detect outliers in measurements. Therefore, the more accurate the calculated position, the better the detection capability. In [19], the fixed constraints among multiple receivers are used as additional measurements to correct the positions obtained from multiple receivers. The RAIM algorithm is then

Outlier Detection and Exclusion for Multiple Receivers
In degraded signal environments, such as urban areas or forests, the detection and exclusion of outliers is difficult because of the insufficient number of measurements. Furthermore, large and multiple erroneous measurements degrade the capability of RAIM due to their mutual influence on measurements, in spite of the increased redundancy from multiple receivers. This paper proposes a two-stage outlier detection algorithm. In the first stage, the closeness of pseudoranges from the same satellites is checked without the mutual influence of measurements based on the double-difference technique. In the second stage, the RAIM algorithm is applied to remove the remaining outliers for each receiver measurement. The rejection of outliers in the first stage improves the detection ability of RAIM as well as the overall positioning performance. In the remainder of this section, the RAIM algorithm for multiple receivers used in this paper is described. Then, the proposed outlier detection method is explained.

RAIM Algorithm for Multiple Receivers
In the conventional RAIM algorithm, position is estimated using all measurements, and is used to calculate the measurement residual. A statistical test is then performed to detect outliers in measurements. Therefore, the more accurate the calculated position, the better the detection capability. In [19], the fixed constraints among multiple receivers are used as additional measurements to correct the positions obtained from multiple receivers. The RAIM algorithm is then applied to each receiver using the more accurate position. In this paper, the fixed constraints, i.e., the baseline vector, are utilized to integrate the pseudoranges of multiple receivers rather than their measurement. Figure 5 shows the RAIM-based outlier detection method for multiple receivers. First, pseudoranges from multiple receivers are combined in a tightly coupled approach using IWLS. Second, the RAIM algorithm is applied to observations of each receiver using the estimated position of the reference point. Finally, the RAIM results are checked and, if outliers exist, the above procedure is repeated until no additional outliers are left. In this approach, the integration of multiple receivers improves system redundancy and accuracy. For this reason, outlier detection capability is also enhanced. The detail RAIM algorithm used in this paper are described in [20]. applied to each receiver using the more accurate position. In this paper, the fixed constraints, i.e., the baseline vector, are utilized to integrate the pseudoranges of multiple receivers rather than their measurement. Figure 5 shows the RAIM-based outlier detection method for multiple receivers. First, pseudoranges from multiple receivers are combined in a tightly coupled approach using IWLS. Second, the RAIM algorithm is applied to observations of each receiver using the estimated position of the reference point. Finally, the RAIM results are checked and, if outliers exist, the above procedure is repeated until no additional outliers are left. In this approach, the integration of multiple receivers improves system redundancy and accuracy. For this reason, outlier detection capability is also enhanced. The detail RAIM algorithm used in this paper are described in [20].

Receiver 1 Receiver 2 Receiver N
Tightly coupled integration using all measurement

Pseudorange Comparison Method
The measurements from multiples receivers with short baselines are highly correlated, and the differences among them are small. If some measurements include multipath or NLOS errors, the differences among measurements increase. Using this property, the pseudoranges of multiple receivers from the same satellite are compared and tested without calculating the position.
The closeness of the pseudoranges from same satellite is inspected to detect outliers. Since measurements from multiple receivers contain the effects of different components, such as receiver clock and receiver position, these should be removed before the closeness test. Thus, the measured pseudoranges are pre-processed using the double-difference technique and baseline vector projection. The pre-processing results are then compared to detect outliers. Sometimes, there are many outliers, and they can contain a common bias error. In such cases, inliers can be removed instead of the outliers. To avoid this case from obtaining, an SNR test is performed for closed measurements. Unfortunately, when certain pseudoranges from multiple receivers from the same satellite are not measured, the proposed method cannot be applied to the satellite's measurements, and a judgment cannot be made concerning outliers. In any case, the passed and the suspended measurements are sent to the RAIM algorithm to detect the remaining outliers. Figure 6 shows a block diagram of the pseudorange comparison method. In this figure, the red box represents the pre-processing block and the blue box the outlier detection and rejection test block. The details of each block are represented in the following.

Pseudorange Comparison Method
The measurements from multiples receivers with short baselines are highly correlated, and the differences among them are small. If some measurements include multipath or NLOS errors, the differences among measurements increase. Using this property, the pseudoranges of multiple receivers from the same satellite are compared and tested without calculating the position.
The closeness of the pseudoranges from same satellite is inspected to detect outliers. Since measurements from multiple receivers contain the effects of different components, such as receiver clock and receiver position, these should be removed before the closeness test. Thus, the measured pseudoranges are pre-processed using the double-difference technique and baseline vector projection. The pre-processing results are then compared to detect outliers. Sometimes, there are many outliers, and they can contain a common bias error. In such cases, inliers can be removed instead of the outliers. To avoid this case from obtaining, an SNR test is performed for closed measurements. Unfortunately, when certain pseudoranges from multiple receivers from the same satellite are not measured, the proposed method cannot be applied to the satellite's measurements, and a judgment cannot be made concerning outliers. In any case, the passed and the suspended measurements are sent to the RAIM algorithm to detect the remaining outliers. Figure 6 shows a block diagram of the pseudorange comparison method. In this figure, the red box represents the pre-processing block and the blue box the outlier detection and rejection test block. The details of each block are represented in the following. when certain pseudoranges from multiple receivers from the same satellite are not measured, the proposed method cannot be applied to the satellite's measurements, and a judgment cannot be made concerning outliers. In any case, the passed and the suspended measurements are sent to the RAIM algorithm to detect the remaining outliers. Figure 6 shows a block diagram of the pseudorange comparison method. In this figure, the red box represents the pre-processing block and the blue box the outlier detection and rejection test block. The details of each block are represented in the following.  Pre-processing is performed to reduce the difference among the pseudoranges of multiple receivers. The double-difference technique is first used to eliminate the difference due to GPS errors, especially receiver clock error. The double-difference pseudorange consists of range differences between the satellite and a given receiver, bias errors, and noise, and is represented by Equation (10): where: The reference satellite is chosen using the following conditions and process: first, the elevation angle of the satellite needs to be greater than 50 • ; second, pseudoranges are observed in all receiver; finally, find the satellite with the maximum mean SNR. If satellite j is assumed to be the reference satellite, bias errors of pseudoranges from satellite j are removed, and the Equation (10) is reduced to: Furthermore, the geometrical distance among multiple receivers causes range differences in the double-difference pseudorange. The first and second terms of the right-hand side of Equation (11) represent range differences, which can be theoretically calculated by projecting the baseline vector in the direction of the LOS. Hence, range difference is reduced by subtracting the calculated value from the double-difference pseudoranges. Figure 7 shows the relationship between range difference and the baseline vector. Pre-processing is performed to reduce the difference among the pseudoranges of multiple receivers. The double-difference technique is first used to eliminate the difference due to GPS errors, especially receiver clock error. The double-difference pseudorange consists of range differences between the satellite and a given receiver, bias errors, and noise, and is represented by Equation (10): where: The reference satellite is chosen using the following conditions and process: first, the elevation angle of the satellite needs to be greater than 50°; second, pseudoranges are observed in all receiver; finally, find the satellite with the maximum mean SNR. If satellite j is assumed to be the reference satellite, bias errors of pseudoranges from satellite j are removed, and the Equation (10) is reduced to: Furthermore, the geometrical distance among multiple receivers causes range differences in the double-difference pseudorange. The first and second terms of the right-hand side of Equation (11) represent range differences, which can be theoretically calculated by projecting the baseline vector in the direction of the LOS. Hence, range difference is reduced by subtracting the calculated value from the double-difference pseudoranges. Figure 7 shows the relationship between range difference and the baseline vector. Figure 7. Relationship between range difference and baseline vector.
The range difference between k A r (range from satellite k to Receiver A) and k B r (range from satellite k to Receiver B) equal to the projection of the relative vector between Receiver A and Receiver B in the direction of the LOS of satellite k. The results are shown in Equation (12): The range difference between r k A (range from satellite k to Receiver A) and r k B (range from satellite k to Receiver B) equal to the projection of the relative vector between Receiver A and Receiver B in the direction of the LOS of satellite k. The results are shown in Equation (12): where, X A and X B are the receiver position in the navigation frame and h k A is the LOS vector from satellite k to Receiver A.
The relative vector between two receivers can be represented by a baseline vector of Receiver A and Receiver B in Equation (1), and the rotation matrix C n b is approximated as a function of the heading angle. The modified equation is as follows: where B A and B B are the baseline vectors from the reference point to Receiver A and Receiver B in the body frame, respectively and R (ψ) is the rotation matrix about heading angle ψ on the downward axis. The double-difference pseudorange is modified by substituting Equation (13) into (11) as follows: The first term of the light side is moved to the left side in Equation (14) to reduce the range difference in the double-difference pseudorange, and the remaining value is present the double difference of pseudorange error. It is difined as an error difference as follows: where B AB is the baseline vector between Receiver A and Receiver B in the body frame. The error difference includes the difference due to the bias error and noise between two receivers. If one receiver has a bias error or both receivers have bias errors that are significantly different, the error difference has a large value. One way to use this value to detect the outliers is to use a hypothesis test. The statistical distribution of the error difference can be obtained from the statistical distribution of the pseudoranges that were calculated by Equation (9). Therefore, a significant error difference can be detected using the hypothesis test. As shown in Equation (15), a significant error difference can be caused by M k A and M k B . Thus, it is difficult to determine which pseudorange is an erroneous one from the significant error difference, since both pseudorange could lead to a bias error.
Therefore, a closeness-based method is proposed and adapted instead of hypothesis test to detect outliers. This method distinguishes an erroneous pseudorange by comparing the size of the error difference from the same satellite. In particular, the mean of the error differences on any one receiver is calculated, and the distance of the error differences from the mean is computed for each error difference. The computed distance is defined as the closeness of measurements and is tested for outlier detection. If outliers exist, then the pseudorange with the largest distance is removed and the test is applied again for the remaining pseudoranges. Figure 8 shows an example of the closeness test involving four receivers. In this example, the satellite j is selected as reference and the pseudoranges transmitted from satellite k are inspected. The error differences are calculated with respect to Receiver 1. The error differences, i.e., d jk 11 to d jk 14 are first calculated using Equation (15) as follows:  Finally, the distance from the mean of the error differences to each error difference is calculated and tested. The distance is defined as jk s D and is calculated using Equation (19): Then each distance is obtained by substituting Equation (18) Equation (20) As shown in Equation (21) The result shows that the amplitude of each of the distances is similar. Therefore, the proposed method can detect outliers only when the pseudoranges have a different bias error. If Receivers 1 and 2 have a different bias error , then each distance is calculated as follows: Since the error difference is calculated with respect to Receiver 1, the value of d jk 11 is zero and Equation (17) is reduced to the following: Finally, the distance from the mean of the error differences to each error difference is calculated and tested. The distance is defined as D jk s and is calculated using Equation (19): Then each distance is obtained by substituting Equation (18) into Equation (19) as follows: Equation (20) shows that the distance for Receiver A is equal to the mean of the error differences with respect to Receiver A. If D jk s is greater than the specified threshold, the relevant measurement is detected as an outlier. In this example, D jk 4 exceeds the threshold and the pseudorange of Receiver 4 is detected as an outlier. This means that the pseudorange of Receiver 4 has bias error. Thus, each distance is represented as follows: As shown in Equation (21), the amplitude of the distance for Receiver 4 is approximately three times larger than that of the others. Thus, an erroneous pseudorange can be detected. If multiple pseudoranges with similar bias errors exist, the proposed method cannot detect the erroneous The result shows that the amplitude of each of the distances is similar. Therefore, the proposed method can detect outliers only when the pseudoranges have a different bias error. If Receivers 1 and 2 have a different bias error M k 1 > M k 2 , then each distance is calculated as follows: In this case, D jk 1 has the largest amplitude and the pseudorange of Receiver 1 is detected as an outlier and is removed. The test is applied again for the remaining Receivers 2, 3, and 4. In the second test, Receiver 2 is detected as an outlier and removed. As a result, two outliers are detected and removed by the closeness test.
If no bias error exists for all the pseudoranges, then the distance consists of double differenced noise error as shown in Equation (15). The distance threshold is obtained by calculating the theoretical double-differenced noise error which is computed using Equation (9) and the SNR measurements as follows: To prevent a high probability of miss detection, the higher limit of the distance threshold is applied. This limit is determined from the maximum pseudorange noise error. In this research, 1 m is empirically selected as the value of the maximum pseudorange noise error. The distance threshold for pseudorange s is calculated using the following equation: (25) where N is the number of pseudoranges and σ max is the maximum pseudorange noise error, which depends on the receiver used. The threshold is changed according to the pseudoranges that are used, the number of pseudoranges, and the pseudorange that has yet to be tested. The flowchart of the closeness test is shown in Figure 9. After rejecting the outlier, the mean of error differences is recalculated using the remaining error differences, and the distance from the mean is checked again. If all measurements are less than the threshold, they are passed to the next stage.
In this case, 1 jk D has the largest amplitude and the pseudorange of Receiver 1 is detected as an outlier and is removed. The test is applied again for the remaining Receivers 2, 3, and 4. In the second test, Receiver 2 is detected as an outlier and removed. As a result, two outliers are detected and removed by the closeness test. If no bias error exists for all the pseudoranges, then the distance consists of double differenced noise error as shown in Equation (15). The distance threshold is obtained by calculating the theoretical double-differenced noise error which is computed using Equation (9) and the SNR measurements as follows: To prevent a high probability of miss detection, the higher limit of the distance threshold is applied. This limit is determined from the maximum pseudorange noise error. In this research, 1 m is empirically selected as the value of the maximum pseudorange noise error. The distance threshold for pseudorange s is calculated using the following equation: where N is the number of pseudoranges and max  is the maximum pseudorange noise error, which depends on the receiver used. The threshold is changed according to the pseudoranges that are used, the number of pseudoranges, and the pseudorange that has yet to be tested. The flowchart of the closeness test is shown in Figure 9. After rejecting the outlier, the mean of error differences is recalculated using the remaining error differences, and the distance from the mean is checked again. If all measurements are less than the threshold, they are passed to the next stage. The overall flowchart of the proposed outlier detection algorithm for pseudoranges transmitted from the same satellite is presented in Figure 10. To detect outliers, the redundancy should be sufficient. Thus, the number of measurements is checked before applying the closeness test, and the minimum number of measurement is defined as THm. To apply the closeness test, the number of measurement should be greater than two. If this condition is not satisfied, the test is suspended to the The overall flowchart of the proposed outlier detection algorithm for pseudoranges transmitted from the same satellite is presented in Figure 10. To detect outliers, the redundancy should be sufficient. Thus, the number of measurements is checked before applying the closeness test, and the minimum number of measurement is defined as TH m . To apply the closeness test, the number of measurement should be greater than two. If this condition is not satisfied, the test is suspended to the next stage, i.e., RAIM algorithm. Following the closeness test, the number of passed measurements is checked, which should be greater than the threshold TH p . This value depends on the number of receivers, and is determined empirically. In this paper, we assumed two for four multiple receivers. Although, the pseudoranges pass the closeness test, those can be outliers when common bias is included in most pseudoranges. To separate these measurements, an SNR test is performed because it is known that multipath or NLOS measurements have lower SNR values than direct measurements [10]. If the mean SNR of the passed measurements is lower than the threshold, those are regarded as outliers and are rejected. The threshold TH SNR depends on the type of receivers, and is determined empirically. In this study, TH SNR is selected as 35 dB. outliers and are rejected. The threshold THSNR depends on the type of receivers, and is determined empirically. In this study, THSNR is selected as 35 dB.

Experimental Environment
Four receivers were used for the experiment to test the proposed method. They were installed along the edge of the roof of a vehicle. The distance among the receivers was limited to 1-2 m due to the size of the vehicle. Each multi-receiver consisted of patch antennas and low-cost U-blox receivers: two EVK-M8T, one EVK-6T and one AEK-4T. Figure 11 shows the configuration and location of antennas on the roof of the vehicle. The Novatel GPS RTK/INS integration system (SPAN) was used as a reference sensor to evaluate the positioning performance. The antenna of SPAN was also mounted on the reference point of the roof as shown in Figure 11. Measurements of multiple receivers were logged at a rate of 1 Hz and was post-processed using the proposed method.

Experimental Environment
Four receivers were used for the experiment to test the proposed method. They were installed along the edge of the roof of a vehicle. The distance among the receivers was limited to 1-2 m due to the size of the vehicle. Each multi-receiver consisted of patch antennas and low-cost U-blox receivers: two EVK-M8T, one EVK-6T and one AEK-4T. Figure 11 shows the configuration and location of antennas on the roof of the vehicle. The Novatel GPS RTK/INS integration system (SPAN) was used as a reference sensor to evaluate the positioning performance. The antenna of SPAN was also mounted on the reference point of the roof as shown in Figure 11. Measurements of multiple receivers were logged at a rate of 1 Hz and was post-processed using the proposed method.
The test was carried out by driving the vehicle from Junggye station to Konkuk University in Seoul, Korea for a total of approximately 13.7 km. Figure 12 shows the trajectory of the vehicle and images along the route. In Region 1, buildings and trees prevented the propagation of the GPS signal, and the road was lined by high buildings in Region 4, as shown in Figure 12b. The proposed method was tested under stationary conditions by stopping the vehicle at a gas station and by collecting data for approximately 10 min as shown in the figure in the center of Figure 12b. Especially in this area, the positioning performance was degraded in the RAIM algorithm as well as general positioning algorithm due to multiple outliers. Thus, position performance did not improve to a significant degree. The vehicle was moved onto a motorway in Region 3 to test the proposed method in an open sky area. In Region 5, the road was flanked by buildings and trees.

Experimental Environment
Four receivers were used for the experiment to test the proposed method. They were installed along the edge of the roof of a vehicle. The distance among the receivers was limited to 1-2 m due to the size of the vehicle. Each multi-receiver consisted of patch antennas and low-cost U-blox receivers: two EVK-M8T, one EVK-6T and one AEK-4T. Figure 11 shows the configuration and location of antennas on the roof of the vehicle. The Novatel GPS RTK/INS integration system (SPAN) was used as a reference sensor to evaluate the positioning performance. The antenna of SPAN was also mounted on the reference point of the roof as shown in Figure 11. Measurements of multiple receivers were logged at a rate of 1 Hz and was post-processed using the proposed method. The test was carried out by driving the vehicle from Junggye station to Konkuk University in Seoul, Korea for a total of approximately 13.7 km. Figure 12 shows the trajectory of the vehicle and The vehicle's heading angle used in the proposed algorithm was obtained by adding the noise, as mentioned before. In practice, the noise in the calculation of the heading angle from a two-antenna GPS system with a 1-m baseline was 0.1° in the open sky [25]. For unfavorable signal environments, the standard deviation of added noise was determined to be 5°. The maximum value of noise with standard deviation of 5° is about 20° (4-sigma), and lead to an error of approximately 0.6 m when rotating the baseline vector from the body frame to the navigation frame.
In this paper, three methods of outlier detection were used, and their positioning performance compared. Method 1 represents the general measurement test among positioning algorithms. Method 2 is the RAIM algorithm for multiple receivers explained in Section 3. The proposed method The vehicle's heading angle used in the proposed algorithm was obtained by adding the noise, as mentioned before. In practice, the noise in the calculation of the heading angle from a two-antenna GPS system with a 1-m baseline was 0.1 • in the open sky [25]. For unfavorable signal environments, the standard deviation of added noise was determined to be 5 • . The maximum value of noise with standard deviation of 5 • is about 20 • (4-sigma), and lead to an error of approximately 0.6 m when rotating the baseline vector from the body frame to the navigation frame.
In this paper, three methods of outlier detection were used, and their positioning performance compared. Method 1 represents the general measurement test among positioning algorithms. Method 2 is the RAIM algorithm for multiple receivers explained in Section 3. The proposed method was named Method 3.

Experimental Results
Prior to analyzing performance, the selection results of the reference satellite are presented. Figure 13 shows the Pseudo Random Noise (PRN) number and the total number of selected reference satellites. PRN 3 is mostly selected for the reference satellite, as shown in Figure 13b. The skyplot of observed satellites during the experiment is shown in Figure 14. The blue color of the PRN number represents satellites with higher elevation angles than the cutoff angle. PRN 3, PRN 17, and PRN 28 had high elevation angles. When a reference satellite did not exist, the selected reference satellite set the PRN number to zero, and is shown as a red point in Figure 13a. The total absence of a reference satellite is 57 epochs, and only 2.7% of the total number of epochs. This was a reasonable value in an urban area, and the assumption of the existence of a reference satellite was appropriate. If multiple GNSSs could be jointly used, the reference satellite would exist most of the time. Therefore, the proposed outlier detection method can be applied to every epoch.
The pre-processing results of pseudoranges for PRN 6 are presented in Figure 15. The doubledifference pseudoranges are shown in Figure 15a, and Receiver 1 is used as the reference receiver. Figure 15b shows the error differences already defined in Equation (15). The difference between any two results did not seem to be significant because the distance between multiple receivers was short. If the bias error was not included in the error difference, it was modeled as double-difference noise with a normal distribution as computed in Equation (24). However, the bias errors caused a significant in error difference as shown in Figure 15b, especially between epochs 400 and 600 s. Using this property, the error difference can be used to check the existence of outliers, but it is difficult to identify them.

Experimental Results
Prior to analyzing performance, the selection results of the reference satellite are presented. Figure 13 shows the Pseudo Random Noise (PRN) number and the total number of selected reference satellites. PRN 3 is mostly selected for the reference satellite, as shown in Figure 13b. The skyplot of observed satellites during the experiment is shown in Figure 14. The blue color of the PRN number represents satellites with higher elevation angles than the cutoff angle. PRN 3, PRN 17, and PRN 28 had high elevation angles. When a reference satellite did not exist, the selected reference satellite set the PRN number to zero, and is shown as a red point in Figure 13a. The total absence of a reference satellite is 57 epochs, and only 2.7% of the total number of epochs. This was a reasonable value in an urban area, and the assumption of the existence of a reference satellite was appropriate. If multiple GNSSs could be jointly used, the reference satellite would exist most of the time. Therefore, the proposed outlier detection method can be applied to every epoch.    The pre-processing results of pseudoranges for PRN 6 are presented in Figure 15. The doubledifference pseudoranges are shown in Figure 15a, and Receiver 1 is used as the reference receiver. Figure 15b shows the error differences already defined in Equation (15). The difference between any two results did not seem to be significant because the distance between multiple receivers was short. If the bias error was not included in the error difference, it was modeled as double-difference noise with a normal distribution as computed in Equation (24). However, the bias errors caused a significant in error difference as shown in Figure 15b, especially between epochs 400 and 600 s. Using this property, the error difference can be used to check the existence of outliers, but it is difficult to identify them. To detect and identify outliers, the closeness test was applied to the error differences. Figure 16 shows the result of the closeness test. First, the mean of error differences was calculated, the results of which are shown at the top of Figure 16a. Then maximum distance was compared with a threshold; if it was greater than the threshold, it was rejected. Following the rejection of a measurement larger than the threshold, the distance from a mean was calculated again, as shown at the middle of Figure  16a. The process was repeated to remove the remaining large value. As shown at the bottom of Figure  16a, almost all large values were removed after the second iteration. Figure 16b shows the results between epochs 900 and 1100 s. The pseudoranges of Receiver 1, 2, and 3 were removed following the closeness test, around epoch 980 s.   To detect and identify outliers, the closeness test was applied to the error differences. Figure 16 shows the result of the closeness test. First, the mean of error differences was calculated, the results of which are shown at the top of Figure 16a. Then maximum distance was compared with a threshold; if it was greater than the threshold, it was rejected. Following the rejection of a measurement larger than the threshold, the distance from a mean was calculated again, as shown at the middle of Figure 16a. The process was repeated to remove the remaining large value. As shown at the bottom of Figure 16a, almost all large values were removed after the second iteration. Figure 16b shows the results between epochs 900 and 1100 s. The pseudoranges of Receiver 1, 2, and 3 were removed following the closeness test, around epoch 980 s.
The performance of the three methods was evaluated and analyzed by calculating the horizontal and vertical positioning errors which are graphically depicted in Figure 17. The test regions are presented as R1~R5. The error was calculated based on the Novatel SPAN & Inertial Explorer (Post-processing of CDGPS/IMU Integration). As shown in Figure 17, Method 3 had smaller positioning errors than the other methods in almost all epochs. In Regions 1, 4, and 5, buildings and trees cause multipath and NLOS errors and the positioning performance is degraded in Methods 1 and 2. In the open sky area, i.e., Region 3, three of the methods show the similar positioning accuracy. In Region 2, as mentioned before, the vehicle stopped at a gas station, thereby causing the position accuracy to be degraded for all the methods. Nonetheless, Method 3 improved the positioning accuracy significantly. Although Method 2 also improved the positioning accuracy, the improvement was insufficient. In Region 2, the vehicle is moved by a small displacement and the positioning accuracy is changed at around epoch 500 and 600 s. To detect and identify outliers, the closeness test was applied to the error differences. Figure 16 shows the result of the closeness test. First, the mean of error differences was calculated, the results of which are shown at the top of Figure 16a. Then maximum distance was compared with a threshold; if it was greater than the threshold, it was rejected. Following the rejection of a measurement larger than the threshold, the distance from a mean was calculated again, as shown at the middle of Figure  16a. The process was repeated to remove the remaining large value. As shown at the bottom of Figure  16a, almost all large values were removed after the second iteration. Figure 16b shows the results between epochs 900 and 1100 s. The pseudoranges of Receiver 1, 2, and 3 were removed following the closeness test, around epoch 980 s.  In some epochs, such as 558, 608, 663, 877, and 979 s, even Method 3 recorded a larger error than Method 1. To investigate the reason for this, the dilution of precision (DOP) of the three methods was calculated, and is shown in Figure 18. Since Method 3 rejected many measurements, it had larger DOPs than the other two methods. The expanded plot of the horizontal error and HDOP between epochs 540 and 720 s is shown in Figure 19. In epoch 608 s, the horizontal error of Method 3 was significant, and its HDOP was similarly large. The other epochs such as 558 and 663 s cannot be explained in terms of the increase in DOP.  In some epochs, such as 558, 608, 663, 877, and 979 s, even Method 3 recorded a larger error than Method 1. To investigate the reason for this, the dilution of precision (DOP) of the three methods was calculated, and is shown in Figure 18. Since Method 3 rejected many measurements, it had larger DOPs than the other two methods. The expanded plot of the horizontal error and HDOP between epochs 540 and 720 s is shown in Figure 19. In epoch 608 s, the horizontal error of Method 3 was significant, and its HDOP was similarly large. The other epochs such as 558 and 663 s cannot be explained in terms of the increase in DOP. Method 1. To investigate the reason for this, the dilution of precision (DOP) of the three methods was calculated, and is shown in Figure 18. Since Method 3 rejected many measurements, it had larger DOPs than the other two methods. The expanded plot of the horizontal error and HDOP between epochs 540 and 720 s is shown in Figure 19. In epoch 608 s, the horizontal error of Method 3 was significant, and its HDOP was similarly large. The other epochs such as 558 and 663 s cannot be explained in terms of the increase in DOP. The reason was investigated by representing the pseudorange errors of these epochs in Figure  20. The pseudorange errors are calculated by estimating the receiver clock error using the position of the reference sensor. At epoch 558 s, PRN 11 has two pseudoranges with a large error as shown at the top of Figure 20. The pseudorange comparison method cannot be applied since the number of pseudoranges for PRN 11 does not exceed the threshold. Thus, the erroneous pseudoranges are suspended and tested in the RAIM algorithm. However, the large pseudorange error prevents the operation of the RAIM algorithm and the positioning error is increased.   Moreover, the position error is not improved at epoch 877 s because the reference satellite did not exist and thus the pseudorange comparison method cannot be applied. In epoch 984 s, the common and large bias error in the pseudoranges prevents the detection of outliers. Figure 21 shows the SNRs and the pseudorange errors at this epoch. The closeness test can detect the erroneous pseudoranges in PRN 6, 11, and 17; however, PRN 19 cannot be detected since the pseudoranges in PRN 19 have a common bias error as shown in Figure 21. Even the inlier in the pseudorange, i.e., measured in Receiver 4, is incorrectly detected as an outlier and removed. Furthermore, the SNR test fails because the mean SNR of PRN 19 measured in Receivers 1-3 is larger than the SNR threshold (35 dB).
In Section 3.2, the common bias error of the pseudoranges was considered to be the main weakness of the proposed method. Since the SNR test can detect pseudoranges with a common bias, this does not affect the positioning performance as expected. In addition, as mentioned in Section 1, the measurements obtained in urban areas from multiple receivers with a short baseline can have different error characteristics [19]. As a result, Method 3 provided excellent outlier detection ability and improved the positioning accuracy. However, this method sometimes led to large positioning errors due to an increased DOP, a large pseudorange error in the reference satellite, and common bias error. Furthermore, the proposed pseudorange comparison method cannot be applied when a reference satellite does not exist and insufficient pseudoranges are measured. Table 1 represents positioning errors in terms of mean, standard deviation, and maximum. These values were calculated using all available epochs of each method. Method 3 had smaller errors than the other two methods for all parameters. Methods 2 and 3 improved horizontal accuracy by approximately 7% and 41% with respect to Method 1, respectively. Vertical accuracy was enhanced by approximately 13% and 53% for Methods 2 and 3, respectively. Similarly, Method 3 improved horizontal and vertical accuracy by 36% and 46% compared to Method 2, respectively. Also, the availability was represented in Table 1 and was calculated by ratio of available epochs to all epochs. The result shows that the proposed method has smallest availability than other method but the difference is small and acceptable.  In Section 3.2, the common bias error of the pseudoranges was considered to be the main weakness of the proposed method. Since the SNR test can detect pseudoranges with a common bias, this does not affect the positioning performance as expected. In addition, as mentioned in Section 1, the measurements obtained in urban areas from multiple receivers with a short baseline can have different error characteristics [19]. As a result, Method 3 provided excellent outlier detection ability   In order to further analyze the performance of Methods 2 and 3, the changes in their position errors were computed and compared. As explained before, Methods 2 and 3 were applied in addition to Method 1 for outlier detection. Thus, the changes in position errors following outlier detection were evaluated. The changes in the position error after Methods 2 and 3 are shown in Figures 22 and 23, respectively. The blue and black points represent the position error of Method 1 and those of Methods 2 and 3, respectively. Changes in the position error are indicated by a line connecting the two points. An improvement in the position error is indicated by a green line; otherwise red line is used. As shown in Figures 22 and 23, considerably more position errors were reduced for Method 3 than for Method 2. Many of these were reduced by a large amount, and many others increased by a small amount. The results are summarized in Table 2, where the number in parentheses indicates the total number of changes. Method 3 reduced the position error by a large amount than Method 2, but the number of position errors that increased is larger than for Method 2. This means that Method 3 has a higher probability of fault detection than Method 2. In Method 3, outlier detection was performed for each satellite measurement from only one satellite. This caused a high probability of fault detection. Thus, the use of additional receivers can reduce fault detection. In spite of the high fault detection probability, the amount by which the error of Method 3 increased is smaller than that of Method 2. This implies the superiority of the proposed method.    To compare the position changes by the proposed method, the position errors of Method 2 and 3 are represented in Figure 24. In the area in which the vehicle stopped, the position accuracy is improved significantly by Method 3. In this area, the RAIM algorithm cannot detect the outliers because the large position error prevents the operation of the RAIM algorithm. Moreover, this means that the four receivers had a different bias error for each of their pseudoranges and that Method 3 can detect the outliers. The difference in the bias errors was caused by the closed wall and roof of the gas station. Around epoch 980 s, the position error in both the horizontal and vertical directions of Method 3 increases. As mentioned above, these results are caused by the common bias error in the pseudoranges and the failure of the SNR test.   In order to evaluate the distribution of position error, the cumulative density functions (CDF) of the position errors were computed, and the results are shown in Figure 25. The inner box represents the expanded plot epochs between 0 to 7 s. The red and green lines crossed at a vertical error of 1.5 m. Method 2 had a higher value within 1.5 m of vertical error, and Method 3 greater than above it. As mentioned before, the high probability of fault detection of Method 3 caused this result. However, the differences with 1.5 m of vertical error were very small, and this error was the general level of error for low-cost GPS receivers. Method 3 could detect more significant errors than Method 2, and hence improved the overall positioning performance.  In order to evaluate the distribution of position error, the cumulative density functions (CDF) of the position errors were computed, and the results are shown in Figure 25. The inner box represents the expanded plot epochs between 0 to 7 s. The red and green lines crossed at a vertical error of 1.5 m. Method 2 had a higher value within 1.5 m of vertical error, and Method 3 greater than above it. As mentioned before, the high probability of fault detection of Method 3 caused this result. However, the differences with 1.5 m of vertical error were very small, and this error was the general level of error for low-cost GPS receivers. Method 3 could detect more significant errors than Method 2, and hence improved the overall positioning performance. To analyze the extent of cooperation between the pseudorange comparison method and the RAIM algorithm, the detection flag is shown in Figure 26. Figure 26a,b show the detection flag of Method 2 and Method 3, respectively. The detection epochs of the RAIM algorithm for Method 3 were smaller than those of Method 2. In Method 3, the pseudorange comparison method was applied ahead of the RAIM algorithm, and passed and suspended measurements were tested again with the RAIM algorithm. Thus, the number of cases of detection by the RAIM algorithm was reduced. However, the pseudorange comparison method detected outliers in many epochs. When the To analyze the extent of cooperation between the pseudorange comparison method and the RAIM algorithm, the detection flag is shown in Figure 26. Figure 26a,b show the detection flag of Method 2 and Method 3, respectively. The detection epochs of the RAIM algorithm for Method 3 were smaller than those of Method 2. In Method 3, the pseudorange comparison method was applied ahead of the RAIM algorithm, and passed and suspended measurements were tested again with the RAIM algorithm. Thus, the number of cases of detection by the RAIM algorithm was reduced. However, the pseudorange comparison method detected outliers in many epochs. When the pseudorange method missed outliers, the RAIM algorithm detected the remaining ones. For example, the remaining outliers were detected in the epoch between 300 and 600 s as shown at the bottom of Figure 26b. However, the detection case for the pseudorange comparison method (flag 2 at the top of Figure 26b) was much more than the RAIM algorithm (flag 2 at the bottom of Figure 26b) in the between 300 and 1000 s. It implies that the most improvements of position accuracy were caused by the pseudorange comparison method. Actually, the number of detection case for the RAIM algorithm was only 644 for all epochs and for the proposed algorithm 1197. The flag was set to zero when it was not possible to test, where 1 meant that the test was applied but outlier was not detected, and 2 implied that the test was applied and the outlier was detected.

Conclusions
In this paper, a positioning algorithm for multiple receivers was proposed to enhance positioning performance in urban areas. The multiple receivers were integrated based on a tightly coupled approach. In order to remove outliers such as the multipath and NLOS errors, the pseudorange comparison method was proposed for pseudoranges from the same satellite. Before applying the closeness test, non-common terms were removed by double-differencing the pseudoranges and projecting the baseline vector of multiple receivers. To reduce the fault detection, an SNR test was applied after the closeness test. In order to analyze the performance of the proposed algorithm, a land vehicle test was performed in an urban area. The results showed that outlier detection is enhanced by the pseudorange comparison method, and position performance hence improves. The position accuracy is enhanced about 36% for horizontal and about 46% for vertical compared to the conventional RAIM algorithm. As a result, the test results show the feasibility and effectiveness of the proposed method. The advantages and drawbacks of the proposed method are summarized below: Advantages: First, this approach can check outliers without calculating position, and the mutual influence of measurements does not affect outlier detection. Therefore, it has better outlier detection capability for multiple or large outliers than the RAIM-based method. Second, since the proposed algorithm is applied prior to the RAIM algorithm, it can be used together with the latter. Third, multiple receiver systems can be implemented easily, and are inexpensive. Actually, the proposed method is almost simplest and cheapest method among the previously proposed methods. Furthermore, the positioning algorithm involving a single receiver can be used with the proposed method with minor modifications. The flag was set to zero when it was not possible to test, where 1 meant that the test was applied but outlier was not detected, and 2 implied that the test was applied and the outlier was detected.

Conclusions
In this paper, a positioning algorithm for multiple receivers was proposed to enhance positioning performance in urban areas. The multiple receivers were integrated based on a tightly coupled approach. In order to remove outliers such as the multipath and NLOS errors, the pseudorange comparison method was proposed for pseudoranges from the same satellite. Before applying the closeness test, non-common terms were removed by double-differencing the pseudoranges and projecting the baseline vector of multiple receivers. To reduce the fault detection, an SNR test was applied after the closeness test. In order to analyze the performance of the proposed algorithm, a land vehicle test was performed in an urban area. The results showed that outlier detection is enhanced by the pseudorange comparison method, and position performance hence improves. The position accuracy is enhanced about 36% for horizontal and about 46% for vertical compared to the conventional RAIM algorithm. As a result, the test results show the feasibility and effectiveness of the proposed method. The advantages and drawbacks of the proposed method are summarized below: Advantages: First, this approach can check outliers without calculating position, and the mutual influence of measurements does not affect outlier detection. Therefore, it has better outlier detection capability for multiple or large outliers than the RAIM-based method. Second, since the proposed algorithm is applied prior to the RAIM algorithm, it can be used together with the latter. Third, multiple receiver systems can be implemented easily, and are inexpensive. Actually, the proposed method is almost simplest and cheapest method among the previously proposed methods. Furthermore, the positioning algorithm involving a single receiver can be used with the proposed method with minor modifications.
Drawbacks: First, when the common bias is included in pseudoranges, the closeness test cannot detect the outliers. The affection of common bias can be reduced by the SNR test and the test results shows that the common bias does not exist in many epochs; Second, the proposed method only uses pseudoranges from the same satellite, and the consequent lack of information leads to a high probability of faulty detection. The rejection of inlier measurement increases the DOP and the position error. To overcome this problem, additional information is needed such as more multiple receivers or assistance from other satellites; Third, in order to apply this method, the reference satellite is needed, and sufficient measurements must be obtained. The joint use of multiple GNSSs can solve the reference satellite problem, and the use of more multiple receivers can enhance the number of measurement.
Future Work: First, the passed pseudoranges can have a common bias, and these are rejected by checking the SNR in the closeness test. However, if the bias is common, it could be estimated in the positioning algorithm by adding one unknown variable to the state vector. To check its feasibility, the observability analysis and live data test will be performed; Second, accurate measurement of the attitude or the heading angle can improve the proposed method. Therefore, an attitude estimation method using carrier phase measurement from multiple receivers will be implemented in future work.