Angle-of-Arrival Assisted GNSS Collaborative Positioning

For outdoor and global navigation satellite system (GNSS) challenged scenarios, collaborative positioning algorithms are proposed to fuse information from GNSS satellites and terrestrial wireless systems. This paper derives the Cramer-Rao lower bound (CRLB) and algorithms for the angle-of-arrival (AOA)-assisted GNSS collaborative positioning. Based on the CRLB model and collaborative positioning algorithms, theoretical analysis are performed to specify the effects of various factors on the accuracy of collaborative positioning, including the number of users, their distribution and AOA measurements accuracy. Besides, the influences of the relative location of the collaborative users are also discussed in order to choose appropriate neighboring users, which is in favor of reducing computational complexity. Simulations and actual experiment are carried out with several GNSS receivers in different scenarios, and the results are consistent with theoretical analysis.


Introduction
With the development of global navigation satellite systems (GNSS) and wireless communication technologies in recent years, GNSS collaborative positioning is becoming attractive [1]. Nowadays, there are many scenarios in which multiple GNSS receivers work simultaneously in a certain region [2]. For instance, a platoon of military men carries out a task together, people locate their positions in a shopping center, etc. The collaboration between GNSS receivers refers to a group of users conducting joint data processing by sharing the measurements from GNSS signals and certain relative measurements (distance, azimuth or elevation) with their neighboring users. Collaborative localization has been an active research topic, because it provides several potential advantages, including better positioning availability, stability and accuracy. In challenging environments, such as urban canyons and forests, GNSS standalone receivers usually fail to provide reliable positioning results. However, GNSS collaborative positioning can be a promising method.
In the previous studies on GNSS collaboration, only the relative distance measurements between neighboring users were involved. The collaboration between GNSS users was first proposed in [3] by using the weighted least squares (WLS) algorithm, and then, the estimation algorithms based on the Kalman filter (KF) have been used to solve the collaborative localization problem [4][5][6]. In [7], the Cramer-Rao lower bound (CRLB) for collaborative positioning with relative distance measurements is derived, and the effects of various factors are also analyzed and verified based on the collaborative dilution of precision (CDOP) model in [8].
Compared to localization with only distance measurements, the localization can also be performed using angle-of-arrival (AOA) measurements [9]. In general, location estimates of mobile users are derived from two types of measurements: AOA and range. However, specific algorithms and analysis on GNSS collaborative positioning with AOA measurements between neighboring users are still lacked. The AOA measurements are usually achieved by applying antenna arrays. There are either iterative or non-iterative AOA positioning methods proposed in [10][11][12]. However, all of them only employ the AOA measurements from the anchor users and have ignored the interconnectivity among the neighboring blind users. For the collaboration with relative AOA measurements, the researchers of [13] investigate the nonlinear observability of collaborative localization for two robots, and the analysis shows that relative bearing is the best observation between the robots. In [14], the cooperative positioning methods with the AOA measurements in wireless sensor networks are proposed, and the cooperative localization simulation and experimental results are shown in [15].
In this paper, a new technique is proposed that makes use of AOA measurements in conjunction with GNSS collaborative positioning. It assumes that the AOA measurements with neighboring users are available for the collaborative user group. Then, the CRLB of different collaborative positioning and statistical analysis of positioning errors are deduced. In GNSS standalone positioning, each user only obtains the pseudo-range measurements from its visible GNSS satellites; however, in GNSS collaborative positioning, the available measurements include extra measurements (distances, azimuths or elevations) between the neighboring users. As a result, there are more impact factors on the collaborative positioning accuracy, which brings more problems to the process of performance analysis. Based on the derivation of CRLB and positioning algorithms, the comparison with GNSS positioning without AOA measurements is performed by theoretical analysis. The effects of various factors are also analyzed and verified, such as the impacts of the number of collaborative users, their distribution and AOA measurement accuracy. In addition, considering that there are some limitations on increasing the number of users due to power and complexity constraints, the influence of the relative location of the collaborative users is also discussed in order to choose appropriate neighboring users.
Finally, in outdoor and partially-blocked simulation scenarios, respectively, simulation tests are carried out with several GNSS users. The simulation results fall in line with the results of theoretical analysis. Besides, the collaborative positioning experiment is carried out with several GNSS receivers in an actual scenario. The conclusions provide useful information for the design and test of actual collaborative applications.
The remainder of this paper is organized as follows. Section 2 gives a brief overview of the collaborative positioning signal and system model. Then, in Section 3, expressions for the Fisher information matrix (FIM) and CRLB are derived for different collaborative cases. The collaborative WLS positioning algorithm is proposed in Section 4. Based on this CRLB model, Section 5 presents the theoretical analysis. The impacts of various factors are included, and the comparison with GNSS standalone positioning is done. In Section 6, the simulation tests are carried out to verify the analysis results in different scenarios. The results of the experiment in an actual scenario and discussions are presented in Section 7. Finally, the conclusions are given in Section 8.

Signal Model
Consider a collaborative network in which there are N users, each of which is equipped with a GNSS receiver and is able to obtain relative measurement estimates from its neighboring users. The relative measurements usually contain distance and AOA (both azimuth and elevation angles) estimates. Figure 1 is a simple diagram constructed to provide a mental image and understanding of GNSS collaboration. As shown in Figure 1, user #n and user #k are within the radio range of each other.
In this paper, the collaborative positioning algorithm is a centralized algorithm, and all of the measurements are processed in a collaborative process center. After the execution of the positioning algorithm, the process center sends the positioning results to all of the users. In most cases, the collaborative process center is one of the users. For example, the user #1 can be chosen as the process center in Figure 1. Of course, a dedicated process center can also be used.  For any user #n in the collaborative network, the three-dimensional position and clock error expressed in the distance unit are indicated respectively by: where c is the speed of light. Denote by M n the set of the visible GNSS satellites and by K n the set of collaborative users for user #n. The three-dimensional positions of visible satellites and collaborative users are indicated respectively by: and: For GNSS collaboration in this paper, there are three kinds of measurements that can be used.

Pseudo-Range Measurements
In general, for GNSS positioning, the users cannot directly measure the real ranges to the satellites, but determines the estimate of pseudo-ranges from the GNSS tracking process. The pseudo-range measurement is defined as the sum of the propagation delay from the receiver to the satellite plus the unknown clock bias, which is given by: where d s m,n = p s m − p u n is the real range from satellite #m to user #n and n ρ m,n is the measurement noise of the tracking process. n ρ m,n is typically made up of satellite ephemeris and clock error, atmospheric (ionosphere and troposphere) transmission error, receiver thermal noise, multipath error, etc. [16].

Distance Measurements
In addition to using pseudo-range measurements, GNSS collaborative positioning algorithms may use the relative distance measurements between the neighboring users. There are many kinds of measuring methods for the distance measurements, for example by measuring the round-trip time.
For user #n, the distance measurement from its neighboring user #k is given by: where d u k,n = p u k − p u n is the real range of two users and n r k,n is the distance measurement noise. In general, n r k,n is relative to the ranging technology and the external environment. At present, the most common ranging technologies are based on the measurements of received signal strength (RSS) or time-of-arrival (TOA). Typically, meter-level accuracy of relative distance measurements can be achieved, and for some high accuracy ranging technology, like ultra-wideband (UWB) for TOA, centimeter level accuracy can be obtained [17].

AOA Measurements
Most of the existing research on GNSS collaborative positioning are based on the pseudo-range and distance measurements. Specific algorithms and performance analysis with AOA measurements are lacked. In this paper, we add the AOA measurements to GNSS collaborative positioning and analyse the positioning performance with different types of measurements. The AOA collaborative technique is based on the measurement of angles between the collaborative users. Generally, the AOA measurements can be achieved by applying an antenna array.
The azimuth and elevation measurements by user #n from user #k are given respectively by: where φ k,n and α k,n are respectively the real azimuth and elevation between user #n and user #k. In the physical sense, φ k,n is the line user #n point to user #k of the angle with the x axis and α k,n the line of the angle with the z axis. The value of φ k,n ranges from 0 • to 360 • , and the value of α k,n ranges from 0 • to 180 • .They are defined as: n φ k,n and n α k,n are respectively the measurement noises of the relative azimuth and elevation. Their noise variance highly depends on the communication environment, the AOA detection device (method) and line-of-sight (LOS) connections. Therefore, the multipath effects, such as reflections, scattering and fading, have a negative influence on positioning performance, and it is very difficult to find a single model that can be applied to all situations [18]. For analytical convenience, a simple model is used to characterize the AOA measurements combining the errors caused by multipath, the channel and the device/method. With the development of the AOA measuring technologies, it can already guarantee that the standard deviations of AOA measurements are always smaller than 10 • [10].

Cramer-Rao Lower Bound
For the user network, define the unknown vector as: which contains the three-dimensional position and clock bias of each user. The CRLB sets a lower bound on the variance of any unbiased estimator and has widely been used as a performance measure in parameter estimation [19]. The vector parameter CRLB places a bound on the variance of each element. The CRLB for the j-th parameter of the position estimation vectorθ is defined by: where F is the FIM. Without loss of generality, assume that the measurement errors are all Gaussian distributions with zero mean error and not relevant: The derivation of CRLB for collaborative positioning is divided into two cases: the GNSS collaboration with only AOA measurements and both types of relative measurement.

Only AOA Measurements
If the relative distance measurements are not used in collaborative positioning, the available measurement set can be indicated as t (1) = ρ m,n , φ k,n , α k,n . According to the assumption in Equation (10), the conditional probability density function p t (1) |θ can be derived as: The elements of FIM are defined by: where the log-likelihood function ln p t (1) |θ can be derived as: It can be observed from Equations (13) and (14) that the dimension of FIM is 4N × 4N, and the form of FIM can be written as: The first term F ρ , representing the pseudo-range measurements' contribution, is expressed as: where: For user #n, G ρ,n represents the effects of visible GNSS satellites and W ρ,n indicates the weights of observation. If there is no visible satellites for user #n, the matrix G T ρ,n W ρ,n G ρ,n is equal to a zero matrix that has the dimension 4 × 4. Otherwise, the two matrices can be expressed as: where: The AOA collaborative part F φ and F α can be expressed as: where: Similarly, for user #n, G φ,n and G α,n represent the effects of AOA measurements and W φ,n and W α,n indicate the weights of corresponding observation. They can be expanded as: where: and:

Both Distance and AOA Measurements
If both distance measurements and AOA measurements are used in collaborative positioning, the available measurement sets are indicated as t (2) = ρ m,n , r k,n , φ k,n , α k,n . Similarly, according to the assumption in Equation (10), the conditional probability density function p t (2) |θ can be derived as: Compared to the collaboration with only AOA measurements, the FIM is expanded and has the form of four parts: where: The added term F r representing the distance measurements' contribution and the matrices G r and W r are derived as: They can be expanded as: where: The above results Equations (15) and (26) allow one to compute F (1) and F (2) for a given collaborative network configuration and by inverting Equation (9), to express the CRLB, respectively. Therefore, the CRLB for the coordinate estimates are: where i ∈ {1, 2} and n = 1, 2, ...N.

GNSS Collaborative Positioning Algorithm
Making use of AOA measurements or both types of measurement, the cost functions are respectively defined as: or: The positions of users are estimated by minimizing the aforementioned cost functions: There are a number of optimization algorithms that can be used to solve the minimization problems in Equation (34) [19]. In this paper, the WLS algorithm is used in combination with the Newton iterative method; thus, it is worth giving a brief description of the algorithm as follows.
The first order Taylor expansion is used to linearize the nonlinear measurements. For user #n, the (small) position coordinate estimation errors and the receiver clock bias error are denoted by ∆x u n , ∆y u n , ∆z u n and ∆b u n .

Only AOA Measurements
Different from the GNSS standalone positioning, for collaboration with AOA measurements, the measurement sets t (1) are used for GNSS collaborative positioning in this subsection.
By using the first order Taylor expansion, the estimation error in pseudo-range measurements can be approximated as: where: In the same way, the estimation error in AOA measurements can be approximated as: where: Equations (35) and (37) respectively give the error of the pseudo-range and AOA measurements as a function of the positional and clock bias errors. However, the positioning algorithm requires the estimates of the positional and clock bias errors as a function of the pseudo-range and AOA measurement errors. For the convenience of analysis, all of the observational equations based on Equations (35) and (37) can be expressed in a compact form as: where: (1) indicates the residual errors of each measurement:

Both Distance and AOA Measurements
With both distance and AOA measurements, the measurement sets t (2) are used here. Similarly, by using the first order Taylor expansion, the estimation error in distance measurements can be approximated as: All of the observational equations based on Equations (35), (37) and (42) can be expressed in a compact form as: where: Similarly, v (2) indicates the residual errors of each measurement and v r can be expressed as: Noting that after first order Taylor expansion, the original set of a nonlinear observation equations turns into a set of linear equations, and furthermore, if the rank of G (1) or G (2) is 4N, which means the matrix is column full rank, then a WLS solution for ∆θ can be produced: where i ∈ {1, 2} and W (i) is the weighting matrix, which can be expressed as: In reality, the WLS algorithm described above is typically used in combination with the Newton iterative method. The unknowns in ∆θ can be obtained by the above calculation, which are used to update the results:θ where q is the iterative count. After the iteration, ∆θ is calculated and, in general, compared to a preset threshold to determine the convergence of Newton iteration algorithm. If ∆θ is less than the preset threshold, this means the iterative process has converged and the results can be returned. If not, the process should return to the linearization step and repeat the iterative calculation.

Performance Analysis
As previously mentioned, the goal of collaboration with AOA measurements is to enhance positioning accuracy and availability for each user. In this section, the theoretical analysis of GNSS collaborative positioning accuracy is presented, including the impacts of various factors and the performance comparison with the positioning without AOA measurements.

Performance with AOA Measurements
Proposition 1. By adding AOA measurements, the CRLB of each user are always less than or equal to the previous CRLB.
Proof of Proposition 1. Firstly, the two parts are GNSS standalone positioning and collaborative positioning with only AOA measurements. Assume that each user can complete GNSS standalone positioning, which means the FIM F ρ is an invertible matrix. According to Equations (17)- (19), the matrix F ρ can be written as: where: Thus, for user #n, the CRLB of GNSS standalone positioning can be expressed as: whereθ n = [x u n , y u n , z u n , b u n ] T . Then, if the AOA measurements are added for collaboration, the FIM is F (1) . A new matrix is defined F t = F φ + F α ; thus, F (1) = F ρ + F t and F t can be expanded as: where: Based on the knowledge of matrix analysis [20], it can be obtained by using the Woodbury formula: Since F ρ is a symmetric positive definite matrix, F −1 ρ is also a symmetric positive definite matrix. By applying eigenvalues decomposition, F −1 ρ is decomposed of eigenvectors and eigenvalues: in which Λ ρ = diag λ ρ,1 , λ ρ,2 , ..., λ ρ,4N is a diagonal matrix, which is constructed by the positive eigenvalues of F −1 ρ , and Q ρ is the corresponding orthogonal matrix. The matrix G T t Q ρ is written in rows as: Thus, it can be obtained that: It can be known from the construction of G t F −1 ρ G T t that it is at least a symmetric positive semidefinite matrix. Similarly, by applying eigenvalue decomposition, G t F −1 ρ G T t is decomposed as: where Λ t is the diagonal matrix with non-negative eigenvalues and Q t is the corresponding orthogonal matrix. Meanwhile, the matrix W −1 t is a diagonal positive definite matrix; thus, it can be derived: . It can be seen from the construction that Λ 1 is a diagonal positive definite matrix. Thus, the matrix X 1 = T T 1 Λ 1 T 1 is defined, and it can be rewritten as: where λ 1,j is the j-th diagonal element of Λ 1 , t 1,j is the j-th row vector of T 1 , L = ∑ N n=1 Card (K n ) and Card (K n ) indicates the number of collaborative users for user #n.
Since λ 1,j > 0, so the X 1 is also a at least a symmetric positive semidefinite matrix from the definition. Meanwhile, the matrix F −1 ρ is a symmetrical positive matrix. According to the properties of the positive semidefinite matrix, the diagonal elements of the matrix are all non-negative. Therefore, the following Inequation can be obtained from Equation (54): where h j,j , h ρ,j,j and x 1,j,j are respectively the j-th diagonal elements of F (1) −1 , F −1 ρ and X 1 . If the two parts are GNSS collaborative positioning with distance measurements and both types of measurements, the two FIMs are respectively: F ρ + F r and F (2) . Similar to previous derivation of Inequation (61), the similar result can be obtained: where h (2) j,j and h j,j are respectively the j-th diagonal elements of F (2) −1 and F ρ + F r −1 .
All in all, according to the definition of CRLB for each user in Equations (31) and (51), it can be derived from Inequations (61) and (62) that by adding AOA measurements, the CRLB of each user are always less than or equal to the previous CRLB.
In addition, by adding AOA measurements, the positioning availability of each user can also be improved. For user #n in GNSS standalone positioning, the number of visible satellites must be great than or equal to four: Extended to multi-user collaboration with AOA measurements, there is no strict limit on the number of visible satellites. The necessary condition for collaboration with AOA measurements is: If the condition of Equation (63) which means the positioning availability of each user is improved by collaboration.

The Impact of AOA Measurements Accuracy
Proposition 2. The CRLB of each user increase with the increasing of AOA measurement errors, and when the AOA measurement errors are big enough, the collaboration does not bring any benefit.

Proof of Proposition 2.
In this subsection, we assume that two different AOA measuring technologies are used, and the corresponding measured variances respectively are σ 2 φ1,k,n , σ 2 α1,k,n and σ 2 φ2,k,n , σ 2 α2,k,n . Under the two different variances, the two corresponding FIMs are denoted as {F φ1 , F α1 } and {F φ2 , F α2 }, respectively.
In the first case, the two parts are GNSS standalone positioning and collaborative positioning with only AOA measurements. Therefore, the following Inequation can be obtained from Equation (54): where: F and Λ φ12 is a diagonal matrix, which is expressed as: Denote by λ t12,j the j-th diagonal element of Λ t12 ; thus, it can be derived: If σ 2 φ1,k,n > σ 2 φ2,k,n and σ 2 α1,k,n > σ 2 α2,k,n , then it can be obtained that λ t12,j > 0, and the matrix ( F ) is a symmetric positive semidefinite matrix. According to the properties of positive semidefinite matrix, we get: where h 1,j,j and h Meanwhile, when σ 2 φ,k,n and σ 2 α,k,n are big enough, the matrix X 1 tends to a zero matrix. Thus, it can be derived from Equation (54) that: If the two parts are GNSS collaborative positioning with distance measurements and collaborative positioning with both distance and AOA measurements, similar results can also be obtained.
According to the definition of CRLB for each user in Equation (31), it can be derived that the CRLB of each user increase with the increasing of AOA measurement errors, and when the measurement errors are big enough, the collaboration does not bring any benefit.

The Impacts of the Number of Users and Collaborative Links
Proposition 3. If a new collaborative link is added to the user network, the CRLB of each user are always less than or equal to the previous values.

Proof of Proposition 3.
For GNSS collaborative positioning, if a new collaborative link between the k-th user and the n-th user is added to the user network, the new FIM is defined by F e1 , and it can be written as: where: The matrix F c1 equals F (1) for the collaborative positioning with only AOA measurements and equals F (2) for the collaborative positioning with distance and AOA measurements. Since the AOA measurements technologies of different users may be different, the variance of measurement errors may not be equal. For instance, σ 2 φ,k,n and σ 2 φ,n,k may not be equal. It can be known from the construction that G T c W c G c is a symmetric positive semidefinite matrix. Thus, by using the Woodbury formula, we get: Therefore, the similar derivation and result of Inequation (61) can be obtained: where h e1,j,j and h c1,j,j are the j-th diagonal elements of matrix F −1 e1 and F −1 c1 , respectively. In the physical sense, it does mean if a new collaborative link is added to the user network, the CRLB of each user are always less than or equal to the previous values.

Proof of Proposition 4.
It is assumed that a new user #y and its collaborative links are added to the user group; the new FIM is defined by F e2 , and it can be written as: where: It can be known from the construction that G T t,y W t,y G t,y is a symmetric positive semidefinite matrix. By using the Woodbury formula, we get: Therefore, the similar derivation and result of Inequation (61) can be obtained: where h e2,j,j and h c2,j,j are the j-th diagonal elements of matrix F −1 e2 and F −1 c2 , respectively. This means that if a new user and its collaborative links are added to the user network, the CRLB of each user are always less than or equal to the previous values.

Simulation Results
Based on the performance analysis in the previous section, the next simulation tests are carried out to verify the analysis results in different scenarios. Figure 2 gives the distribution of visible GNSS satellites in the following tests. It can be seen that the simulation scenario contains seven satellites, and the distribution of them is relatively uniform. There are two users in the collaborative user group, and assume that each user can see all of the satellites. Tables 1 and 2 give the users' and satellites' position in east-north-up (ENU) coordinates, respectively. For most collaborative applications, such as a motorcade drives through urban canyons and overpasses and tunnels, the 10-m level between collaborative users is very common distance. Thus, the distance of 20 m is chosen as the simulation parameter. The user #1 is chosen as the process center in the following simulation tests. Of course, a dedicated process center can also be used. During the following simulation tests, the standard deviations of measurements are set, respectively, to [21,22]:

Performance with AOA Measurements
Based on the above parameters, the CRLB and root-mean square error (RMSE) of the GNSS standalone WLS and collaborative WLS algorithms are obtained by using Monte Carlo simulation over 10,000 tests, and the results are shown in Figure 3. The performance measure is the RMSE of the user three-dimensional position estimation. Additionally, the same user and satellite position configurations are used to compute the average three-dimensional CRLB, which is defined as: For analytical and visual convenience, the collaborative positioning with the pseudo-range and AOA measurement is abbreviated as C-AOA; the collaborative positioning with the pseudo-range and distance measurements is abbreviated as C-Distance; and the collaborative positioning with the pseudo-range, distance and AOA measurements is abbreviated as C-Both. It can be observed from Figure 3 that, by adding AOA measurements, the CRLB and RMSE of each user are always less than or equal to the previous results. Meanwhile, the RMSE results of the WLS algorithms are very close to the CRLB, and the accuracy of two users is almost the same. Thus, in the following simulation tests, the histograms of the RMSE results are drawn together with the CRLB results and are not listed separately.
In the next simulation, it is assumed that each user can only see part of the satellites. Figure 4 shows the blockage simulation scenario.
It can be seen from Figure 4 that, due to the blockage, user #1 can only see the left three satellites and user #2 can see the right four satellites. Because of the lack of visible satellites, user #1 cannot complete GNSS standalone positioning in the simulation. However, for collaborative positioning with the pseudo-range and AOA measurements, it can be calculated that the number of independent measurements is greater than the number of unknowns, that is: which means the C-AOA algorithm can be carried out, and the position of user #1 and user #2 can be obtained. Based on previous parameters in Tables 1 and 2 and Equation (80), the Monte Carlo simulation over 10,000 tests is implemented for this blockage scenario. Figure 5 shows the CRLB and RMSE results of the standalone and collaborative positioning. It can be clearly seen from Figure 5 that, since the number of visible satellites is less than four, user #1 is unable to complete GNSS standalone positioning. However, for GNSS collaborative positioning, especially for the collaboration with AOA measurements, the collaborative positioning algorithms work, and the performances are significantly improved. Similarly, by adding AOA measurements, the CRLB and RMSE results of user #2 are all less than the previous results, which is consistent with the analysis in Proposition 1 in Section 5.1.

The Impact of AOA Measurements Accuracy
Next, a simulation test is carried out to verify the impact of AOA measurement accuracy. Under the scenario introduced in Figure 2, Tables 1 and 2, Figure 6 shows the accuracy of the CRLB and RMSE derived with respect to the relative azimuth and elevation estimation errors, respectively. The standard deviation of relative distance measurements is fixed as σ r = 2 m.
As shown in Figure 6, for collaboration with AOA and both types of measurements, the CRLB and RMSE of user #1 increase with the increasing of AOA measurement errors, and when the measurement errors are big enough, the collaboration does not bring any benefit. The results of user #2 are almost the same as the results of user #1, so Figure 6 only shows the results of user #1. The simulation results are consistent with the analysis in Proposition 2 in Section 5.2.
With the development of AOA measuring technologies, a variety of technologies can already guarantee that σ φ and σ α are always smaller than 10 • [10]. For this case, it can be seen that the change of azimuth accuracy has little impact on the positioning performance, while the impact of elevation accuracy is more obvious for the positioning results. This conclusion provides a useful reference for practical applications. It can be observed that the AOA measuring technologies with high azimuth measuring accuracy are not particularly necessary for collaborative applications, and the promotion of elevation measuring accuracy is more critical for collaborative positioning accuracy.

The Impacts of the Number of Users and Collaborative Links
Under the scenario introduced in Figure 2, Tables 1 and 2 and Equation (80), for Scenario 2, the user #3 and the collaborative link between user #1 and user #3 are added to the user group. Additionally, for Scenario 3, the extra link between user #2 and user #3 is added based on Scenario 2. The ENU coordinates of user #3 are set as [0, 0, 20] T , and Figure 7 shows the user distribution with new user and collaborative links. Under the three simulation scenarios introduced in Figure 7, Figure 8 shows the simulation results to illustrate the impact of the extra user and links. It can be seen that the CRLB/RMSE of user #1 and user #2 are reduced more than before, which is consistent with the theoretical result in Propositions 3 and 4 in Section 5.3. Meanwhile, from Scenario 1 to Scenario 2, the performance improvement of user #1 is greater than the improvement of user #2 because the additional user #3 has no collaborative link with user #2. From Scenario 2 to Scenario 3, because of the additional link between user #2 and user #3, the performance improvement of user #2 is significant, and the performance improvement of user #1 is relative small. The preliminary results shows that, for each user, the number of collaborative links has a certain influence on the positioning accuracy.

The Impacts of the Relative Location of the User
For GNSS standalone receiver and collaborative positioning receiver with only distance measurements, if processing capability is limited, there is a restriction on the number of measurements that can be obtained and processed. Alternatively, in order to reduce the computational complexity of position determination, the number of measurements can be restricted, and the receiver must select some satellites and users with a good distribution to participate in the calculation [8,23]. Figure 9 shows the amount of calculation for the previous simulation in Figure 8. The computational load is based on the average elapsed time of each collaborative positioning algorithm in Monte Carlo simulation.
Taking the average elapsed time of GNSS standalone positioning algorithm for Scenario 1 as a benchmark, it can be seen from Figure 9 that the average elapsed time of collaborative positioning algorithm with AOA measurements significantly increases with the increase of the amount of users. In addition, compared to the collaborative positioning with distance measurements, the average elapsed time of collaborative positioning with AOA measurements is significantly improved as the user #3 is added to the group. There are several reasons that lead to the increase of computational complexity, mainly including the matrix dimension and average iteration times of the iterative WLS algorithms. Although the collaborative positioning accuracy improves with the increasing of the number of collaborative users, in order to weigh the amount of calculation and performance, it also needs to select a small number of users with which to collaborate. Therefore, for the simulation in Figures 8 and 9, if the processing capability of collaborative process center is limited, maybe we can only implement the collaborative positioning with two users. Thus, considering that there are some limitations on increasing the number of users and collaborative links due to power and complexity constraints, the influences of the relative location of the collaborative users need to be discussed in order to choose appropriate neighboring users. The following analyses are focused on the impacts of different relative locations in order to explain the phenomena in Figures 8 and 9. Under the satellite distribution in Figure 2, a collaborative simulation with two users is carried out to test the impact of user distribution. The ENU coordinate of user #1 is fixed to [0, 0, 0] T ; the relative distance between user #1 and user #2 is fixed to 20 m; and the coordinate of user #2 depends on the elevation and azimuth angle relative to user #1. Figure 10 shows the simulation results of positioning accuracy and computation complexity. First, Figure 10a gives the CRLB/RMSE results with the different elevation and azimuth angle of user #2. It can be seen that for collaborative positioning with AOA measurements, user #2 with lower elevation (absolute value) gets the higher positioning accuracy, but for collaborative positioning with distance measurements, the results are just the opposite. However, for collaborative positioning with both types of measurements, it can be seen from the green dashed line that the influence of different azimuth and elevation is very small. Besides, it can also be seen that the influence of azimuth is relatively smaller than that of elevation, and a different azimuth has little impact on the final positioning accuracy.
Then, the computational complexity results of the simulation in Figure 10a are shown in Figure 10b. The computational complexity is based on the average elapsed time of each collaborative positioning algorithm in Monte Carlo simulation over 10,000 tests. The average elapsed time is normalized by the average running time of collaborative positioning with AOA measurements with zero elevation and zero azimuth, which means the computational complexity of two is double the average running time of the collaborative positioning with AOA measurements with zero elevation and zero azimuth. It can be seen that, for collaborative positioning with AOA measurements and both types of measurements, the collaborative user #2 with lower elevation (absolute value) has the lower computational complexity. The main reason is the average iteration times of the iterative WLS algorithms vary with different elevation angles. The higher elevation of user #2 would cause more average iteration times and, thus, lead to more average running time. However, for collaborative positioning with only distance measurements, the influence of a different azimuth and elevation on computation complexity is relatively small. Meanwhile, the similar results of Figure 10a can be obtained, such that the influence of azimuth is relatively smaller than that of elevation.
All in all, it can be seen from Figure 10 that the selection strategy of neighboring users is not the same for different collaborations. For the collaboration with AOA measurements, the neighboring user with lower elevation (absolute value) can obtain both lower positioning error and computational complexity. However, for collaboration with distance measurements, the results are just the opposite, which means the neighboring user with higher elevation (absolute value) should be the one with whom collaboration is preferred.

Experiment Results
In this section, the derived analytical results are evaluated by using actual signals. The antennas are laid on the balcony and the south side of Weiqing Building of Tsinghua University in Beijing, China, and three u-blox receivers are used to process GNSS signals. Figure 11 shows the actual signal experiment scenario, which contains three users and the AOA measuring equipment.
In this experiment, the position of user #3 is taken as the origin of the reference system, and the Earth Centered Earth Fixed (ECEF) coordinate is [−2170097.87, 4385040.48, 4078120.45] T ; the relative positions of the other two users, expressed in ENU coordinates, are shown in Table 3.  Figure 12 shows the visible satellites of each antenna during the experiment period. It can be seen that, due to occlusion, the number of visible satellites has decreased for each user, and the poor distribution of the satellites would cause the large dilution of precision (DOP) values and poor positioning accuracy in GNSS standalone positioning.  Generally, the AOA measurements are obtained by applying the antenna arrays, and the measurement accuracy is less than 10 • . In this paper, due to the limitation of the experimental conditions, a simpler alternative method has been adopted. A gyroscope and a laser pointer are used to measure the AOA measurements. The laser pointer is bound on a gyroscope around an antenna, and the laser pointer is pointed to another antenna manually. During this process, the AOA measurements can be obtained from the gyroscope, and the measurement accuracy is less than 1 • . Due to the simulation results in Figure 6, the impact of the angle measurements accuracy is relatively small when the standard deviations of angle measurements are less than 10 • . Thus, the performance of collaborative positioning based on our experimental equipment is similar to the results based on antenna arrays.
Under this actual experiment scenario, the GNSS collaborative positioning test is carried out with pseudo-range measurements and AOA measurements. For user #1, Figure 13 shows the positioning results of actual data experiment over 600 seconds, and the statistical results are given in Table 4.  It can be seen that, when user #1 works alone in this harsh environment, the positioning error can reach hundreds of meters, which is very large and cannot meet the demand for most GNSS applications. While by collaboration with AOA measurements, the positioning error can be significantly reduced. Meanwhile, the positioning accuracy increases with the increase of the number of users, which is also consistent with the derived analytical results.

Conclusions
In this paper, the algorithms and CRLB of GNSS collaborative positioning with AOA measurements are proposed. Theoretical analyses are carried out to analyze and verify the collaborative positioning accuracy and the impacts of various factors, which show that the GNSS collaborative positioning accuracy with AOA measurements is always higher than or equal to that without AOA measurements; the accuracy decreased with the increasing of AOA measurements error; the accuracy is always higher than or equal to the previous results if a new communication link or a new user and its collaborative links are added to the user group. Considering that there are limitations on increasing the number of users and collaborative links due to power and complexity constraints, the influences of the relative location of collaborative users are also discussed in order to select appropriate neighboring users. In outdoor and partial blockage scenarios, respectively, simulations are done with several users. Besides, the collaborative positioning experiment is carried out with several GNSS receivers in an actual scenario. Theoretical analysis and experimental results are consistent with the theoretical analysis, and both verify that the positioning performance can be improved by adding AOA measurements to collaboration; also, the results can provide some useful information for the design and testing of the actual collaboration applications.