Keywords

1 Introduction

The receiver needs to observe at least four satellite in single epoch to complete the positioning. As the number of satellites which users received more than four, it is significant to optimize the selection of satellites to enhance the precision of positioning. Generally speaking, the index GDOP (Geometry Dilution of Precision) is used to estimate the geometric distribution of satellites. As the Global Navigation Satellite System (GNSS) steps into a new era of multiple constellations, the number of observable satellite number will increase sharply in single epoch. Because of the limitation of computing source, too much redundant information brought by redundant satellites can not greatly improve the accuracy of positioning. Conversely, it may actually increase the computational burden of receiver.

In single constellation, the commonly used satellite selection algorithms are minimum GDOP algorithm and constellation-tetrahedron selecting algorithm [1, 2, 4, 5]. Zhang uses satellite direction cosine matrix determinant and the the selection of strategy is given in 5 satellites [6]. These two algorithms are simple to implement. But along with the increase of the number of observable satellites, the efficiency of calculation growth in geometric order, thus they have not adapted for the demand of the present development of satellite selection algorithm. At present, the scholars has designed multiple algorithms to reduce the burden of calculation and enhance the efficiency of positioning. These algorithms are convex hull algorithm, algorithm based on elevation and azimuth, etc. But most of these algorithms are designed for single constellation and does not apply to integrated navigation system.

Above all, to design a simple and efficiency satellite selection algorithm and applied to integrated navigation system is of vital significance. It will further reduce the device initialization time and improve the positioning accuracy.

This paper firstly introduces the principle of DOP index and traditional satellite selection algorithm, then aimed at solving the problem that the traditional algorithm is time-consuming, a new selection algorithm suitable for multiple constellations is raised. Finally, the feasibility of the algorithm is analysed combined with experiments. Furthermore, from the perspective of the geometric distribution of satellites, suggestions on satellite selection strategy is put forward.

2 Principle of Dilution of Precision

The geometric distribution of satellites can be described by dilution of precision. The spatial coordinates of satellites can be obtained by using broadcast or precise ephemeris products. According to the coordinates of the satellites, the observation equation of n observable satellites reads as formula 12.1:

$$ \left\{ \begin{aligned} & {\rho}^{1}_{r} \,+\, \left( {dt^{1} - dt_{r} } \right)c \,+\, {I}_{r}^{1} \,+\, {T}^{r}_{1} \,+\, {T}_{r}^{1} \,+\, \nu_{1} = \sqrt {\left( {x_{1} - X} \right)^{2} \,+\, \left( {y_{1} - Y} \right)^{2} \,+\, \left( {z_{1} - Z} \right)^{2} } \\ & {\rho} _{r}^{2} \,+\, \left( {dt^{2} - dt_{r} } \right)c \,+\, {I}_{r}^{2} \,+\, {T}_{r}^{2} \,+\, {T}_{r}^{2} \,+\, \nu_{2} = \sqrt {\left( {x_{2} - X} \right)^{2} \,+\, \left( {y_{2} - Y} \right)^{2} \,+\, \left( {z_{2} - Z} \right)^{2} } \\ & \ldots \\ & {\rho}_{r}^{p} \,+\, \left( {dt^{n} - dt_{r} } \right)c \,+\, {I}_{r}^{n} \,+\, {T}_{r}^{n} \,+\, {T}_{r}^{n}\,+\, \nu_{j} = \sqrt {\left( {x_{n} - X} \right)^{2} \,+\, \left( {y_{n} - Y} \right)^{2} \,+\, \left( {z_{n} - Z} \right)^{2} } \\ \end{aligned} \right. $$
(12.1)

where

\( \rho_{r}^{p} \) :

is the observed code pseudorange

\( (dt^{p} - dt_{r} )c \) :

is the range caused by satellite and receive clock correction

\( I_{r}^{p} \,+\, T_{r}^{p} \) :

is the sum of ionospheric and tropospheric refraction

\( (x_{p} ,y_{p} ,z_{p} ) \) :

is the spatial coordinates of GNSS satellites

The linearized model of formula 12.1 reads as follows:

$$ \left\{ \begin{aligned} & v_{1} = a_{1}\Delta X \,+\, b_{1}\Delta Y \,+\, c_{1}\Delta Z \,+\, cdt \,+\, l_{1} \\ & v_{2} = a_{2}\Delta X \,+\, b_{2}\Delta Y \,+\, c_{2}\Delta Z \,+\, cdt \,+\, l_{2} \\ & \ldots \\ & v_{P} = a_{P}\Delta X \,+\, b_{P}\Delta Y \,+\, c_{P}\Delta Z \,+\, cdt \,+\, l_{p} \\ \end{aligned} \right. $$
(12.2)

where

$$ \left\{ \begin{aligned} & a_{i} = \frac{{X_{t} - x_{i} }}{{d_{0i} }},b_{i} = \frac{{Y_{t} - Y_{i} }}{{d_{0i} }},c_{i} = \frac{{Z_{t} - z_{i} }}{{d_{0i} }} \hfill \\ & l_{P} = d_{0P} - \rho_{r}^{P} - I_{r}^{P} - I_{r}^{T} \hfill \\ & d_{0P} = \sqrt {(X_{t} - x_{P} )^{2} \,+\, (Y_{t} - x_{P} )^{2} \,+\, (Z_{t} - x_{P} )^{2} } \hfill \\ & a_{P} = \frac{{X_{t} - x_{P} }}{{d_{0P} }},b_{i} = \frac{{Y_{t} - Y_{P} }}{{d_{0P} }},c_{i} = \frac{{Z_{t} - z_{P} }}{{d_{0P} }} \hfill \\ \end{aligned} \right. $$

The observation equation can be simplified by formula 12.3:

$$ AX \,+\, L = V $$
(12.3)

The correlation coefficients matrix reads as:

$$ Q_{{}} = (A^{T} A)^{ - 1} = \left[ {\begin{array}{*{20}c} {Q_{XX} } & {Q_{XY} } & {Q_{XZ} } & {Q_{XT} } \\ {Q_{XY} } & {Q_{YY} } & {Q_{YZ} } & {Q_{YT} } \\ {Q_{XZ} } & {Q_{YZ} } & {Q_{ZZ} } & {Q_{ZT} } \\ {Q_{XT} } & {Q_{YT} } & {Q_{ZT} } & {Q_{TT} } \\ \end{array} } \right] $$
(12.4)

GDOP denotes as formula 12.5:

$$ {\text{GDOP}} = \sqrt {Q_{XX} \,+\, Q_{YY} \,+\, Q_{ZZ} \,+\, Q_{TT} } $$
(12.5)

Thus, the smaller the GDOP value, the better the geometric distribution of satellites and the higher the positioning accuracy will get. Therefore, to ensure a relatively high positioning accuracy, it is needed to select the combination of satellites which have relatively small value of GDOP.

3 Traditional Satellite Selection Algorithm

3.1 Minimum GDOP Algorithm

Take four satellites in single constellation as an example, the core of minimum GDOP algorithm is to iterate all the possible combinations of observable satellite, select the one which has the minimum GDOP value as the optimal result and use this combination to point positioning. For the case that have n satellites, each process needs to calculate for \( C_{n}^{4} \) times. The advantage of this algorithm is that it can accurately extract the optimal combination of satellite geometry distribution. But for integrated navigation system, the number of visible satellites is much more than single constellation. Besides, the integrated system may also need to consider the time difference of multiple systems in the process of calculation, which increases the computational complexity of this algorithm to a certain extent. It will seriously affect the effectiveness of the real-time application.

3.2 Constellation-Tetrahedron Selecting Algorithm

The principle of GDOP can be expressed as formula 12.6:

$$ {\text{GDOP}} = \frac{{\sqrt {trace(A^{T} A)^{*} } }}{6V} $$
(12.6)

where V denotes the volume of polyhedron formed by satellite to the user receiver unit vectors. It can be obtained through formula 12.6 that GDOP value is inversely proportional to the volume of the polyhedron. The design idea of tetrahedron selecting Algorithm is similar to the former one, namely, the optimal result is extracted by calculating each combination of polyhedron volume and select the one which has the largest volume.

Compared with minimum GDOP algorithm, the constellation-tetrahedron selecting algorithm reduces the computational complexity to some extent, but it is also time-consuming, this algorithm may also need to calculate for \( C_{n}^{4} \) times in the situation of four visible satellites.

4 Optimal Satellite Selecting Algorithm

According to the related theory of constellation-tetrahedron selecting algorithm, when the selected satellite geometric structure has the largest volume, the satellite structure is the best. Take four satellites as an example, when one satellite in the zenith position, other three satellites locate at the tangent plane of users and they separate by 120° each other, the volume of the tetrahedron is the largest [3]. The theory for more satellites is the same, when meet two conditions, namely there exist satellites that have high elevation angle and lower satellites have a uniform distribution, the geometric structure is better.

Therefore, the principle of the proposed algorithm can be summarized as two aspects. On the one hand, considering the cutoff elevation angle, the bottom satellite combination is selected based on the selection of most uniform distribution of low elevation satellites. On the other hand to extract the proper number of satellites which have high elevation angle as top satellite combination. Both the top and bottom satellite combination constitute the final combination. We set the cutoff elevation angle to 10°, the range of elevation angle of bottom satellite combination is from 10° to 30°. The specific steps of the algorithm are as follows:

  1. (1)

    According to the number of selecting number of satellites n and determine the distribution number of high and low elevation satellites \( k_{1} \) and \( k_{2} \), respectively. For example, if we select seven satellites, the possible values of \( (k_{1} ,k_{2} ) \) are: (1, 6), (2, 5) , (3, 4).

  2. (2)

    Rule out the satellites which have the elevation angle lower than the cutoff elevation angle and select \( k_{1} \) satellites which have the biggest elevation angle as the top satellite combination.

  3. (3)

    Divide visible satellites that meet the range of elevation angle of bottom satellite combination into \( k_{2} \) groups. According to the principle of uniform distribution, calculate the azimuth difference between each satellites and the ideal value, respectively. If the azimuth angle of the satellite is \( \alpha \), then the difference is \( \left| {\alpha - j \times \left( {\frac{360}{{k_{2} }}} \right)} \right|(j = 1,2 \ldots ,k_{2} ) \).

  4. (4)

    Calculate the quantitative terms of each satellites that meet the former conditions. Define the satellites with low elevation angle, high precision and small difference with ideal value into bigger quantitative terms. In each group choose the satellite with the largest quantitative value.

  5. (5)

    Count all the possible results of \( (k_{1} ,k_{2} ) \) combination, calculate the GDOP value of each combinations and select the smallest one as the final combination.

The operation flow chart of the algorithm is shown in Fig. 12.1.

Fig. 12.1
figure 1

Flow chart of optimal satellite selecting algorithm

5 Results and Discussion

5.1 Experiment and Analysis of the Optimization Algorithm

This algorithm can be applied to multi-mode GNSS calculation. The experiment uses the data from GPS and BDS navigation system. In order to verify the feasibility and availability of the algorithm, the selection of a known coordinates of points, with January 7, 2014, 24 h of ephemeris data analysis is selected by the cutoff elevation angle of 10°. The contrast experiment is conducted between the Minimum GDOP algorithm and the Optimization algorithm. We set the number of selection satellite number six, the experimental results are shown in Table 12.1.

Table 12.1 Experiment resulting data of optimal satellite selecting algorithm

According to the results in Table 12.1, due to the optimization algorithm is a kind of subprime selecting algorithm based on the principle of optimal satellite geometric distribution, it can be seen that the results of the optimization algorithm of star is legitimate different from the Results of Minimum GDOP algorithm. But the GDOP value of using the optimal selecting algorithm mostly distributed between 2 and 3, and within the GDOP threshold 5. The more the satellite number selected, the better the result will get. Therefore, it can completely meet the accuracy of requirement.

In terms of processing time, compared with the traditional algorithms. The optimization algorithm only need to compute 2–3 times, thus will greatly save the computation time. Besides, it also will not meet the problem that the calculation burden rises sharply along with the increase of satellite number.

In order to further analyse the computing efficiency of the algorithm, the ratio between the running time of the optimization algorithm and the running time of the Minimum GDOP algorithm is used as an evaluation index. The wuhan station data on January 5–7, 2014 were statistically analyzed. Select the satellite number from 5 to 7, the curve graph reflecting the computational efficiency trend along with the change of observation satellite number as shown in Fig. 12.2.

Fig. 12.2
figure 2

Curve graph reflecting the computational efficiency trend along with the change of number of satellites

Through the data in Fig. 12.2, along with the increase number of observation satellite, the ratio index decreases, the computational efficiency increases; When the number of observation satellite is greater than 19, the optimization algorithm improves the computational efficiency for more than 10 times.

The relationship between the number of selecting satellites and the result is analyzed. Choose the selecting number into 5–7, compare with the GDOP value obtained by using the two different algorithms, the computing results are show in Table 12.2.

Table 12.2 The relationship between the selecting number and result

According to Table 12.2, in general, along with the increase in the number of selecting satellites, GDOP value decreases. When the choice for more than six satellites, the results are good. When the choice for the satellite number seven, the GDOP values in each epoch is within three, which can provide high positioning accuracy.

In order to further verify the influence of absolute positioning accuracy of the algorithm, this paper selects five different iGMAS monitoring stations locating in different latitude in our country: Beijing station (bjf1), urumqi station (gua2), wuhan station (wuh1), xi’an station (xia1) and kunming station (kun1). The pseudorange positioning program is compiled and we set the number of selected satellite seven, the single point positioning error among using all visible satellites, using Minimum GDOP algorithm and using the optimization algorithm is compared and analysed. The positioning RMS of N, E, U three components is shown from Figs. 12.3, 12.4 and 12.5.

Fig. 12.3
figure 3

Positioning RMS of N

Fig. 12.4
figure 4

Positioning RMS of E components

Fig. 12.5
figure 5

Positioning RMS of U components

From Figs. 12.3, 12.4 and 12.5, the results shows that the difference between the optimization algorithm and the Minimum GDOP algorithm and the resulting using all satellites are in the m class, which means that it does not cause large precision loss due to loss number of visible satellites after the satellite selection. Therefore, this algorithm can satisfy the demand of real time positioning applications.

5.2 Research of the Satellite Optimization Strategy

In order the make a further study on the effect the of satellite geometry distribution on GDOP value, the optimization algorithm is used to compute the value of each epoch every 5 min for 1 day and the results are analysed and isolated by the number of different distribution of high and low elevation angle. We choose the selecting number into 5–7 to analyse and the statistical results are shown from Table 12.3, 12.4 and 12.5.

Table 12.3 The GDOP value when the selecting number is 5
Table 12.4 The GDOP value when the selecting number is 6
Table 12.5 The GDOP value when the selecting number is 7

Through to the data from Table 12.3, 12.4 and 12.5, the conclusion is concluded as follows:

  1. (1)

    The value of GDOP overall conform to the principle of optimal in the geometrical structure of satellite. When the satellite geometric structure has large volume, the value of GDOP is relatively small.

  2. (2)

    When the selecting satellite number is 5, due to the fewer visible satellites, the percentage of epochs which GDOP value greater than 5 for more than 15 % in multiple combinations of satellite.

  3. (3)

    When the selecting satellite number is 6, high and low elevation satellite distribution number (1, 5) is the optimal structure. According to the statistics of the total epoch in 1 day, the percentage of epochs which GDOP value greater than 5 is 5.21 %, which is better than that of (2, 4) and (3, 3) combination.

  4. (4)

    When the selecting satellite number is 7, GDOP value has significantly reduced compared with the selecting number is six. When the high and low elevation satellite number is 3 and 4, respectively, All epoch of has the GDOP value less than 5, but the percentage which GDOP value less than 3 is 74.65 %, a bit poorer than the combination (2, 5) and (1, 6).

To sum up, it can be advised that the number of high and low elevation satellite can be constraints when the observation satellite quantity is large. It will further achieve the goal of highly efficient satellite selection.

6 Conclusions

Based on the principle of optimal satellite geometric distribution, this paper proposed a subprime satellite selection algorithm which uses the satellite elevation angle and azimuth angle to screen the satellites and select the optimal combination. The implementation steps of the algorithm are discussed in detail in this paper. Besides, the related parameters of the actual operation principles of configuration is discussed. The experimental results show that the optimization algorithm overcomes the time-consuming problem of traditional algorithms. It can be effectively applied to real-time navigation and positioning applications. The next step is to further study and optimize the calculation method of quantitative values to meet the different navigation system and different precision of satellites, which meet the requirements of high precision positioning in dynamic environment.