Next Article in Journal
Security-Enhanced Push Button Configuration for Home Smart Control
Next Article in Special Issue
Equivalent Circuit Model of Low-Frequency Magnetoelectric Effect in Disk-Type Terfenol-D/PZT Laminate Composites Considering a New Interface Coupling Factor
Previous Article in Journal
Data Acquisition Based on Stable Matching of Bipartite Graph in Cooperative Vehicle–Infrastructure Systems
Previous Article in Special Issue
Magnetoelectric Current Sensors
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Calibration of Magnetometers with GNSS Receivers and Magnetometer-Aided GNSS Ambiguity Fixing

Department of Electrical and Computer Engineering, Technische Universität München, Arcisstrasse 21, 80333 München, Germany
Sensors 2017, 17(6), 1324; https://doi.org/10.3390/s17061324
Submission received: 25 April 2017 / Revised: 2 June 2017 / Accepted: 5 June 2017 / Published: 8 June 2017
(This article belongs to the Special Issue Magnetoelectric Heterostructures and Sensors)

Abstract

:
Magnetometers provide compass information, and are widely used for navigation, orientation and alignment of objects. As magnetometers are affected by sensor biases and eventually by systematic distortions of the Earth magnetic field, a calibration is needed. In this paper, a method for calibration of magnetometers with three Global Navigation Satellite System (GNSS) receivers is presented. We perform a least-squares estimation of the magnetic flux and sensor biases using GNSS-based attitude information. The attitude is obtained from the relative positions between the GNSS receivers in the North-East-Down coordinate frame and prior knowledge of these relative positions in the platform’s coordinate frame. The relative positions and integer ambiguities of the periodic carrier phase measurements are determined with an integer least-squares estimation using an integer decorrelation and sequential tree search. Prior knowledge on the relative positions is used to increase the success rate of ambiguity fixing. We have validated the proposed method with low-cost magnetometers and GNSS receivers on a vehicle in a test drive. The calibration enabled a consistent heading determination with an accuracy of five degrees. This precise magnetometer-based attitude information allows an instantaneous GNSS integer ambiguity fixing.

1. Introduction

A precise attitude information is essential for numerous applications, e.g., for navigation, for flight control and for constructions. Magnetometers provide attitude information globally but are affected by sensor biases and measurement errors. The latter ones can be systematic due to metallic environment and/or stochastic due to measurement noise. Sensor biases and systematic errors can be removed by calibration.
The calibration can be performed with three Global Navigation Satellite System (GNSS) receivers (e.g., GPS, Galileo, GLONASS, Beidou) being placed on the same platform as the magnetometer. Satellite navigation enables the determination of the relative position between both GNSS receivers in a local coordinate frame, e.g., the North-East-Down (NED) frame. The obtained relative position is related to the prior knowledge of the relative position in the body-fixed frame to obtain the platform’s attitude.
The use of GNSS carrier phase measurements is required to obtain a precise attitude information. The carrier phases are periodic, which requires an integer ambiguity resolution for each differential measurement. An efficient integer least-squares estimation of these integer ambiguities has been developed by Teunissen in [1]. His ”Least Squares Ambiguity Decorrelation Adjustment” (LAMBDA) method includes an integer decorrelation and sequential tree search. The success rate of integer ambiguity fixing can be substantially increased by including prior information on the baseline. Teunissen has included prior information on the baseline length in [2,3] and Henkel and Günther have additionally included prior information on the attitude in [4]. The prior information on the length and attitude angles can be either a ”hard” or ”soft” information.
Henkel et al. have developed a method for determining magnetometer biases using two GNSS receivers in [5]. Crassidis et al. [6] and Psiaki et al. [7] used extended and unscented Kalman filters to estimate the sensor biases and scaling factors.
The purpose of this paper is threefold: first, we describe a method for calibration of magnetometer biases using attitude information from three GNSS receivers. Second, we describe a method for fast and reliable integer ambiguity fixing using magnetometer-based attitude information. Finally, the proposed methods are verified with measurements of low-cost magnetometers and GNSS receivers in a test drive with a vehicle.

2. Measurement Models

In this section, we introduce a precise model for the magnetometer measurements.

Measurement Model for Magnetic Field Sensor

We model the magnetic flux measurement in the sensor-fixed s-frame at epoch t n as a sum of true magnetic flux, measurement bias b m s and measurement noise ε m s :
m s ( t n ) = R g s ( t n ) · m g ( t n ) + b m s ( t n ) + ε m s ( t n ) ,
where the magnetic flux is expressed in the local geomagnetic (g-) frame (right-hand coordinate system with the first axis pointing towards geomagnetic north pole, the second axis parallel to plane of magnetic flux, and the third axis perpendicular to magnetic flux and pointing downwards) and transformed into the sensor-fixed frame. The transformation R g s is performed in three steps:
  • transformation from local geomagnetic frame into local geographic navigation-frame, depending on the magnetic declination δ ν ,
  • transformation from local geographic navigation-frame into body-fixed frame, depending on the attitude of sensor’s platform (roll φ , pitch θ and heading ψ ),
  • transformation from body-fixed frame into sensor-fixed frame, depending on misalignment errors of sensors (roll offset Δ φ , pitch offset Δ θ and heading offset Δ ψ ).
The transformation R g s follows as:
R g s = R b s ( Δ φ ( t n ) , Δ θ ( t n ) , Δ ψ ( t n ) ) · R n b ( φ ( t n ) , θ ( t n ) , ψ ( t n ) ) · R g n ( Δ ν ) ,
with
R b s = R 1 ( Δ φ ) R 2 ( Δ θ ) R 3 ( Δ ψ ) ,
and
R n b = R 1 ( φ ) R 2 ( θ ) R 3 ( ψ ) = cos ( θ ) cos ( ψ ) cos ( θ ) sin ( ψ ) sin ( θ ) sin ( φ ) sin ( θ ) cos ( ψ ) cos ( φ ) sin ( ψ ) sin ( φ ) sin ( θ ) sin ( ψ ) + cos ( φ ) cos ( ψ ) sin ( φ ) cos ( θ ) cos ( φ ) sin ( θ ) cos ( ψ ) + sin ( φ ) sin ( ψ ) cos ( φ ) sin ( θ ) sin ( ψ ) sin ( φ ) cos ( ψ ) cos ( φ ) cos ( θ )
and
R g n = R 3 ( Δ ν ) .

3. Calibration of Magnetic Flux Sensors

The calibration of the magnetic flux sensor requires the estimation of the magnitude m g of the magnetic flux and of the sensor bias b m s . We consider the rotation matrix R g s as known. It is derived from GNSS in this section.

3.1. Estimation of Magnetometer Biases

The calibration of the magnetic flux requires measurements with rotational dynamics of multiple epochs to enable a separation of m g and b m s . The magnetic flux m g and bias b m s can be assumed constant over a few epochs. Therefore, we stack the magnetic flux measurement of Equation (1) of n epochs in a column vector and express them in terms of the unknowns:
m s ( t 1 ) m s ( t n ) = A m g b m s + η m s ( t 1 ) η m s ( t n ) with A = R g s ( t 1 ) 1 R g s ( t n ) 1 .
The magnetic flux and bias are determined such that the sum of squared measurement residuals is minimized, i.e.,
m ^ g b ^ m s = arg min m g , b m s m s ( t 1 ) m s ( t n ) A m g b m s Σ 1 2 = ( A T Σ 1 A ) 1 A T Σ 1 m s ( t 1 ) m s ( t n ) .

3.2. Attitude Determination with Three GNSS Receivers

In this section, we derive the attitude information needed for calibration of the magnetometer from three GNSS receivers.
It is assumed that all of the three GNSS receivers and the magnetometer are mounted on the same platform. The first GNSS receiver serves as reference receiver for attitude determination. The reference receiver and the other two receivers span two independent baselines pointing from the reference receiver to the other receivers. GNSS enables the estimation of these baselines in a local North-East-Down coordinate frame. The relation of the baseline in the North-East-Down and local body-fixed coordinate frames provides the attitude information.
GNSS receivers provide two types of range measurements with the following characteristics:
  • Carrier phase measurement λ φ r k ,
    ⊕ carrier phase can be tracked with millimeter accuracy,
    ⊖ carrier phase is period with λ = 19 cm and requires ambiguity resolution,
  • Pseudorange measurement ρ r k ,
    ⊕ pseudorange is an unambiguous range measurement,
    ⊖ pseudorange measurement is more sensitive to multipath,
    ⊖ pseudorange measurement can only be tracked with meter-level accuracy.

3.2.1. Modeling of Differential GNSS Measurements

We use both types of measurements and perform differential measurements between the reference receiver (being indexed by 1) and any other receiver (being indexed by r) to eliminate atmospheric delays, orbital errors, satellite clock offsets and biases. Additionally, a reference satellite l is selected and the differential measurements of the reference satellite are subtracted from the differential measurements of any other satellite k { 1 , , K } to eliminate receiver clock errors and biases. The obtained double difference carrier phase measurement is modeled as
λ φ 1 r k l : = ( λ φ 1 k λ φ r k ) ( λ φ 1 l λ φ r l ) = ( e k l ) T R n e ( λ 1 , φ 1 ) b 1 r n + λ N 1 r k l + ε 1 r k l r , k , l ,
with the wavelength λ , the carrier phase measurement φ r k in unit of cycles, the normalized line of sight vector e k from satellite k to the receiver platform, the rotation matrix R n e from the navigation frame into the Earth Centered Earth Fixed (ECEF) (e-) coordinate frame depending on the absolute position of the platform (given by longitude λ 1 and latitude φ 1 ), the integer ambiguity N r k , the phase noise ε r k and the double difference operator ( · ) 1 r k l = ( · ) 1 k ( · ) r k ( · ) 1 l ( · r ) l .
Similarly, the double difference pseudorange measurement is modeled as
ρ 1 r k l : = ( ρ 1 k ρ r k ) ( ρ 1 l ρ r l ) = ( e k l ) T R n e ( λ 1 , φ 1 ) b 1 r n + Δ ρ MP , 1 r k l + η 1 r k l r , k , l ,
with the pseudorange multipath error Δ ρ MP , r k and pseudorange noise η r k .

3.2.2. Joint Estimation of Baselines, Pseudorange Multipaths and Ambiguities

The double difference carrier phase and pseudorange measurements from both baselines are stacked in a common measurement vector:
z n : = λ φ 12 ( t n ) λ φ 13 ( t n ) ρ 12 ( t n ) ρ 13 ( t n ) = H 0 λ · 1 0 0 0 0 H 0 λ · 1 0 0 H 0 0 0 1 0 0 H 0 0 0 1 H n b 12 n ( t n ) b 13 n ( t n ) N 12 N 13 Δ ρ MP 12 ( t n ) Δ ρ MP 13 ( t n ) + 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 ε λ φ 1 ( t n ) ε λ φ 2 ( t n ) ε λ φ 3 ( t n ) η ρ 1 ( t n ) η ρ 2 ( t n ) η ρ 3 ( t n ) ,
with
λ φ 1 r = λ φ 1 r 1 l λ φ 1 r K l , ρ 1 r = ρ 1 r 1 l ρ 1 r K l and H = ( e 1 l ) T ( e K l ) T · R n e ( λ 1 , φ 1 ) .
The number of unknowns of Equation (10) exceeds the number of measurements of one epoch, but the ambiguities are constant over time. Thus, measurements from multiple epochs are required to estimate the baselines, ambiguities and pseudorange multipaths. We introduce a state space/movement model to describe the temporal behavior of the state parameters, i.e.,
x n = ( b 12 n ( t n ) ) T , ( b 13 n ( t n ) ) T , N 12 T , N 13 T , ( Δ ρ MP 12 ( t n ) ) T , ( Δ ρ MP 13 ( t n ) ) T T = Φ n x n 1 + η x n ,
with state transition matrix Φ n and process noise η x n . A Kalman filter (see Brown and Hwang [8]) is used to estimate the state vector. We first disregard the integer property of ambiguities to obtain a float solution. The Kalman filter includes the state prediction
x ^ n = Φ n x ^ n 1 + Σ x ^ n = Φ n Σ x ^ n 1 + ( Φ n ) T + Σ x n ,
and the subsequent state update
x ^ n + = x ^ n + K n ( z n H n x ^ n ) Σ x ^ n + = ( 1 K n H n ) Σ x ^ n ( 1 K n H n ) T + K n ( Σ z n ) K n T .

3.2.3. Integer Ambiguity Fixing Using Prior Information on Baseline Coordinates

In this section, we exploit the integer property of ambiguities and describe the fixing of float ambiguities to integer ones. A joint fixing of ambiguities from both baselines is performed to exploit the correlation introduced by the use of a common receiver in both baselines. The integer ambiguities, baselines and pseudorange multipaths are determined such that the sum of squared residuals is minimized, i.e.,
min { N 12 , N 12 } Z , { b 12 n , b 13 n , Δ ρ MP 12 , Δ ρ MP 13 } R N ^ 12 N ^ 13 N 12 N 13 Σ N ^ 12 , N ^ 13 1 2 + b ˇ 12 n ( N 12 ) b ˇ 13 n ( N 13 ) Δ ρ ˇ MP 12 ( N 12 ) Δ ρ ˇ MP 13 ( N 13 ) b 12 n b 13 n Δ ρ MP 12 Δ ρ MP 13 Σ b ˇ 12 , b ˇ 13 1 2 .
An analytical optimization is not feasible due to the multi-dimensional integer parameters. Therefore, a sequential tree search is performed as suggested by Teunissen in [1] and Jonge and de Tiberius [9]. The ambiguity residuals r N 1 r k l : = N ^ 1 r k l N 1 r k l are expressed in terms of conditional ambiguities N ^ 1 r k l | 1 l , , ( k 1 ) l using the triangular decomposition of the float ambiguity covariance matrix (see Blewitt [10]). The lower and upper bound of the search interval of ambiguity N 1 r k l are derived by Jonge and de Tiberius in [9] as:
N 1 r k l N ^ 1 r k l | 1 l , ( k 1 ) l σ N ^ 1 r k l | 1 l , ( k 1 ) l · χ 2 j = 1 k 1 N ^ 1 r j l | 1 l , ( j 1 ) l N 1 r j l | 1 l , ( j 1 ) l 2 σ N ^ 1 r j l | 1 l , ( j 1 ) l 2
N 1 r k l N ^ 1 r k l | 1 l , ( k 1 ) l + σ N ^ 1 r k l | 1 l , ( k 1 ) l · χ 2 j = 1 k 1 N ^ 1 r j l | 1 l , ( j 1 ) l N 1 r j l | 1 l , ( j 1 ) l 2 σ N ^ 1 r j l | 1 l , ( j 1 ) l 2 ,
with χ 2 being the search space volume. A prior knowledge on the baselines is typically available in the body-fixed (b-) frame. The local (East-North-Up) navigation (n-) frame is related to the body-fixed frame via the attitude angles (roll φ , pitch θ and heading ψ ), i.e., the baseline can be re-parameterized as
b 1 r n = R b n ( φ , θ , ψ ) b 1 r b with R n b = ( R b n ) 1 = R 1 ( φ ) R 2 ( θ ) R 3 ( ψ ) .
The estimation of all three attitude angles requires at least three receivers spanning two baselines b 12 and b 13 . Once baseline estimates are available in both frames, the rotation matrix R b n ( φ , θ , ψ ) can be determined using Wahba’s solution [11]. It minimizes the cost function
C ( φ , θ , ψ ) = r = 2 3 b 1 r n R b n ( φ , θ , ψ ) b 1 r b 2 .
Once the rotation matrix is found, the attitude angles can obtained from Equation (4):
φ ^ = atan ( R n b ) 1 , 2 / ( R n b ) 1 , 1 , θ ^ = asin ( R n b ) 1 , 3 , ψ ^ = atan ( R n b ) 2 , 3 / ( R n b ) 3 , 3 .
We constrain the sequential tree search of inequality
N ^ 1 r k l σ N ^ 1 r k l · γ k l N 1 r k l N ^ 1 r k l + σ N ^ 1 r k l · γ k l k ,
by integrating prior information on the baseline lengths and coordinates (provided in body-fixed frame), i.e., we consider only these integer candidates N 1 r k l , where the respective baseline estimate shows consistent baseline length and attitude information. This leads to the following additional requirements:
b ˇ 1 r n ( N 1 r 1 l , , N 1 r k l ) b 1 r b 2 σ l ˇ 1 r 2 + σ l ¯ 1 r 2 ! γ l 1 r 2 r ,
min φ , θ , ψ r = 2 3 b ˇ 1 r n N 1 r 1 l , , N 1 r k l R b n ( φ , θ , ψ ) b 1 r b 2 ! γ φ , θ , ψ 2 ,
with the following notations:
b ˇ 1 r n ( N 1 r 1 l , N 1 r k l ) baseline estimate for partially fixed integer ambiguities,
σ l ˇ 1 r 2 variance of length of baseline estimate assuming correct partial ambiguity fixing,
σ l ¯ 1 r 2 variance of prior information on baseline length,
γ l 2 upper bound on the squared normalized baseline length error,
γ φ , θ , ψ 2 upper bound on the sum of squared baseline residuals.
We derive the baseline estimate for partially fixed ambiguities: the double difference ambiguities are split into float ambiguities N 1 r 1 and fixed ambiguities N 1 r 2 . As float and fixed double difference ambiguities in N 1 r are not sorted, the mapping of N 1 r 1 and N 1 r 2 to N 1 r is given by
λ N 1 r = A 1 r 1 ( λ ) N 1 r 1 + A 1 r 2 ( λ ) N 1 r 2 ,
where A 1 r 1 and A 1 r 2 describe the mapping of float/integer ambiguity vectors N 1 r 1 and N 1 r 2 to N 1 r . The ambiguity decomposition is included in the measurement model of Equation (10) being rewritten as
z n = H 0 0 H H 0 0 H H ¯ b 12 n ( t n ) b 13 n ( t n ) + A 12 1 ( λ ) 0 0 A 13 1 ( λ ) 0 0 0 0 A ¯ 1 N 12 1 N 13 1 + A 12 2 ( λ ) 0 0 A 13 2 ( λ ) 0 0 0 0 A ¯ 2 N 12 2 N 13 2   + η z n . .
The fixed ambiguities N ˇ 1 r 2 , r { 2 , 3 } are subtracted from the measurements. Subsequently, a projection on the space orthogonal to A ¯ 1 is applied to eliminate all non-baseline terms, i.e.,
P A ¯ 1 z n A ¯ 2 N ˇ 12 2 N ˇ 13 2 = P A ¯ 1 H ¯ b 12 n ( t n ) b 13 n ( t n ) + η z n .
The notation is further simplified by defining A ¯ : = P A ¯ 1 H ¯ . The least-squares estimate of both partially fixed baselines follows as
b ˇ 12 n ( t n ) b ˇ 13 n ( t n ) = A ¯ T Σ 1 A ¯ 1 A ¯ T Σ 1 z n A ¯ 2 N ˇ 12 2 N ˇ 13 2 .
The accuracy of the baseline estimates depends on the number of fixed ambiguities: if less than three ambiguities are fixed per baseline, the pseudoranges are needed and the accuracy is limited by the pseudorange multipath. If at least three ambiguities are fixed per baseline, the baselines can be estimated solely with carrier phase measurements resulting in a much higher accuracy.
The efficiency of the ambiguity fixing is substantially improved by the integer decorrelation of Teunissen [1]. The integer decorrelation transformation Z is applied to the double difference ambiguities, i.e.,
Z N 12 N 13 = Z 1 N 12 1 N 13 1 + Z 2 N 12 2 N 13 2 : = N ˜ 12 1 N ˜ 13 1 + N ˜ 12 2 N ˜ 13 2 .
The integer decorrelation transformation is invertible and preserves the integer property, i.e., the uncorrelated double difference ambiguities can be obtained from the decorrelated ones by
N 12 N 13 = Z 1 N ˜ 12 1 N ˜ 13 1 + N ˜ 12 2 N ˜ 13 2 .
The decorrelated fixed ambiguities N ˜ 1 r 1 and float ambiguities N ˜ 1 r 2 are introduced in the measurement model of Equation (25), which is rewritten as
z n A ( λ ) Z 1 A ˜ N ˜ ˇ 12 2 N ˜ ˇ 13 2 = H ¯ b 12 n ( t n ) b 13 n ( t n ) + A ( λ ) Z 1 A ˜ N ˜ 12 1 N ˜ 13 1 + η z n .
The decorrelated float ambiguities are eliminated by a projection on the space orthogonal of A ˜ . The least-squares baseline estimates for partially fixed decorrelated ambiguities follows as
b ˇ 12 n ( t n ) b ˇ 13 n ( t n ) = A ˜ ¯ T Σ 1 A ˜ ¯ 1 A ˜ ¯ T Σ 1 z n A ˜ N ˜ ˇ 12 2 N ˜ ˇ 13 2 ,
with A ˜ ¯ = P A ˜ H ¯ .
The baseline estimates are used to constrain the search interval in Equations (22) and (23). The reduction of search space enables a much more reliable ambiguity fixing.

4. Fast Initialization of GNSS Attitude Ambiguity Fixing with Calibrated Magnetometers

In this section, we describe the benefit of magnetometer-based attitude information for kinematic GNSS-based attitude determination.
In a first step, we derive the attitude from calibrated magnetic flux measurements. It is assumed that precise estimates of the sensor bias b ^ m s and of the magnetic flux strength m ^ g are available, e.g., using a previous calibration. In this case, the attitude information is obtained from the magnetic flux measurements by minimizing the sum of squared residuals, i.e.,
min φ ( t j ) , θ ( t j ) , ψ ( t j ) m s ( t j ) b ^ m s R b s ( Δ φ ^ , Δ θ ^ , Δ ψ ^ ) · R n b ( φ ( t j ) , θ ( t j ) , ψ ( t j ) ) · R g n ( Δ ν ^ ) · m ^ g 2 = min φ ( t j ) , θ ( t j ) , ψ ( t j ) R s b ( Δ φ ^ , Δ θ ^ , Δ ψ ^ ) · m s ( t j ) b ^ m s R n b ( φ ( t j ) , θ ( t j ) , ψ ( t j ) ) R g n ( Δ ν ^ ) · m ^ g 2 .
This minimization refers to the well-known Wahba’s problem. Its solution is provided in [11].
In a second step, we use this attitude information as prior knowledge in the GNSS-based attitude determination. The GNSS carrier phase ambiguities are again determined with a sequential tree search as described in the previous section.
However, the second constraint (23) on the attitude substantially simplifies as the attitude angles are known from the calibrated magnetometer. Thus, the minimization and Wahba’s solution [11] are no longer needed and Equation (23) simplifies to
r = 2 3 b ˇ 1 r n N 1 r 1 l , , N 1 r k l R b n ( φ ^ , θ ^ , ψ ^ ) b 1 r b 2 ! γ φ , θ , ψ 2 .
Figure 1 visualizes the constrained tree search. The integer candidates are determined sequentially for the satellites, whereas the integer candidates of each satellite are conditioned on the integer ambiguity candidates of the previous satellites. There are typically multiple integer candidates for each satellite. However, several integer candidates can be dropped due to inconsistent baseline length and attitude information, which reduces the number of branches to be searched.

Analysis of Benefit of Magnetometer-Based Attitude Information for GNSS Integer Ambiguity Fixing

In this section, we analyze the benefit of magnetometer-based attitude information for GNSS integer ambiguity fixing. Galileo double difference carrier phase and pseudorange measurements are simulated according to Equations (8) and (9) with the settings of Table 1.
The integer ambiguity estimation is performed in three steps:
  • Estimation of float solution of baselines and ambiguities by least-squares estimation using single epoch measurements,
  • Normalization of baseline estimates with prior information on baseline length and respective adjustment of float ambiguities,
  • Integer ambiguity fixing with sequential tree search and integer decorrelation using magnetometer-based attitude information and baseline length prior information.
Figure 2 shows the probability of incorrect integer ambiguity fixing as a function of the accuracy of the magnetometer-based heading and pitch angle accuracies. We can observe that the probability of incorrect integer ambiguity fixing is reduced by several orders of magnitude by the magnetometer based heading/pitch angle with an accuracy of 10 .
Figure 3 shows the probability of incorrect single epoch integer ambiguity fixing with attitude prior information over time. One can observe that the probability varies with the change of the satellite constellation, and can be significantly reduced by the magnetometer-based attitude information.

5. Measurement Results

This section describes the verification of the proposed magnetometer calibration and the achievable heading accuracy in a test drive using a tightly coupled GNSS/INS reference system. The method and results differ in the following aspects from our earlier paper [5]:
  • Calibration with Multi-GNSS (GPS + GLONASS)/INS tightly coupled attitude information instead of GPS-only attitude estimate, enabling higher reliability due to inertial sensors and faster calibration due to higher update rate,
  • Use of three instead of two GNSS receivers for full 3D attitude information,
  • Estimation of 3D magnetic flux in North-East-Down frame instead of 1D magnetic flux in the North-only direction, enabling use also in areas with systematic distortions of magnetic field and/or close to magnetic poles,
  • Use of the newest sensor generation: LEA M8T Multi-GNSS receiver of u-blox (Thalwil, Switzerland), Taoglas AGGP.35F dual-band GNSS antenna (Enniscorthy, Ireland), and MPU 9250 inertial sensor (San Jose, CA, USA).
The MPU 9250 [13] includes a three-axis silicon monolithic Hall-effect magnetic sensor with magnetic concentrator. The magnetic flux measurements are provided with a resolution of 0.6 μ T . Three multi-sensor modules were mounted on the roof of a vehicle, whereas each multi-sensor module included the above sensors. The inertial sensor provides 3D acceleration, 3D angular rate and 3D magnetometer measurements in the sensor-fixed frame with an update rate of 100 Hz. The distances between the GNSS antennas were around 1 m. The Multi-GNSS (GPS + GLONASS)/INS tightly coupled attitude determination included some pre-processing (synchronization, cycle slip correction [14,15] calibration of inertial sensor biases) and carrier phase integer ambiguity fixing.
Figure 4 shows the track of the test drive. It was split into two phases, i.e., a first phase for calibrating the magnetometer, and a second phase for testing the calibration of the magnetometer. In both phases, the track includes rotational dynamics.
Figure 5 shows the accuracy of the magnetic flux measurements and of our measurement model, i.e., the raw measurements are compared to estimated measurements derived from the least-squares estimate of the magnetic flux in the North-East-Down frame and the sensor biases. Obviously, both tracks fit quite well. The systematic variations over time in both subfigures are caused by changes in the attitude (especially heading). The estimated measurements are less noisy as the precise Multi-GNSS/INS tightly coupled attitude is used and as constant magnitudes of the magnetic field in North-East-Down directions are assumed over the considered period of 40 s.
Figure 6 shows the heading using calibrated magnetometer measurements in comparison with the tightly-coupled Multi-GNSS/INS heading. The latter one has an accuracy of 0.25 degrees and serves as reference. The figure also includes a filtered, calibrated magnetometer heading with a time constant of 0 . 1 s to reduce the noise of the magnetometer. The filtered magnetometer-based heading deviates by less than 10 degrees from the GNSS/INS tightly coupled heading as shown in the enlarged sections in Figure 7.

6. Conclusions

In this paper, a method for calibration of magnetic field sensors with three Global Navigation Satellite System (GNSS) receivers was provided. A GNSS-based attitude information was obtained from the relative positions between the GNSS receivers. The relative positions were jointly estimated with the carrier phase integer ambiguities and pseudorange multipath errors. The latter ones were considered as state parameters to exploit the spatial and temporal correlations of multipath. The reliability of carrier phase integer ambiguity fixing was improved by integration of prior information on the baseline coordinates provided in a local body-frame.
The attitude information of the calibrated magnetometer was also integrated into the sequential tree search of ambiguity fixing, i.e., integer candidates with inconsistent attitude information were disregarded. It was shown that a heading and pitch angle accuracy of 10 degrees are sufficient to reduce the probability of incorrect instantaneous ambiguity fixing by several orders of magnitude.
Finally, the proposed method was tested with three low-cost Multi-GNSS receivers and a magnetic field sensor in a test drive. A tightly coupled Multi-GNSS/INS system served as a reference. The measurement results showed that the calibrated and filtered heading differed by less than 10 from the reference heading.

Acknowledgments

This work was supported by the German Research Foundation (DFG) and the Technische Universität München within the funding programme Open Access Publishing.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Teunissen, P. The least-squares ambiguity decorrelation adjustment: A method for fast GPS ambiguity estimation. J. Geod. 1995, 70, 65–82. [Google Scholar] [CrossRef]
  2. Teunissen, P. The LAMBDA method for the GNSS compass. Artif. Satell. 2006, 41, 89–103. [Google Scholar] [CrossRef]
  3. Teunissen, P. Integer least-squares theory for the GNSS compass. J. Geod. 2010, 84, 433–447. [Google Scholar] [CrossRef]
  4. Henkel, P.; Günther, C. Reliable Integer Ambiguity Resolution: Multi-Frequency Code Carrier Linear Combinations and Statistical A Priori Knowledge of Attitude. Navigation 2012, 59, 61–75. [Google Scholar] [CrossRef]
  5. Henkel, P.; Berthold, P.; Kiam, J. Calibration of Magnetic Field Sensors with Two Mass-Market GNSS Receivers. In Proceedings of the IEEE Workshop on Positioning, Navigation and Communication (WPNC), Dresden, Germany, 12–13 March 2014; p. 5. [Google Scholar]
  6. Crassidis, J.; Lai, K.-L.; Harman, R. Real-time attitude-independent three-axis magnetometer calibration. J. Guid. Control Dyn. 2005, 28, 115–120. [Google Scholar] [CrossRef]
  7. Psiaki, M.; Martel, F.; Pal, P. Three-axis attitude determination via Kalman filtering of magnetometer data. J. Guid. Control Dyn. 1990, 13, 506–514. [Google Scholar] [CrossRef]
  8. Brown, R.G.; Hwang, P.Y.C. Random Signals and Applied Kalman Filtering, 4th ed.; John Wiley: Hoboken, NJ, USA, 2012. [Google Scholar]
  9. Jonge, P.; Tiberius, C. The LAMBDA Method for Integer Ambiguity Estimation: Implementation Aspects; LGR Series; Publications of the Delft Geodetic Computing Centre: Delft, The Netherlands, 1996; Volume 12, pp. 1–59. [Google Scholar]
  10. Blewitt, G. Carrier phase ambiguity resolution for the Global Positioning System applied to geodetic baselines up to 2000 km. J. Geophy. Res. 1989, 94, 10187–10203. [Google Scholar] [CrossRef]
  11. Wahba, G. A Least Squares Estimate of Satellite Attitude. SIAM Rev. 1965, 7, 409. [Google Scholar] [CrossRef]
  12. Zandbergen, R.; Dinwiddy, S.; Hahn, J.; Breeuwer, E.; Blonski, D. Galileo Orbit Selection. In Proceedings of the 17th International Technology Meeting of the Satellite Division of the Institute of Navigation (ION GNSS), Long Beach, CA, USA, 8–12 September 2004; pp. 616–623. [Google Scholar]
  13. Specification of Inertial Sensor MPU 9250. Invensense. Available online: https://www.invensense.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf (accessed on 28 May 2017).
  14. Henkel, P.; Oku, N. Cycle slip detection and correction for heading determination with low-cost GPS/INS receivers. In Proceedings of the IAG Proceedings of VIII Hotine Marussi Symposium on Mathematical Geodesy, Rome, Italy, 17–21 June 2013. [Google Scholar]
  15. Henkel, P.; Günther, C. Attitude determination with low-cost GPS/INS. In Proceedings of the 26th International Technology Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+), Nashville, TN, USA, 16–20 September 2013; pp. 2015–2023. [Google Scholar]
Figure 1. Integer ambiguity fixing: sequential tree search with attitude constraints.
Figure 1. Integer ambiguity fixing: sequential tree search with attitude constraints.
Sensors 17 01324 g001
Figure 2. Benefit of magnetometer-based prior attitude information for single epoch integer ambiguity fixing: the accuracy of the prior heading information is shown on the x-axis and the accuracy of the prior pitch information is provided in the legend.
Figure 2. Benefit of magnetometer-based prior attitude information for single epoch integer ambiguity fixing: the accuracy of the prior heading information is shown on the x-axis and the accuracy of the prior pitch information is provided in the legend.
Sensors 17 01324 g002
Figure 3. Benefit of magnetometer-based prior attitude information for single epoch integer ambiguity fixing: the probability varies over time due to the changing satellite constellation.
Figure 3. Benefit of magnetometer-based prior attitude information for single epoch integer ambiguity fixing: the probability varies over time due to the changing satellite constellation.
Sensors 17 01324 g003
Figure 4. Maps with track of vehicle, split into two processing steps.
Figure 4. Maps with track of vehicle, split into two processing steps.
Sensors 17 01324 g004
Figure 5. Magnetic flux measurements in sensor-fixed frames: the measured magnetic flux in x- and y- directions depends on the heading and is quite noisy. The least-squares estimate of the magnetic flux is much less noisy, as the estimation combines the measurements from 40 s to determine the 3D magnitude of the magnetic flux and the 3D biases.
Figure 5. Magnetic flux measurements in sensor-fixed frames: the measured magnetic flux in x- and y- directions depends on the heading and is quite noisy. The least-squares estimate of the magnetic flux is much less noisy, as the estimation combines the measurements from 40 s to determine the 3D magnitude of the magnetic flux and the 3D biases.
Sensors 17 01324 g005
Figure 6. Heading determination with calibrated magnetometer in comparison to tightly-coupled GNSS/INS heading: the latter one has an accuracy of 0.25 degrees and serves as a reference. As the magnetometer-based heading is noisy, a filtered version with a time constant of 0.1 s is also shown.
Figure 6. Heading determination with calibrated magnetometer in comparison to tightly-coupled GNSS/INS heading: the latter one has an accuracy of 0.25 degrees and serves as a reference. As the magnetometer-based heading is noisy, a filtered version with a time constant of 0.1 s is also shown.
Sensors 17 01324 g006
Figure 7. Detailed analysis of heading performance for two sections with moderate to high rotational dynamics: the filtered magnetometer-based heading deviates by less than 10 degrees from the GNSS/INS tightly coupled heading.
Figure 7. Detailed analysis of heading performance for two sections with moderate to high rotational dynamics: the filtered magnetometer-based heading deviates by less than 10 degrees from the GNSS/INS tightly coupled heading.
Sensors 17 01324 g007
Table 1. Simulated Galileo double difference measurements.
Table 1. Simulated Galileo double difference measurements.
simulated measurementssingle frequency double difference
pseudoranges and carrier phase measurements
on L1 ( f c = 1575 . 42 MHz) of 27 Galileo satellites
using nominal Walker constellation [12]
(satellite altitude: 23 , 222 km, orbital inclination: 56 )
receiver positionlongitude λ = 11 . 568578 E, latitude φ = 48 . 150889 N
baseline vectorlength of 1 m, random attitude angles
noise statisticsphase noise: σ φ = 2 mm
code noise: σ ρ = 2 m including multipath
accuracy of prior information on baseline length σ l ¯ 1 r = 2 cm
accuracy of magnetometer based attitude informationvariable accuracies for both heading and pitch angles

Share and Cite

MDPI and ACS Style

Henkel, P. Calibration of Magnetometers with GNSS Receivers and Magnetometer-Aided GNSS Ambiguity Fixing. Sensors 2017, 17, 1324. https://doi.org/10.3390/s17061324

AMA Style

Henkel P. Calibration of Magnetometers with GNSS Receivers and Magnetometer-Aided GNSS Ambiguity Fixing. Sensors. 2017; 17(6):1324. https://doi.org/10.3390/s17061324

Chicago/Turabian Style

Henkel, Patrick. 2017. "Calibration of Magnetometers with GNSS Receivers and Magnetometer-Aided GNSS Ambiguity Fixing" Sensors 17, no. 6: 1324. https://doi.org/10.3390/s17061324

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