主要内容

验证在线状态估计金宝app

在你使用扩展卡尔曼滤波器,无味卡尔曼滤波粒子滤波块在线非线性系统的状态估计,验证评估之前部署您的应用程序中的代码。如果验证表明低估计的信心,然后看到解决在线状态估计为下一个步骤。验证在线估计的结果之后,您可以生成C / c++代码块使用金宝app®编码器™软件。

验证滤波器的性能,执行状态估计使用测量或模拟输出数据从这些场景。

  • 获得输出数据从您的系统在不同的操作条件和输入值,以确保评估在所有操作条件下运行良好。例如,假设你想跟踪车辆的位置和速度使用嘈杂的位置测量。测量的数据在不同的车辆速度和缓慢而锋利的演习。

  • 对于每一个感兴趣的操作条件,获得多组实验或模拟数据与不同噪声实现——确保不同的噪声值不会恶化估计性能。

对于每一个场景,测试过滤器性能通过检查残差和状态估计误差。

检验残差

剩余或输出估计误差,测量系统输出之间的区别yMeasured [k],估计系统输出yPredicted (k | k - 1)在时间步k。在这里,yPredicted (k | k - 1)在时间步估计输出吗k,预计使用输出测量直到时间步k - 1

块没有明确的输出yPredicted (k | k - 1)不过,您可以使用估计计算输出状态值和状态转换和测量功能。例如,看到的计算残差和状态估计错误

残差必须有以下特点:

  • 小级小错误相对于输出增加信心的大小估计的值。

  • 零均值

  • 低的自相关,除了在零时间差计算自相关,你可以使用自相关(DSP系统工具箱)块从DSP系统工具箱™软件。

检查状态估计误差的模拟数据

当你模拟非线性系统的输出数据,使用这些数据进行状态估计,你知道真实状态的值。可以计算之间的错误估计和真实状态值和分析错误。估计状态值在任何时间步是输出xhat港口的街区。状态估计误差必须满足以下特点:

  • 小的大小

  • 零均值

  • 低的自相关,除了在零时间差

你也可以计算状态估计误差的协方差,并比较它的状态估计误差协方差的块的输出P港口的街区。相似的价值观在过滤器的性能增加信心。

计算残差和状态估计错误

这个例子展示了如何估算一个离散时间范德堡尔振荡器和计算状态估计误差和验证估计的残差。残差是输出估计错误,也就是说,它们之间的差异测量和估计输出。

在仿真软件™模金宝app型vdpStateEstimModel,范德堡尔振荡器块实现了振荡器的非线性参数μ,等于1。振荡器有两个州。噪声测量的第一状态x1是可用的。

模型使用无味卡尔曼滤波块估计美国的振荡器。由于块需要离散时间输入,过渡块样品x1给离散输出测量yMeasured [k]在时间步k。无味卡尔曼滤波块输出估计状态值xhat (k | k)在时间步k,使用yMeasured直到时间k。过滤器以前写块使用和保存的状态转换和测量功能,vdpStateFcn.mvdpMeasurementFcn.m。这些函数的信息,请参阅非线性状态估计使用无味卡尔曼滤波和粒子滤波

验证状态估计,模型计算残差产生的残块。此外,由于真实状态值,模型还计算状态估计错误。

首先计算残差,产生剩余块计算估计的输出yPredicted (k | k - 1)用估计状态和状态转换和测量功能。在这里,yPredicted (k | k - 1)在时间步估计输出吗k直到时间步,预测使用输出测量k - 1。块然后在时间步计算残余k作为yMeasured [k]- - - - - -yPredicted (k | k - 1)

检验残差和状态估计错误,并确保他们有一个小的大小,零均值和自相关较低。

在这个例子中,无味卡尔曼滤波块输出xhat (k | k)因为使用电流测量提高状态估计参数选择的块。如果你清楚这个参数块,而不是输出xhat (k | k - 1),预测状态在时间步的值k,使用yMeasured直到时间k - 1。在这种情况下,计算yPredicted [k | k - 1] = MeasurementFcn (xhat [k | k - 1]),在那里MeasurementFcn是你的系统测量功能。

另请参阅

|||

相关的话题