Scilab for Kalman Filtering

image filkterarduino

Practical Use of Kalman Filter with Scilab, Arduino and Webcam

Learn how to design your kalman filter with Scilab, and test the results with hardward such as Arduino Uno and Webcam!

enquire icon



“A good practrical use for Kalman Filter and its variant, the use of the webcam & the Arduino board..." 

Course Synopsis


The problem of state estimation concerns the task of estimating the state of a process while only having access to the noisy measurements from that process. It is a very ubiquitous problem setting, encountered in almost every discipline within science and engineering. The most commonly used type of state estimator is the Kalman filter. The Kalman filter, named after Rudolf E. Kalman, is an optimal estimator for linear systems, but unfortunately very few systems in real world are linear. A common approach to overcome this problem is to linearize the system before using the Kalman filter, resulting in the extended Kalman filter. This linearization, however, is not without its problems. The development of better estimation algorithms for nonlinear systems has therefore attracted a great deal of interest in the research community, because improvements here will undoubtedly have great impact in a wide range of engineering fields.
This course is conducted in a workshop-like manner, with a balance mix of theory and hands-on coding and simulation in Scilab. Extensive exercises are provided throughout the course to cover every angle of algorithm design and implementation using Scilab. We have enhanced the training to include few soft real-time examples to make the course more interesting!

Course Methodology

image fork
The course begins with an overview of the estimation problem, and a review on the basic concepts in state estimation. The Kalman filter and its variants are then introduced in turn, each offering improvement/enhancement over its predecessor. The derivation of the main algorithms are covered, but kept to a minimum, to enable better understanding and to provide insight on the conceptual ideas behind these algorithms. Application examples are provided at the end of each section to help reconcile theory with actual practice.


Course Objectives


This course is intended as a practical introduction to the Kalman filter and its variants. As such, there will be a series of hands-on exercises which are generally aimed to help translate the theoretical models to practical applications.

Who Must Attend

Scientists, mathematicians, engineers and programmers at all levels who work with or need to learn about Kalman filtering and/or state estimation. No background in either of these topics are, however, assumed. The detailed course material and many source code listings will be invaluable for both learning and reference.


A basic knowledge of probability theory, signal processing and Scilab programming is necessary.

What you will learn

Basic theoretical concepts and principles of the Kalman filter and its variants

Scilab implementation of the estimation algorithms

Course Outline

Fundamental of Kalman Filter and its Variants:

  • The estimation problem
  • The state variable model
Kalman filter
  • Conditional mean
  • State estimate and state predictor
  • Minimum mean square error
  • Prediction and update steps
  • Innovations, Recurrence relations
  • Example application
  • Arduino Example: This example will use the Scilab to communicate with Arduino and get the signal from a sensor and apply kalman filter to the signal

Extended Kalman filter

  • Nonlinear state variable model
  • Taylor series expansion
  • Prediction and update steps
  • Recurrence relations
  • Example application
Unscented Kalman filter
  • The unscented transform
  • Sigma points, Prediction and update steps
  • Recurrence relations
  • Example application
  • Mouse cursor tracking example – This example extend the kalman filter to the 2D surface and track the coordinates x and y, of which is the mouse cursor. 
 Ensemble Kalman filter
  • Ensemble points
  • Prediction and update steps
  • Recurrence relations
  • Example application

 Particle filter

  • Monte Carlo integration
  • Importance sampling
  • Sequential importance sampling
  • Degeneracy phenomenon
  • Resampling
  • Example application 
  • Webcam example – Using the webcam participants will get the webcam connected to Scilab and applying particle filter in real-time to detect the location of an color object.



enquire icon

© 2010-2018 Trity Technologies Sdn Bhd. All Rights Reserved.