Inertial-Navigation-Aided Single-Satellite Highly Dynamic Positioning Algorithm

Nowadays, research on global navigation satellite systems (GNSS) has reached a certain level of maturity to provide high-precision positioning services in many applications. Nonetheless, there are challenging GNSS-denial environments where a temporarily deployed single-satellite positioning system is a promising choice. To further meet the emergency call of highly dynamic targets in such situations, an augmented single-satellite positioning algorithm is proposed in this paper. First, the initial location of the highly dynamic target is found by real-time displacement feedback from the inertial navigation system (INS). Then, considering the continuity of position change, and taking advantage of the high accuracy and robustness of the unscented Kalman filter (UKF), target location is through iteration and fusion. Comparing this proposed method with the least-squares Newton-iterative Doppler single-satellite positioning system and the pseudorange rate-assisted method under synthetic error conditions, the positioning error of our algorithm was 10% less than the other two algorithms. This verified the validation of our algorithm in the single-satellite system with highly dynamic targets.


Introduction
Today's global navigation satellite systems (GNSS) have excellent performance and high positioning accuracy in most scenarios. With the support of GNSS constellation, they can satisfy the daily positioning requirements of military and civilian navigation. However, the inherent vulnerability of constellation GNSSs significantly degrade their positioning ability or even make them completely unable to locate under extreme conditions, such as during wartime. To obtain locations precisely in emergency environments, a rapidly deployed navigation and positioning system is imperative. Single-satellite systems show apparent advantages with fast deployment and low cost compared to GNSSs. Thus, it is an essential supplement to GNSSs. Existing single-satellite positioning techniques adopt observation values at different times from the only satellite to locate. The literature [1] proposed a frequency-measurement-based single-satellite positioning method that utilized the frequency difference of arrival during satellite movement. However, this method has low positioning accuracy and is limited to stationary or small dynamic targets. The literature [2] found the geometric relationship between location and rate of phase difference, Doppler frequency and satellite ephemeris position to obtain positioning results but it is quite sensitive to the parameters.
The literature [3] also proposed an angular-measurement-based single-satellite positioning method that utilized the angular-velocity relationship between satellite and target to achieve positioning. However, it requires high accuracy of satellite ephemeris. The literature [4,5] proposed a Doppler-based single-satellite positioning method that utilized frequency difference to construct the positioning hyperboloid and integrated it with the inertial navigation system (INS) to achieve positioning. However, these methods are more suitable for static positioning, with low positioning accuracy and fast divergence for dynamic targets. The literature [6] proposed radial acceleration measurement based on a single-satellite positioning method. This method is simple since it only requires radial acceleration but, as the data source is limited, its reliability is poor. The literature [7] proposed a beam-scanning single-satellite positioning method with high positioning accuracy for static targets. However, it works in active location mode, which needs interaction with the data center. The literature [8] also proposed a BP neural-network-based single-satellite positioning method. The positioning results were stable but it takes a lot of time to perform the learning and updating process, so practical applications are limited. Researcher [9] also proposed an INS-based Doppler integration single-satellite positioning method that has a good positioning effect for both dynamic and static targets. However, since the final filtering result depends on the least-squares solution result, the stability of this method is limited. In the above algorithms, the main method is to transplant the GPS positioning method directly to the single-satellite positioning system. The problem of keeping the target immovable in single-satellite positioning systems is neglected. To answer this question, an inertial-navigation-aided single-satellite highly dynamic positioning algorithm is proposed. First, we computed and compensated the displacement of the moving target by INS [10]. Then, we utilized the integral Doppler pseudorange to construct an equal-frequency cone surface and use the height information of the moving target to establish the height surface. Next, we obtained the coarse positioning solution with these surfaces. Finally, the displacement value provided by INS was calculated and corrected in the UKF filter to improve the single-satellite positioning result.

Single-Satellite System Model
Under the conditions of GNSS denial, a single-satellite positioning system could be an effective complement [11]. Most targets, such as vehicles, personnel, ships and aircraft are dynamic, that is to say, their track, direction and movement time are uncertain. Therefore, in this paper, inertial navigation is the motion of the target that must be compensated by the INS. The principle of the inertial-navigation-aided single-satellite positioning method is shown in Figure 1.
, , , , Here, {X i , Y i , Z i } denotes the satellite position at time i, R i denotes the pesudorange between satellite and target at time i and {x i , y i , z i } denotes the position of the target at time i. Then, the pesudorange at the three successive moments, as shown in Figure 1, can be described as where δt u represents the error caused by the receiver-clock offset.
With the aid of inertial navigation [12], we can obtain the position of the target at these three successive moments as where ∆x i , ∆y i , ∆z i represent the displacement of the target by the INS from the ith time point to the i + 1th time point, respectively. we substituted (4) and (5) into Equations (2) and (4) and the pseudorange between the dynamic targets and the satellites is given in simplified form: There are four unknowns in the three above equations, so we could not settle the position [13]. In addition, we included the height measurement that was directly obtained from the altimeter at time i to determine the target position, since it satisfies The initial estimation of the target position at time point ith can be obtained by a least-mean-square algorithm. Based on the Taylor expansion, the estimation problem can be described as where and Equation (10) contains four unknown parameters. The least-squares method was utilized to jointly solve the dynamic results at each iteration [14], ∆x, as follows: By repeating iterations until increment ∆x met a certain accuracy threshold, we could obtain the initial estimation of the target's three-dimensional coordinates.

Navigation-Data Fusion
Considering the complex and changeable motion of the target and the inherent error of the INS, the initial estimation of the target position from the previous section needs to further be improved [15]. The traditional Kalman filter is based on the linear model, shows high positioning fluctuations and suffers divergence in sudden changes. Therefore, in this section, we present an unscented Kalman filter (UKF) -based inertial-navigation-aided single-satellite highly dynamic positioning algorithm. Suppose x is a l dimensional random variable that follows Gaussian distribution, that is, x ∼ N(x, P), where x is an l dimensional vector and P is a l × l symmetric semipositive definite square matrix. P is decomposed by Cholesky decomposition as P =Ṗ ·Ṗ T , whereṖ is the lower triangular matrix. A new posterior random variable y = f (x) is obtained through nonlinear transformation.
In this case, unscented transformation (UT) is utilized to estimate the mean value and the covariance matrix of y. Choosing a set of 2l + 1 sampling points that meet the selection scheme as where r = l + γ and γ = a 2 (l + κ) − l represent the main scale parameter and κ represents a minor scale parameter; a indicates the extent to which the sampling point deviates from the expected value, which is usually a very small positive number. It can be seen that all ξ i and ξ i+1 are symmetrical about ξ 0 = x, so weight factors can be defined as The predicted state mean and covariance matrix can be obtained through the weighted sum.
Propagating each sampling point through nonlinear function, Then, the predicted measurement mean and covariance matrix can be obtained through the weighted sum.
The UKF replaced the traditional EKF to solve nonlinear problems through unscented transformation. This transformation approximates the probability of distribution rather than the nonlinear function and avoids calculation of the Jacobi matrix. It provides estimation accuracy approximately to the third-order EKF, equally computationally intensive with the first-order EKF. In a single-satellite system, the decremental of computation load has great significance for performance improvement in highly dynamic positioning.
In the inertial-navigation-aided single-satellite system, the augmented state is denoted as where [x, y, z] t , v x , v y , v z t and a x , a y , a z t represent the position, velocity and acceleration of the positioning target at time t, respectively. The state-space equation model to describe the dynamic process of targets: where, F denotes a dynamic matrix, dynamic matrix F 1 represents speed variation and F 2 represents acceleration variation; W t denotes single-satellite-system noise at time t. In practice, the obtained samples are discrete values. The state-transition matrix obtained by discretizing F can be regarded as nontime-varying when the sampling interval is small.
The prediction and update steps of UKF are looped after initialization. Assuming that the state of a single-satellite system is a random variable X t ∈ R n , with expected value X t and covariance matrix P t , by supplying that UKF a prior estimate X 0 and covariance P 0 , the next step is to build a state-transition matrix X t = f (X t−1 , w t−1 , u t−1 ). Let ∆t represents the sampling interval and ϕ represents the following state-transition matrix.
State quantity was utilized to construct the sampling points and calculate the unscented weight coefficients; X − t represents the predicted estimate at sampling interval t and X t represents the posterior estimate at sampling interval t. In the time-update part of single-satellite positioning, the state transformation of the generated test point set is first carried out. Since UKF guarantees second-order accuracy, nonlinear transformation function f () can be rewritten as The predicted estimate of X t is: Construction of measurement equation vector Z t by using a pseudorange and height values at t time: Similar to the least-squares part, the state variable substituting value X t is the target-state value at t + 1 time; δx i , δy i , δz i are the relative displacements of the three-dimensional coordinates between time i and i + 1, recorded by the inertial navigation system; p x i , p y i , p z i represent the coordinates of the single satellite at time i; R i represents the actual pseudorange value between single satellite and target at time i;R i represents the estimated pseudorange value at time i; h i represents the target-height value at time i;ĥ i represents the estimated target-height value at time i. Here, η t = h(ξ − t−1 ) was utilized to calculate the pseudorange value of ξ − t−1 at the corresponding time.
All symbols in Equations (36-39) are scalars. For example,η − i+1,k represents the kth column of the solution of vectorη − t at time i;ξ − i+1,x,k ,ξ − i+1,y,k andξ − i+1,z,k represent the x, y, z value of the kth column of solution of vector η − t at time i + 1. Then, predictive valueẑ − t of z t is as follows: UT transformation was utilized to obtain a priori covariance matrix P − In order to make the dynamic positioning prediction accurate, initialization was only performed once and the measurement-update part was as follows: In order to make the dynamic positioning prediction accurate, initialization was only performed once and the measurement-update part was as follows: The Kalman filter gives the estimated value at the new time point according to the a priori estimate. The· of the state variable indicates the prediction estimate, right label-indicates the a priori value, k t indicates the Kalman filter coefficient matrix at time t and P xy t and P yy t are the prediction covariance error matrix of the single-satellite navigation system. The computational complexity of the UKF filter was smaller than that of the EKF with the same accuracy and tracking performance was also better than EKF. It is very suitable for dynamic-target location and has good robustness. Combining INS input compensation and the initial least-squares calculation value, the UKF filter can provide stable rough positioning for a considerable period of time and can meet the requirements of single-satellite navigation.

Simulation and Result Analysis
In the simulation part, low-orbit satellites were utilized with a distance of 1200 km from the ground near Earth's surface.The advantage of low-orbit satellites are obviously Doppler integral changes, which are beneficial to improve the positioning accuracy of single-satellite navigation. The designed run period was 2.13 h; orbit inclination was π/6; right ascension point was π/3; the eccentricity of the elliptical orbit was 0.1; and perigee angle was pi/6.
The main sources of error for single-satellite positioning include orbital, pseudorange, satellite-velocity and INS errors. These are considered in single-and comprehensive-factor simulations. Due to INS errors existing in all target-displacement data, every single-factor simulation includes INS errors. At the same time, our proposed algorithm was compared witha Doppler single-satellite positioning method based on the least-square Newtonian iteration and EKF single-satellite Doppler pseudorange positioning methods.

Orbital-Error Analysis
In the first part, considering the impact of orbit-determination error on the single-satellite positioning results, we set a simulation time at 3000 s and single integration time at 150 s.The inertial component parameters that were utilized in the actual measurement of INS data included gyro zero bias 10 −3• /h; gyro random walk was 10 −4• /sqrt(h); initial attitude error was 2 , 2 , 2 ; INS initial error was 20 m; movement speed was 20 m/s. The main direction of the target was the y axis direction and a height error of 1 m was included in the height direction. In order to eliminate random errors, the orbit-determination error was taken from 0 to 100 m at intervals of 1 m and the remaining errors were all 0. The simulation was repeated 100 times under the same experiment conditions. Figures 2  and 3 show the results of the orbit error.   Figure 2 shows the mean of the positioning errors of the x, y, z axis for different orbital errors. It can be seen in Figure 2 that the positioning error was positively correlated with the orbital error; at the same time, the y and z axis errors were greater than that of the x axis because the movement direction was mainly on the y axis and height error was added in the z axis. Figure 3 shows the performance comparison of the absolute error values (referred to as RMS) for the three methods under single orbital-error conditions, where the error of the least-squares positioning algorithm was much larger than that of the other two algorithms. To facilitate comparison, the display range of the shaft was reduced. It can be seen in Figure 3 that our proposed algorithm was superior to the EKF algorithm, which is much better than the algorithm of least squares-Newton iteration.

Pseudorange Error Analysis
Pseudorange error is a main error source in single-satellite positioning. For the pseudorange error, simulation time was set to 3000 s and the single integration time was 150 s. The INS setting was the same as that in the orbit part. Pseudorange error was set from 0 to 100 m, with an interval of 1 m. The remaining errors were all 0. The simulation was repeated 100 times under the same experiment conditions. Figures 4 and 5 show the results of the pseudorange error.   Figure 4 shows the mean of the positioning errors of the x, y, z axis for different pseudorange errors. It can be seen that the pseudorange error was positively correlated with the positioning error. Figure 5 shows the performance comparison of absolute error values (referred to as RMS) for the three methods under single pseudorange-error conditions, the RMS value of every algorithm was approximately linear with the pseudorange value. Our proposed algorithm was better than the EKF algorithm, and far better than the least-squares Newton iteration algorithm.

Satellite-Velocity-Error Analysis
In this part, the influence of satellite-speed error is considered in single-satellite positioning. We set the simulation time to 3000 s and the single-integration time was 150 s. The INS setting was the same as the pseudorange case. Satellite-speed error was from 0 to 1 m/s and the interval was 0.02 m/s.The remaining errors were all 0. The simulation was repeated 100 times under the same experiment conditions. Figures 6 and 7 show the results of the satellite-velocity error.   Figure 6 shows the mean of the positioning errors of the x, y, z axis for different satellite-velocity errors. It can be seen that the results were very close to the pseudorange results but the satellite-velocity error was 0.5 m/s, the position error of the three axes was 120, 75, 24 m and was larger than the pseudorange-error results. This means that the effect of the satellite-velocity error was larger than that of the pseudorange error in the single-satellite position. Figure 5 shows the performance comparison of the error absolute values (referred to as RMS) for the three methods under single-satellite-velocity error conditions. It can be seen that the RMS value of every algorithm was approximately linear to the satellite-velocity value and our proposed UKF algorithm was also superior to the other algorithms; the EKF algorithm was better than the least-squares Newton iteration algorithm.

Comprehensive Measured Environmental-Error Analysis
In the actual single-satellite positioning system, all types of errors were included. Flight duration was 150 s, satellite-orbit error was less than 10 m, pseudorange error was less than 10 m, satellite-speed error was 0.1 m/s, and height error was 1 m in a typical single-satellite environment. The INS adopted the same simulation environment as described above. Target motion speed was 20 m/s and direction was mainly in the y axis. Total simulation time was 2700 s. Due to the solution, only 2700 s of results were output. The results are shown in Figures 8 and 9.  Our proposed single-satellite positioning algorithm based on UKF operated smoothly with no evident divergence under the comprehensive environment. Mean value was less than 50 m; positioning convergence was rapid and could be achieved within 10 s of starting output, error was less than 0.1 km and positioning error was less than 100 m. Figure 9 shows the comparison of absolute position error (reported as RMS) under the comprehensive environment for the three single-satellite positioning algorithms. It shows that the mean error between our proposed algorithm and the UKF algorithm was much smaller than that of the least-squares Doppler single-satellite algorithm. The mean error of our proposed algorithm was only 3.9% of the least-squares algorithm and the EKF algorithm was 8.6% of the least-squares algorithm.

Real-Environment Testing
In the real-environment test, we used a four-rotor unmanned aerial vehicle that was produced by the Dji company and a Hongyan satellite-enhancement system that provides a single-satellite navigation and positioning service to achieve real testing; testing time was 30 min.The test site was in the village of Dongda of the city of Xi'an which is shown in Figure 10. The blue line is the flight route of unmanned aerial vehicle, the red point is the ideal path passing point which obtained by GPS and wireless beacon, the real-environment test results are shown in Figure 11.   Figure 11 shows the real-environment testing results for the different algorithms. The average error of our proposed algorithm, obtained by 100 independent repeated calculations, was only 46.6% of that of the EKF algorithm and far superior to LS algorithm.The actual test results were close to the comprehensive simulation results. The test results show that our proposed single-satellite positioning algorithm based on UKF can effectively eliminate orbit, satellite-velocity and pseudorange errors and that it significantly improves the accuracy of single-satellite dynamic positioning.

Conclusions
This article outlined an inertial-navigation-aided single-satellite highly dynamic positioning algorithm. Aiming at the problem of divergence and poor positioning accuracy of existing single-satellite systems for dynamic targets, a Doppler pseudorange and altitude information were adopted. First, the least-squares method combined with UKF was utilized to achieve fast convergence and the initial filter parameters. Then, the UKF filter was directly utilized to obtain stable final positioning results in a smooth transition. In this paper, the single error and comprehensive error that have a great influence on single-satellite positioning were simulated and compared with the Doppler single-satellite positioning algorithm based on least-squares Newton iteration and the Doppler single-satellite positioning method combined with EKF. The simulation and testing results proved that our proposed algorithm's position accuracy was much better than that of the other algorithms. Under GNSS system-rejection conditions, it has strong practical value.