2024-08-26 04:28 PM - edited 2024-08-26 11:28 PM
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.
2024-08-26 06:43 PM
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
2024-08-26 11:22 PM
@liaifat85 Thanks, I will take a closer look although it appears to be non-extended Kalman Filter impl.