## NSI and Kalman Filter Toolbox

- GNSS-only Kalman Filters
- State-Space INS Error Modeling
- Trajectories for GNSS/INS Simulations
- Loosely-Coupled GNSS/INS
- Tightly-Coupled GNSS/INS
- Loose vs. Tight under Degraded Satellite Visibility
- Closed-Loop Filtering

GNSS products, solutions, and training

GNSS products, solutions, and training

Home » Products » Uncategorized » NSI and Kalman Filter Toolbox for MATLAB (Draft) Print Page

SKU: 17960
Category: Uncategorized

- Description
- GNSS-only Kalman Filters
- State-Space INS Error Modeling
- Trajectories for GNSS/INS Simulations
- Loosely-Coupled GNSS/INS
- Tightly-Coupled GNSS/INS
- Loose vs Tight Under Degraded Satellite Visibility
- Closed-Loop Filtering

The Navigation System Integration and Kalman Filter Toolbox provides a variety of functions and examples for users to perform both loose and tightly-coupled integration of inertial navigation systems (INS) with satellite-based navigation systems such as GPS. The toolbox also provides examples of stand-alone GPS kalman filter architectures. See the tabs above for examples of the following:

- GNSS-only Kalman Filters
- State-Space INS Error Modeling
- Trajectories for GNSS/INS Simulations
- Loosely-Coupled GNSS/INS
- Tightly-Coupled GNSS/INS
- Loose vs. Tight under Degraded Satellite Visibility
- Closed-Loop Filtering

The NSI&KF Toolbox provides example programs that illustrate the three basic forms of GPS (or SatNav) only Kalman filters:

The 5-state filter models three position states and two clock states and is only appropriate for extremely low dynamic applications (i.e., hiking). The example shown here is for a static receiver in a low multipath environment. Noise is simulated on the pseudorange measurements but the effects of the troposphere and ionosphere are assumed to have been reduced through standard correction models.

To set a baseline, an ordinary least squares (OLS) solution was performed first:

The effects of the atmospheric biases are clearly observed in the vertical position error (z) and the clock bias estimation error (b). High frequency noise and medium frequency multipath effects are observed as well.

The 5-state Kalman filter produces the following:

The atmospheric biases and multipath effects are still present but the filter has clearly reduced the noise significantly. Although not illustrated in this figure, this basic Kalman filter has an advantage over the OLS solution in that the filter automatically weights the measurements properly according to their contribution to the dilution of precision (DOP). In other words, the filter automatically takes the geometry into account in its estimate.

The 8-state filter adds three velocity states to the 5-state filter. This allows the 8-state filter to accommodate low dynamic applications. A trajectory with a 180 degree turn is used to investigate the performance of the filter:

The position error is small, as expected:

The velocity error, however, is affected by the turn since it represents medium dynamics rather than low dynamics:

The 11-state filter adds three acceleration states to the 8-state filter and thus better accommodates the medium dynamic trajectory:

Inertial error modeling is at the heart of all inertial integration filters. The NSI&KF Toolbox provides a stand-alone inertial state-space error model. The user can specify arbitrary combinations of gyro and accel bias errors along with initial position, velocity and attitude errors. The model can then be executed to determine how these combination of ‘input’ errors propagate into position/velocity/attitude errors over time. The example below shows the error propagation for the case of an INS (initially level and pointed north) with a 100 micro-g body x-axis accel bias and a 0.01 deg/hr body y-axis gyro bias:

The NSI&KF utilizes trajectory profiles generated by the INS Toolbox. For the examples listed in the accompanying pages here, a short (11 minutes) and a long (45 minutes) profile are used:

Short Profile

Long Profile

The long profile (used in the ‘feedback’ example) is just an extension of the short profile:

The NSI&KF provides functions and example programs supporting loosely-coupled GNSS/INS integration. An 18-state filter example models the nine inertial error states (position, velocity, attitude) along with 3 accel bias states, 3 gyro bias states and 3 GNSS position bias states. The short (i.e., 11 minute) trajectory profile [SEE "Trajectories" TAB ABOVE] was used. A nav-grade INS was modeled and the GPS measurements were corrupted by noise, ionospheric delay, tropospheric delay and multipath. A random walk model was used to simulate receiver clock drift.

In each plot, the actual estimation error is plotted in blue and the one-sigma estimation error bounds (provided by the Kalman filter estimation error covariance matrix) are plotted in red. The effects of initial convergence are clearly observed as are the effects of the vehicle turns.

The NSI&KF provides functions and example programs supporting tightly-coupled GNSS/INS integration. A 29-state filter example models the nine inertial error states (position, velocity, attitude), 3 accel bias states, 3 gyro bias states and 2 GNSS clock states and 12 pseudorange bias states. The short (i.e., 11 minute) trajectory profile [SEE ‘Trajectories’ TAB ABOVE] was used. A nav-grade INS was modeled and the GPS measurements were corrupted by noise, ionospheric delay, tropospheric delay and multipath. A random walk model was used to simulate receiver clock drift.

In each plot, the actual estimation error is plotted in blue and the one-sigma estimation error bounds (provided by the Kalman filter estimation error covariance matrix) are plotted in red. The effects of initial convergence are clearly observed as are the effects of the vehicle turns.

The graceful degradation provided by a tightly-coupled integration may be observed by artificially reducing the number of visible satellites in the simulation. Here we take the same short (i.e., 11 minute) trajectory profile [SEE 'Trajectories' TAB ABOVE] used in the loosely-coupled [SEE ‘Loosely-coupled…’ TAB ABOVE] and tight-coupled [SEE ‘Tightly-coupled…’ TAB ABOVE] examples but from t = 5 min up to t = 7 min we reduce the number of visible satellites to just 3. There is thus no GNSS position solution to aid the loosely-coupled integration whereas there are still three pseudorange measurements feeding the tightly-coupled integration. As long as the receiver’s clock instability is not too great, the results are dramatic:

[caption id="attachment_17990" align="alignnone" width="1024"] MATLAB Handle Graphics[/caption]The inertial error model utilized by the integration filter has a linearity assumption built into it. So long as the inertial errors are sufficiently small, the assumption holds. As a result in actual practice, the Kalman filter corrections must be fed back periodically to keep the errors small.

To illustrate this, a loosely-coupled integration was performed utilizing a long (i.e., 45 minute) trajectory [SEE ‘Trajectories’ TAB ABOVE]. With no feedback, the vertical solution eventually diverges:

The divergence problem can be solved by feeding back the error estimates once the filter has converged: