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

NSI and Kalman Filter Toolbox for MATLAB (Draft)

SKU: 17960 Category:

NSI and Kalman Filter Toolbox

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

GPS-only Kalman Filters

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

5-State Filter for very low-dynamic applications

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:

GPS OLS Estimation Errors

 

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:

GPS 5-State Kalman Estimation Errors

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.

8-State Filter for low-dynamic applications

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:

True and Estimated Trajectories

The position error is small, as expected:

GPS 8-State Extended Kalman Filter Estimation Errors

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

GPS 8-State Extended Kalman Filter Estimation Errors

11-State Filter for medium-dynamic application

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

GPS 11-State Extended Kalman Filter Position Estimation Errors

GPS 11-State Extended Kalman Filter Velocity Estimation Errors

State-Space INS Error Modeling

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:

Inertial State Space Error Modeling Position Error

Inertial State Space Error Modeling Velocity Error

Inertial State Space Error Modeling Attitude Error

Trajectories for GNSS/INS Simulations

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

Trajectory Graph Horizontal

 

Trajectory Graph Velocity

Trajectory Graph Attitude

Long Profile 

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

Flight Path Trajectory

Flight Path Altitude

 

 

Loosely-Coupled GNSS/INS

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.

Loosely-coupled Position Error

Loosely-coupled Velocity Error

Loosely-coupled Attitude Error

Loosely-coupled Gyro Estimate

Loosely-coupled Acceleration Estimate

Tightly-Coupled GNSS/INS

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.

Tightly-coupled Position Error

Tightly-coupled Velocity Error

Tightly-coupled Attitude Error

Tightly-coupled Gyro Estimate

Loose vs. Tight under Degraded Satellite Visibility

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:

Loose Coupling Kalman Corrected Position Area

[caption id="attachment_17990" align="alignnone" width="1024"]Tight Coupling Kalman Corrected Position Area MATLAB Handle Graphics[/caption]

Closed-Loop Filtering

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:

No Feedback Positioning Error

No Feedback Velocity Error

No Feedback Attitude Error

No Feedback Acceleration Bias Estimate

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

LC Feedback Position Error

LC Feedback Velocity Error

LC Feedback Attitude Error

LC Feedback Acceleration Estimate

LC Feedback Gyro Estimate

Scroll to Top