| Literature DB >> 31500148 |
Yanning Zheng1, Siyou Wang1, Shengli Wang2.
Abstract
The Global Navigation Satellite System (GNSS) is a widely used positioning technique. Computational efficiency is crucial to applications such as real-time GNSS positioning and GNSS network data processing. Many researchers have made great efforts to address this problem by means such as parameter elimination or satellite selection. However, parameter estimation is rarely discussed when analyzing GNSS algorithm efficiency. In addition, most studies on Kalman filter (KF) efficiency commonly have defects, such as neglecting application-specified optimization and limiting specific hardware platforms in the conclusion. The former reduces the practicality of the solution, because applications that need such analyses on filters are often optimized, and the latter reduces its generality because of differences between platforms. In this paper, the computational cost enhancement of replacing the conventional KF with the information filter (IF) is tested considering GNSS application-oriented optimization conditions and hardware platform differences. First, optimization conditions are abstracted from GNSS data-processing scenarios. Then, a thorough analysis is carried out on the computational cost of the filters, considering hardware-platform differences. Finally, a case of GNSS dynamic differencing positioning is studied. The simulation shows that the IF is slightly faster for precise point positioning and much faster for the code-based single-difference GNSS (SDGNSS) with the constant velocity (CV) model than the conventional KF, but is not a good substitute for the conventional KF in the other algorithms mentioned. The real test shows that the IF is about 50% faster than the conventional KF handling code-based SDGNSS with the CV model. Also, the information filter is theoretically equivalent to and can produce results that are consistent with the Kalman filter. Our conclusions can be used as a reference for GNSS applications that need high process speed or real-time capability.Entities:
Keywords: Global Navigation Satellite System; Kalman filter; computational efficiency; information filter
Year: 2019 PMID: 31500148 PMCID: PMC6767202 DOI: 10.3390/s19183858
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Filter factors. DGNSS: GNSS difference positioning, DDGNSS: double-differenced DGNSS, GNSS: Global Navigation Satellite System, INS: inertial navigation system, PPP: precise point positioning.
| Factors | Available Options | Examples |
|---|---|---|
| 1. Solution requirements | A. Only the final solution based on all data is required. | PPP with static position parameters |
| B. Epoch solutions are required. | Any dynamic positioning and navigation algorithm | |
| 2. Dynamic models | A. Dynamic model is fixed (F and W used in each epoch are the same). | PPP and DGNSS |
| B. Dynamic model is not fixed, but matrix F is a diagonal matrix. | ||
| C. Dynamic model is not fixed, and matrix F is not a diagonal matrix. | GNSS/INS loosely or tightly coupled integrated navigation algorithms | |
| 3. Observation models | A. Observation model is fixed (B and R used in each epoch are the same). | |
| B. Observation model is not fixed, but matrix R is a diagonal matrix. | Undifferenced and single-differenced GNSS algorithms | |
| C. Observation model is not fixed, and matrix R is not a diagonal matrix. | DDGNSS algorithms and GNSS/INS integrated navigation algorithms |
Optimization of the information filter (IF) using different factor options. Factors and options are from Table 1. Optimizations are summarized from previous discussion about each factor in Section 3.2.
| Factors | Options | Optimizations |
|---|---|---|
| 1 | A | Equation (13) is omitted in the filter update procedure. |
| B | None | |
| 2 | A | |
| B | Calculation of | |
| C | None | |
| 3 | A | |
| B | Calculation of | |
| C | None |
Scalar operation number polynomials of matrix operations.
| Matrix Operations | Scalar Operations | ||
|---|---|---|---|
| Addition | Multiplication | Division | |
| Addition ( |
| 0 | 0 |
| Multiplication ( |
|
| 0 |
| Inversion ( |
|
|
|
| Inversion ( |
|
|
|
Polynomial coefficients of scalar addition operation. IF: information filter, KF: Kalman filter.
| Filter | Factors | Options | Polynomial Coefficients | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
| |||
| KF | AAA | 3 | 3 | 2 | 4/3 | 3 | 2 | 3/2 | 1 | 13/6 | |
| IF | AAA | 14/3 | 9/2 | 1 | 5/6 | ||||||
| 1 | B-A | 4/3 | 3/2 | 7/6 | |||||||
| 2 | B-A | 1 | |||||||||
| C-A | 8/3 | 3/2 | –1/6 | ||||||||
| 3 | B-A | 1 | 2 | ||||||||
| C-A | 1 | 2 | 4/3 | 1/2 | 7/6 | ||||||
Polynomial coefficients of scalar multiplication operation.
| Filter | Factors | Options | Polynomial Coefficients | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
| |||
| KF | AAA | 3 | 3 | 2 | 4/3 | 1 | 2 | 1 | 5/3 | ||
| IF | AAA | 14/3 | 3/2 | 1 | –1/6 | ||||||
| 1 | B-A | 4/3 | 2 | 5/3 | |||||||
| 2 | B-A | 1 | |||||||||
| C-A | 8/3 | 1/2 | –1/6 | ||||||||
| 3 | B-A | 1 | 2 | ||||||||
| C-A | 1 | 2 | 4/3 | 1 | 5/3 | ||||||
Polynomial coefficients of scalar division operation.
| Filter | Factors | Options | Polynomial Coefficients | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
| |||
| KF | AAA | 1/2 | 3/2 | ||||||||
| IF | AAA | 1 | |||||||||
| 1 | B-A | 1/2 | 3/2 | ||||||||
| 2 | B-A | 1 | |||||||||
| C-A | 1 | ||||||||||
| 3 | B-A | 1 | |||||||||
| C-A | 1/2 | 3/2 | |||||||||
Tests of scalar operation time cost with different hardware platforms. CPU, central processing unit; OS, operating system.
| No. | CPU | OS | Scalar Operation Time Cost (second) | ||
|---|---|---|---|---|---|
| dtA-dtEmpty | dtM-dtEmpty | dtD-dtEmpty | |||
| 1 | Intel I7-7700 | Windows 10 | 2.043 | 2.042 | 85.225 |
| 2 | Intel I7-7700 | Windows 7 | 2.067 | 2.073 | 86.089 |
| 3 | Intel I5-7300HQ | Windows 10 | 2.504 | 2.482 | 103.258 |
| 4 | Intel I5-5350U | Ubuntu 16.04 | 1.265 | 1.265 | 107.148 |
| 5 | Intel I5-4300U | Windows 7 | 2.363 | 4.895 | 220.207 |
| 6 | Intel I5-4200H | Windows 8.1 | 1.183 | 2.384 | 106.244 |
| 7 | Intel I3-3240 | Windows 7 | 2.677 | 4.599 | 197.717 |
| 8 | Intel I3-3110M | Ubuntu 16.04 | 1.658 | 3.328 | 153.334 |
| 9 | Intel I3-2350M | Windows 7 | 1.784 | 3.461 | 169.764 |
| 10 | Intel I3-2350M | Ubuntu 16.04 | 2.299 | 3.261 | 173.223 |
| 11 | Xeon Silver 4114 | Windows 10 | 3.133 | 3.147 | 132.182 |
| 12 | Xeon E5-2609v3 | Windows Storage Server 2012R2 | 2.366 | 5.169 | 243.789 |
| 13 | Xeon E5-1620v4 | Windows 7 | 1.026 | 1.025 | 89.846 |
| 14 | AMD A10-5750M | Windows 10 | 4.143 | 4.126 | 402.132 |
| 15 | AMD A6-5345M | Windows 7 | 5.066 | 5.100 | 492.969 |
: Servers, workstations, and PC; : laptops; : industrial tablet. dtA: time cost of addition; dtM: time cost of multiplication; dtD: time cost of division; dtEmpty: time cost of empty loop.
Figure 1Ratio between time costs of multiplication and addition. Bottom axis: a; left axis: b.
Figure 2Computational cost ratio .
Figure 3Maximum relative error of replacing the arbitrary ratio set with .
Compositions and numbers of parameters and observations in GNSS algorithms. ZTD, zenith troposphere delay. IFPPP: ionosphere-free precise point positioning, SDGNSS: single-difference GNSS, RTK: real-time kinematic, UPPP uncombined precise point positioning.
| Algorithm | Number of Parameters 1 | Number of Observations | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Position Corrections | Velocity Corrections | Attitude Corrections 2 | Wet Component of ZTD | Receiver Clock Offset | Receiver Clock Drift | Ionospheric Delay 3 | Ambiguity | Gyroscope Bias | Accelerometer Bias | Pseudo Range | Doppler | Carrier Phase | Other Observations | |
| IFPPP with static position parameter | 3 | 0 | 0 | 1 | 4 | 0 | 0 |
| 0 | 0 |
| 0 |
| 0 |
| IFPPP with dynamic position parameter | 3 | 0 | 0 | 1 | 4 | 0 | 0 |
| 0 | 0 |
| 0 |
| 0 |
| UPPP with static position parameter | 3 | 0 | 0 | 1 | 4 | 0 |
| 2 × | 0 | 0 | 2 × | 0 | 2 × | 0 |
| UPPP with dynamic position parameter | 3 | 0 | 0 | 1 | 4 | 0 |
| 2 × | 0 | 0 | 2 × | 0 | 2 × | 0 |
| Code-SDGNSS with CV | 3 | 3 | 0 | 0 | 4 | 4 | 0 | 0 | 0 | 0 | 2 × | 2 × | 0 | 0 |
| Code-DDGNSS with CV | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 × | 2 × | 0 | 0 |
| RTK/INS loosely coupled | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 6 4 |
| RTK/INS tightly coupled | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 2 × | 3 | 3 | 2 × | 2 × | 2 × | 0 |
| RTK/INS tightly coupled with all ambiguities fixed | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 2 × | 2 × | 2 × | 0 |
| Code-DDGNSS/INS tightly coupled | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | 3 | 2 × | 2 × | 0 | 0 |
| IFPPP/INS tightly coupled | 3 | 3 | 3 | 1 | 4 | 4 | 0 |
| 3 | 3 |
|
|
| 0 |
1 Tropospheric gradients are not included; 2 These parameters are elements of the misalignment angle rotation vector; 3 Pseudo-range and carrier-phase observations of two frequencies of the same satellite share the same ionospheric delay parameter; 4 These observations include position and velocity error observations.
Number of parameters, number of observations, and factor combination of GNSS algorithms. CV: constant velocity.
| Algorithms | Combinations | Number of Parameters | Number of Observations |
|---|---|---|---|
| IFPPP with static position parameter | AAB |
|
|
| IFPPP with dynamic position parameter | BAB |
|
|
| UPPP with static position parameter | AAB |
|
|
| UPPP with dynamic position parameter | BAB |
|
|
| Code-SDGNSS with CV | BAB | 14 |
|
| Code-DDGNSS with CV | BAC | 6 |
|
| RTK/INS loosely coupled | BCC | 15 | 6 |
| RTK/INS tightly coupled | BCC |
|
|
| RTK/INS tightly coupled with all ambiguities fixed | BCC | 15 |
|
| Code-DDGNSS/INS tightly coupled | BCC | 15 |
|
| IFPPP/INS tightly coupled | BCC |
|
|
Figure 4Computational cost ratio for GNSS algorithms.
Hardware information and test settings. IMU: inertial measurement unit.
|
| Antenna Type: | Novatel GPS-704-X |
| Urban | |
| Receiver Type: | Novatel ProPak6 |
| Dataset 1: | Huantai, Shandong | |
|
| Antenna Type: | Novatel GPS-704-X | Dataset 2: | Huantai, Shandong | |
| Receiver Type: | Novatel ProPak6 | Dataset 3: | Nanjing, Jiangsu | ||
| IMU Type: | Novatel SPAN-LCI | Dataset 4: | Nanjing, Jiangsu | ||
| Rover Type: | Van |
| Dataset 1: | 2016.11.13 08:37–12:50 | |
|
| 4 km | Dataset 2: | 2016.11.13 14:02–16:23 | ||
|
| GPS/BDS | Dataset 3: | 2016.07.26 13:50–14:29 | ||
|
| 0.2 | Dataset 4: | 2016.07.26 14:59–15:31 | ||
Figure 5Time–cost ratio and satellite number histogram of dataset 1.
Figure 6Time–cost ratio and satellite number histogram of dataset 2.
Figure 7Time–cost ratio and satellite number histogram of dataset 3.
Figure 8Time–cost ratio and satellite number histogram of dataset 4.
Figure 9Overall time cost.