data fusion with kalman filtering
DESCRIPTION
A data fusión system is designed using Kalman filtering. The signals from three noisy sensors are fused to improve the estimation of a measured variable.TRANSCRIPT
Kalman Filtering
Estimation of state variables of a system from incomplete noisy measurements
Fusion of data from noisy sensors to improve the estimation of the present value of state variables of a system
Kalman Filtering
Given a System
x = A x + B u + w.
y = Cx + n
where
x = nx1 state vector
y = mx1 measurement vector
w = nx1 process noise
system disturbance
n = mx1 measurement noise
Q = w covariance matrix
R = n covariance matrixSystem
u
w
n
y
w and n are white gaussian noises
Kalman Filtering
Problem Definition
^Find an estimate x of state vector x from incomplete and noisy measurement vector y
Kalman Filtering
System
x = A x + B u + w.
y = Cx + n
Kalman Filter (Estimator)
x = A x + B u + L (y – C
x)
.^^
w and n are not included. Their present values are unknown.
L: filter gain. nxm matrix.
Filter gain L ensures that the estimation error e converges to zero
lim e(t) 0
t ∞e = x - x̂
Kalman Filtering
System.u
w
n
y
State x
Estimator.State x̂
x̂
Kalman Filtering
Computing the Filter Gain L
x = A x + B u + L (y – C
x)
.^^
L = S CT R-1
S is a positive matrix solution of the Riccati equation:
A S + SAT - S CT R-1 CT S + Q = 0
Matrixes A, C, Q and R are known
Estimator:
Data Fusion Using Kalman Filter
Problem Formulation
Fuse the noisy signals of three sensors to improve the estimate of a variable (temperature,
distance, position, etc.)
Air Temperature
Sensor 1
Sensor 2
Sensor 3
Gaussian process
mean value: 20
std. dev.: 1.1
Sensors noise with zero mean
Sensor 1
Sensor 2
Sensor 3
Sensors Noise and Bias
std. dev.: 0.8
bias: 0.4
std. dev.: 0.8
bias: -0.4
std. dev.: 0.8
bias: 0.0
Sensor Data Fusion with Kalman Filter
Sensor 1
Sensor 2
Sensor 3
Sensor Data
Fusion with
Kalman Filter
Improved Estimation of Measured Variable
Kalman Filtering
System
x = A x + B u + w.
y = Cx + nx = w.
y1 = x + n1
y2 = x + n2
y3 = x + n3
x = air temperature
Changes in temperature are modeled as a gaussian process
Sensor 1
Sensor 2
Sensor 3
Noisy measurements
Determining matrixes:
A = 0 B = 0 C = 111
Q = 1.21 R = 0.64 0 0
0 0.64 0
0 0 0.64
Estimation Using One Sensor
The Kalman filter significantly reduces the noise but does not eliminate the bias
First sensor with noise and bias
Estimation Using Two Sensors
Sensor fusion through Kalman filtering significantly improves the estimation reducing
the effect of sensor noise and bias
First and Second sensors with noise and bias
Estimation Using Three Sensors
No significantly improvement with the third sensor (respect to when using first and second sensors)
Three sensors. Third sensor only with noise
Estimation Error
Higher error when using only the first sensor with bias.
e = x - x̂
Lower error when using two and three sensors.
Estimation Error
Mean Value Standard Deviation
e = x - x^
First Sensor First and Second SensorsThree Sensors
-0.00035 0.082111
-0.00051 0.072695
-0.39896 0.097506
Higher estimation error when using only the first sensor (noise and bias).
Estimation error significantly reduces with two and three sensors. Bias is almost eliminated.
Estimator Performace for Non-Gaussian Processes
The estimator performs well even if the process is not gaussian.
Temperature changes behave as a uniform (non-gaussian) process with zero mean
Conclusions
Sensor data fusion can be easily implemented using Kalman filters.
For filter design, changes in temperature are modeled as a gaussian process. However, the filter performs well even when used in other probabilistic processes.
Sensor fusion through Kalman filtering significantly improves the on-line estimation reducing the effect of sensor noise and bias.
Research goes on for the simultaneous estimation of several variables.