主要内容

排除在线状态估计

使用线性,扩展或Unscented Kalman滤波器或粒子过滤器算法执行非线性系统的状态估计后,您可以在部署应用程序中部署代码之前验证估计。如果验证指示对估计的低置信度,请选中您指定的以下过滤器属性:

  • 初始状态和状态协方差值 - 如果发现系统的测量和估计输出在状态估计的开头发散,请检查您指定的初始值。

  • 状态转换和测量功能 - 验证您指定的功能是非线性系统的良好表示。如果真实系统是连续的时间,要实现算法,可以离散化状态转换和测量方程并使用离散版本。如果状态估计结果不令人满意,请考虑降低用于离散化的采样时间。或者,尝试不同的离散化方法。有关如何离散化连续时间状态转换功能的示例,请键入编辑vdpstatefcn.m.在命令行。还看,非线性状态估计使用Unscented Kalman滤波器和粒子滤波器

  • 过程和测量噪声协方差 - 如果系统的估计和测量输出之间的差异很大,请尝试为过程和测量噪声协方差值指定不同的值。

  • 算法的选择 - 如果使用扩展的Kalman滤波器算法,则可以尝试Uncented Kalman滤波器或粒子滤波器算法。Unscented Kalman滤波器和粒子滤波器可以更好地捕获系统中的非线性。

要解决状态估计,可以创建具有不同属性的多个版本的过滤器,执行状态估计,然后选择提供最佳验证结果的过滤器。

在命令行,如果要复制现有过滤器对象,然后修改复制对象的属性,请使用克隆命令。不要使用语法创建其他对象obj2 = obj.。对以这种方式创建的新对象的属性所做的任何更改(obj2.)还更改原始对象的属性(obj.)。

也可以看看

职能

相关话题