Next Article in Journal
Big Data Analytics and Structural Health Monitoring: A Statistical Pattern Recognition-Based Approach
Next Article in Special Issue
Special Issue on GNSS Data Processing and Navigation
Previous Article in Journal
Incorporating Noise Robustness in Speech Command Recognition by Noise Augmentation of Training Data
Previous Article in Special Issue
Analyzing the Satellite-Induced Code Bias Variation Characteristics for the BDS-3 Via a 40 m Dish Antenna
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Fine-Tuned Positioning Algorithm for Space-Borne GNSS Timing Receivers

1
National Research Institute of Information Science and Technologies, Tsinghua University, Beijing 100084, China
2
Department of Electronics Engineering, Tsinghua University, Beijing 100084, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(8), 2327; https://doi.org/10.3390/s20082327
Submission received: 24 December 2019 / Revised: 10 April 2020 / Accepted: 14 April 2020 / Published: 19 April 2020
(This article belongs to the Special Issue GNSS Data Processing and Navigation)

Abstract

:
To maximize the usage of limited transmission power and wireless spectrum, more communication satellites are adopting precise space–ground beam-forming, which poses a rigorous positioning and timing requirement of the satellite. To fulfill this requirement, a space-borne global navigation satellite system (GNSS) timing receiver with a disciplined high-performance clock is preferable. The space-borne GNSS timing receiver moves with the satellite, in contrast to its stationary counterpart on ground, making it tricky in its positioning algorithm design. Despite abundant existing positioning algorithms, there is a lack of dedicated work that systematically describes the delicate aspects of a space-borne GNSS timing receiver. Based on the experimental work of the LING QIAO (NORAD ID:40136) communication satellite’s GNSS receiver, we propose a fine-tuned positioning algorithm for space-borne GNSS timing receivers. Specifically, the proposed algorithm includes: (1) a filtering architecture that separates the estimation of satellite position and velocity from other unknowns, which allows for a first estimation of satellite position and velocity incorporating any variation of orbit dynamics; (2) a two-threshold robust cubature Kalman filter to counteract the adverse influence of measurement outliers on positioning quality; (3) Reynolds averaging inspired clock and frequency error estimation. Hardware emulation test results show that the proposed algorithm has a performance with a 3D positioning RMS error of 1.2 m, 3D velocity RMS error of 0.02 m/s and a pulse per second (PPS) RMS error of 11.8ns. Simulations with MATLAB show that it can effectively detect and dispose outliers, and further on outperforms other algorithms in comparison.

1. Introduction

Space-borne global navigation satellite system (GNSS) receivers are GNSS receivers carried on-board satellites, and have been used for various purposes. Space-borne GNSS receivers are primarily used for real-time orbit determination of the space vehicle [1]. In many scientific missions, the measurements of the multi-frequency on-board GNSS receivers are post-processed to achieve centimeter level orbit determination [2,3]. Space-borne GNSS receivers are also used in space-borne reflectometry for remote sensing of geophysical earth surface parameters, e.g., sea surface roughness and soil moisture [4,5,6], which has witnessed rapid development in recent years.
Space-borne GNSS timing receivers are those space-borne GNSS receivers specially designed for real time timing applications in space. The most representative users of space-borne GNSS timing receivers are low earth orbit (LEO) communication satellites. To make full use of the limited transmission power and wireless spectrum, LEO communication satellites often use smart antennas to beam-form signal power to its ground users under rapid relative space–ground movement. The prime challenge therein for designing GNSS timing receivers is how to achieve comparable positioning and precise timing performance as those stationary ground GNSS timing receivers, under a movement of several kilometers per second and at high altitudes. As far as GNSS timing receivers are concerned, commercial-off-the-shelf (COTS) GNSS timing receivers designed for low dynamic and stationary scenarios are not applicable to space applications, and those high dynamic GNSS receivers do not concern much on timing precision and robustness.
The performance of GNSS receivers, including the timing receivers, are determined mostly by its positioning algorithm. Abundant positioning algorithms have proposed in the literature over the years. Early positioning algorithms for GNSS were based on iterative least square and Kalman filtering [7,8]. Extended Kalman filtering is a natural extension to Kalman filtering for solving non-linear problems using one order linearization [9,10]. A big step forward in Kalman based filtering was the invention of unscented Kalman filter, which computes the integrals encountered in non-linear filtering problems by unscented transform [11,12]. Cubature Kalman filters (CKFs) solve the same integrals by introducing a spherical–radial cubature rule, which is mathematically more complete [13,14,15]. Robust and adaptive positioning algorithms have also been developed considering either outliers in observations or run-time parameter optimizations [16,17]. In cooperative positioning, receivers have observations not only from navigation satellites but also ranging information with wireless peers, which has led to many cooperative positioning algorithms [18,19,20].
Despite existing works, there lacks a work that systematically describes the delicate aspects of a space-borne GNSS timing receiver, specifically, how to mimic the statistical signal processing flow of a stationary ground GNSS timing receiver to achieve similar timing performance. Based on the experimental work of the LING QIAO (NORAD ID:40136) communication satellite’s GNSS receiver, we propose a fine-tuned positioning algorithm for space-borne GNSS timing receivers. Specifically, the proposed algorithm includes: (1) a filtering architecture that separates the estimation of satellite position and velocity from other unknowns, which allows for a first estimation of satellite position and velocity incorporating any variation of orbit dynamics; (2) a two-threshold robust cubature Kalman filter to counteract the adverse influence of measurement outliers on positioning quality; (3) Reynolds averaging inspired clock and frequency error estimation. Hardware emulation test results show that the proposed algorithm has a performance with a 3D positioning RMS error of 1.2m, 3D velocity RMS error of 0.02m/s and a pulse per second (PPS) RMS error of 11.8ns. Simulations with MATLAB show that it can survive typical outliers and outperforms other algorithms in comparison.The algorithm is ready to be used in the GNSS receiver of our incoming communication satellite mission.
The rest of the paper is organized as follows: Section 2 summarizes the design challenges of space-borne GNSS timing receivers, Section 3 formulates the problem and presents details of the proposed algorithm, Section 4 gives performance evaluation and Section 5 concludes the paper.

2. Design Challenges of Space-Borne GNSS Timing Receivers

The signal processing of a GNSS receiver can be generally divided into two steps: (1) obtain measurements from the GNSS signals; (2) calculate position, velocity and time (PVT) from the measurements using a positioning algorithm. For the positioning algorithms, while it is not hard to figure out fine PVT solutions when the measurements are abundant, it is a challenge to keep positioning precision when either the number of tracked GNSS satellites are not sufficient or the measurements have outliers. For a timing receiver, a positioning algorithm also needs to keep the one pulse per second (PPS) outputs aligning well with the start of UTC seconds under all contexts.

2.1. Insufficient Number of Tracked GNSS Satellites

On the ground, a stationary GNSS timing receiver is often installed at a fixed position with clear sky and enough GNSS satellites in view. With prior information of the position, such a receiver can figure out the timing when at least one GNSS satellite is available, detects anomalies when at least two GNSS satellites are available and eliminates outliers when three or more GNSS satellites are available. In contrast, a space-borne GNSS timing receiver is constantly moving. With a general Kalman positioning algorithm, it can reach a non-divergent positioning solution when at least four GNSS satellites are available, detect the existence of outliers when at least five GNSS satellites are available and find out outliers when at least six GNSS satellites are available. So when below six, the number of tracked satellites can be viewed as insufficient. Rapid spacecraft movement causes ten times bigger GNSS signal Doppler offset than that measured by ground receivers. For the sake of more Doppler search bins, space-borne GNSS receivers choose to reduce coherent integration time, thus decrease signal reception sensitivity [8,21,22]. Less sensitivity, combined with higher Earth altitude and shading caused by the spacecraft components, such as satellite-rocket detaching mechanical units, reduces the average numbers of satellites tracked by a space-borne GNSS-receiver compared to a ground-based one.
In Figure 1, we display a 24 h in-orbit trace of the number of GPS satellites tracked by the LING QIAO receiver on 15 September 2017. As shown, the number of tracked satellites distributes evenly in a global sense, the minimum is 4 and maximum is 12. In Figure 2, we give the corresponding statistical distribution of tracked GPS satellite numbers. As shown, the tracked satellite number is 7–8 on average, and the percent of tracked-satellite number below six also adds up to 3.9%.

2.2. Measurement Outliers

The space electromagnetic environment is interference-free for GNSS receivers, allowing them to track GNSS signals and obtain GNSS measurements. In most of the cases, the pseudorange error can be modeled by a Gaussian distribution with a small non-zero mean caused by GNSS satellite ephemeris and propagation path modeling errors. However, there are still measurement outliers.
Figure 3 illustrates typical pseudorange errors we found during the past four-year in-orbit operation of LING QIAO space-borne GNSS receiver. Figure 3a shows a random error, which is called Gaussian ε -contamination in robust statistics [23]. Figure 3b shows a pseudorange error that lasts for tens of epochs. The errors illustrated in Figure 3a,b are typical non-lasting outliers that are caused by many reasons such as non-perfect code tracking phase lock loop implementation, or random interference on GNSS signals. Figure 3c shows a lasting error, which is large and lasts for a period of time during the visibility of a GNSS satellite. The lasting error may be caused by wrong bit synchronization, an ephemeris error or space weather effects [24]. If not properly disposed of in GNSS receivers, lasting outlier errors would cause a maximum positioning error of several meters, which will severely influence the positioning and timing accuracy.

2.3. Non-Gaussian Characteristics of Clock Error

The clock error, i.e., the difference between the GNSS receiver clock and GNSS time, of a GNSS receiver is often modeled by Gaussian distribution in literals [7]. For improved timing precision, non-Gaussian characteristics of clock errors should be considered. In a GNSS receiver, the clock error is dominated by receiver clock drift, so it accumulates slowly. When the accumulation exceeds half of a receiver clock cycle, the measurement epoch should adjust by adding/subtracting one clock cycle to minimize the local clock error. The adjustment is reactive and determined by the positioning algorithm. It causes a “saw tooth” characteristic of the receiver clock error, that distributes more like a uniform distribution instead of a Gaussian distribution.

3. The Proposed Algorithm

3.1. Architecture

As per the aforementioned observations, we propose a fine-tuned positioning algorithm for space-borne GNSS timing receivers. Figure 4 explicates the signal processing flow of a space-borne GNSS receiver with the proposed positioning algorithm. As shown in Figure 4, GNSS radio frequency signals are first down-converted to intermediate frequency signals in digital format for acquisition and tracking. The measurements of tracked GNSS satellites (see Section 3.2) are sampled at the rising edge of one PPS and being fed to the proposed positioning algorithm. The output of the proposed algorithms is PVT (position, velocity, UTC) for the user, 1PPS timing error for one PPS adjustment. The proposed positioning algorithm has three major components: (1) measurement transformations; (2) position and velocity estimation; (3) time and frequency error estimation. With the measurement transformations, as is detailed in the following sections, position and velocity can be separately estimated using historical states and arbitrary complexity of spacecraft dynamics. When the position and velocity of current epoch is determined, the time and frequency error can be estimated with at least one visible GNSS satellite, which effectively mimics the signal processing process of a stationary ground GNSS timing receiver.

3.2. Measurement Transformations

There are two types of measurements in a stand-alone GNSS receiver, namely pseudorange and pseudorange rate. Define r i , k s = [ p i , x s , p i , y s , p i , z s ] k T as the position of satellite i at epoch k, where i = 1 , 2 , 3 , , n s and T represents matrix transposition. Without loss of generality, we assume the epoch interval is one second. Define r k u = [ p x u , p y u , p z u ] k T as the receiver position and v k u = [ v x u , v y u , v z u ] k T as the receiver velocity, then the pseudorange can be formulated as y i , k p = r i , k s r k u + b k p + ε i p of satellite i, which is obtained from the satellite code phase at epoch k. The b k p is the unknown receiver clock error in meters as defined above, ε i p N ( 0 ; ( σ i p ) 2 ) is pseudorange noise. The pseudorange rate can be formulated as y i , k d = ( r i , k s r k u ) T r i , k s r k u ( v i , k s v k u ) + b k d + ε i d which is obtained from the accumulated carrier cycles ϕ i , k of the past second. The b k d is the unknown receiver frequency error in meters per second and ε i d N ( 0 ; ( σ i d ) 2 ) is pseudorange rate noise. There are two measurement transformations in the proposed algorithm. The first measurement transformation separates position and velocity related measurement components from other unknowns. Define measurements at epoch as:
Y k p = [ y 1 , k p , y 2 , k p , , y n s , k p ] T Y k d = [ y 1 , k d , y 2 , k d , , y n s , k d ] T
To eliminate clock and frequency error terms in Equation (1), we define a difference mapping matrix D 1 = [ I , 1 ] as a matrix, where I is ( n s 1 ) × ( n s 1 ) identity matrix and 1 is a vector of ones. According to [25], D reads
D = D 1 0 0 D 1
Then we end up with the first measurement transformation:
Z k = D Y k = D | r 1 s r u | r n s s r u ( r 1 s r u ) T | r 1 s r u | ( v 1 s v u ) ( r n s s r u ) T | r n s s r u | ( v n s s v u ) k + ε 1 p ε n s p ε 1 d ε n s d k
and we have
R D = D R D T
where R is measurement noise matrix.
The second measurement transformation concerns the transformation the accumulated carrier cycle ϕ i , k satellite k, which is a measurement of the average movement of the receiver in the past second, into the instant pseudorange rate y i , k d of satellite i at epoch k [26]:
y i , k d = λ ( 3 2 ϕ i , k 2 ϕ i , k 1 + 1 2 ϕ i , k 2 )
where λ is the wavelength of the navigation signal carrier. This transformation is important to a space-borne GNSS receiver because it always accelerates under the force the Earth Gravity. In contrast, a ground-based receiver often simply gets y i , k d = λ ϕ i , k . This transformation is essentially a finite impulse response filter whose z-transformation is
H ( z ) = 1 T c ( 1.5 2 z 1 + 0.5 z 2 )
This z-transformation has a zero group delay in the effective band of the LEO GNSS signal Doppler power spectrum, therefore y i , k d exactly expresses the instant pseudorange rate of satellite i at epoch k [26,27].

3.3. Position and Velocity Estimation

With the above transformation, we can define the state vector as
X k = [ ( r k u ) T , ( v k u ) T ] T = [ r x u r y u r z u v x u v y u v z u ] k T
and the measurement matrix Z k has been defined by Equation (3).
We define X k = f X k 1 + W k 1 as the state update function, where f ( ) is the state evolution function and is W k N 0 ; Q is the evolution noise. With a first order Markov assumption and J 2 gravity perturbation model, we have
f X k 1 = I t I 0 I X k 1 + t 2 2 A k 1 t A k 1
where t is epoch interval and A k 1 = a x , a y , a z k 1 T is acceleration of the space-borne GNSS receiver. According to J 2 gravity perturbation [28], we have
A k 1 = G M r 3 r x u ( 1 + 3 2 J 2 ( R e r ) 2 ( 1 5 ( z r ) 2 ) ) + ω e 2 x + 2 ω e v y G M r 3 r y u ( 1 + 3 2 J 2 ( R e r ) 2 ( 1 5 ( z r ) 2 ) ) + ω e 2 y 2 ω e v x G M r 3 r z u ( 1 + 3 2 J 2 ( R e r ) 2 ( 3 5 ( z r ) 2 ) ) k 1
in an Earth-fixed coordinate system. where r = | r u | is the receiver radius to the Earth center. G M is the Earth gravity constant, R e is the Earth major semi-axis, ω e is the rotational angular velocity of the earth.
The state X k can also be predicted by using more historical states, which is out of the scope of this work. Higher orders of prediction would be more accurate but also more computation-intensive.
The proposed position and velocity estimation algorithm works as follows (Steps 1, 2 and 5 are standard steps in cubature Kalman filter (CKF), and Steps 3, 4 and 6 are innovations of this work):
  • State Initialization. The initial state, i.e., X 0 , can be obtained using the least square algorithm. Observation noise σ i d , σ i p , prediction noise Q and state covariance P 0 can be given via rules of thumb.
  • State Prediction. Assume that p ( X k 1 ) = N X ^ k 1 k 1 , P k 1 k 1 is known, by Cholesky decomposing, and it has
    P k 1 | k 1 = S k 1 | k 1 S k 1 | k 1 T
    By cubature transformation [13], we have
    X i , k 1 | k 1 = S k 1 | k 1 ξ i + X ^ k 1 | k 1 X i , k | k 1 * = f X i , k 1 | k 1 X ^ k | k 1 = 1 m i = 1 m X i , k | k 1 * P k | k 1 = 1 m i = 1 m X i , k | k 1 * X i , k | k 1 * T X ^ k | k 1 X ^ k | k 1 T + Q
    where X ^ k | k 1 is the state prediction and P k | k 1 is its covariance, i = 1 m , m = 2 n .
  • Outlier Detection. Define:
    y ^ i , k | k 1 p = h ( X ^ k | k 1 ) i y ^ i , k | k 1 d = h ( X ^ k | k 1 ) i + n s
    Calculate:
    b ^ k | k 1 p = m e d i a n ( [ y i p y ^ i , k | k 1 ] ) b ^ k | k 1 d = b k 1 | k 1 d
    d y i , k p = y i , k p y ^ i , k | k 1 p b ^ k | k 1 p d y i , k d = y i , k d y ^ i , k | k 1 d b ^ k | k 1 d
    where the m e d i a n ( ) is the middle sample whose numerical value separating the higher half of a set of data samples. If there is an even number of observations, then there is no single middle value, the median is then usually defined to be the mean of the two middle values.
    With above equations, we have the outlier elimination step: the lines of observations satisfying d y i , k p > c [ d i a g ( R k ) ] i or d y i , k d > c [ d i a g ( R k ) ] i + n s , where c is a threshold constant.
  • Outlier Suppression. Suppress measurements as
    ( Y c k ) i = ( Y k ) i ( Δ Y k ) i < K ( R 1 2 ) i s i g n ( Δ Y k ) i ) K ( R 1 2 ) i e l s e
    where Δ Y k = Y k h ( X k | k 1 ) .
  • State Update. Cholesky decompose P k k 1 :
    P k | k 1 = S k | k 1 S k | k 1 T
    By cubature transformation, the observation Z ^ k | k 1 can be predicted by:
    X i , k | k 1 = S k | k 1 ξ i + X ^ k | k 1 Y i , k | k 1 = h X i , k | k 1 Z ^ k | k 1 = D Y ^ k | k 1 = 1 m i = 1 m Y i , k | k 1
    and the covariance P z z , k | k 1 :
    P z z , k | k 1 = 1 m i = 1 m Z i , k | k 1 Z i , k | k 1 T Z ^ k | k 1 Z ^ k | k 1 T + R
    and covariance P x z , k | k 1 :
    P x z , k | k 1 = 1 m i = 1 m X i , k | k 1 Z i , k | k 1 T X ^ k | k 1 Z ^ k | k 1 T
    Calculate Kalman gain:
    W k = P x z , k | k 1 P z z , k | k 1 1
    Final estimation at epoch k:
    x ^ k | k = X ^ k | k 1 + W k Z k Z ^ k | k 1
    State covariance at epoch k:
    P k | k = P k | k 1 W k P z z , k | k 1 W k T
  • Measurement covariance update. Up to now, the noise covariance of observation Y k is set to R. We recommend to use the following formula to estimate the i-th diagonal element of R at run time:
    ( R k ) i = ( 1 μ ) ( R k 1 ) i + μ [ ( Y c k ) i ( h ( X k 1 | k 1 ) ) i ] 2

3.4. Time and Frequency Error Estimation

With a robust position and velocity estimation, the clock and frequency error can be subsequently estimated. From a physical point of view, the frequency error changes slowly as receiver’s local clock drifts. To estimate such physical values, Reynolds averaging is a technique widely used in subjects such as fluid dynamics [29]. In Reynolds averaging, a physical variable is viewed as the plus of an unpredictable instant fluctuation value and a predictable average. Reynolds averaging tries to average a sequence of estimations over a time period which is long enough to smooth over the fluctuations but still short enough to keep the trend. Based on the idea of Reynolds averaging, we propose the following formula to estimate the final clock and frequency error
b k | k p = L S E [ Y c k p h p ( X k | k ) ] b k | k d = ( 1 η ) b k 1 | k 1 d + η L S E [ Y c k d h d ( X k | k ) ]
where L S E is a least squares estimator. If the epoch interval is 1 second, the second line of Equation (24) estimates the long term average of clock errors and the first line estimates the instant fluctuation. As long as the fluctuation does not deviate far, two times as an example, from the average, it is used to adjust the one PPS. When the fluctuation is too big, then the long term average is used to adjust the one PPS. It should be noticed that trying to solely average the clock error increases the clock error because it makes the software adjustment of one PPS counters “reluctant” to follow the random walk of a physical clock.

4. Performance Evaluation

4.1. Hardware Emulation Test Results

The hardware emulation setup is given in Figure 5. As shown, a third party GNSS emulator (GNS-8220) was used to emulate the GPS signal received at a 780 km sun synchronous orbit with a signal strength of −128 dBm. The PVT and one PPS output of an engineering GNSS receiver carried by the LING QIAO satellite were compared with the reference PVT and one PPS given by the emulator. The results were analyzed by MATLAB on a personal computer. Figure 6a shows a 12-h position error trace. The corresponding 3D position RMS error is 1.2 m. Figure 6b shows the velocity error trace, the corresponding 3D velocity RMS error is 0.02 m/s. Figure 6c shows the one PPS error trace, the corresponding RMS error is 11.8 ns.

4.2. Influence of Outliers

The proposed algorithm has two thresholds to minimize the influence of outliers. The first threshold is the outlier detection threshold, as defined by Step 3 of the proposed algorithm. The measurements are viewed as harmful when their predicted errors as defined by Equation (14) are larger than this threshold. Such measurements were eliminated in later steps. The second threshold is the suppression threshold as defined by Equation (15). When the predicted error of a measurement goes above the suppression threshold but below the detection threshold, it was viewed as contaminated, but can still contribute to the positioning result.
In Figure 7, the corresponding elimination or suppression of different outliers, as shown in Figure 3, is illustrated. If there are not enough good measurements, the suppressed outliers will still cause a surge in the positioning errors as seen in Figure 6d.

4.3. Comparisons with Existing Algorithms

The following two algorithms are compared with the proposed algorithm:
  • Algorithm 1: iterative least square positioning with receiver autonomous integrity monitoring (RAIM);
  • Algorithm 2: robust CKF with M-estimator [23].
Three cases were simulated. In Case 1, the MATLAB generated measurements followed an exact Gaussian distribution where σ ε p = 1 , σ ε d = 0.05 . In Case 2, the measurements were sampled during the prototyping stage of our space-borne GNSS receiver, where all typical measurement errors could be found. In Case 3, the measurements were sampled during final ground test stage, where almost all lasting system errors were removed, but there are still outliers in observations. For Algorithm 2, the R k is of the same Gaussian parameter as the simulated observations. For the proposed algorithm, c = 10 , K = 3 , η = μ = 0.02 .
The results are summarized in Table 1. In all cases, Algorithm 2 and the proposed algorithm outperforms Algorithm 1 significantly by state-based filtering. When there are outliers as in Cases 2 and 3, the proposed algorithm outperforms Algorithm 2 as it is more robust against different types of outliers.

4.4. Limitations

The above results were obtained by simulation or emulations. For a real GNSS receiver working in space, ephemeris error and propagation path error and other non-idealness will degrade the performance, which needs to be verified in future space missions.

5. Conclusions

In the past, space-borne GNSS receivers are primarily used for real-time orbit determination, or GNSS-based offline precise orbit determination, robustness is not so much a concern. For modern low earth orbit mobile communication satellites that adopt smart beam-forming to maximize data rate under limited satellite power, its on-board GNSS receiver is expected to be able to provide robust positioning and precise timing just like those stationary GNSS timing receivers widely used by ground mobile base-stations. Based on the experimental work on the GNSS receiver of the LING QIAO low earth orbit communication satellite, we proposed a positioning algorithm that is optimized for both real-time orbit determination and timing. In the proposed algorithm, measurement transformations are introduced to separate satellite position and velocity estimation from other unknowns, which allows for optimized filtering of satellite position and velocity incorporating any variation of orbit dynamics. Additionally, a two-threshold robust cubature Kalman filter was designed to counteract the adverse influence of observation outliers on position and velocity quality. After estimation of position and velocity, clock and frequency errors were estimated based on the idea of Reynolds averaging. It showed a 3D position RMS error of 1.2m, 3D velocity RMS error of 0.02m/s and a PPS RMS error of 11.8ns in hardware emulation tests. Future work includes introducing more complex space vehicle dynamics and batch based processing to smooth out errors that limits current positioning performance, network based aiding to remove GNSS satellites’ ephemeris error, etc.

Author Contributions

Conceptualization, X.C.; formal analysis, X.C.; investigation, X.C. methodology, T.M.; software, Q.W.; supervision, Y.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by National Natural Science Foundation of China (No. 61671264).

Acknowledgments

Thanks Wenyun Gao and Menglu Wang for their work on the project.

Conflicts of Interest

The authors declared that they have no conflicts of interest to this work.

Abbreviations

The following abbreviations are used in this manuscript:
GNSSGlobal Navigation Satellite Systems
LEOLow Earth Orbit
PPSPulse Per Second
CKFCubature Kalman filter

References

  1. Stieglitz, J.L. Global Positioning System receivers in space applications. In Proceedings of the 18th Digital Avionics Systems Conference, St Louis, MO, USA, 24–29 October 1999; p. 7.A.3. [Google Scholar]
  2. Bertiger, W.; Haines, B.; Kuang, D.; Lough, M.; Lichten, S.; Muellerschoen, R.; Vigue-Rodi, Y.; Wu, S. Precise Real-Time Low-Earth-Orbiter Navigation With the Global Positioning System (GPS); Telecommunications and Mission Operations Progress Report; Jet Propulsion Laboratory: Pasadena, CA, USA, 1999; pp. 42–137.
  3. Abbas, N.N.; Li, Y.J.; Fiaz, M. Attitude Determination of small satellite using phase and code measurements of Global Navigation Satellite System: Design, simulation and comparison. In Proceedings of the Electronics, Communications and Photonics Conference, Fira, Greece, 27–30 April 2013; pp. 1–6. [Google Scholar]
  4. Pascual, D.; Camps, A.; Martin, F.; Park, H.; Arroyo, A.A.; Onrubia, R. Precision bounds in GNSS-R ocean altimetry. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 2014, 7, 1416–1423. [Google Scholar] [CrossRef]
  5. Fazliani, Y.; Unwin, M.; Jales, P. Satellite-borne remote sensing: Using Space GPS/GNSS receiver for reflectometry. In Proceedings of the Satellite Navigation Technologies and European Workshop on GNSS Signals and Signal Processing, Noordwijk, The Netherlands, 5–7 December 2012; pp. 1–4. [Google Scholar]
  6. Chen, Q.; Won, D.; Akos, D.M.; Small, E.E. Vegetation Sensing Using GPS Interferometric Reflectometry: Experimental Results With a Horizontally Polarized Antenna. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 2016, 9, 4771–4780. [Google Scholar] [CrossRef]
  7. Purivigraipong, S.; Kuntanapreeda, S. Spacecraft Orbit Determination from Code Informtation of Global Positioning System Signals. In Proceedings of the TENCON 2005, Melbourne, Australia, 21–24 November 2005; pp. 1–6. [Google Scholar]
  8. Tsui, J.B.Y. Fundamentals of Global Positioning System Receivers: A Software Approach, 2nd ed.; John Wiley & Sons Inc.: New York, NY, USA, 2004. [Google Scholar]
  9. Misra, P.; Enge, P. Global Positioning System: Signals, Measurements, and Performance, 2nd ed.; Ganga-Jamuna Press: Lincoln, MA, USA, 2006. [Google Scholar]
  10. Kaplan, E.D.; Hegarty, C. Understanding GPS: Principles and Applications, 2nd ed.; Artech House: Norwood, MA, USA, 2005. [Google Scholar]
  11. Wan, E.; Merwe, R. The Unscented Kalman Filter for Nonlinear Estimation. In Proceedings of the IEEE 2000 Adaptive Systems for Signal Processing, Communications, and Control Symposium, Lake Louise, AB, Canada, 4 October 2000; pp. 153–158. [Google Scholar]
  12. Zhai, X.; Qi, F.; Zhang, H.; Xu, H. Application of unscented Kalman filter in GPS/INS. In Proceedings of the Photonics and Optoelectronics, Shanghai, China, 21–23 May 2012; pp. 1–3. [Google Scholar]
  13. Arasaratnam, I.; Haykin, S. Cubature Kalman Filters. IEEE Trans. Autom. Control 2009, 54, 1254–1269. [Google Scholar] [CrossRef] [Green Version]
  14. Zhang, X.C.; Teng, Y.L. A New Derivation of the Cubature Kalman Filters. Asian J. Control 2015, 16, 1501–1510. [Google Scholar] [CrossRef]
  15. Pesonen, H.; Piche, R. Cubature-based Kalman filters for positioning. In Proceedings of the Positioning Navigation and Communication, Dresden, Germany, 11–12 March 2010; pp. 45–49. [Google Scholar]
  16. Li, W.; Gong, D.; Liu, M.; Chen, J.; Duan, D. Adaptive robust Kalman filter for relative navigation using global position system. Radar Sonar Navig. IET 2013, 7, 471–479. [Google Scholar] [CrossRef]
  17. Song, K.; Cong, S.; Deng, K.; Shang, W.; Kong, D.; Shen, H. Design of adaptive strong tracking and robust Kalman filter. In Proceedings of the 33rd Chinese Control Conference, Nanjing, China, 28–30 July 2014; pp. 6626–6631. [Google Scholar]
  18. Alam, N.; Balaei, A.T.; Dempster, A.G. A DSRC Doppler-Based Cooperative Positioning Enhancement for Vehicular Networks with GPS Availability. IEEE Trans. Veh. Technol. 2011, 60, 4462–4470. [Google Scholar] [CrossRef]
  19. Gholami, M.R.; Gezici, S.; Strom, E.G. Improved Position Estimation Using Hybrid TW-TOA and TDOA in Cooperative Networks. IEEE Trans. Signal Process. 2012, 60, 3770–3785. [Google Scholar] [CrossRef]
  20. Chen, X.; Gao, W.; Wang, J. Robust all-source positioning of UAVs based on belief propagation. EURASIP J. Adv. Signal Process. 2013, 2013, 150. [Google Scholar] [CrossRef] [Green Version]
  21. Chen, X.; Zhao, S.; Wang, M.; Lu, M. Space-borne BDS receiver for LING QIAO satellite: Design, implementation and preliminary in-orbit experiment results. GPS Solut. 2016, 20, 1–11. [Google Scholar] [CrossRef] [Green Version]
  22. Unwin, M.; De Vos Van Steenwijk, R.; Gommenginger, C. The SGR-ReSI—A new generation of space GNSS receiver for remote sensing. In Proceedings of the 23rd International Technical Meeting of the Satellite Division of the Institute of Navigation ION GNSS, Portland, OR, USA, 21–24 September 2010; Oregon Convention Center: Portland, OR, USA, 2010; pp. 1061–1067. [Google Scholar]
  23. Huber, P.J.; Ronchetti, E.M. Robust Statistics, 2nd ed.; John Wiley & Sons Inc.: New York, NY, USA, 2011. [Google Scholar]
  24. Blanch, J.; Walter, T.; Enge, P. Satellite Navigation for Aviation in 2025. Proc. IEEE 2012, 100, 1821–1830. [Google Scholar] [CrossRef]
  25. Perala, T. Robust Kalman-type Filtering in Positioning Applications. In Kalman Filter; Kordic, V., Ed.; Intech: Rijeka, Croatia, 2010; Volume 14, pp. 271–288. ISBN 978-953-307-094-0. [Google Scholar]
  26. Chen, X.; Gao, W.; Wan, Y. Revisiting the doppler filter of LEO satellite GNSS receivers for precise velocity estimation. J. Electron. 2013, 30, 138–144. [Google Scholar] [CrossRef]
  27. Curran, J.T.; Lachapelle, G.; Murphy, C.C. Improving the Design of Frequency Lock Loops for GNSS Receivers. IEEE Trans. Aerospace Electron. Syst. 2012, 48, 850–868. [Google Scholar] [CrossRef]
  28. Schutz, B.; Tapley, B.; Born, G. Statistical Orbit Determination. Am. Press 2004, 48, 56–81. [Google Scholar]
  29. Leschziner, M. Statistical Turbulence Modelling for Fluid Dynamics; Imperial College Press: London, UK, 2015. [Google Scholar]
Figure 1. A 24 h in-orbit trace of tracked GPS satellite numbers by LING QIAO GPS receiver.
Figure 1. A 24 h in-orbit trace of tracked GPS satellite numbers by LING QIAO GPS receiver.
Sensors 20 02327 g001
Figure 2. Statistical distribution of the number of tracked GPS satellites by LING QIAO global navigation satellite system (GNSS) receiver on 15 September 2017.
Figure 2. Statistical distribution of the number of tracked GPS satellites by LING QIAO global navigation satellite system (GNSS) receiver on 15 September 2017.
Sensors 20 02327 g002
Figure 3. Pseudorange errors observed by the LING QIAO GNSS receiver in orbit.
Figure 3. Pseudorange errors observed by the LING QIAO GNSS receiver in orbit.
Sensors 20 02327 g003aSensors 20 02327 g003b
Figure 4. Signal processing flow of a space-borne GNSS receiver with the proposed algorithm.
Figure 4. Signal processing flow of a space-borne GNSS receiver with the proposed algorithm.
Sensors 20 02327 g004
Figure 5. Hardware emulation setup.
Figure 5. Hardware emulation setup.
Sensors 20 02327 g005
Figure 6. Performance of the proposed algorithm.
Figure 6. Performance of the proposed algorithm.
Sensors 20 02327 g006
Figure 7. An illustration of the outliers processing of the proposed algorithm.
Figure 7. An illustration of the outliers processing of the proposed algorithm.
Sensors 20 02327 g007
Table 1. Quantitative comparison of the robustness of the three algorithms.
Table 1. Quantitative comparison of the robustness of the three algorithms.
AlgorithmCase 1Case 2Case 3
3D
Pos.
RMSE
(m)
3D
Vel.
RMSE
(m/s)
3D
Pos.
RMSE
(m)
3D
Vel.
RMSE
(m/s)
3D
Pos.
RMSE
(m)
3D
Vel.
RMSE
(m/s)
Algorithm 11.6170.0811.9920.0261.4260.027
Algorithm 20.3940.0291.6780.0251.2800.025
The proposed algorithm0.3860.0291.6520.0241.1970.024

Share and Cite

MDPI and ACS Style

Chen, X.; Wei, Q.; Zhan, Y.; Ma, T. A Fine-Tuned Positioning Algorithm for Space-Borne GNSS Timing Receivers. Sensors 2020, 20, 2327. https://doi.org/10.3390/s20082327

AMA Style

Chen X, Wei Q, Zhan Y, Ma T. A Fine-Tuned Positioning Algorithm for Space-Borne GNSS Timing Receivers. Sensors. 2020; 20(8):2327. https://doi.org/10.3390/s20082327

Chicago/Turabian Style

Chen, Xi, QiHui Wei, YaFeng Zhan, and TianYi Ma. 2020. "A Fine-Tuned Positioning Algorithm for Space-Borne GNSS Timing Receivers" Sensors 20, no. 8: 2327. https://doi.org/10.3390/s20082327

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop