Back to previous page

Some executed projects

Kalman filtering with Arduino and MATLAB

September 2nd, 2018

I implemented two Kalman filters using MATLAB. The first Kalman filter combined a noisy measurement and a model-based prediction to find the optimal estimate of the signal.

Kalman filter estimating a signal from a noisy measurement and a known model
The output of a know mathematical model received additive noise. I used a Kalman filter to estimate a signal (in red), that is more similar to the original one (in blue) than the noisy signal (in black).

The second Kalman filter blended three synthetic noisy signals, working as a sensor fusion Kalman filter.

Sensor-fusion Kalman filter blending three synthetic noisy signals
There were three synthetic signals (in yellow, cyan and magenta), which I Kalman filtered in order to obtain the red signal. I observed that the estimated signal is more similar to the clean signal than any of the noisy signals.

The signal-to-noise ratio (SNR) was used to quantify the amount of noise present in the signals.

Then, I used four accelerometer signals to have a more reliable measurement by applying real-time sensor fusion with Arduino.

Four accelerometers used in the Arduino Kalman filter sensor fusion
The four accelerometers used in the sensor fusion (in order of appearance at the image): the accelerometer embedded in the Intel Curie chip of the Arduino 101, two ADXL335 modules, and a GY85 module. The Kalman filter was implemented in Arduino.