^{1}

^{2}

^{1}

^{1}

^{2}

The carrier-phase-derived delta pseudorange measurements are often used for velocity determination. However, it is a type of integrated measurements with errors strongly related to pseudorange errors at the start and end of the integration interval. Conventional methods circumvent these errors with approximations, which may lead to large velocity estimation errors in high-dynamic applications. In this paper, we employ the extra states to “remember” the pseudorange errors at the start point of the integration interval. Sequential processing is employed for reducing the processing load. Simulations are performed based on a field-collected UAV trajectory. Numerical results show that the correct handling of errors involved in the delta pseudorange measurements is critical for high-dynamic applications. Besides, sequential processing can update different types of measurements without degrading the system estimation accuracy, if certain conditions are met.

GPS receivers are widely used in navigation. However, the system performance largely depends on the signal environment, and the measurement update rate is low. This raises the need to integrate GPS with the inertial navigation system (INS) to have a robust continuous navigation solution regardless of the environment. Among several integration architectures, the tightly coupled INS/GPS integration is one of the most promising methods to fuse the GPS and INS data, where the code-derived pseudorange and carrier-phase-derived delta pseudorange measurements are often exploited. However, the delta pseudorange is an integrated measurement with errors strictly related to the pseudorange errors at the endpoints of the integration interval. In practice, various approximations are made to handle these errors. The weakest but often used approach is to simply consider the integral of velocity divided by time (an average value) as the instantaneous velocity measurement at the endpoint of the integration interval [

In the remainder of this paper, the content is organized as follows. In Section

The delta pseudorange is formed by integrating the pseudorange rate over the filter measurement update interval. It is equal to the difference of pseudoranges measured at the endpoints of the filter update interval. Accordingly, the errors involved in delta pseudorange are strictly related to the corresponding pseudorange errors at the start and end of the integration interval, which are given in (

Substituting (

For clarity purpose, we will denote

This equation is often employed for velocity determination using delta pseudorange measurements. However, it relates the average information (i.e.,

Therefore, we lay (

We denote

Equation (

We augment the system state vector to include the delay states to “remember” the system estimation errors at the start of the integration interval. These delay states are explicitly estimated from the previous measurement update and do not evolve over time (e.g., [

The state estimation error covariance and system process noise error covariance matrices are given in their partitioned forms as:

For the delta pseudorange observation model, it is given as

As compared with (

Besides the delta pseudorange, the code-derived pseudorange measurements are also considered in the filter. For the pseudorange measurements, the observation model is

Substituting

Thus, (

In this contribution, we process the pseudorange and delta pseudorange measurements as two batches of data. In this way, the dimension of observation vector will be half of the case, if we process the data in one batch.

For sequential processing, if the measurement errors are uncorrelated, they can be processed one after another with zero-width time interval until all measurements are sequentially updated. Otherwise, decoupling of the correlated measurement errors must be made, and linear combinations of measurements should be conducted to yield a new set of measurements whose errors are uncorrelated. After sequentially updating the measurements, the final state estimates and the associated error covariance matrix will be the same as if the measurements are processed in one batch. In this way, the time-consuming calculation of the matrix inversion can be prevented (e.g., [

The conventional batch measurement update of delta pseudorange measurements is performed as follows:

As stated before, the delay error states will not be updated from current measurement update. Thus, we can set

In sequential update of delta pseudorange measurements, the following parameters need to be firstly initialized. We denote

From

The batch processing of pseudorange measurements is handled after we process the delta pseudorange measurements. The

For sequential processing, we define

From

After all the measurements are updated, the

They are used as the delay states and covariance parameters in the next recursion

The whole process repeats until the end of the trajectory.

It is known that the sequential processing can save computational time. But how much can be exactly saved? In order to answer this question, the number of numerical operations involved in addition and multiplication should be counted separately. The method utilized in [

Numerical operations involved in sequential and batch measurement updates.

Operation | Num. | Add. | Multi. | Operation | Num. | Add. | Multi. |
---|---|---|---|---|---|---|---|

3 (2) | |||||||

5 (4) | — | ||||||

1 (1) | — | ||||||

2 (1) | |||||||

10 (8) | 1 | — | |||||

5 (4) | — | 1 | |||||

5 (4) | — | — | |||||

5 (4) | — | — | |||||

3 (2) | — | ||||||

3 (2) | — | ||||||

2 (1) | |||||||

2 (1) | — | ||||||

2 (1) |

The sum of additions and multiplications involved in batch and sequential processing.

Operations | Additions | Operations | Multiplications |
---|---|---|---|

Batch | Batch | ||

Sequential | Sequential |

The correctness of the calculations in Table

Based on the calculations in Table

Computational burden analysis (addition versus multiplication) with varying number of measurements.

Computational burden analysis (pseudorange versus delta pseudorange) with varying number of measurements.

Figure

Figure

The INS propagation model we use is often seen for low-cost microelectromechanical- (MEMS-) based IMU, which is also used as the system propagation model in INS/GPS integrated system. In terms of a low-cost IMU, the effects from the earth rotation cannot be observed. Hence, they are not considered in the model. Moreover, the transport rate and Coriolis terms have been neglected for simplicity. The simplified propagation model in discrete time domain can be expressed in navigation frame as:

Regarding the INS/GPS tightly coupled integration, the extended Kalman filter (EKF) is considered as state of the art for fusing the INS and GPS data, and the error states are often used [

In (

The transition matrix for the delay state vector is an identity matrix. Thus, according to (

For the system observation model (i.e., in (

In the following simulation tests, a field-collected UAV trajectory is used. The position and velocity dynamic profiles are depicted in Figures

UAV trajectory.

Trajectory dynamics.

For the GPS receiver, we assume that we use a NovAtel DL-4plus GPS receiver. The parameters shown in Table

Parameters used for generating the receiver-related measurement errors (1

Receiver thermal noise | Multipath errors | |
---|---|---|

Pseudorange (DLL) | 0.5 m | 0.4 m |

Doppler (FLL) | 0.05 m/s | 0.04 m/s |

Carrier phase (PLL) | 0.001 m | 0.004 m |

Landmark 20 eXT MEMS-based IMU performance specification.

Gyroscope (angular rates) | Bias in-run stability | Noise (ARW) | Scale factor error |
---|---|---|---|

20 [°/h] (1 | 0.035 [°/s/ | ≤1000 [ppm] | |

Accelerometer (specific forces) | Bias in-run stability | Noise (VRW) | Scale factor error |

20 [ | 40 [ | ≤1000 [ppm] |

Simulated LandMark 20 eXT MEMS IMU raw data.

With this simulation setup, two tests are made. In the first test, we verify the advantage of correctly handling the errors in the delta pseudorange measurements. And in the second one, we prove that the sequential measurement update of different types of measurements presents identical system estimation accuracy with respect to the batch processing, if certain conditions are met.

We initialize the filter to be 1 m away to the north, east and down directions from their true values. The errors analyzed here, represent the norm of position, velocity and attitude errors, respectively. For instance, the norm of position errors will be calculated as

Conditions for comparison.

Red | “Augmented” system using pseudorange and delta pseudorange measurements |

Green | “Augmented” system using delta pseudorange measurements alone |

Blue | System using pseudorange for position and delta pseudorange for velocity |

Black | System using pseudorange for position and Doppler shift for velocity |

Comparison of position and velocity estimates (the 3rd subplot is the zoom-in of the 2nd subplot).

Comparison of attitude estimates (the 2nd subplot is the zoom-in of the 1st subplot).

For the “augmented” system (red curves), both code-derived pseudorange and carrier-phase-derived delta pseudorange measurements are used in the position determination through the system observation model (i.e., (

The green curves in Figure

The blue curves in Figure

In this paper, we integrate the measurements obtained from a single-GPS receiver antenna with measurements from an INS without redundant attitude information (e.g., from magnetometers or a multiantenna GPS system). Therefore, no attitude fixes are available. In such case, the attitude information is contained in the position and velocity information, and its errors are related to the position and velocity estimation errors through the off-diagonal parameters in the error covariance matrices. Hence, the greater the accuracy of the position and velocity estimates, the greater the dampening on the attitude errors.

As an alternate approach, the Doppler shift measurements are often used for velocity determination (black curves in Figures

In this test, the simulation setup remains unchanged as the aforementioned one. Figure

System performance comparisons.

As depicted in the figure, the sequential measurement update presents equivalent performance as compared with batch measurement update. Nevertheless, two rules must be obeyed.

If we process a group of measurements, which involve both integrated and nonintegrated measurements, we must always process the integrated measurements (delta pseudorange) before the nonintegrated measurements (pseudorange) to guarantee that there is no measurement update before we process the integrated measurements.

The cross-covariance matrices (i.e.,

The errors involved in delta pseudorange measurements are related to the pseudorange errors at the start and end of the integration interval. The correct handling of these errors is essential in cases that the vehicle is maneuvering under high dynamics with low GPS update rate. In this contribution, the method with the “augmented” system state vector is considered, and is employed in the INS/GPS tightly coupled integration. Simulation is conducted using a field-collected UAV trajectory. Numerical results show that the filter can correctly track the dynamics in the trajectory. Moreover, sequential processing is used for measurement update in the KF to prevent the matrix inverse calculation. Monte Carlo runs are conducted and verify that the sequential processing can update different types of measurements (i.e., integrated and nonintegrated) without degrading the system estimation accuracy, if certain rules are met.

The Gauss-Jordan Elimination method is one of the methods which are widely used to calculate the inverse of a square matrix (e.g., [

After the Gauss-Jordan elimination, the right side of the augmented matrix is the inverse of the original square matrix. In this contribution, we firstly transform the left side of the augmented matrix (original square matrix) to be a diagonal matrix and divide the augmented matrix by its diagonal elements on each row to have an identity matrix on the left side and the inverse of original matrix on the right side. The computation is shown as follows.

In the first step, we use the elementary row operations to introduce zeros in the first column beginning from the second row, which involves

After the first step, the elements in the rows below the first will change. We indicate this by denoting the elements with a superscript, which stands for the number of arithmetic operations involved.

In the second step, we introduce zeros in the second column except the second row, which involves

In the

In the last step, we divide the augmented matrix by its diagonal elements on each row to have the matrix as shown in (

Computational cost of matrix inverse calculation.

Left side | Right side | ||||
---|---|---|---|---|---|

Steps | Multi. | Add. | Multi. | Add. | Rows processed |

1 | |||||

2 | |||||

2 | 1 | ||||

1 | 0 | ||||

Division | 0 | 0 | 0 |

Using the summation formula

According to Table

And the required number of additions is computed as

We can verify our calculation by inverting a scalar number as an extreme example for square matrix inversion (i.e.,

Part of the work reported herein has been funded by the German Research Foundation (DFG), Grant no. KN 876/1-2, which is gratefully acknowledged.