ivo-georgiev/ukfLib

版本 1.3.0.1 (310.3 KB) 作者: Ivo Georgiev
Unscented Kalman filter C library, s-function and configuration GUI tool
385.0 次下载
更新时间 2023/4/12

ukfLib: Unscented Kalman filter C library

Посвещавам тази работа на моите любими деца! Приятно пътуване във времето, когато бяхте съвсем мънички! Нека искрата на живота разпали във вас огън от любознателност, старателност, решителност и доброта. Учете се от всеки който може и иска да сподели с вас знание. Обичайте се и се доверявайте най-вече на себе си! Обичам ви толкова много, Тати!

The idea of the library is to deliver free open source C implementation on UKF with different examples, documentation and GUI for easy filter configuration. Currently there are two available examples. They show how to use code and how to import and test it as s-function in Simulink(optional). My wish is to extend and test UKF library with more examples from different areas in order to be useful for more people. Any ideas, feedback and help are welcome.

What is included:

  • mtxLib.c, mtxLib.h : Library with some basic matrix functions required for UKF implementation(cholesky decomposition, matrix inversion, matrix operation, i.e).
  • ukfLib.c, ukfLib.h : Unscented Kalman filter implementation.
  • ukfCfg.c,ukfCfg.h : These files contain UKF matrix and mathematical state space models/equation(state and measurement equations).They are specific for every different nonlinear filtering problem. In current project these files adress the issue from Matthew B Rhudy tutorial(Understanding Nonlinear Kalman Filters, Part II:An Implementation Guide): https://yugu.faculty.wvu.edu/files/d/2cbb566f-9936-4033-bb1c-6d887c30d45a/irl_wvu_online_ukf_implementation_v1-0_06_28_2013.pdf
  • ukfCfg1.c,ukfCfg1.h : This configuration is used for estimation of angle and angular speed of free pendulum.
  • ukfCfg2.c,ukfCfg2.h : nonlinear state estimation for the Van der Pol oscillator.
  • test2.c : file is used for both simulation and unit testing. It also show how filter should be initialized and used in practice.
  • Matlab model(R2013b) with s-fun for simulation and verification of each configuration(cfg1,cfg2,..,cfgN) in Simulink enviroment.This model use files listed above to build and simulate s-function.
  • Matlab GUI tool for easy filter configuration and automatic file generation(ukfCfgN.c ukfCfgN.h)

Why this project is useful:

  • There is not any specific external dependency. All needed sources are available in repository.
  • Implementation could be easy adapted for every different nonlinear filtering problem only by creation of own ukfCfgN.c,ukfCfgN.h files.
  • Implementation follow the prety good Matthew Rhudy tutorial step by step and solve the same example. Users could easy compare the difference between matlab and C implementation.
  • The project contain simulink model(R2013b) which show how s-function could be created(s-function builder) and simulated from given set of source files. There is two steps needed to simulate UKF filter in Simulink. First step is to load data in WS by running of ukf.m. The second step is to build s-fun and run simulink model. Filter behavior could be checked at every simulation step and compared with expected data generated from m-script implementation(applied also in tutorial).

For more information please see UKF wiki page: https://github.com/ivo-georgiev/ukfLib/wiki

View ivo-georgiev/ukfLib on File Exchange

引用格式

Ivo Georgiev (2024). ivo-georgiev/ukfLib (https://github.com/ivo-georgiev/ukfLib), GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R2013b
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Online Estimation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明
1.3.0.1

Sync description with github

1.3.0.0

Add nonlinear state estimation for the Van der Pol oscillator.

1.2.0.0

Initial implementation on GUI tool for filter configuration and automatic file generation(ukfCfgN.c ukfCfgN.h)

1.1.0.0

Upload project image

1.0.0.0

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库