Dew Signal for .NET
|
Kalman filter component implements standard Kalman filtering algorithm.
AdaptiveFiltering.cs
The standard Kalman filtering equations are defined as following:
Time update:
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))
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-2024 by Dew Research. All rights reserved.
|
What do you think about this topic? Send feedback!
|