## Summary

A vehicular pose estimation technique is presented that tightly couples multi-antenna carrier-phase differential GNSS (CDGNSS) with a low-cost MEMS inertial sensor and vehicle dynamic constraints. This work is the first to explore the use of consumer-grade inertial sensors for tightly coupled urban CDGNSS, and first to explore the tightly coupled combination of multi-antenna CDGNSS and inertial sensing (of any quality) for urban navigation. An unscented linearization permits ambiguity resolution using traditional integer least-squares while both implicitly enforcing known-baseline-length constraints and exploiting the multi-baseline problem’s inter-baseline correlations. A novel false fix detection and recovery technique is developed to mitigate the effect of conditioning the filter state on incorrect integers. When evaluated on the publicly available TEX-CUP urban positioning data set, the proposed technique achieves, with consumer- and industrial-grade inertial sensors, respectively, a 96.6% and 97.5% integer fix availability, and a 12.0-cm and 10.1-cm overall (fix and float) 95th percentile horizontal positioning error.

## 1 INTRODUCTION

The rise of connected and automated vehicles has created a need for robust globally referenced positioning with lane-level (e.g., sub-30-cm) accuracy (Reid et al., 2019). Much automated ground vehicle (AGV) research focuses on the use of lidar and cameras for navigation, but these sensing modalities often perform poorly in low-illumination conditions or during adverse weather such as heavy fog or snowy white-outs. By contrast, positioning techniques based on radio waves, such as automotive radar or GNSS, are robust to poor weather and lighting conditions (Narula et al., 2022). Recent work has found that fusing measurements from low-cost automotive radars with inertial sensing can provide lane-level accuracy in urban environments (Narula et al., 2022). But radar-based positioning in a global coordinate frame requires the production and maintenance of radar maps, which is a time-consuming and costly endeavor.

GNSS signals provide a source of high-accuracy all-weather absolute positioning that does not require expensive investments in systems for map production, storage, maintenance, and dissemination. If the so-called integer ambiguities associated with the carrier-phase measurements can be correctly resolved, carrier-phase-based GNSS positioning offers exquisite accuracy. However, GNSS signal blockage, diffraction, and multipath effects make this family of techniques extremely challenging to use in urban areas. Carrier-phase differential GNSS (CDGNSS), whose real-time variant for mobile platforms is commonly known as real-time kinematic (RTK) GNSS, is a centimeter-accurate positioning technique that differences a receiver’s GNSS observables with those from a nearby fixed reference station to eliminate most sources of measurement error (Teunissen & Montenbruck, 2017). Previous work by this paper’s authors probed the limits of unaided CDGNSS in the deep urban environment and found that the combination of a GNSS measurement engine optimized for urban positioning and robust estimation techniques for outlier exclusion make CDGNSS feasible in deep urban environments (Humphreys et al., 2020b). But the the unaided CDGNSS system described in Humphreys et al. (2020b) suffers from availability gaps of up to 90 seconds in duration, making it insufficient to serve as the sole navigation sensor for an AGV.

A natural method to bridge such availability gaps is to incorporate measurements from an inertial measurement unit (IMU). These measurements are uniquely valuable due to their invulnerability to environmental effects such as radio interference and weather. Combined GNSS and inertial navigation systems that incorporate only GNSS position solutions as measurements for a downstream navigation filter are termed *loosely coupled*, whereas *tightly coupled* systems directly incorporate raw GNSS observables (pseudorange, Doppler, or carrier-phase; Teunissen & Montenbruck, 2017). While both loosely and tightly coupled aiding can bridge availability gaps, tightly coupled aiding additionally reduces these gaps’ frequency and duration; the inertial sensor provides probabilistic constraints between GNSS measurement epochs that increase the success rate of carrier-phase integer ambiguity resolution. These constraints additionally make the navigation solution observable with fewer GNSS measurements.

AGV navigation filter performance can be further improved by tightly coupling with so-called vehicle dynamics constraints (VDCs). One such technique exploits the natural motion constraints of four-wheeled ground vehicles, commonly referred to as non-holonomic constraints (NHCs). A second VDC technique infers a lack of vehicle motion by monitoring, for example, wheel odometry ticks, or by detecting a lack of road vibration. This constraint is then enforced as a strong zero-velocity pseudo-measurement called a zero velocity update (ZUPT) in the literature.

This paper extends the navigation filter component of the CDGNSS system described in Humphreys et al. (2020b) by tightly coupling with an inertial sensor and with vehicle dynamics constraints, and by incorporating measurements from multiple vehicle-mounted GNSS antennas. It also develops a novel robust estimation technique to mitigate the effects of multipath and allow for graceful recovery from incorrect integer fixes.

### 1.1 Related Work

This subsection reviews relevant existing literature on urban GNSS positioning, inertial aiding, vehicle motion constraints, and multi-antenna CDGNSS.

#### 1.1.1 Unaided Urban CDGNSS

Performance of CDGNSS unaided by inertial sensing in urban environments has historically been poor. Experiments in Ong et al. (2009) suffered from poor availability (<60%) and large positioning errors (>9 m root-mean-square [RMS]) in suburban and urban environments. A 2018 assessment of commercial CDGNSS receivers found that no low-cost solution offered greater than a 35% fixed-integer solution availability in urban environments (Jackson et al., 2018). Li et al. (2018) achieved a 76.7% unaided correct integer fixing rate in urban Wuhan, China, using dual-frequency CDGNSS with a professional-grade receiver. In 2019, Humphreys et al. (2020b) achieved an unaided correct integer fix rate of 84.8% in the urban core of Austin, Texas.

#### 1.1.2 Inertial Aiding

Tightly coupled inertial aiding has long been employed as a method to increase CDGNSS solution availability and robustness. Early systems built around highly accurate but expensive tactical-grade IMUs were capable of providing robust positioning in dense urban areas (Kennedy et al., 2006; Petovello et al., 2004; Scherzinger, 2006; Zhang, 2006). The recent emergence of inexpensive consumer- and industrial-grade micro-electromechanical system (MEMS) inertial sensors has led to a new chapter of research in low-cost inertial aiding for urban CDGNSS.

Li et al. (2018) demonstrated that tight coupling of single-antenna professional-grade GNSS measurements with an industrial-grade MEMS IMU increased the integer fix availability of single-frequency CDGNSS from 44.7% to 86.1% on a test route in urban Wuhan, China. However, the authors did not provide the GNSS data set, information on the incorrect integer fix rate, or a full error distribution, making these results difficult to assess.

This paper, in contrast, is the first to demonstrate an increased CDGNSS integer fix rate in an urban environment via tightly coupling with a consumer-grade inertial sensor. Furthermore, it incorporates vehicle dynamics constraints and multiple vehicular GNSS baselines. The system’s performance is evaluated on a publicly available urban positioning data set, allowing for a head-to-head comparison of techniques by the urban positioning research community.

#### 1.1.3 Tightly Coupled Urban PPP

One disadvantage of CDGNSS is that it requires observations from a nearby base station to eliminate modeling errors (e.g., for atmospheric delays or satellite clocks and orbits) common to both the base station (the reference) and the vehicle (the rover). Short-baseline CDGNSS, which offers the greatest robustness against urban multipath (Murrian et al., 2016), is limited to reference-rover baseline lengths below approximately 10 km (Odijk, 2002). To avoid the requirement for a nearby base station, attention has recently focused on extending precise point positioning (PPP), which is based on precise orbit, clock, and atmospheric corrections, to urban areas by tightly coupling with inertial sensors.

Rabbou et al. in 2015 explored tight coupling of PPP with a tactical-grade inertial sensor in mostly open-sky conditions with simulated GNSS outages, achieving centimeter-level accuracy (Abd Rabbou & El-Rabbany, 2015). Gao et al. (2017) and Vana (2021) extended tightly coupled PPP to industrial-grade MEMS inertial sensors in highway and suburban environments. More recently, Elmezayen and El-Rabbany (2021) demonstrated tightly coupled PPP using both a geodetic-grade and a low-cost GNSS receiver and an industrial-grade MEMS sensor along an urban route in downtown Toronto, Canada, but only achieved meter-level accuracy when using the low-cost GNSS receiver. A drawback of PPP-based positioning is that the aforementioned results all required a roughly 10-minute convergence period before producing an accurate navigation solution. Short-baseline CDGNSS positioning with a modern multi-frequency, multi-constellation receiver, by contrast, typically yields instantaneous initialization.

#### 1.1.4 Vehicle Dynamics Constraints

Recent research has also explored the tight coupling of CDGNSS measurements with vehicle dynamics constraints. Nagai et al. (2021) found, in a simulation study using a realistic 3D map of an urban environment, that a tightly coupled CDGNSS system using GPS only could feasibly provide high-integrity decimeter-level positioning when aided with vehicle-dynamics constraints, a tactical-grade IMU, and odometry based on wheel-speed sensors. Yang et al. (2021) explored tightly coupled single-antenna CDGNSS with non-holonomic constraints and a tactical-grade fiber-optic IMU, but only evaluated their system under open-sky GNSS conditions with simulated GNSS degradations.

#### 1.1.5 Multi-Antenna CDGNSS

The use of multiple GNSS antennas on the vehicle for CDGNSS offers four advantages. First, the full six-degrees-of-freedom vehicle pose (position and orientation) becomes instantaneously observable when CDGNSS measurements are combined with the gravity vector as measured by an inertial sensor. With a single GNSS antenna, the vehicle yaw is observable only over multiple epochs, and only if the vehicle accelerates during the observations (Hong et al., 2005). Second, the shared reference antenna creates redundancy in the measurement model that allows for better ambiguity resolution performance than any CDGNSS baseline taken individually (Medina et al., 2020). Third, the additional set of GNSS measurements at the second antenna provides reduced position estimation error. Fourth, a highly effective method for GNSS spoofing detection, the multi-antenna defense (Psiaki et al., 2014), can readily be implemented.

Multi-antenna GNSS has long been used for attitude-determination applications with snapshot estimation methods such as C-LAMBDA (Teunissen, 2006) and MC-LAMBDA (Giorgi & Teunissen, 2010), which provide globally optimal single-epoch maximum-likelihood solutions to the full nonlinear GNSS attitude determination problem, and have been successfully extended to the pose estimation case (Wu et al., 2020). Other work has incorporated special cases of a priori attitude information into the nonlinear solution process (Henkel & Günther, 2012). These snapshot methods, however, are computationally demanding, and their extension to recursive estimation for tight coupling with other sensors is not straightforward and remains unexplored.

Fan et al. (2019) found that a hard constraint using an a priori known vehicle attitude to combine CDGNSS observations from multiple vehicle antennas can increase ambiguity resolution and urban CDGNSS performance. However, this method requires a highly accurate independent source of attitude information, such as from an expensive gyrocompass-capable tactical-grade IMU following an initial static alignment period.

Medina et al. (2020) proposed pose estimation based on multiple vehicle antennas for inland waterway navigation. This work sidestepped the complexity of C-LAMBDA or MC-LAMBDA by linearizing the attitude model in an extended Kalman filter (EKF) update and propagating the state with a simple motion model. This formulation was found to increase ambiguity resolution performance over either the positioning or attitude determination problems taken independently. However, the authors made no attempt to incorporate an inertial sensor or additional motion constraints.

Hirokawa and Ebinuma (2009) developed a multi-antenna GNSS system for aircraft pose estimation that tightly coupled with a MEMS inertial sensor, but only used CDGNSS for attitude measurements, relying on standard pseudorange measurements for the estimator’s position component.

Henkel et al. (2020) tightly coupled triple-antenna CDGNSS with an industrial-grade inertial sensor for a micro air vehicle navigation application, but only evaluated the system’s performance over a single, short test flight in open-sky conditions, and did not compare against a ground truth reference.

Previous work (Humphreys et al., 2020a; Yoder et al., 2020) by this paper’s authors explored a suboptimal federated filtering approach to the tightly coupled multi-antenna CDGNSS + inertial problem, additionally incorporating monocular vision measurements from Yoder et al. (2020). But the approach did not properly model the multi-antenna CDGNSS measurement update, instead resolving the position and attitude baselines separately.

### 1.2 Contributions

This paper makes five contributions:

An estimation technique that tightly couples multi-antenna CDGNSS with vehicle dynamics constraints and inertial measurements; to the best of the authors’ knowledge, this paper is the first in the open literature to explore the tightly coupled combination of multi-antenna CDGNSS and inertial sensing for navigation in urban environments. Furthermore, it is the first to explore the use of

*consumer-grade*inertial sensors for tightly coupled deep urban CDGNSS (Sections 3 and 4).A novel application of the unscented transform for the multi-baseline CDGNSS integer ambiguity resolution and measurement update step, which widens the operating regime of the filter to allow for significantly greater attitude uncertainty without suffering from excessive integer least-squares (ILS) failures seen by existing EKF approaches (Section 3)

A novel false fix detection and recovery technique that limits the degree to which an incorrectly resolved integer ambiguity can corrupt the tightly coupled CDGNSS estimator’s state (Section 4.4)

Demonstration of state-of-the-art deep urban CDGNSS performance, achieving, by tightly coupling with consumer-grade and industrial-grade inertial sensors, respectively, a 96.6% and 97.5% integer fix availability, and 12.0-cm and 10.1-cm overall (fix and float) 95th percentile horizontal positioning error on the publicly available TEX-CUP urban positioning data set (Narula et al., 2020; Sections 5.1 to 5.3).

A detailed evaluation and breakdown of the positioning and ambiguity resolution performance contribution of various sensors and algorithmic components (Section 5.5)

## 2 COORDINATE AND NOTATION CONVENTIONS

### 2.1 Vector Notation, Sensor Platform, and Coordinate Frames

Superscripts indicate the coordinate frames associated with vectors and rotation matrices. For example, ** r^{w}** denotes a vector

**expressed in the**

*r***w**frame, and

**denotes a rotation matrix that converts vectors from their representation in the**

*R*^{wb}**b**frame to their representation in the

**w**frame (i.e.,

**=**

*r*^{w}**).**

*R*^{wb}*r*^{b}The sensor platform described in this paper and used in the evaluation in Section 5 is the University of Texas Sensorium (Narula et al., 2020), a roof-mounted vehicular perception platform incorporating multiple grades of inertial sensors, two GNSS antennas (denoted *primary* and *secondary*), stereo cameras, and three automotive radars. Only the inertial sensors and GNSS antennas are used in this work.

Several coordinate frames are referenced in this paper:

**u**: The*IMU frame*is centered at and aligned with the IMU accelerometer triad.**b**: The*body frame*has its origin at the phase center of the Sensorium’s primary GNSS antenna. Its*x*-axis points towards the phase center of the secondary antenna, its*y*-axis is aligned with the boresight vector of the primary antenna, and its*z*-axis completes the right-handed triad.**v**: The*vehicle frame*is a body-fixed frame, centered at the vehicle’s center of rotation as determined by an offline calibration using GNSS and IMU data. Its*x*-axis points in the direction of vehicle travel with no steering angle deflection, its*z*-axis points upwards, and its*y*-axis completes the right-handed triad.**w**: The*world frame*is a fixed geographic east-north-up (ENU) frame with its origin at the phase center of the reference GNSS antenna, which is located at a fixed base station with known coordinates.

Figure 1 shows the relationships between these frames.

### 2.2 State Representation and Error-State Filtering

The tightly coupled navigation estimator described in this work is an unscented Kalman filter (UKF) that recursively fuses inertial measurements, double-difference (DD) GNSS pseudorange and carrier-phase measurements, and vehicle dynamics pseudomeasurements. The estimator’s state at epoch *k* is given by the ordered set

where is the position of the **u** frame origin in the **w** frame; is the velocity of the **u** frame origin relative to the **w** frame, expressed in the **w** frame; ** R^{wb}** ∈ SO(3) is the attitude of the

**b**frame relative to the

**w**frame; and , are the IMU’s accelerometer and gyro biases, respectively.

This paper adopts the conventions and notation of Solà et al. (2018), which appeals to Lie theory to unify and generalize various error-state filtering methods so that the filtering equations are agnostic to the specific choice of attitude parameterization. The filter state, * x_{k}*, is a point on the composite manifold , which has

*N*= 15 independent degrees of freedom. A state increment,

_{x}*δ*, is defined on the tangent space of

**x**_{k}*χ*at

*, which can be parameterized with the vector space . These spaces are related using the operators and , which correspond to standard addition and subtraction for vector-valued components of*

**x**_{k}*and to more complex operations for the attitude component:*

**x**_{k}

where o denotes rotation composition, Exp: , and . With * x_{k}* denoting the true system state at

*k*, the filter’s a priori estimate is denoted with error covariance, . The a posteriori state is with error covariance, .

## 3 AN UNSCENTED MULTI-BASELINE CDGNSS MEASUREMENT UPDATE

### 3.1 CDGNSS Measurement Model

At each GNSS measurement epoch, the estimator ingests *N _{k}* pairs of double-difference (DD) GNSS observables, each pair composed of a pseudorange and a carrier-phase measurement, across all baselines. The baselines and relevant relative position vectors are shown in Figure 2. The measurement vector at epoch

*k*is

where *ρ _{mk}* and

*ϕ*are vectors of double-difference pseudorange and carrier-phase measurements, both in meters, for baseline

_{mk}*m*∈ {1,2} at epoch

*k*. The measurement

**z**_{gk}is a function of the state,

*, the integer ambiguity vector, , and zero-mean white Gaussian measurement noise,*

**x**_{k}*∊*

_{gk}(Psiaki & Mohiuddin, 2007):

1

**Σ**_{gk} contains off-diagonal elements due to the effect of the shared pivot satellite. The function ** b**(

*) relates the baseline vectors, and , shown in Figure 2 to the position and attitude components of the state:*

**x**_{k}2

Here, , , and are the body-frame positions of the IMU, primary GNSS antenna, and secondary GNSS antenna, respectively. Under this formulation, the known length of . serves as an implicit constraint on integer ambiguity resolution due to the parameterization of as a function solely of attitude.

Importantly, the off-diagonal blocks of the measurement noise covariance matrix, Σ_{gk}, are nonzero because baselines one and two share a GNSS antenna. By consuming the GNSS measurements for all baselines in a single update, this correlation is exploited and typically yields a higher integer fix success rate than either baseline taken individually (Medina et al., 2020). Additionally, the vehicle attitude is often known a priori to sub-degree precision, providing a tight constraint on all three degrees of freedom of . This constraint both strengthens the combined integer model (Fan et al., 2019) and increases positioning accuracy, since the off-diagonal blocks of Σ_{gk} encode the sensitivity of GNSS measurements on the secondary vehicle antenna to .

### 3.2 Linearization

The function **h**_{gk}(** b**,

*) is accurately modeled as linear due to the extreme distance to GNSS satellites relative to the CDGNSS baseline lengths:*

**n**_{k}

Here, is the vector of carrier-phase integer ambiguities for baseline *m*, , and **Λ**_{m} is a diagonal matrix composed of the wavelengths in meters of each DD carrier-phase measurement. The geometry matrix, * G_{mk}*, is defined as

for pivot satellite *i* and non-pivot satellites one to *N _{mk}*, where denotes a unit vector in the

**w**frame directed from a GNSS antenna to GNSS satellite

*j*of baseline

*m*at epoch

*k*. Under the small-angle approximation, these unit vectors are assumed to be approximately equal for all receiver antennas involved:

The nonlinearity of Equation (2) due to the manifold structure of vehicle attitude is nontrivial. Optimal snapshot estimators for the nonlinear GNSS attitude problem, such as C-LAMBDA (Teunissen, 2006) and MC-LAMBDA (Giorgi & Teunissen, 2010), have been studied, but these estimators are computationally expensive and their extension to recursive filtering does not seem straightforward. Instead, extant Kalman-filtering-based multi-baseline CDGNSS estimators (Henkel et al., 2020; Medina et al., 2020) typically linearize the baseline measurement model about the current state estimate with a simple first-order Taylor expansion in order to perform integer ambiguity resolution with a standard ILS solver such as the well-known LAMBDA method (Teunissen, 1995). This is essentially an extension of the LC-LAMBDA method described by Teunissen and Giorgi (2009) to the multi-baseline recursive estimation case. As demonstrated in Teunissen & Giorgi (2009), this method performs poorly for ultra-short (length ≲ 1m) baselines, for which the a priori attitude estimate and the pseudorange measurements cannot, together, offer a sufficiently accurate estimate about which to linearize.

#### 3.2.1 Alternatives

Recursive Bayesian estimation of * x_{k}* requires finding the distribution of

*(*

**b***) given a Gaussian prior for*

**x**_{k}*with mean and covariance . While the true distribution of*

**x**_{k}*(*

**b***) is nontrivial, it is desirable to approximate it as Gaussian to enable ambiguity resolution with standard ILS techniques, which are computationally efficient and well understood. Dropping the*

**x**_{k}*k*subscripts for notational clarity, such an approximation produces a joint Gaussian distribution over

**and**

*x***(**

*b***):**

*x*

This can be parameterized in terms of mean, , Jacobian, *H*_{b}, and additional baseline uncertainty, , that accounts for errors due to linearization:

3

Extant multi-baseline CDGNSS Kalman filters obtain these parameters with a first-order Taylor expansion scheme, which is shown in Algorithm 1.

An alternative approach is to approximate the distribution of ** b**(

**) using a deterministic sampling technique such as the unscented transform (UT), which is used in the UKF (Julier & Uhlmann, 2004). The UT infers the probability distribution of a transformed Gaussian by transforming a set of weighted sigma points through the nonlinearity and evaluating the statistics of the transformed points. The UT implementation used by this paper’s CDGNSS measurement update is shown in Algorithm 2.**

*x*A simplified two-dimensional example of the two linearization schemes for a single constrained baseline is shown in Figure 3. The EKF distribution is infinitely thin, as EKF linearizations only consider baseline vectors on a plane tangent to the true spherical distribution at the a priori estimate, causing ILS failures when the a priori uncertainty is large enough that the sphere significantly diverges from the tangent plane. The UT, by contrast, yields an approximate Gaussian distribution over the baseline vector that more closely matches the true mean and covariance of ** b**(

**). For this reason, ILS-based ambiguity resolution has a higher success rate when linearization is based on**

*x*`linearizeUkf`rather than

`linearizeEkf`under large a priori attitude uncertainty, as will be demonstrated in Section 3.4.

#### 3.2.2 UKF Measurement Update

A vector *z*_{gk} of DD GNSS observables is ingested by the estimator at epoch *k*. Linearizing about the a priori state estimate, :

yields the following approximation of the measurement model for innovations vector :

Here, the state estimate error vector, , is expressed in the tangent space of *χ* at , and represents additional measurement error caused by approximation of * b*(

*).*

**x**_{k}### 3.3 Square-Root Formulation

The CDGNSS measurement update can be cast in square-root form for greater numerical robustness and algorithmic clarity (Psiaki & Mohiuddin, 2005). Given *v*_{gk}, *H*_{rk}, *H*_{nk}, , and , the measurement update can be defined as finding *δ x_{k}* and

*n*_{k}to minimize the cost function:

where . The vector cost components can be normalized by left-multiplying with square-root information matrices based on Cholesky factorization , :

The cost, *J _{k}*, can be decomposed via QR factorization:

where matrix *Q*_{k} is orthogonal and *R*_{k} is upper triangular. Because *Q*_{k} is orthogonal, the components of *J _{k}* inside the norm can be left-multiplied by without changing the cost, and

*J*can be decomposed into three terms:

_{k}4

If both the measurement model and are not ill-conditioned, then *R*_{xxk} and * R_{nnk}* are invertible.

*J*

_{3k}is the irreducible cost, and, under a single-epoch ambiguity resolution scheme, can be shown to be equal to the normalized innovations squared (NIS) associated with the double-difference pseudorange measurements.

*J*

_{2k}is the extra cost incurred by enforcing the integer constraint on

*. If*

**n**_{k}*is allowed to take any real value (the float solution),*

**n**_{k}*J*

_{2k}can be zeroed due to the invertibility of

*. Similarly,*

**R**_{nnk}*J*

_{1k}can be zeroed for any value of

*due to the invertibility of*

**n**_{k}*. The float solution, , can therefore be formed by choosing and to zero*

**R**_{xxk}*J*

_{1k}and

*J*

_{2k}. Because

*is upper triangular, these values can be found by efficient backsubstitution. The fixed solution, , is found via an ILS solver, yielding*

**R**_{k}5

* R_{xxk}* is the a posteriori state vector square-root information matrix conditioned on . Therefore, if the fixed solution is accepted (having passed validation via an integer aperture test), the a posteriori state and covariance are

6

If, instead, the float solution is accepted, the a posteriori state and covariance are found by marginalizing over the distribution of * n_{k}*:

7

Here, [1 : *n*, 1 : *n*] denotes taking the first *n* rows and columns of the matrix.

### 3.4 Evaluation of Unscented Multi-Antenna Update

The UKF linearization of * b*(

*) yields a Gaussian prior in the position domain that better captures the true mean and covariance of the constrained attitude baseline than the EKF linearization. Consequently, the UKF linearization achieves a higher ILS success rate than the EKF linearization when attitude uncertainty is large.*

**x**_{k}Figure 4 demonstrates this effect by evaluating integer aperture success, failure, and float rates for a multi-baseline CDGNSS measurement update via Monte-Carlo simulation with 10^{6} samples. The vehicle pitch and roll angles were assumed to be known to 2° (1σ), and the a priori yaw angle uncertainty was varied from 0° to 90° (1σ). The simulation assumed that GPS L1 C/A signals were visible from the equator with a representative satellite constellation and a 15° elevation mask angle. Two vehicle GNSS antennas were simulated with a baseline length of 1.0668 m (equivalent to that of the Sensorium). Other GNSS measurement model parameters were selected as in Table 2. The threshold function approximation to the fixed-failure rate distance test (Wang & Verhagen, 2015) was used with fixed-failure rate .

For a dual-antenna platform similar to that of the University of Texas Sensorium with loose yaw knowledge, this effect becomes apparent as 1σ yaw uncertainty exceeds approximately 8°, whereupon the ILS success rate with the EKF linearization begins a rapid decline with increasing uncertainty, eventually falling below even that of the unconstrained multi-antenna CDGNSS snapshot estimator. In contrast, the integrity of the integer aperture test is maintained for the UKF case due to the approximate linearization error term, , provided by the UKF linearization.

The UKF linearization expands the operating regime of the CDGNSS navigation estimator to greater levels of attitude uncertainty than with the EKF linearization. This effect is relevant for low-cost urban CDGNSS; while even a low-cost accelerometer can provide pitch and roll angles with degree-level accuracy, it is desirable to tolerate large yaw uncertainty, as may occur, for example, following a long GNSS outage in a parking garage. Upon emerging from such an outage, a system using an EKF linearization may require re-initialization using a snapshot attitude estimator. This scheme also allows initialization of the estimator with loose attitude knowledge, as may be provided, for example, by a magnetometer whose heading measurement may be uncertain in the presence of nearby buildings and vehicles.

## 4 TIGHTLY COUPLED NAVIGATION FILTER

This section presents the remaining development of the full tightly coupled multi-antenna CDGNSS recursive estimator with vehicle dynamics constraints and false integer fix mitigation.

### 4.1 Propagation Step

State propagation is based on a model replacement approach in which IMU measurements supplant a vehicle dynamics and kinematics model. This is implemented as a standard UKF time update step, and is described in detail in this paper’s supplemental material.

### 4.2 Vehicle Dynamics Constraints

This paper adopts the VDC scheme of Narula et al. (2022) with minor modifications to the NHC sideslip model and ZUPT detection mechanism. Details of the VDC scheme are provided in this paper’s supplemental material.

### 4.3 Outlier Rejection Using Pseudorange Innovations

Let *v _{ρk}* = [

*v*

_{ρk1},…,

*v*

_{ρkn}]

^{T}contain the elements of the GNSS innovation vector,

*v*

_{gk}, that correspond to pseudorange measurements. Its covariance matrix

*v*is

_{ρk}8

where * P_{bbk}* is formed as in Equation (3), and ∑

_{ρk}is formed by selecting the rows and columns of ∑

_{gk}that correspond to pseudorange measurements. If the estimator is consistent and the pseudorange measurements are not corrupted by large multipath errors, then . A test can be used to detect outlier pseudorange measurements using the detection statistic:

with a threshold, *γ*^{2}, selected to yield a sufficiently low false-positive rate. If a pseudorange outlier is detected for some index *n* (i.e., *q _{kn}* >

*γ*

^{2}), then the corresponding DD pseudorange measurement is assumed to be corrupted by multipath. Because the effect of multipath on GNSS signals is primarily a function of the line-of-sight vector to the transmitter, all pseudorange and carrier-phase measurements associated with the offending non-pivot satellite on all frequencies and baselines are assumed to be corrupt. They are removed from the measurement vector,

**z**_{gk}, before proceeding with the measurement update.

### 4.4 False-Fix Detection and Recovery

#### 4.4.1 Single-Epoch Ambiguity Resolution

An optimal CDGNSS filter (in the maximum a posteriori sense) must append a new carrier-phase integer ambiguity to its state each time a cycle slip is detected in a carrier tracking loop (Psiaki, 2010). This causes the update and ILS solve operations to quickly become computationally intractable when applied to an urban environment where cycle slips are common and detection of discrete cycle slips is often impossible.

A scheme could be imagined whereby cycle slips are modeled to occur with some probability, *P*_{CS}, at each epoch, and a suboptimal dynamic multiple-model estimator such as the interacting multiple-model or generalized pseudo-Bayesian estimator (Bar-Shalom et al., 2001) is used to handle the resulting multiple hypotheses over past cycle slips. However, for large *P*_{CS}, as is the case for urban CDGNSS, these methods would require measurement update and ILS solve operations for a quickly growing number of alternate hypotheses. Such a method would be computationally prohibitive without aggressive hypothesis pruning.

This paper’s estimator adopts a posture of maximum pessimism regarding cycle slips: Each carrier tracking loop in the GNSS receiver is assumed to slip cycles between each pair of measurement epochs (i.e., *P*_{CS} = 1). Ambiguity state growth is curtailed by discarding all ambiguity states at every GNSS measurement epoch, either by conditioning the state vector on the candidate fixed solution (if the candidate fix is validated), as in Equations (5) and (6), or by accepting the float solution and marginalizing over the ambiguities, as in Equation (7). This single-epoch ambiguity resolution scheme is suboptimal because it discards what continuity may be present in the integer ambiguities from epoch to epoch, weakening the integer model strength. But it renders the navigation filter entirely insensitive to cycle slips, which may be a practical necessity for urban CDGNSS, and is computationally efficient. Moreover, the conditioning operation, when applied, greatly increases the integer model strength for subsequent epochs, allowing the filter to hold on to fixes by virtue of the tight epoch-to-epoch position domain constraint provided by the inertial sensor and the vehicle dynamics pseudo-measurements.

#### 4.4.2 False Integer Fixes

Even in the absence of modeling errors and measurement outliers, the integer fixing procedure of Section 3.3 occasionally yields an incorrect integer vector, , that passes ambiguity validation tests, a situation referred to as a *false integer fix* or an *ambiguity resolution failure* (Green & Humphreys, 2018). This occurs because validation tests can only provide probabilistic guarantees of integer correctness (Teunissen & Verhagen, 2009). In an urban environment, measurement outliers due to multipath and diffraction cause the true false integer fix rate, *P _{f}*, to greatly exceed the specified rate, , for the validation test (Humphreys et al., 2020b). Thus, conditioning the filter state on fixed and validated integers at each epoch, as is done under a single-epoch ambiguity resolution scheme, is perilous because false integer fixes eventually corrupt the filter state with incorrect but highly confident priors. This causes future GNSS measurement updates to accept a similarly incorrect fix with high probability, repeatedly conditioning the filter state on incorrect ambiguities. While the simple rectilinear motion model of the unaided estimator in Humphreys et al. (2020b) contains sufficient process noise that the filter eventually re-fixes to the correct ambiguities, the tight epoch-to-epoch constraints of the present paper’s tightly coupled estimator can cause these cycles of false fixes to persist indefinitely.

To mitigate the effect of conditioning on incorrect integer ambiguities, this paper’s estimator employs a fault detection and exclusion technique based on solution separation. A float-only filter, configured to never attempt fixing integer ambiguities, is operated in parallel to the primary navigation filter. Under the single-epoch ambiguity resolution scheme, the float-only filter’s behavior is equivalent to accepting only pseudorange measurements, discarding carrier-phase measurements entirely.

#### 4.4.3 Carrier-Phase Residuals Testing

Recall from Equation (4) that *J*_{2k} (* n_{k}*) is the residual cost associated with the carrier phase in the square-root formulation of the CDGNSS measurement update. When evaluated at , the fixed solution for the integer vector found via an ILS solver, this cost becomes the fixed-ambiguity residual cost:

This quantity is small whenever the carrier-phase measurements are consistent with the prior state estimate, the pseudorange measurements, and with the assumption of integer-valued carrier-phase ambiguities. It is one of several acceptance test statistics used to decide whether the fixed solution is correct with high probability (Teunissen & Montenbruck, 2017).

In Mohiuddin and Psiaki (2007), *∊ _{ϕk}* was incorporated in a statistic used to detect carrier cycle slips. It can similarly be used to detect false integer fixes (as a form of integer aperture test statistic) or the lingering effects of performing the conditioning operation in Equation (6) on an incorrectly fixed integer vector at some epoch in the past. A windowed sum of

*∊*offers even greater sensitivity to false-fix events at the expense of a longer time to detect. The test statistic used to detect false fixes in this paper’s estimator is the windowed fixed-ambiguity residual cost (WFARC), Ψ

_{ϕk}_{k}. This is calculated over a moving window of fixed length

*l*of past GNSS measurement epochs. It has degrees of freedom and is calculated by

where *N _{k}* is the number of DD carrier-phase measurements at epoch

*k*. If the filter is consistent and the integer ambiguities are correctly resolved, then Ψ

_{k}should be approximately

*χ*

^{2}-distributed with degrees of freedom. (This distribution is approximate due to the integer-folding effect; large phase residuals are not possible because of integer-cycle phase wrapping.) A statistical consistency test can be performed by choosing a desired false-alarm rate, , and declaring a false fix if Ψ

_{k}>

*γ*

_{Ψk}, where the threshold,

*γ*

_{Ψk}, is calculated by evaluating the inverse cumulative distribution function (CDF) of

*χ*

^{2}() at .

#### 4.4.4 False-Fix Recovery

If a false fix is detected Ψ_{k} > *γ*_{Ψk}), the estimator performs a soft reset, discarding the primary navigation filter’s state estimate and covariance and replacing them with a copy of the float-only filter’s state and covariance, as shown in Figure 5.

#### 4.4.5 Float-Only Estimator Re-Seeding

To increase the probability of a correct fix after a soft reset, the float-only filter is occasionally re-seeded with the state of the primary filter during epochs over which a set of heuristic criteria indicates that a correct fix is extremely likely. This operation carries the risk that the float-only filter could also be contaminated with information from a false integer fix in the primary filter. But in practice, heuristic criteria can be set to strictly limit this event’s probability. The four criteria used in the next section’s evaluation are given in Table 1.

One might argue that these criteria for re-seeding the float-only filter are redundant because an integer aperture test for validating the primary filter’s integer estimate can be made arbitrarily strict, obviating additional validation. But integer aperture theory is founded on modeling measurement error distributions as Gaussian (Teunissen, 2003), which is a poor approximation in urban environments leading to low fixed solution availability (Humphreys et al., 2020b). Teunissen’s recent extension of the so-called best integer equivariant estimation to the class of elliptically contoured distributions in Teunissen (2020) may offer a means of providing a better re-seed estimate for the float-only filter in urban environments, but it has not been tested with empirical urban data. Meanwhile, application of this paper’s re-seeding technique with the criteria in Table 1 will be shown in the next section to significantly increase integer fix availability while respecting a low false-fix rate.

## 5 Performance Evaluation in a Deep Urban Environment

### 5.1 Experimental Setup

The tightly coupled CDGNSS estimator described in the foregoing sections was implemented in C++ as a new version of the PpEngine sensor fusion engine (Humphreys et al., 2020b), and was experimentally evaluated against the publicly available TEX-CUP urban positioning data set. TEX-CUP is comprised of raw GNSS intermediate-frequency (IF) samples and inertial data, which were collected on May 9, 2019, and May 12, 2019, using the University of Texas Sensorium vehicular perception research platform (Narula et al., 2020). The data set consists of a total of over 2 hours of driving in Austin, Texas, in conditions ranging from light to dense urban; routes are shown in Figure 7.

Two-bit-quantized IF samples were captured at the Sensorium and at the reference station through RadioLynx, a low-cost L1+L2 GNSS front end with a 5-MHz bandwidth at each frequency, and were processed with the PpRx software-defined GNSS receiver (Humphreys et al., 2020b). The Sensorium RadioLynx was connected to two Antcom G8 GNSS antennas separated by 1.0668 meters in the vehicle Y direction, and the reference RadioLynx was connected to a Trimble Zephyr II geodetic-grade GNSS antenna. The number of double-difference measurements available to PpEngine over the two data sets ranged from one to 25, with an average of 11.68.

The system’s performance was separately evaluated using inertial data from each of the Sensorium’s two MEMS inertial sensors. The first, a LORD MicroStrain 3DM-GX5-25, is an industrial-grade sensor. The second, a Bosch BMX055, is a surface-mount consumer-grade sensor. Their relevant datasheet specifications are compared in Yoder (2021).

The system’s positioning performance was evaluated by comparing with TEX-CUP’s forward-backward smoothed ground-truth reference trajectory. This ground truth was generated by postprocessing the data from an iXblue ATLANS-C mobile mapping system comprised of a Septentrio AsteRx4 RTK receiver and a high-end tactical-grade IMU. The AsteRx4 was configured to use additional constellations (BDS and GLONASS) and frequencies (GPS L5, Galileo E5, GLONASS L1 and L2) that were unavailable to PpEngine. The reported accuracy of the ground truth trajectory varied between 2 and 15 cm (1σ) along the route. Due to the difficulty of directly evaluating integer ambiguity resolution performance in the presence of outlier carrier-phase measurements, the integer fixing performance in the following sections was evaluated by considering integer fixes to be correct if the 3D distance to the ground truth was below 30 cm, following Humphreys et al. (2020b).

One might naturally be concerned that the ground truth trajectory’s reported accuracy, which degrades to 15 cm (1σ) at some points along the route, may not be good enough to evaluate the accuracy of the proposed system, whose errors are also at the decimeter-level. However, the errors in the TEX-CUP ground truth data set are likely to be substantially uncorrelated with the errors of the proposed system, for three reasons. First, the truth data set employed an independent receiver with access to additional GNSS constellations (BeiDou and GLONASS) and frequencies (GPS L5, Galileo E5, GLONASS L1 and L2) that were unavailable to PpEngine for the experiments reported here. Second, the high-end tactical-grade IMU used to produce the ground truth has noise characteristics much different from the low-cost IMUs of the proposed system. Third, the estimation process that produced the ground truth was non-causal forward-backward smoothing, whereas the proposed system processes the data only causally. Assuming that the ground truth errors and PpEngine’s errors are not strongly correlated, it follows that the results presented in this section will, in fact, be pessimistic compared to an evaluation against the absolute truth.

Because TEX-CUP contains several minutes of no motion in an open-sky environment at the beginning and end of each capture, the estimator was run on a subset of each capture beginning approximately 10 seconds before the first motion and ending 10 seconds after the last motion. In the May 9 data set, the estimator was run and evaluated from GPS time of week (TOW) 411,003 s to 415,029 s, and in the May 12 data set, from TOW 63,770 s to 67,972 s.

### 5.2 Baseline Configuration

The performance of the tightly coupled estimator with all proposed features and signals enabled (the baseline configuration) was evaluated using each IMU on the May 9 and May 12 TEX-CUP data sets. PpRx was configured for dual-frequency operation as described in Humphreys et al. (2020b), tracking the GPS L1 C/A, GPS L2C (combined CL+CM codes), Galileo E1 (combined B+C codes), and L1 SBAS (WAAS) signals on the reference and both rover antennas. Data bit prediction and wipeoff were performed on the GPS L1 C/A and SBAS signals. Reference and rover GNSS observables were produced at a rate of 5 Hz. PpEngine’s baseline configuration parameters are given in Table 2.

The phase center variation of the Sensorium antennas with respect to signal elevation angle was calibrated as in Humphreys et al. (2020b). The orientation, body-frame position, axis scale factors, and steady-state biases of both inertial sensors were calibrated offline using a short period of dynamic open-sky GNSS data at the beginning of the May 12 data set.

The position and attitude states of the tightly coupled navigation estimator were initialized with the first available batch of GNSS observables and inertial measurements. The position state was initialized with the standard (single-ended) pseudorange position solution for the primary antenna. The attitude state was initialized by combining the gravity vector as determined by the IMU’s accelerometers with a constrained-baseline snapshot CDGNSS solution for the baseline connecting the primary and secondary vehicle antennas, as determined with a brute-force attitude-domain search.

### 5.3 Baseline Performance

#### 5.3.1 Ambiguity Resolution and Positioning

The achieved integer-fix availability was 97.52% and 96.62% when tightly coupled with the industrial-grade and consumer-grade IMUs, respectively, across both days of the data set. When tightly coupled with the industrial-grade IMU, the 95th-percentile horizontal positioning error was 8.4 cm when fixed and 10.1 cm overall (fixed and float). Using the consumer-grade IMU, the 95th-percentile horizontal error was 9.2 cm when fixed and 12.0 cm overall. The empirical CDF of the 3D positioning errors using both grades of inertial sensor is shown in Figure 8. Detailed statistics of the estimator’s positioning performance in the baseline configuration are given in Table 3, and statistics of its attitude performance in Table 4. Figures 9 and 10 show the position and attitude error, respectively, over time for the May 9 portion of TEX-CUP. In Figure 9, the longest two float periods seen with the industrial-grade IMU lasted 47 and 36 seconds, and exhibited position errors of a few meters. Positioning error spikes are visible during these float epochs as, under this paper’s single-epoch ambiguity resolution scheme, only pseudorange measurements that have meter-level accuracy have any effect during float epochs. Some smaller error excursions are visible during fixed epochs due to periods of poor satellite visibility and increased multipath error.

One may note that Table 3 appears to show that the consumer-grade IMU slightly outperformed the industrial-grade IMU by some metrics on the May 12 data set. While the consumer-grade IMU did achieve a slightly higher *P _{V}* (and correspondingly lower RMS position error) than the industrial-grade, it should be noted that the

*P*value was also slightly higher (i.e., worse), so a direct comparison cannot be drawn between the two

_{f}*P*values. However, the consumer-grade IMU allowed a few more large positioning error excursions than the industrial-grade, resulting in both

_{V}*P*and

_{f}*d*

_{95}larger than those of the industrial-grade IMU.

Of the two data sets, the May 9 data set had more difficult GNSS satellite geometry, yielding a lower *P _{V}* for both IMU grades vs. May 12. The tighter motion constraints provided by the industrial-grade IMU were able to overcome the degraded geometry to a greater degree than those provided by the consumer-grade IMU.

*P _{f}*, however, was worse for all estimators on May 12 than on May 9, despite generally better GNSS geometry. This appears to be because the May 12 data set happened to contain more trouble spots: portions of the data set with very heavy multipath that yielded frequent incorrect fixes, typically when the vehicle slowed down or came to a complete stop in the deepest urban canyon portions of the route.

#### 5.3.2 Attitude

The attitude performance of the baseline estimator is excellent when tightly coupled with either the industrial-grade or consumer-grade inertial sensor, achieving single-degree-level precision in all three axes with the consumer-grade sensor and sub-degree precision with the inertial sensor. Better performance with the industrial-grade sensor is as expected due to its significantly better gyroscope noise properties.

### 5.4 Effect of Inertial Tight Coupling

To evaluate the benefit of inertial tight coupling, PpEngine was run in an unaided mode, using the nearly-constant-velocity motion model described in Humphreys et al. (2020b) for propagation in place of an inertial sensor. Attitude dynamics were modeled as a simple integrated white noise process, with noise intensity of in the vehicle pitch and roll axes, and in the vehicle yaw axis. Because vehicle pitch (rotation about the axis connecting the primary and secondary Sensorium antennas) is not strongly observable, a weak pseudo-measurement of zero pitch was added a with standard deviation of 10°at a rate of 5 Hz, which was found to provide good estimation performance.

The positioning and ambiguity resolution performance of the unaided estimator is shown in Table 3. Tight coupling with even a consumer-grade IMU has a clearly beneficial effect on ambiguity resolution, greatly increasing the fraction of fixed-integer epochs for comparable *P _{f}*, and reducing 95th-percentile and RMS positioning errors from meters to centimeters.

### 5.5 Performance in Alternate Configurations

Next, the estimator was run in a collection of alternate configurations (with various features disabled) in order to study its performance’s sensitivity to the presence of various algorithmic components. Results are given in Table 5.

#### 5.5.1 Performance in Single-Antenna Mode

In Configuration 2, the estimator was run using only a single vehicle-mounted antenna. CDGNSS observables were formed for only a single baseline, between the reference antenna and the primary Sensorium GNSS antenna. Despite having fewer integer ambiguities (only one baseline’s worth) to fix at each measurement epoch, the integer fix availability was lower than for the multi-antenna case in this configuration because the estimator was no longer able to exploit the measurement noise cross-covariance between baselines due to the shared antenna. Positioning performance is slightly worse in the single-antenna case by all metrics, as would be expected due to the loss of half of all GNSS measurements.

#### 5.5.2 Performance Without Vehicle Motion Constraints

The non-holonomic constraints were disabled in Configuration 3, and zero-velocity updates were disabled in Configuration 4. It can be seen that the non-holonomic constraints have only a small effect on performance when tightly coupling with the industrial-grade IMU. With the consumer-grade IMU, however, the effect is much greater. Clearly, non-holonomic constraints provide a major performance boost in the consumer-grade IMU case, cutting the number of float GNSS measurement epochs in half (fix availability increased from 94.86% to 96.62%).

The incorporation of zero-velocity updates improves all of the presented statistics when tightly coupling with either the industrial-grade or consumer-grade IMU. But for the consumer-grade IMU, the benefit of ZUPTs is minimal. This is likely because the poor noise properties of the consumer-grade IMU required such strict thresholds to limit false detections that many opportunities to apply a ZUPT were missed. However, ZUPTs have a clearly positive benefit on overall RMS position error, as they help to constrain against float-solution position error when the vehicle is stopped, which is when urban code multipath errors are largest.

#### 5.5.3 Performance Without Pseudorange Outlier Exclusion

The pseudorange innovations-based outlier exclusion mechanism (Section 4.3) was disabled in Configuration 5. Without this mechanism, the availability of validated integer-fixed solutions decreased drastically due to the presence of outlier measurements caused by multipath. Interestingly, the false-fix rate, *P _{f}*, was elevated, but not to extreme levels. This was likely because false fixes due to multipath-induced outliers were reverted by the false-fix recovery mechanism.

#### 5.5.4 Performance Without False-Fix Detection and Recovery

In Configuration 6, the re-seed mechanism described in Section 4.4.5 was disabled and, in Configuration 7, the entire false-fix detection and recovery mechanism (Section 4.4) was disabled. Integer fix performance without the re-seed mechanism is appreciably reduced, as the estimation performance of the float-only estimator suffers without the ability to re-seed from especially trustworthy integer fixes. Disabling the false-fix detection and recovery mechanism has a catastrophic effect on the false-fixing rate, *P _{f}*, for the reasons given in Section 4.4.

#### 5.5.5 Performance on Subsets of GNSS Signals

In Configuration 8, the estimator was run using only L1 GNSS signals (i.e., GPS L2C was disabled), and in Configuration 9, SBAS L1 signals were disabled. Ambiguity resolution and positioning performance on these GNSS signal subsets was fairly close to the baseline case when using the industrial-grade IMU, but with the consumer-grade IMU, a substantial loss of integer-fix availability occurred (down from 96.62% to 90.35% and 88.86% in each of these configurations, respectively). The weaker motion constraints provided by the consumer-grade IMU cause the estimator to require more GNSS signals for acceptable integer fix availability.

#### 5.5.6 Performance With EKF-Based Linearization

The estimator was run using `linearizeEkf` in place of `linearizeUkf` in Configuration 10. Due to the excellent attitude performance of the estimator with either inertial sensor, no significant difference in performance arises on the TEX-CUP data set by using the UKF update. This can be explained by referring to the results of Figure 4, which show that the benefit of the UKF linearization is significant for the Sensorium’s inter-antenna distance only when attitude uncertainty exceeds approximately 8°on a single axis, whereas the attitude error on the TEX-CUP data set never exceeded 2°.

## 6 CONCLUSION

A vehicular pose estimation technique has been presented and evaluated that tightly couples multi-antenna CDGNSS, a low-cost MEMS IMU, and vehicle dynamics constraints (non-holonomic constraints and zero-velocity updates). The unscented transform was used to linearize the multi-antenna CDGNSS update, allowing for the use of a linear integer least-squares solver for ambiguity resolution while exploiting between-baseline correlations and respecting the constraints provided by known vehicle antenna geometry, even under large attitude uncertainties. Robust estimation techniques were developed to mitigate the effects of urban multipath and signal blockage, and to recover from false integer fixes. The estimator was evaluated using the publicly available TEX-CUP urban positioning data set, yielding a 96.6% and 97.5% integer fix availability, and a 12.0-cm and 10.1-cm overall (fix and float) 95th-percentile horizontal positioning error with a consumer-grade and industrial-grade inertial sensor, respectively, over more than two hours of driving in the urban core of Austin, Texas. A performance sensitivity analysis showed that the false-fix detection and recovery scheme is key to achieving an acceptably low false integer fixing rate of 0.3% and 0.4%, respectively. Having a second vehicle-mounted GNSS antenna significantly increased integer-fix availability, decreased false-fix rate, and improved both root-mean-square and 95th-percentile positioning performance as compared to a single-baseline CDGNSS configuration.

## HOW TO CITE THIS ARTICLE

Yoder, J. E., & Humphreys, T. E. (2023). Low-cost inertial aiding for deep-urban tightly coupled multi-antenna precise GNSS. *NAVIGATION, 70*(1). https://doi.org/10.33012/navi.561

## ACKNOWLEDGMENTS

This work was supported by the U.S. Department of Transportation under Grant 69A3552047138 for the CARMEN University Transportation Center, and by the Army Research Office under Cooperative Agreement W911NF-19-2-0333. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Army Research Office or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation herein. Map data © OpenStreetMap contributors (https://www.openstreetmap.org/copyright).

This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.