Next Article in Journal
A Macro-Pulse Photon Counting Lidar for Long-Range High-Speed Moving Target Detection
Next Article in Special Issue
Design and Simulation of a High-Speed Star Tracker for Direct Optical Feedback Control in ADCS
Previous Article in Journal
Performance Limits of GNSS Code-Based Precise Positioning: GPS, Galileo & Meta-Signals
Previous Article in Special Issue
Theoretical Limits of Star Sensor Accuracy
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Deeply Integrated GNSS/Gyro Attitude Determination System

by
Alexander Perov
and
Alexander Shatilov
*
Navigation Systems Laboratory, Moscow Power Engineering Institute, Kranokazarmennaya street 14, Moscow 111250, Russia
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(8), 2203; https://doi.org/10.3390/s20082203
Submission received: 22 March 2020 / Revised: 5 April 2020 / Accepted: 7 April 2020 / Published: 13 April 2020
(This article belongs to the Special Issue Attitude Sensors)

Abstract

:
Attitude determination systems based on Global Navigation Satellite Systems (GNSS) work on principle of phase interferometer, using multiple receiving antennas. They rely on a good quality of carrier phase tracking, that is not the case in real dynamic environment with low signal-to-noise ratio (SNR), for example, in a ground vehicle moving through an urban area or forest. There is still a problem in providing a GNSS attitude in such common conditions. This research is focused on improving sensitivity (i.e., the capability of providing attitude at a low SNR) and the reliability of the GNSS attitude determination system. It is contrasted with the majority of publications, where precision or computational efficiency is the main goal, but sensitivity and reliability are out of their scope. In the proposed system, sensitivity improved by using two measures: (a) tracking only phase differences instead of tracking full carrier phases—this is more sensitive due to the lower dynamics of the underlying process, and (b) using deep integration with gyroscope, where all phase differences are tracked in a vector gyro-aided loop closed on user’s attitude in state vector. The algorithm synthesis is given, and simulation results are presented in this article. This shows that the minimal working SNR is lowered from 27–36 dBHz (typical) down to 20 dBHz, even with a low-cost MEMS gyroscope.

Graphical Abstract

1. Introduction

Navigation systems are intended for the determination of coordinates, velocity and spatial orientation (attitude) that is described by rotation angles between body frame and navigation frame. For attitude determination, there are widely used inertial sensors (accelerometers and gyroscopes) comprising inertial navigation systems (INS) [1,2]. In recent decades, with the growing popularity of global navigation satellite systems (GNSS), [3,4,5] are commonly used GNSS-based attitude determination systems working on the principle of radio interferometer. The advantages of inertial sensors are autonomy and absolute immunity to interferences. Their drawbacks are errors increasing with time, the need for initial alignment and the very high cost for reasonable precision. The advantages of GNSS are a relatively low and stable attitude estimation error and good cost. On the other hand, GNSS’ attitude estimation error highly depends on receiving conditions, such as signal-to-noise ratio (SNR) and the presence of multipath and interference, and also on user dynamics and the distance between receiving antennas (baseline). One of the approaches to upgrading attitude determination system efficiency is developing the inertial-satellite-navigation system (ISNS), in which signals of inertial sensors and GNSS are jointly processed. The efficiency growth in ISNS is due to the fact that INS and GNSS are mutually complementary, i.e., they work on different physical principles [6]. The integrated GNSS/INS attitude determination system potentially possesses higher accuracy, sensitivity, continuity, reliability and anti-jam capability in comparison to separate attitude sensors. A lot of corresponding publications are devoted to the problem of the integrated estimation of linear movement parameters: coordinates and velocity [7,8,9,10,11]. The commonly used approaches to the integrated processing of INS and GNSS signals [6] are: loosely coupled [11], tightly coupled [10], deeply integrated [7,9]. The best characteristics of accuracy and noise/interference immunity are achieved in ISNSs with deeply integrated processing algorithms.
There are also integrated GNSS/INS processing algorithms for problems of attitude determination [12,13,14,15,16]. The most notable feature of these algorithms are the exploitation of several (2–4) GNSS antennas. The loosely coupled integration approach is prevalent: the inputs are the raw carrier phase and pseudo-range measurements from the GNSS receiver and the measurements of angular rate and acceleration vectors from three-axis gyroscopes and accelerometers [15]. The information about orientation is contained in the phase differences in GNSS signals received by spaced antennas. Therefore, in some way or another, the mentioned phase differences are used in the integration algorithm as the primal source of attitude information. It is known [15,17] that phase measurements are ambiguous. For phase ambiguity resolution, there are appropriate algorithms, for instance, the Lambda method [18]. It is necessary to note that phase is measured in the GNSS receiver with a phase-locked loop (PLL). PLL is the loop that is least immune to the noise and interference, and incapable of tracking weak signals with an SNR below 27 dBHz (typically). For assured ambiguity resolution phase-tracking, RMS error must not be more than the 2°–3° that is achieved only at SNR around 36 dBHz. Actual SNR can be much less in a real dynamic environment for ground vehicles moving through an urban area or just forest. There is still problem to provide GNSS attitude in such common conditions. The sensitivity (i.e., capability of providing attitude at a low SNR) of the GNSS/INS attitude determination system must be improved.
One of the solutions of this problem was proposed in [19]; it is based on the direct tracking of phase differences for the same signal received by different antennas. Instead of a coherent tracking of the signal’s carrier phase, only Doppler and delay are tracked with non-coherent loops that do not require phase lock and provide a 6–8 dB greater sensitivity than PLL. In this article, we enhance this approach by adding measurements from the three-axis gyro. These measurements, along with the GNSS signals from three antennas, are processed in an integration algorithm which evolved with a deeply integrated approach. The angular rate information from gyro helps in tracking phase differences by canceling angular dynamics. The phase differences for all visible signals are continuously tracked in a vector loop. Vector dynamic aiding improves the sensitivity and interference immunity of the whole attitude determination system. This approach is contrasted to the ones in the known literature, where precision or ambiguity resolution efficiency is the main goal, but sensitivity and reliability are out of the scope. Vector loop and the deep integration with a gyroscope eliminate the need for ambiguity resolution, as well as cycle slip detection and repairs in runtime. Only at initialization and after a long GNSS outage is ambiguity resolution required.
It is known [2] that orientation can be described by Euler’s angles, transformation matrix, rotation vector, quaternions, Rodrigues parameters, etc. In [20], we described the Euler’s angle-based, deeply integrated attitude determination algorithm for ISNS. In recent years, quaternion representation is more often used, and, in this article, it will be used as well.
In the majority of publications (including [1,8,9,10,11,12,13,14,15,16]), accelerometer and gyro outputs are considered as measurements. In this article, a different method is used: the gyro measurements are substituted into the state vector (quaternion) dynamic model as a known function, as we described in [6,21]. This approach, on the one hand, simplifies an integration algorithm computationally and, on the other hand, ensures smooth dead-reckoning functionality when GNSS signals are lost. The gyro errors (biases, scales, misalignments) are included in the state vector, so they are estimated when GNSS signals are strong and compensated for during GNSS outage.
Another feature of the proposed attitude estimation algorithm is the algorithm synthesis method. In [12,13,14,15,16], the Wahba quadratic form [22] is used for the synthesis. In this article, statistical nonlinear filtering theory [23,24] is used, and, particularly, the extended Kalman filter (EKF) is taken as the base for integration algorithm. For synthesis purposes, the original model of received signals’ carrier phases is used, which consists of two components caused by the transitional and rotational movement of the antenna system. This could synthesize the algorithm for the direct tracking of inter-antenna carrier phase differences that include rotational movement only.
The proposed deeply integrated GNSS/gyro attitude determination algorithm is recommended for implementation in navigational equipment that works in harsh receiving conditions with a low SNR, multipath, shadowing and high user dynamics in urban canyons or forest environment.

2. Algorithm Synthesis

For 3D attitude determination, three spaced GNSS antennas (as a minimum required number) are used, and a triad of gyroscopes. Attitude estimation algorithm is synthesized by using the statistical theory of optimal nonlinear filtering [23,25]. For this purpose, we shall formulate the statistical description of:
  • I/Q components at the GNSS receiver’s correlator output, considered as the observations containing information about attitude hidden in carrier phase differences between antennas;
  • Gyro measurements;
  • Estimated state vector’s dynamic model.
The special model is used for GNSS signal’s carrier phase observed at spaced antennas. In this model, carrier phase is presented as the sum of two terms: one is defined by the transitional movement of the antenna plane along the user-satellite direction, and the other is defined by the rotational movement of the antennas plane around the chosen center of the body. This representation can exclude “transitional” terms from further synthesis, and process phase differences consisting of “rotational” terms only.
For the statistical description of gyro measurements, the random walk models are used for the sensor errors: biases, scales, misalignments. The attitude will be handled in quaternion form.
The important feature of the algorithm under development is the choice of estimated state vector. In state vector, we include quaternion representing user’s attitude, gyroscope biases, scale factors and axes misalignments, and unknown phase biases in radio-frequency front-ends. The stochastic dynamic model for this state vector is developed using gyro measurements as a known function.
The deep integration approach is used for algorithm synthesis. According to this approach, optimal estimation system can be considered as vector-tracking loop consisting of a vector discriminator (where all the received GNSS signals are processed) and integration filter (that processes discriminator outputs and gyroscope measurements). Discriminator equations’ derivation implies the cancellation of “transitional” terms of carrier phases. Error signals at discriminator outputs are proportional to estimation errors in inter-antenna phase differences that include only “rotational” terms of carrier phases. Vector feedback signal was formed out of predicted values of inter-antenna phase differences and corrected with estimated front-end phase biases. These values are calculated from a predicted estimate of attitude quaternion inside the integration filter. The estimate of quaternion at the output of the integration filter then transformed to estimates of conventional roll, pitch and yaw angles.

2.1. Coordinate Systems and Phase Differences

Considering the Earth-Centered Earth-Fixed reference frame O X Y Z (Figure 1) as a navigation frame, it will be denoted as e c e f . Moving object has a dedicated body reference frame O c X c Y c Z c with origin O c , also denoted as r p y . The locations of GNSS antenna phase centers are denoted as A j , j = 1 , 3 ¯ , their coordinates are considered to be known in r p y frame. Lines A 1 A 2 , A 1 A 3 , A 2 A 3 are named as baselines.
Assuming that the gyro triad is located at the point O c , its axes are aligned to r p y frame. Therefore, the gyro measures angular rate vector in r p y frame.
The direction of signal arrival from i -th navigation satellite (NS) ( i = 1 , n ¯ ) will be described by vector μ NS , i , specified in e c e f frame
μ NS , i = | x NS , i x O c R i y NS , i y O c R i z NS , i z O c R i | T ,
where x O c , y O c , z O c are coordinates of the point O c in e c e f frame; R i is a distance to i -th NS; x NS , i , y NS , i , z NS , i are coordinates of i -th NS in e c e f frame.
Then, three vectors are introduced L A j O c r p y , j = 1 , 3 ¯ that contain coordinates of points A j in r p y frame. The transformation of vectors L A j O c r p y , j = 1 , 3 ¯ from r p y frame to e c e f frame is given by the equation
L A j O c e c e f ( α ) = C r p y e c e f ( α ) L A j O c r p y ,   j = 1 , 3 ¯ ,
where α = | R P Y | T ; R , P , Y are the roll pitch and yaw angles respectively; C r p y e c e f is the coordinate transformation matrix from r p y to e c e f frame.
GNSS signals observed at the points A j , j = 1 , 3 ¯ are phase-shifted with respect to the signal observed at the point O c . The phase difference of each signal, relatively, O c is
ψ A j i ( α ) = 2 π μ NS , i T L A j O c e c e f ( α ) λ ,   j = 1 , 3 ¯ ,
where λ is the signal’s wavelength. By substituting Equation (2) to (3), we can describe phase difference in a more straight-forward form keeping in mind that L A j O c r p y is a known constant vector:
ψ A j i ( α ) = 2 π λ μ NS , i T C r p y e c e f ( α ) L A j O c r p y ,   j = 1 , 3 ¯ ,
From (3) and (4), it is obvious that information about attitude α is contained in relative phases ψ A j i ( α ) , j = 1 , 3 ¯ of signals received by antennas A j . Hence, the general principle of attitude determination using GNSS signals is based on the observation of relative phases ψ A j i , j = 1 , 3 ¯ , i = 1 , n ¯ in GNSS receiver and estimation attitude by using functional dependency Equation (3) in some way. The extended Kalman filer is used here for this purpose.

2.2. Gyro Measurements and Attitude Integration

Angular rate measurements at the output of three-axis strapdown gyroscope can be modeled as
y ω r p y ; k = ( I + m g ; k ) Ω r p y ; k + b g ; k + n g ; k
where Ω r p y ; k = | ω r , k ω p , k ω y , k | T is the true angular rate vector in rpy frame; m g ; k is the matrix of axes misalignments and scale factor errors; b g ; k is the bias vector; n g ; k is a vector of mutually independent discrete zero-mean white Gaussian noises with variances σ g 2 .
The user’s attitude will be defined by quaternion q r p y e c e f representing a rotation of the r p y frame axes to the ecef frame axes. We can rewrite phase difference (4) as the function of this quaternion
ψ A j i ( q r p y e c e f ) = 2 π λ μ NS , i T ( C ( q r p y e c e f ) L A j O c r p y ) ,   j = 1 , 3 ¯ ,
where C ( q r p y e c e f ) C r p y e c e f ( α ) .
The evolution of the quaternion q r p y e c e f can be described by the integration of angular rate vector Ω r p y ; k and earth rotation rate with the following equation
q r p y ; k e c e f = Δ E q r p y ; k 1 e c e f Δ r p y ; k ( Ω r p y ( t ) ) ,
where Δ E is the constant quaternion representing rotation of Earth over the time interval t k 1 t k ; Δ r p y ; k ( Ω r p y ( t ) ) is the update quaternion representing the rpy frame rotation in inertial space over time interval t k 1 t k ; —is the quaternion product.

2.3. Correlation Signal Processing in GNSS Receiver

All modern GNSS receivers are contain a multi-channel correlator that carries out the multiplication and accumulation of the input signal with the quadrature reference signal as follows
I j ; k i = l = 1 M y A j ; k , l · s r e f , j , I i ( t k , l ) ,   Q j ; k i = l = 1 M y A j ; k , l · s r e f , j , Q i ( t k , l ) ,
where s r e f , j , I i ( t k , l ) , s r e f , j , Q i ( t k , l ) are the quadrature components of reference signal; y A j ; k , l is the input signal from antenna A j , amplified and down-converted in corresponding front-end; k , l are the time indexes corresponding to the double-indexed time scale t k , l shown in Figure 2.
In this diagram, the second index of time moments t k , l , t k , l + 1 , t k , l + 2 …, l = 1 , M ¯ , corresponds to the time step T d —the step of fast signal processing after analog-to-digital converter, and the first index of time moments t k 1 = t k 1 , 0 , t k = t k , 0 , t k + 1 = t k + 1 , 0 … corresponds to slow processing with a time step T = M T d . Rapidly changing signal waveforms y A j ; k , l need to be described using “fast” samples at the moments t k , l within interval [ t k , t k + 1 ] . A description of slowly changing processes, such as correlator I/Q outputs, time delays, phases, Doppler shifts and orientation, is given at moments t k . We also assume that angular rate measurements from gyro are synchronized with moments t k .
When the GNSS receiver is locked, the i–th NS signal, the delay tracking error and frequency tracking error can be considered small. We suppose that the amplitudes of received i–th NS signal at different antennas are equal A j i = A i , j = 1 , 3 ¯ . In this case, the correlator outputs can be expressed as [6]
I j ; k i = A i M 2 cos ( φ 0 ; k i + π ϑ DI ; k i + ψ A j ; k i + δ A j + T 2 ( ω D , k i + ω A j , ψ ; k i ω ˜ D , k i ) ) + n I , j ; k i , Q j ; k i = A i M 2 sin ( φ 0 ; k i + π ϑ DI ; k i + ψ A j ; k i + δ A j + T 2 ( ω D , k i + ω A j , ψ ; k i ω ˜ D , k i ) ) + n Q , j ; k i ,
where φ 0 ; k i is the carrier phase tracking error at the beginning of interval [ t k , t k + 1 ] with respect to the point O c ; ϑ DI ; k i is the bit of digital information transmitted within navigation signal that can be 0 or 1; ψ A j ; k i is the carrier phase shift (3) at the beginning of interval [ t k , t k + 1 ] ; δ A j is the phase bias of the j -th antenna front-end; ω D , k i is a Doppler frequency shift due to motion of point O c relative to i -th NS, ω A j , ψ ; k i is a Doppler shift in the signal received at the point A j due to object rotation relative to the point O c (we suppose ω D , k i = c o n s t , ω A j , ψ ; k i = c o n s t over time interval [ t k , t k + 1 ] ); ω ˜ D , k i is the Doppler frequency shift in the reference signal; n I , j ; k i , n Q , j ; k i are non-correlated zero-mean white Gaussian noises with variances D I Q = 1 2 q c / n 0 , i T ( A i M 2 ) 2 , q c / n 0 , i = ( A i ) 2 2 N 0 . We have taken into account that, on the interval [ t k , t k + 1 ] carrier phase and phase difference, ψ A j ; k , l i (4) are changed linearly, i.e., ψ A j ; k , l i = ψ A j ; k i + ( l 1 ) T d ω A j , ψ ; k i .
There is an inevitable signal delay in the GNSS receiver’s signal chain (front-end) from the antenna to ADC. Because of technological differences, these delays will be different for different front-ends. Therefore, we have taken into account this phase lag as an add-on δ A j to the signal phase in front-end j. Supposing the use of Code Division Multiple Access (CDMA) signals only, an add-on δ A j will be stated as equal for all navigation signals received on the antenna A j .
Quadrature signals I j ; k i , Q j , k i can be expressed in a complex form X ˙ j ; k i = I j ; k i + j Q j ; k i where j 1 is an imaginary unit. For further simplification, but without loss of generality, the origin O c of rpy frame is put to the phase center of the antenna A 1 . Then, correlator outputs for i–th NS signal and the j -th antenna ( j = 1 , 3 ¯ ) can be rewritten in the form
X ˙ 1 ; k i = A i M 2 exp { j · ( φ 0 ; k i + π ϑ DI ; k i + δ A 1 + T 2 ( ω D , k i ω ˜ D , k i ) ) } + n ˙ X , 1 ; k i , X ˙ 2 ; k i = A i M 2 exp { j · ( φ 0 ; k i + π ϑ DI ; k i + ψ A 2 ; k i + δ A 2 + T 2 ( ω D , k i ω ˜ D , k i + ω A 2 , ψ ; k i ) ) } + n ˙ X , 2 ; k i , X ˙ 3 ; k i = A i M 2 exp { j · ( φ 0 ; k i + π ϑ DI ; k i + ψ A 3 ; k i + δ A 3 + T 2 ( ω D , k i ω ˜ D , k i + ω A 3 , ψ ; k i ) ) } + n ˙ X , 3 ; k i ,
where n ˙ X , j ; k i = n I , j ; k i + j · n Q , j ; k i .
In [6,19], it is shown that, even with a non-coherent tracking of the i–th NS signal, there can be computed estimations of phase differences ψ A j ; k i , j = 2 , 3 ¯ by using products
Y ˙ 2 ; k i = X ˙ 2 ; k i · ( X ˙ 1 ; k i ) = ( A i M ) 2 2 exp { j · ( ψ A 2 ; k i + δ A 2 / A 1 + T ω A 2 , ψ ; k i / 2 ) } + n ˙ Y , 2 ; k i , Y ˙ 3 ; k i = X ˙ 3 ; k i · ( X ˙ 1 ; k i ) = ( A i M ) 2 2 exp { j · ( ψ A 3 ; k i + δ A 3 / A 1 + T ω A 3 , ψ ; k i / 2 ) } + n ˙ Y , 3 ; k i
where δ A 2 / A 1 = δ A 2 δ A 1 , δ A 3 / A 1 = δ A 3 δ A 1 ; n ˙ Y , 2 ; k i , n ˙ Y , 3 ; k i —correlated complex zero-mean white Gaussian noises with variances D Y = D I Q ( 2 ( A i M / 2 ) 2 + D I Q ) and the covariance R n Y 2 / Y 3 = D I Q ( A i M / 2 ) 2 exp ( j · ( δ A 2 δ A 3 + T ( ω A 2 , ψ ; k i ω A 3 , ψ ; k i ) / 2 ) ) .
Complex signals (11) can be considered as the measurements of phase differences ψ A j , ψ ; k i , j = 2 , 3 ¯ in which the “transitional” part of the carrier phase tracking error is compensated along with the term responsible for the reference oscillator instability that is common for all three antennas. Still, there remain unknowns, δ A 2 / A 1 and δ A 3 / A 1 , caused by non-identical front-end phase biases.

2.4. Synthesis of Deeply Integrated GNSS/Gyro Attitude Determination Algorithm

Taking into account that ψ A 2 ; k i , ψ A 3 ; k i in (11) are functions of the quaternion q r p y , k e c e f (6), let us define the state vector to be estimated as x k = | ( q r p y , k e c e f ) T b g , k T S g , k T m g , k T δ k T | T ,
where S g = | m g , 11 m g , 22 m g , 33 | T —the diagonal elements of the matrix m g represented as a vector; m g = | m g , 12 m g , 13 m g , 23 | T —three off-diagonal elements of the matrix m g represented as a vector; δ k = | δ A 2 / A 1 δ A 3 / A 1 | T .
A dynamic model of quaternion q r p y , k e c e f is given by (7), where the Earth rotation quaternion Δ E and update quaternion Δ r p y ; k are described by formulas
Δ R P Y ; k = | cos ( ρ k / 2 ) ρ 1 ; k ρ k sin ( ρ k / 2 ) ρ 2 ; k ρ k sin ( ρ k / 2 ) ρ 3 ; k ρ k sin ( ρ k / 2 ) | ,   Δ E = | cos ( ω E T 2 ) 0 0 sin ( ω E T 2 ) | ,
where ω E is the Earth rotation rate; ρ k is the rotation vector representing a rotation of the r p y frame in inertial space over the time interval t k 1 t k . If this interval is small, ρ k can be approximately computed by a numerical integration of angular rate Ω r p y ( t )
ρ k T 2 ( Ω r p y , k + Ω r p y , k 1 ) = T ( I m g ; k 1 ) [ 1 2 ( y ω r p y ; k + y ω r p y ; k 1 ) b g ; k 1 ] + ξ ρ ; k ,
where ξ ρ ; k T 2 ( n g ; k + n g ; k 1 ) .
For errors m g , k and b g , k we use a stochastic model in the form of Wiener process (random walk)
m g , k = m g , k 1 + ξ m g , k ,   b g , k = b g , k 1 + ξ b g , k
where ξ b g , k is a vector of three independent white Gaussian noises with zero expectations and variances σ b g 2 ; ξ m g , k is a vector of three independent white Gaussian noises with zero expectations and variances σ m g 2 .
A similar model is used for the front-end phase biases
δ k = δ k 1 + ξ δ , k
where ξ δ , k is a vector of independent white Gaussian noises with zero expectations and variances σ δ 2 .
Equations (7), (12)–(15) describe a Markov model for the state vector x k that can be represented in the general vector form as
x k = F ( x k 1 , y ω r p y ; k , y ω r p y ; k 1 , ξ x ; k )
where ξ x ; k = | 1 2 ( n g ; k + n g ; k 1 ) T ξ b g ; k T ξ S g ; k T ξ m g ; k T ξ δ , k T | T is a vector of 14 independent zero-mean white Gaussian noises with variances: σ g 2 (three components), σ b g 2 (three components), σ m g 2 (six components), σ δ 2 (two components); F ( x k 1 , y ω r p y ; k , y ω r p y ; k 1 , ξ x ; k ) is a nonlinear function determined by the right sides of Equations (9), (12)–(15).
It is necessary to note that gyro output y ω r p y ; k is considered to be a known function of time in the context of state dynamics (16).
According to control theory, each tracking loop must contain a discriminator and filter. Complex signals (11) can be used to obtain discriminators for biased phase differences ψ A j ; k i + δ A j / A 1 , j = 2 , 3 ¯
u D i s c r , ψ A j ; k i = Im ( Y ˙ j ; k i · exp { j · ( ψ ˜ A j ; k i + δ ˜ A j / A 1 + T ω ˜ A j , ψ ; k i / 2 ) } )
where ψ ˜ A j ; k i is the predicted (in filter) estimate of phase difference, δ ˜ A j / A 1 is the predicted estimate of front-end j phase bias (relative to front-end 1), ω ˜ A j , ψ ; k i is the predicted estimate of phase difference rate that can be computed approximately by numerical derivation of Equation (6) with substitution q r p y , k e c e f q ˜ r p y , k e c e f . Hence the computation algorithm for ω ˜ A j , ψ ; k i is following: ω ˜ A j , ψ ; k i 2 π T λ μ NS , i T ( C ( q ˜ r p y , k e c e f ) C ( q ˜ r p y , k 1 e c e f ) ) ( L A j O c r p y L A 1 O c r p y ) .
In [20], it is shown that, if the tracking error Δ ψ = ψ A j ; k i ψ ˜ A j ; k i is small, the phase difference discriminator can be linearized to form
u D i s c r , ψ A j ; k i = S d i s c r i ( ψ A j ; k i ψ ˜ A j ; k i + δ A j / A 1 δ ˜ A j / A 1 ) + n j , k i ,   i = 1 , n ¯ ,   j = 2 , 3 ¯ ,
where S d i s c r i = ( A i M ) 2 / 2 is the slope of the discrimination function; n j , k i is the noise at the discriminator output.
Using the methodology described in [6], equivalent linear observations are introduced
y ˜ ψ A j ; k i = S d i s c r i ( ψ A j ; k i + δ A j / A 1 ) + n j , k i ,   i = 1 , n ¯ ,   j = 2 , 3 ¯ .
The observations (19) are combined in a vector with the following order y ˜ ψ , k = | y ˜ ψ A 2 ; k 1 , y ˜ ψ A 3 ; k 1 y ˜ ψ A 2 ; k n , y ˜ ψ A 3 ; k n | T .
For the synthesis of the integration filter, we use equivalent linear observations y ˜ ψ , k , where parameters ψ A j ; k i , δ A j / A 1 are the functions of the state vector x k , i.e.,
y ˜ ψ , k = S ψ ( x ˜ k ) + n k ,
S ψ ( x ˜ k ) = | S d i s c r 1 ( ψ ˜ A 2 ; k 1 + δ ˜ A 2 / A 1 ) S d i s c r 1 ( ψ ˜ A 3 ; k 1 + δ ˜ A 3 / A 1 ) S d i s c r n ( ψ ˜ A 2 ; k n + δ ˜ A 2 / A 1 ) S d i s c r n ( ψ ˜ A 3 ; k n + δ ˜ A 3 / A 1 ) | ,   ψ ˜ A j ; k i = 2 π λ μ NS , i T C ( q ˜ r p y , k e c e f ) ( L A j O c r p y L A 1 O c r p y ) .
Here, S ψ ( x ˜ k ) is the observations vector function, and n k = | n 2 , k 1 , n 3 , k 1 n 2 , k n , n 3 , k n | T .
A vector discriminator of the following form can be associated with the observations (20)
u D i s c r , ψ ; k = | u D i s c r , ψ A 2 ; k 1 , u D i s c r , ψ A 3 ; k 1 u D i s c r , ψ A 2 ; k n , u D i s c r , ψ A 3 ; k n | T .
Now, the observations vector (20) and the state vector x k , described by the vector Equation (16), can be substituted in general state estimation equations of the extended Kalman filter [24]
x ^ k = x ˜ k + K k ( y ˜ ψ , k S ψ ( x ˜ k ) ) , x ˜ k = f ( x ^ k 1 ) ,   K k = E ˜ k H k T ( H k E ˜ k H k T + D n ψ ) 1
E ˜ k = f ( x ^ k 1 ) x E k 1 ( f ( x ^ k 1 ) x ) T ,   E k = ( I K k H k ) E ˜ k
where K k is a Kalman gain matrix; E k is the a posteriori matrix of estimation covariance; E ˜ k is prediction covariance matrix for the predicted value of the estimated state vector x ˜ k ; D ξ x , k is the covariance matrix of dynamic disturbance noise (given in Appendix A);
H k = S ψ ( x ˜ k ) x
measurement sensitivity (or observation) matrix;
f ( x ^ k 1 ) F ( x ^ k 1 , y ω r p y ; k , y ω r p y ; k 1 , ξ x ; k = 0 ) .
The formulas for the derivative matrices f ( x ^ k 1 ) x and S ψ ( x ˜ k ) x that are present in Equations (24) and (25) are given in Appendix A.
Taking into account Equations (17) and (18), Equation (23) can be rewritten in the form
x ^ k = x ˜ k + K k u D i s c r , ψ ; k .
Finally, the proposed algorithm for attitude determination with GNSS signals and the three-axis gyro is described by Equations (11)–(13), (17), (21), (24)–(26).
The output attitude is represented in the form of quaternion q r p y , k e c e f . To obtain conventional Euler angles of roll, pitch and yaw, we have to make the following calculations
U = C r p y n e d ( α ) = ( C n e d e c e f ) T C ( q r p y , k e c e f ) , R = atan 2 ( U 3 , 2 , U 3 , 3 ) ,   P = atan 2 ( ( U 1 , 1 ) 2 + ( U 2 , 1 ) 2 , U 3 , 1 ) π 2 ,   Y = atan 2 ( U 2 , 1 , U 1 , 1 ) ,
where
C ( q ) = | q 1 2 + q 2 2 q 3 2 q 4 2 2 ( q 2 q 3 q 1 q 4 ) 2 ( q 1 q 3 + q 2 q 4 ) 2 ( q 2 q 3 + q 1 q 4 ) q 1 2 + q 3 2 q 2 2 q 4 2 2 ( q 3 q 4 q 1 q 2 ) 2 ( q 2 q 4 q 1 q 3 ) 2 ( q 1 q 2 + q 3 q 4 ) q 1 2 + q 4 2 q 3 2 q 2 2 | ,
and
C n e d e c e f = | s φ · c ϑ s ϑ c φ · c ϑ s φ · s ϑ c ϑ c φ · s ϑ c φ 0 s φ | .
Here, c φ = cos ( φ ) , s φ = sin ( φ ) , c ϑ = cos ( ϑ ) , s ϑ = sin ( ϑ ) ; φ is a geodetic latitude; ϑ is a geodetic longitude.
The block diagram of proposed system is shown in Figure 3.

2.5. Common Signal Processing Algorithms in GNSS Receiver

In Section 2.3, it is marked that the actual input for algorithm are correlator samples (8) that are generated in the GNSS receiver using reference signals s r e f , j , I i ( t k , l ) and s r e f , j , Q i ( t k , l ) . Reference signals require estimations of delays τ ˜ A j , k i and Doppler frequency shifts ω ˜ D Σ , j ; k i , i = 1 , n ¯ , j = 2 , 3 ¯ in incoming GNSS signals that can be obtained with non-coherent DLL and FLL.

2.5.1. Frequency Lock Loop

To simplify the Doppler shift estimation algorithm, we intentionally use the same reference Doppler frequency for all three antennas. A stochastic model is used for the Doppler shift dynamic in the form
ω D Σ ; k i = ω D Σ ; k 1 i + T ν k 1 i ,   ν k i = ν k 1 i + ξ ν ; k 1 i .
where ξ ν ; k 1 i is a zero-mean white Gaussian noise process with variance D ξ ν .
By defining the state vector as x ω , k i = | ω D Σ ; k i ν k i | we can write down (30) in vector form
x ω , k i = F ω x ω , k 1 i + G ω ξ ν ; k 1 i ,   where   F ω = | 1 T 0 1 | ,   G ω = | 0 1 | .
The filter for this process can be described by the following equation
x ^ ω , k i = x ˜ ω , k i + K u D i s c r , ω ; k i ,   x ˜ ω , k i = F ω x ^ ω , k 1 i ,
where u D i s c r , ω ; k is the output process of frequency discriminator [6]
u D i s c r , ω ; k i = j = 1 3 ( I j , k i ( ω ˜ D Σ , k i ) I j , k i ( ω ˜ D Σ , k i ) ω D Σ i + Q j , k i ( ω ˜ D Σ , k i ) Q j , k i ( ω ˜ D Σ , k i ) ω D Σ i ) ,
where I j , k i ( ω ˜ D Σ , k i ) , Q j , k i ( ω ˜ D Σ , k i ) are defined by (8). Derivatives of these components are described in [6] as
I j , k i ( ω ˜ D Σ , k i ) ω D Σ i = l = 1 M y A j ; k , l h r c i ( t k , l τ ˜ A j , k i ) ( l 1 ) T d sin ( ω 0 t k , l + ω ˜ D Σ , j ; k i ( l 1 ) T d + φ r g ; k , l ) ,   Q j , k i ( ω ˜ D Σ , k i ) ω D Σ i = l = 1 M y A j ; k , l h r c i ( t k , l τ ˜ A j , k i ) ( l 1 ) T d cos ( ω 0 t k , l + ω ˜ D Σ , j ; k i ( l 1 ) T d + φ r g ; k , l ) .
The vector of loop filter coefficients K is calculated by known formulas [6] from the required bandwidth.

2.5.2. Delay Lock Loop

This uses a stochastic model of delay dynamic in the form
τ k i = τ k 1 i ω D Σ ; k 1 i T 2 π f 0 + ξ τ ; k 1 i ,
where ξ τ ; k 1 i is a zero-mean white Gaussian noise with the variance D ξ τ , f 0 is a signal’s carrier frequency.
Here, we consider ω D Σ ; k 1 i as a partially determined process, that can be obtained from FLL output: ω D Σ ; k 1 i = ω ˜ D Σ ; k 1 i δ ω , k 1 , where δ ω , k 1 is an FLL tracking error.
The filter for process (35) is described by Equations [6]
τ ^ k i = τ ˜ k i + K τ u D i s c r , τ ; k i ,   τ ˜ ω , k i = τ ^ k 1 i ω ˜ D Σ ; k 1 i T 2 π f 0 ,
where ω ˜ D Σ ; k 1 i is the extrapolated Doppler shift estimation for the i-th NS produced by the tracking system (32),
u D i s c r , ω ; k i = j = 1 3 X j , k i ( τ ˜ k i ) τ i ,
X j , k i ( τ ˜ k i ) = ( I j , k i ( τ ˜ k i ) ) 2 + ( Q j , k i ( τ ˜ k i ) ) 2 .
Equation (37) is written in supposition that the ranging code delay is approximately same for all three antennas. The derivatives in Equation (37) are computed as finite differences using early and late correlators [6,26]. The loop filter coefficient K τ is calculated by a known formula [6] from the required bandwidth.

2.5.3. Amplitude Estimator

Signal’s amplitude A i is required for the calculation of the discriminator’s slope S d i s c r i in (21). It can be shown with (9) that metric X j , k i ( τ ˜ k i ) from (38) is equal to A i M 2 with precision to noise term. Therefore, we can estimate amplitude with the following first-order filter
A ^ k i = A ^ k 1 i · ( 1 β ) + β · 2 3 M j = 1 3 X j , k i ( τ ˜ k i )
where β is the filter coefficient.

3. Simulation and Results

To evaluate the performance of the proposed system, the simulation model has been developed. The model includes user dynamics, GNSS GLONASS constellation (coordinates and velocities of satellites), 3x antenna model, three-axis MEMS gyro, correlator blocks and various tracking algorithms, as well as GNSS receiver navigation algorithms. All the processes in the model, i.e., correlator and gyro outputs, are simulated at a time step of T = 1 ms. The additional accumulation of I/Q components was performed with a variable time interval of an integer number of milliseconds.

3.1. Antenna Geometry

In the GNSS attitude determination system, the error depends on baseline length and the geometry of antenna. The antenna geometry chosen for simulation is an equal-sided triangle with a side length of 1 m. Hence, the attitude errors presented below are given for baseline length 1 m. Antenna geometry and body axes (R,P,Y) alignment are shown in Figure 4a.

3.2. GNSS Constellation

The attitude error also depends on the geometry of visible GNSS constellation. Only GLONASS constellation has been implemented. All signal characteristics correspond to L1OC signals. The sky view for the visible constellation is shown in Figure 4b. The simulation scenario included eight satellites with a geometric dilution of precision (GDOP) approximately equal to 2.5.

3.3. User Dynamics

Simulation scenario included the rotation of an antenna system around a vertical axis with an angular rate of about 360 °/s and sinusoidal tilts around the roll axis. The corresponding dynamics of roll, pitch and yaw angles are shown in Figure 5. The angular rates in RPY frame are shown in Figure 6. There was no transitional movement in the scenario.

3.4. Refernce Oscillator Dynamics

Commonly used TCXOs as the sources of time and frequency for GNSS receivers introduce severe dynamic disturbances for tracking loops. When it comes to the calculation of receiver’s sensitivity, only a proper account for the reference oscillator’s phase drift allows relevant results. Therefore, the recorded phase drift in real TCXO was used. The recording technique is described in [25]. The sample rate of phase drift process is 10 ksps. The TCXO is Morion’s GK-206TK. The experimental Allan deviation of this TCXO is shown in Figure 7a. The sample frequency drift process over one minute intervals is shown in Figure 7b. Frequency drift is transformed to the apparent Doppler’s velocity drift with ( c / f 0 ) coefficient, where c is the speed of light and f 0 is the nominal quartz frequency.

3.5. Gyroscope Parameters

A low-cost MEMS IMU MPU9250 from InvenSense is chosen as the prototype for gyro simulation. Its error parameters are shown in Table 1.

3.6. I/Q Adaptive Accumulation

The accumulation time for I/Q components in (8) determines the time interval for equivalent observations (19) in the integration filter. The lower this interval, the lower the prediction errors and higher the attitude accuracy. On the other hand, the less accumulation time for I/Q components in (8), the lower slope S d i s c r i and the higher effect of the noise n j , k i at the discriminator output (18). Therefore, it is necessary to adjust the accumulation time ( M T d ) for specific SNR to reach an optimum between noise and prediction errors. It is supposed that the accumulation time T a c c is equal to the integer number of milliseconds, i.e., T a c c = N a c c T , where T = 1 ms, and N a c c is computed by the following empirical formula
N a c c = round ( 10 0.1 ( 50 C / N 0 ) ) ,
where C / N 0 is the estimate of average SNR in dBHz. N a c c is limited in the range of 1…100.

3.7. Integration Filter Convergence and Attitude Precision

The attitude error process showing a convergence of the integration filters is presented in Figure 8. The initial attitude errors are about 2°. The front-end phase bias errors are δ A 2 / A 1 = 12° and δ A 3 / A 1 = 17°. The SNRs for received signals are within the typical range 35–40 dBHz depending on satellite elevation angle and antenna tilt. The accumulation time for I/Q components and discriminator processing interval is T a c c = 22 ms. It is seen that the convergence time is about 20 s. The attitude errors are within ±7 arcmin.
The convergence process of relative front-end phase biases δ A 2 / A 1 and δ A 3 / A 1 is shown in Figure 9. Here, δ ψ 2 δ A 2 / A 1 and δ ψ 3 δ A 3 / A 1 . One can see that these biases are estimated from initial errors 12° and 17° down to 0.5° precision.

3.8. Sensitivity and Attitude Precision in Range of SNR

To evaluate the attitude precision in a range of SNR and determine the lowest working SNR (sensitivity) for the proposed system, the following scenario has been applied. The system was operated for 20 s at SNR = 45–50 dBHz to reach a stationary state. Next, a slow degradation of SNR has been performed at the rate of 0.5 dBHz per second. The attitude error process for roll, pitch and yaw angles is shown in Figure 10. The SNR estimates for visible satellites are shown in Figure 11.
It can be seen that attitude error growth is non-linear. When SNR falls from 45–50 down to 18–23 dBHz, the attitude error increases adequately from ±3 to ±10 arcmin. Next, errors rapidly become ±23 arcmin and continue growing to ±1°. At this error level, signal tracking is totally lost. This happens at SNR 15–18 dBHz. Hence, the sensitivity of the proposed system is about 18 dBHz.
The rapid growth in attitude error at 55–57 s is connected with the loss of signal tracking. This can be seen from Figure 12, where the number of tracked signals during scenario is shown.
It should be noted that a loss of tracking happens at FLL/DLL, as described in Section 2.5. Therefore, the sensitivity of the whole system is limited by non-coherent tracking loops used for the tracking of the ranging code’s delay and Doppler frequency (including reference oscillator’s frequency drift). The deeply integrated phase-difference tracking system is apparently more sensitive.
The process of adaptation of accumulation time T a c c is shown in Figure 13. There is actually no adaptation after the 34th second, when SNR is below 30 dBHz.
The Kalman filter’s error covariance well reflects actual attitude errors. This allows covariance estimate to be used as a measure of the resulting attitude’s precision. By using the Kalman filter’s error covariance, the average attitude RMS error σ R P Y is obtained as a function of SNR ( C / N 0 ). This dependency is shown in Figure 14. The average attitude RMS error is introduced as σ R P Y = ( σ R 2 + σ P 2 + σ Y 2 ) / 3 , where ( σ R 2 + σ P 2 + σ Y 2 ) ( E 1 , 1 + E 2 , 2 + E 3 , 3 + E 4 , 4 ) / 4 .

3.9. Attitude Error during GNSS Outage

When GNSS signals are not available (i.e., under the bridges or in tunnels) it is still possible to estimate attitude by using a gyroscope. This is done automatically in the integration filter. In this case attitude error will be growing due to gyroscope errors. Nevertheless, in the proposed design, gyro errors are partially estimated according to observability conditions and compensated for during GNSS outage, making the error growth as low as possible.
To evaluate the attitude growth rate during GNSS outage, a Monte-Carlo simulation of 20 tests is performed. In each test system, operated normally at SNR = 35–40 dBHz for 15 s, GNSS outage was simulated by setting the SNR to −100 dBHz. The outage duration is 60 s. Randomization of gyro errors and front-end noises for each test is applied. The resulting attitude errors are shown in Figure 15. It can be seen that yaw error grows to about ±2.5°, roll and pitch errors grow by about ±1° per minute. The average attitude RMS error grows with a rate of about 1° per minute. These errors can be considered as low for the chosen type of MEMS gyro.

4. Discussion

4.1. Sensitivity

By designing the proposed deeply integrated algorithm for a GNSS/gyro attitude determination system, we focused on improving sensitivity, i.e., providing attitude at the lowest possible SNR. As follows from simulation results, we have achieved an attitude determination error of about ±60 arcmin (1 m baseline) at the lowest possible SNR of 18 dBHz. Comparing this result with analogous result obtained from a standard algorithm, in which carrier phases from three antennas are measured by using separate PLLs, then phase differences are calculated and used for attitude determination without using a gyroscope [6,20]. In Figure 16, the analytical curve of angular root-mean-square error (RMSE) vs. SNR for standard algorithm with 1 m baselines is shown. Compared to Figure 14, one can see that an angular RMSE of 5 arcmin is reached at an SNR of about 22 dBHz in the proposed algorithm, while in the standard algorithm this point corresponds to SNR about 38 dBHz. Therefore, we have a sensitivity improvement of about 16 dB in the proposed algorithm.
The result is achieved due to deeply integrated gyroscope/phase-difference tracking system, in which the transitional user movement and referenced oscillator’s frequency drift are removed from phase difference dynamics. Most of the remained process dynamic is compensated for with gyro. The resulting sensitivity of the whole system is limited by the non-coherent tracking loops used for tracking the ranging code’s delay and the Doppler frequency of signals coming in the reference antenna. Hence, the further sensitivity improvement can be achieved by:
  • Using all three antennas for the tracking of common Doppler frequency and code delay (+5 dB, approximately);
  • Using deep integration of non-coherent tracking loops with INS and ultra-stable reference oscillator;
  • Using pilot GNSS signals for tracking at low SNR.

4.2. Precision

The achieved (in simulation) attitude accuracy is about ±7–8 arcmin at SNR of 35–40 dBHz with 1 m baselines between antennas and using a low-cost MEMS gyro. These errors should not be related seriously because they are obtained without accounting for multipath phase errors that are the main source of error for the GNSS attitude. We also did not consider the wind-up effect and phase pattern of GNSS antennas, which are subject to specific hardware.

4.3. Ambiguity Resolution

Taking a glance at (21), one can see that the reference value of phase difference ψ ˜ A j ; k i used in discriminator (17) is not ambiguous—it is reconstructed directly from attitude and known baseline. The error signal at discriminator output is bounded within ±1 radian because it is proportional to sin ( Δ ψ ) , where Δ ψ = ψ A j ; k i ψ ˜ A j ; k i is the true tracking error. Therefore, the equivalent linear observations (19) (that can be derived from (18) as y ˜ ψ A j ; k i = u D i s c r , ψ A j ; k i + S d i s c r i ( ψ ˜ A j ; k i + δ ˜ A j / A 1 ) ) are not ambiguous. Hence, the ambiguity resolution procedure is required only once—for initial attitude determination and, occasionally, after long GNSS outages with more than a 1–2 min duration, while in most analogous systems, this computationally heavy procedure must be performed at each step. For initial ambiguity resolution, well-known Lambda, BC-Lambda or C-Lambda methods can be used, as well as initial alignment from accelerometers and magnetic compass.

4.4. Cycle Slips

When tracking a GNSS signal with common PLL, the cycle slip may occur because of signal interruption (due to multipath or shadowing) or because of a rapid phase jerk due to user dynamics or reference quartz oscillator stress. Cycle slip means missing a number of integer phase cycles from the observed carrier phase. This is the common problem of all GNSS RTK and attitude determination systems. In the proposed system, phase difference is analogue to carrier phase. As opposed to the general GNSS receiver design, there are no separate loops tracking phase differences in this system, therefore no cycle slip in such a loop can occur. In other words, we do not track the carrier phase, so there is no place for a cycle slip to occur. The signal degradation effects mentioned above influence the system in different ways. Due to vector tracking, the signal degradation in only one channel may lead (in worst case) to a bias of discriminator (17) output. This will cause a minor increase in attitude error, but the tracking will be stabilized due to the normal work of other channels. This makes the proposed system less vulnerable to the effects that cause cycle slips in a normal GNSS receiver.

5. Conclusions

This article described the development of the deeply integrated algorithm of attitude determination by using GNSS signals from three spaced antennas and a three-axis gyro. The optimal nonlinear filtering theory was used. Deep integration technology (methodology) provided a sensitivity (and hence jammer immunity) improvement. In the synthesized integration algorithm, the direct estimate of inter-antenna phase difference is used in each pair of antennas. For the transitional movement tracking, non-coherent FLL and DLL are used. The block diagram of the synthesized deeply integrated GNSS/gyro attitude determination system is provided.
The dependency of attitude estimation error on SNR is analyzed using a simulation model. It is shown that, even with a low-cost MEMS gyro, the attitude RMS error of 5 arcmin is achieved at SNR = 22–23 dBHz, 16 dB lower than that of the standard algorithm with the same baseline of 1 m. The lowest SNR at which attitude determination is maintained for the proposed system is 18 dBHz, the attitude RMS error in this case is about 20 arcmin. This SNR is equivalent to a situation when the noise jammer is present with a jammer-to-signal ratio J/S = 44 dB within a 2 MHz system bandwidth. This implies that the proposed system improves jammer immunity by 10–14 dB in comparison to a standard coherent GNSS receiver with attitude function [6,24].

Author Contributions

Conceptualization and methodology, A.P.; software and validation, A.S.; formal analysis and investigation, A.S. and A.P.; writing—original draft preparation, review and editing, A.P. and A.S.; visualization, A.S.; project administration, A.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

Authors are grateful to their colleague Ilya V. Korogodin for his research in the field of phase-difference tracking systems and the exploration of discriminator (17) characteristics.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Here are given the formulas for S ψ ˜ ( x ˜ k ) x and f ( x ^ k 1 ) x that present in extended Kalman filter’s Equations (23)–(26). The derivative S ψ ˜ ( x ˜ k ) x is given by:
S ψ ˜ ( x ˜ k ) x = 2 π λ | S d i s c r 1 μ 1 , k T q r p y , k e c e f ( C ( q ˜ r p y , k e c e f ) ( L A 2 O c r p y L A 1 O c r p y ) ) 0 1 × 9 1 0 S d i s c r 1 μ 1 , k T q r p y , k e c e f ( C ( q ˜ r p y , k e c e f ) ( L A 3 O c r p y L A 1 O c r p y ) ) 0 1 × 9 0 1 S d i s c r n μ n , k T q r p y , k e c e f ( C ( q ˜ r p y , k e c e f ) ( L A 2 O c r p y L A 1 O c r p y ) ) 0 1 × 9 1 0 S d i s c r n μ n , k T q r p y , k e c e f ( C ( q ˜ r p y , k e c e f ) ( L A 3 O c r p y L A 1 O c r p y ) ) 0 1 × 9 0 1 | ,
where
q r p y e c e f ( C ( q ˜ r p y , k e c e f ) L r p y ) = | Ξ ˜ k 1 Ξ ˜ k 2 Ξ ˜ k 3 Ξ ^ k 4 | , Ξ ˜ k 1 = ( C ( q ˜ r p y , k e c e f ) L r p y ) ( q 1 ) r p y e c e f = 2 | ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f | L r p y , Ξ ˜ k 2 = ( C ( q ˜ r p y , k e c e f ) L r p y ) ( q 2 ) r p y e c e f = 2 | ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f | L r p y , Ξ ˜ k 3 = ( C ( q ˜ r p y , k e c e f ) L r p y ) ( q 3 ) r p y , k e c e f = 2 | ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f | L r p y , Ξ ˜ k 4 = ( C ( q ˜ r p y , k e c e f ) L r p y ) ( q ˜ 4 ) r p y e c e f = 2 | ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 1 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 2 ) r p y ; k e c e f ( q ˜ 3 ) r p y ; k e c e f ( q ˜ 4 ) r p y ; k e c e f | L r p y ,
L r p y is a vector corresponding to the baseline ( L A 2 O c r p y L A 1 O c r p y ) or ( L A 3 O c r p y L A 1 O c r p y ) .
For f ( x ^ k 1 ) we shall use the following designation
f ( x ^ k 1 ) F ( x ^ k 1 , y ω r p y ; k , y ω r p y ; k 1 , ξ x ; k = 0 ) = | f q T ( x ^ k 1 ) b ^ g , k 1 T S ^ g , k 1 T m ^ g , k 1 T δ k 1 T | T .
Therefore the derivative f ( x ^ k 1 ) x is obtained by differentiating of (A3) by x k 1 :
f ( x ^ k 1 ) x = | f q ( x ^ k 1 ) q r p y , k 1 e c e f 0 9 × 4 0 2 × 13 f q ( x ^ k 1 ) b g , k 1 f q ( x ^ k 1 ) S g , k 1 I 9 × 9 f q ( x ^ k 1 ) m k 1 0 13 × 2 I 2 × 2 | ,
where
f q ( x ^ k 1 ) q r p y e c e f = | q t 1 q t 2 q t 3 q t 4 q t 2 q t 1 q t 4 q t 3 q t 3 q t 4 q t 1 q t 2 q t 4 q t 3 q t 2 q t 1 | ,
is a matrix representation of the quaternion q t = Δ r p y ( ρ ^ k ) Δ E ;
f q ( x ^ k 1 ) b g , k 1 = T A k 1 ( I m ^ g ; k 1 ) ,   A k 1 = | q d 1 q d 2 q d 3 q d 4 q d 2 q d 1 q d 4 q d 3 q d 3 q d 4 q d 1 q d 2 q d 4 q d 3 q d 2 q d 1 | · | L k 1 x L k 1 y L k 1 z |
where q d i are components of the quaternion q d k 1 = Δ E q ^ r p y , k 1 e c e f , L k x , ( y , z ) are the column vectors of size 4x1 defined by the formulas
L k x = | 0.5 Φ x Φ sin ( Φ 2 ) ( 1 Φ Φ x 2 Φ 3 ) sin ( Φ 2 ) + Φ x 2 2 Φ 2 cos ( Φ 2 ) Φ x Φ y Φ 3 sin ( Φ 2 ) + Φ x Φ y 2 Φ 2 cos ( Φ 2 ) Φ x Φ z Φ 3 sin ( Φ 2 ) + Φ x Φ z 2 Φ 2 cos ( Φ 2 ) | ,
L k y = | 0.5 Φ y Φ sin ( Φ 2 ) Φ x Φ y Φ 3 sin ( Φ 2 ) + Φ x Φ y 2 Φ 2 cos ( Φ 2 ) ( 1 Φ Φ y 2 Φ 3 ) sin ( Φ 2 ) + Φ y 2 2 Φ 2 cos ( Φ 2 ) Φ y Φ z Φ 3 sin ( Φ 2 ) + Φ y Φ z 2 Φ 2 cos ( Φ 2 ) | ,
L k z = | 0.5 Φ z Φ sin ( Φ 2 ) Φ x Φ z Φ 3 sin ( Φ 2 ) + Φ x Φ z 2 Φ 2 cos ( Φ 2 ) Φ y Φ z Φ 3 sin ( Φ 2 ) + Φ y Φ z 2 Φ 2 cos ( Φ 2 ) ( 1 Φ Φ z 2 Φ 3 ) sin ( Φ 2 ) + Φ z 2 2 Φ 2 cos ( Φ 2 ) | ,
where Φ = | Φ x Φ y Φ z | T ρ ˜ k ,
f q ( x ^ k 1 ) S g = T A k | β 1 0 0 0 β 2 0 0 0 β 3 | ,   f q ( x ^ k 1 ) m g = T A k 1 | β 2 β 3 0 0 0 β 3 0 0 0 | ,   β = 1 2 ( y ω r p y ; k + y ω r p y ; k 1 ) b ^ g ; k 1 .
The covariance matrix of dynamic disturbance noise D ξ x , k 1 incoming in (24) can approximately be found using linearization of the function F ( ) at the point α ( x ^ k 1 , y ω r p y ; k , y ω r p y ; k 1 , ξ x ; k = 0 ) :
D ξ x , k F ( α ) ξ x M [ ξ x ; k ξ x ; k T ] ( F ( α ) ξ x ) T = | σ g 2 2 f q ( x ^ k 1 ) b g ( f q ( x ^ k 1 ) b g ) T 0 11 × 4 σ b g 2 I 3 × 3 0 σ m g 2 I 6 × 6 0 4 × 11 0 σ δ 2 I 2 × 2 | .

References

  1. Grewal, M.S.; Andrews, A.P.; Bartone, C.G. Global Navigation Satellite Systems, Inertial Navigation, and Integration, 3rd ed.; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 2013; pp. 54–107. [Google Scholar]
  2. Markley, F.L.; Crassidis, J.L. Fundamentals of Spacecraft Attitude Determination and Control; Springer: New York, NY, USA, 2014; pp. 140–147. [Google Scholar]
  3. Cohen, C.E. Attitude determination. In Global Positioning System: Theory and Applications; Parkinson, В.W., Spilker, J.J., Eds.; American Institute of Aeronautics and Astronautics: Washington, DC, USA, 1996; Volume 2, pp. 519–538. [Google Scholar]
  4. Suhandri, H.F. Instantaneous Estimation of Attitude from GNSS; Institute of Navigation, University of Stuttgart: Stuttgart, Germany, 2017; pp. 49–78. [Google Scholar]
  5. Zhao, L.; Li, N.; Li, L.; Zhang, Y.; Chun, C. Real-Time GNSS-Based Attitude Determination in the Measurement Domain. Sensors 2017, 17, 296. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  6. Bakitiko, R.V.; Dvorkin, V.V.; Karutin, S.N.; Korogodin, I.V.; Nagin, I.A.; Perov, A.I.; Povalyaev, A.A.; Fatkulin, R.F.; Shatilov, A.Y. GLONASS. Modernization and Trends; Perov, A.I., Ed.; Radiotechnika: Moscow, Russia, 2020; pp. 735–855. [Google Scholar]
  7. Olesen, D.; Jakobsen, J.; Knudsen, P. Ultra-Tightly Coupled GNSS/INS for Small UAVs. In Proceedings of the 30th International Technical Meeting of the Satellite Division of the Institute of Navigation, Portland, OR, USA, 25−29 September 2017; pp. 2587–2602. [Google Scholar]
  8. Farrell, J.A. Aided Navigation. GPS with High Rate Sensors; McGraw-Hill Companies: New York, NY, USA, 2008; pp. 421–430. [Google Scholar]
  9. Soloviev, A.; Toth, C.; Grejner-Brzezinska, D. Performance of Deeply Integrated GPS/INS in Dense Forestry Areas. In Proceedings of the 24th International Technical Meeting of the Satellite Division of the Institute of Navigation, Portland, OR, USA, 19–23 September 2011; pp. 2427–2435. [Google Scholar]
  10. Liu, W.; Liu, B.; Chen, X. Multi-sensor Fusion Algorithm Based on GPS/MEMS-IMU Tightly Coupled for Smartphone Navigation Application. In Proceedings of the 30th International Technical Meeting of the Satellite Division of the Institute of Navigation, Portland, OR, USA, 25–29 September 2017; pp. 2973–2980. [Google Scholar]
  11. Dusha, D.; Mejias, L. Attitude Observability of a Loosely-coupled GPS/Visual Odometry Integrated Navigation Filter. In Proceedings of the Australasian Conference on Robotics and Automation, Brisbane, Australia, 1–3 December 2010. [Google Scholar]
  12. Li, Y.; Efatmaneshnik, M.; Dempster, A. Attitude determination by integration of MEMS inertial sensors and GPS for autonomous agriculture applications. GPS Solut. 2012, 6, 41–52. [Google Scholar] [CrossRef]
  13. Lai, Y.C.; Jan, S.S. Attitude estimation based on fusion of gyroscopes and single antenna GPS for small UAVs under the influence of vibration. GPS Solut. 2011, 15, 67–77. [Google Scholar] [CrossRef]
  14. Wu, Y.; Wang, J.; Hu, D. A New Technique for INS/GNSS Attitude and Parameter Estimation Using Online Optimization. IEEE Trans. Signal Process. 2014, 62, 2642–2655. [Google Scholar] [CrossRef] [Green Version]
  15. Cai, X.; Hsu, H.; Chai, H.; Ding, L.; Wang, Y. Multi-antenna GNSS and INS Integrated Position and Attitude Determination without Base Station for Land Vehicles. J. Navig. 2019, 72, 342–358. [Google Scholar] [CrossRef]
  16. Xu, P.; Shu, Y.; Niu, X.; Liu, J.; Yao, W.; Chen, Q. High-rate multi-GNSS attitude determination: Experiments, comparisons with inertial measurement units and applications of GNSS rotational seismology to the 2011 Tohoku Mw9.0 earthquake. Meas. Sci. Technol. 2019, 30, 1–23. [Google Scholar] [CrossRef]
  17. Ballal, T.; Bleakley, C.J. GNSS Instantaneous Ambiguity Resolution and Attitude Determination Exploiting the Receiver Antenna Configuration. IEEE Trans. Aerosp. Electron. Syst. 2014, 50, 2061–2069. [Google Scholar] [CrossRef] [Green Version]
  18. Teunissen, P.J.G. New Method for Fast Carrier Phase Ambiguity Estimation. In Proceedings of the IEEE Position Location and Navigation Symposium, Las Vegas, NV, USA, 11–15 April 1994; pp. 562–573. [Google Scholar]
  19. Perov, A. Tracking Algorithm for Estimating the Orientation Angles of the Object Based on the Signals of Satellite Radio Navigation System. Am. J. Appl. Sci. 2015, 12, 1000–1013. [Google Scholar] [CrossRef] [Green Version]
  20. Perov, A.I. Synthesis of Integrated One-stage Tracking Algorithm for GNSS and INS Based Attitude Estimation. J. Sib. Fed. Univ. Math. Phys. 2017, 10, 22–35. [Google Scholar] [CrossRef]
  21. Shatilov, A.Y.; Nagin, I.A. A Tightly-Coupled GNSS/IMU Integration Algorithm for Multi-Purpose INS. In Proceedings of the 25th International Technical Meeting of the Satellite Division of the Institute of Navigation, Nashville, TN, USA, 17–21 September 2012; pp. 867–873. [Google Scholar]
  22. Wahba, G. A Least Squares Estimate of Satellite Attitude. SIAM Rev. 1965, 7, 384–386. [Google Scholar] [CrossRef]
  23. Crisan, D.; Rozovskii, B. The Oxford Handbook of Nonlinear Filtering; Crisan, D., Ed.; Oxford University Press: Oxford, UK, 2011. [Google Scholar]
  24. Perov, A.I. Statistical Theory of Radiotechnical Systems; Radiotechnika: Moscow, Russia, 2003. [Google Scholar]
  25. Shatilov, A.Y. Reference Oscillator Short-Term Drift as it’s Sensed by GNSS Receiver. In Proceedings of the 27th International Technical Meeting of the Satellite Division of the Institute of Navigation, Tampa, FL, USA, 8−12 September 2014; pp. 2625–2634. [Google Scholar]
  26. Kaplan, E.D.; Hegarty, S.J. Understanding GPS/GNSS. Principles and Application, 3rd ed.; Artech House: Boston, MA, USA, 2017; pp. 452–454. [Google Scholar]
Figure 1. Geometry of baselines and reference frames.
Figure 1. Geometry of baselines and reference frames.
Sensors 20 02203 g001
Figure 2. Double-indexed time scale.
Figure 2. Double-indexed time scale.
Sensors 20 02203 g002
Figure 3. Block diagram of deeply integrated GNSS/Gyro attitude determination system.
Figure 3. Block diagram of deeply integrated GNSS/Gyro attitude determination system.
Sensors 20 02203 g003
Figure 4. Geometry issues: (a) Antenna geometry and body frame axes (R,P,Y); (b) Sky view for GNSS’ visible constellation.
Figure 4. Geometry issues: (a) Antenna geometry and body frame axes (R,P,Y); (b) Sky view for GNSS’ visible constellation.
Sensors 20 02203 g004
Figure 5. The dynamics of Roll, Pitch and Yaw angles.
Figure 5. The dynamics of Roll, Pitch and Yaw angles.
Sensors 20 02203 g005
Figure 6. Angular rates in RPY frame.
Figure 6. Angular rates in RPY frame.
Sensors 20 02203 g006
Figure 7. The characteristics of TCXO GK-206TK used in simulation: (a) Measured Allan deviation; (b) Frequency drift process in units of apparent Doppler’s velocity.
Figure 7. The characteristics of TCXO GK-206TK used in simulation: (a) Measured Allan deviation; (b) Frequency drift process in units of apparent Doppler’s velocity.
Sensors 20 02203 g007
Figure 8. Roll, pitch and yaw errors convergence process at SNR 35–40 dBHz.
Figure 8. Roll, pitch and yaw errors convergence process at SNR 35–40 dBHz.
Sensors 20 02203 g008
Figure 9. Front-end phase bias estimation errors.
Figure 9. Front-end phase bias estimation errors.
Sensors 20 02203 g009
Figure 10. Roll, pitch and yaw errors during SNR degradation from 50 to 20 dBHz.
Figure 10. Roll, pitch and yaw errors during SNR degradation from 50 to 20 dBHz.
Sensors 20 02203 g010
Figure 11. Simulated SNR degradation.
Figure 11. Simulated SNR degradation.
Sensors 20 02203 g011
Figure 12. Number of tracked signals during simulation scenario.
Figure 12. Number of tracked signals during simulation scenario.
Sensors 20 02203 g012
Figure 13. Accumulation time adaptation process induced by the degradation of SNR.
Figure 13. Accumulation time adaptation process induced by the degradation of SNR.
Sensors 20 02203 g013
Figure 14. Average attitude RMS error vs. SNR.
Figure 14. Average attitude RMS error vs. SNR.
Sensors 20 02203 g014
Figure 15. Roll, pitch and yaw errors during GNSS outage.
Figure 15. Roll, pitch and yaw errors during GNSS outage.
Sensors 20 02203 g015
Figure 16. Angular RMS error vs. SNR for standard attitude determination algorithm.
Figure 16. Angular RMS error vs. SNR for standard attitude determination algorithm.
Sensors 20 02203 g016
Table 1. Gyroscope errors.
Table 1. Gyroscope errors.
ParameterValue
From-run-to-run bias stability±2 (°/s)
Angular random walk (standard deviation)7 × 10−3 ( ° / s )
Flicker noise (standard deviation)6.6 × 10−3 (°/s)
Scale factor error±10−2
Axis-to-axis misalignment±0.05°
Linear acceleration effect on bias±0.05 (°/s/g)

Share and Cite

MDPI and ACS Style

Perov, A.; Shatilov, A. Deeply Integrated GNSS/Gyro Attitude Determination System. Sensors 2020, 20, 2203. https://doi.org/10.3390/s20082203

AMA Style

Perov A, Shatilov A. Deeply Integrated GNSS/Gyro Attitude Determination System. Sensors. 2020; 20(8):2203. https://doi.org/10.3390/s20082203

Chicago/Turabian Style

Perov, Alexander, and Alexander Shatilov. 2020. "Deeply Integrated GNSS/Gyro Attitude Determination System" Sensors 20, no. 8: 2203. https://doi.org/10.3390/s20082203

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