Deterministic scalar discrete Kalman filter implementation in C99 designed for resource-constrained microcontrollers.
- Zero dynamic memory allocation (
mallocfree). - Constant time execution:
$\mathcal{O}(1)$ runtime complexity. - Static state footprint: 20 bytes on 32-bit architectures.
cmake -B build
cmake --build build
./build/bench_kalmanOn Windows with the MSYS2 MinGW toolchain, use PowerShell:
cmake -B build -G "MinGW Makefiles"
cmake --build build
.\build\bench_kalman.exeInstall the Python plotting dependency once:
python -m pip install matplotlibAfter building the benchmark, generate the convergence plot from its live output:
python .\graph.pyThis saves convergence_plot.png in the project directory. You can choose another
output path with python .\graph.py --output path\to\plot.png.