UltimateKalman:基于正交变换的灵活卡尔曼滤波与平滑
数值分析
2024-10-29 v3 数值分析
系统与控制
系统与控制
摘要
UltimateKalman 是一个灵活的线性卡尔曼滤波器与平滑器,以三种流行的编程语言实现:MATLAB、C 和 Java。UltimateKalman 是对 Paige 与 Saunders 于 1977 年提出的一种优雅的卡尔曼滤波器与平滑器的轻微简化与轻微推广。他们的算法在数值上似乎优于其他卡尔曼滤波器与平滑器且更为灵活,但奇怪的是此前从未被实现或使用过。UltimateKalman 具有灵活性:它能轻松处理时变问题、状态向量维数随步长变化的问题、不同步长中观测数量变化(或某些步长中无观测)的问题,以及初始状态期望未知的问题。UltimateKalman 的编程接口被拆分为简单的构建模块,可用于构造滤波器、单步或多步预测器、多步或全轨平滑器及其组合。本文描述了该算法及其实现,并提供了一个由示例与测试组成的测试套件。
引用
@article{arxiv.2207.13526,
title = {UltimateKalman: Flexible Kalman Filtering and Smoothing Using Orthogonal Transformations},
author = {Sivan Toledo},
journal= {arXiv preprint arXiv:2207.13526},
year = {2024}
}