You are here: Symbol Reference > AdaptiveFiltering Namespace > Classes > TKalmanFilter Class
DSP Master VCL
ContentsIndex
PreviousUpNext
TKalmanFilter Class

Kalman filter component implements standard Kalman filtering algorithm.

AdaptiveFiltering_TKalmanFilterAdaptiveFiltering_TKalmanFilter
Pascal
TKalmanFilter = class(TBaseKalmanFilter);

The standard Kalman filtering equations are defined as following: 

Time update: 

x(k) = A*x(k-1) + B*u(k-1)  

P(k) = A*P(k-1)*A^T + Q  

Measurement update: 

K(k) = P(k)*H^T*(H*P(k)*H^T +R)^-1  

x(k) = x(k) + K(k)*(z(k) - H*x(k))  

P(k) = (I - K(k)*H)*P(k)  

The process x(k) has a known mathemathical model. When we have an application where we need to measure x(k) as accurately as possible the Kalman filter can help us reduce the noise. We use the added information from the mathemathical model to more effectively filter the signal. 

Description of symbols: 

s - number of parallel inputs (columns in x and z).  

x(k) - size: n x s. vector state (value) of the process  

A - size: n x n. Maps x(k-1) to x(k) without noise or system input  

u(k) - control vector input (optional). size: l x s  

B - size: n x l maps control input u(k-1) to x(k)  

Q - process noise covariance  

R - measurement noise covariance  

z - size: m x s. Measurement vector  

H - size: m x n. Relates x(k) to the measurement z(k)  

w - process noise  

v - measurement noise  

All parameters can be modified by the user before each iteration of the filter. One iteration of the filter is achieved by calling the Update method. The process noise and measurement noise are assumed to be independent and gaussian.[1] An Introduction to the Kalman Filter, Greg Welch and Gary Bishop

Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!