This paper addresses the problem of designing the {\it continuous-discrete} unscented Kalman filter (UKF) implementation methods. More precisely, the aim is to propose the MATLAB-based UKF algorithms for {\it accurate} and {\it robust} state estimation of stochastic dynamic systems. The accuracy of the {\it continuous-discrete} nonlinear filters heavily depends on how the implementation method manages the discretization error arisen at the filter prediction step. We suggest the elegant and accurate implementation framework for tracking the hidden states by utilizing the MATLAB built-in numerical integration schemes developed for solving ordinary differential equations (ODEs). The accuracy is boosted by the discretization error control involved in all MATLAB ODE solvers. This keeps the discretization error below the tolerance value provided by users, automatically. Meanwhile, the robustness of the UKF filtering methods is examined in terms of the stability to roundoff. In contrast to the pseudo-square-root UKF implementations established in engineering literature, which are based on the one-rank Cholesky updates, we derive the stable square-root methods by utilizing the $J$-orthogonal transformations for calculating the Cholesky square-root factors.
翻译:本文针对连续-离散无迹卡尔曼滤波器(UKF)实现方法的设计问题展开研究。具体而言,旨在提出基于MATLAB的UKF算法,用于对随机动态系统进行精确且鲁棒的状态估计。连续-离散非线性滤波器的精度在很大程度上取决于实现方法如何管理滤波预测步骤中产生的离散化误差。我们提出了一种简洁而精确的实现框架,通过利用MATLAB内置的用于求解常微分方程(ODE)的数值积分方案来跟踪隐藏状态。MATLAB所有ODE求解器内置的离散化误差控制机制提升了精度,能将离散化误差自动保持在用户设定的容差阈值以下。同时,本文从舍入稳定性角度检验了UKF滤波方法的鲁棒性。与工程文献中建立的基于一秩Cholesky更新的伪平方根UKF实现方法不同,我们通过利用$J$-正交变换计算Cholesky平方根因子,推导出了稳定的平方根方法。