cancel
Showing results for 
Search instead for 
Did you mean: 

IIS3DHHC sensor and (Extended) Kalman Filter (EKF)

TDJ
Lead

Hi, I try to use IIS3DHHC as a simple inclinometer. I learnt that to get stable readings it may be a good idea to process raw data using Extended Kalman Filter (EKF). Some ST demonstrations available on YT mention that as well, but I found no source code.

I have tested several solutions found on Github but so far I found no good EKF implementation, preferably based on CMSIS-DSP or Eigen3 libs.

Could anyone advise?

A similar question was asked exactly 10 years ago here but it has not been answered yet.

2 REPLIES 2
liaifat85
Senior III

Unfortunately, there is no out-of-the-box EKF implementation in CMSIS-DSP. At best, you can build one by leveraging its matrix and vector operations.

Eigen3 is more straightforward due to its high-level abstractions. You can use Eigen3's matrix and vector types (Eigen::MatrixXd, Eigen::VectorXd) to define and manipulate the matrices in your EKF. Eigen3 simplifies operations like matrix inversion (matrix.inverse()) and multiplication (matrix1 * matrix2).

By the way, here is a tutorial on STM32F030 and MPU6050. You can take a look here: https://www.pcbway.com/project/shareproject/Open_Watch_An_open_source_handmade_smartwatch_10560bbb.html

 

@liaifat85 Thanks, I will take a closer look although it appears to be non-extended Kalman Filter impl.