扩展和无味卡尔曼滤波算法在线状态估计
您可以使用离散时间延长和无味卡尔曼滤波算法在线离散时间非线性系统的状态估计。如果你有一个系统,严重的非线性,无味卡尔曼滤波算法可以给更好的估计结果。您可以执行的状态估计模型金宝app®并在命令行。执行状态估计,首先创建非线性系统状态转换功能和测量功能。
在命令行上,您可以使用函数来构造extendedKalmanFilter
或unscentedKalmanFilter
对象所需的算法,并指定是否过程和测量噪声功能添加剂或非附加条款。创建对象后,您使用预测
和正确的
命令使用实时数据来估计美国。信息的顺序执行这些命令,查看预测
和正确的
参考页面。
在仿真金宝app软件中,您指定这些函数扩展卡尔曼滤波器和无味卡尔曼滤波块。还你指定的过程和测量噪声功能添加剂或非附加条款。块,软件决定的顺序预测和校正状态估计。
扩展卡尔曼滤波器算法
的extendedKalmanFilter
命令和扩展卡尔曼滤波器块实现了一阶离散卡尔曼滤波算法。假设状态转换和测量方程的离散时间非线性系统非附加过程和测量噪声与零均值和协方差矩阵问和R分别为:
在这里f是一个非线性状态转换函数,描述了进化的状态x
从一个时间步。非线性测量功能h有关x
的测量y
在时间步k
。这些功能也可以用额外的输入参数u年代
和u米
。这个过程和测量噪声w
和v
,分别。您提供问和R。
块,软件决定订单预测和校正的状态估计。在命令行上,您决定订单。信息的顺序执行这些命令,查看预测
和正确的
参考页面。假设你实现正确的
命令之前预测
,软件实现了该算法如下:
初始化过滤器对象初始值的状态,
x [0]
状态估计误差协方差矩阵,P。在这里 状态估计和吗 表示时间步的状态估计
k一个
使用测量时间的步骤0,1,…,kb
。所以 是国家的最佳猜测值在你做出任何测量。你指定这个值构造滤波器。时间的步骤k= 0,1,2,3,……,perform the following:
计算雅可比矩阵的测量功能,并更新状态和状态估计误差协方差使用测量数据,
y [k]
。在命令行,正确的
命令执行此更新。这些雅可比矩阵数值计算软件,除非你指定您自己的雅可比矩阵函数处理。
在这里
K
卡尔曼增益。计算雅可比矩阵的状态转换函数,预测状态和状态估计误差协方差的下一个时间步。在软件中,
预测
命令执行这个预测。这些雅可比矩阵数值计算软件,除非你指定分析雅可比矩阵。这个数值计算可能会增加处理时间和状态估计的数值不准确。
的
正确的
在接下来的时间步长函数使用这些值。为更好的数值性能,软件使用协方差矩阵的平方根分解。在这个分解的更多信息,看一下[2]。
的扩展卡尔曼滤波器块支持多种测金宝app量功能。这些测量可以有不同的样本倍长他们的样品时间是一个整数倍数的状态转换样品时间。在这种情况下,一个单独的校正步骤执行相应测量从每个测量功能。
先前描述的算法步骤假设您有非附加噪声项的状态转换和测量功能。如果你有添加剂噪声项函数,算法的变化是:
如果这个过程噪声
w
是添加剂,状态转换方程形式吗 ,雅可比矩阵G [k]
是一个单位矩阵。如果测量噪声
v
是添加剂,这是测量方程的形式 ,雅可比矩阵S [k]
是一个单位矩阵。
加性噪声条件的状态和转换功能减少处理时间。
一阶扩展卡尔曼滤波用线性近似非线性状态转换和测量功能。结果,算法可能不可靠,如果您的系统的非线性严重。无味卡尔曼滤波算法在这种情况下可能会产生更好的结果。
无味卡尔曼滤波算法
无味卡尔曼滤波算法无味卡尔曼滤波块使用无味的转换来捕获传播通过非线性状态估计的统计性质的函数。该算法首先生成一组称为σ的值点。这些σ点捕捉均值和协方差的估计。算法使用的每一个西格玛点作为输入状态转换和测量函数得到一套新的转换状态点。转换后的点的均值和协方差用于获取状态估计和状态估计误差协方差。
假设为一个状态转换和测量方程米状态的离散时间非线性系统添加剂过程和测量噪声与零均值和协方差问和R分别为:
你提供的初始值问和R在ProcessNoise
和MeasurementNoise
无味卡尔曼滤波对象的属性。
块,软件决定订单预测和校正的状态估计。在命令行上,您决定订单。信息的顺序执行这些命令,查看预测
和正确的
参考页面。假设你实现正确的
命令之前预测
,软件实现了该算法如下:
初始化过滤器对象初始值的状态,
x [0]
状态估计误差协方差,P。在这里 状态估计和吗 表示时间步的状态估计
k一个
使用测量时间的步骤0,1,…,kb
。所以 是国家的最佳猜测值在你做出任何测量。你指定这个值构造滤波器。对于每一个时间步k,更新状态和状态估计误差协方差使用测量数据,
y [k]
。在软件中,正确的
命令执行此更新。选择σ点 在时间步k。
在哪里 基于数量的州是一个比例因子M,和参数α和κ。关于参数的更多信息,请参阅影响α,β,Kappa参数。 矩阵的平方根cP这样 和 是我th列 。
使用非线性度量函数计算预测测量每个σ的点。
结合预测测量获得的预测测量时间k。
估计的协方差预测测量。添加
R [k]
占添加剂测量噪声。和有关信息。β参数,看到影响α,β,Kappa参数。
估计cross-covariance之间 和 。
求和从我= 1,因为 。
获得估计状态和状态估计误差协方差在时间步k。
在这里
K
卡尔曼增益。
预测的状态和状态估计误差协方差下一个时间步。在软件中,
预测
命令执行这个预测。选择σ点 在时间步k。
使用非线性状态转换函数来计算每个σ的预测状态点。
组合预测的状态得到预测k + 1。这些值使用
正确的
命令在接下来的时间步。计算协方差预测的状态。添加
问[k]
占添加剂过程噪音。这些值使用正确的
命令在接下来的时间步。
的无味卡尔曼滤波块支持多种测金宝app量功能。这些测量可以有不同的样本倍长他们的样品时间是一个整数倍数的状态转换样品时间。在这种情况下,一个单独的校正步骤执行相应测量从每个测量功能。
前面的算法实现假定添加剂噪声项状态转换和测量方程。为更好的数值性能,软件使用协方差矩阵的平方根分解。在这个分解的更多信息,看一下[2]。
如果非附加噪声方面,算法的主要变化有:
的
正确的
命令生成2 * (M + V) + 1
σ点使用P (k | k - 1)
和R [k]
,在那里V
测量噪声的元素数量v [k]
。的R [k]
词不再是在算法中添加步骤2 (d)因为额外的西格玛点捕捉测量噪声的影响Py
。的
预测
命令生成2 * (M + W) + 1
σ点使用P (k | k)
和问[k]
,在那里W
过程噪声的元素数量w [k]
。的问[k]
词不再是在算法中添加步骤3 (d)因为额外的西格玛点捕捉过程噪声的影响P (k + 1 | k)
。
影响α,β,Kappa参数
国家及其统计特性计算的下一个时间步,无味卡尔曼滤波算法生成一组状态值分布在国家的平均值。算法使用每个西格玛点作为输入状态转换和测量函数得到一套新的转换状态点。转换后的点的均值和协方差用于获取状态估计和状态估计误差协方差。
σ点周围的传播状态的平均值由两个参数控制α和κ。第三个参数,β期间,影响权重的转变点状态和测量协方差计算。
α——决定了σ的传播分国家的平均值。它通常是一个小的积极价值。σ的扩散点成正比α。较小的值对应于σ点接近平均状态。
κ——第二个尺度参数,通常是设置为0。较小的值对应于σ点接近平均状态。√(成正比κ。
β——结合先验知识的分布状态。为高斯分布,β= 2是最优的。
你指定的这些参数α
,卡巴
,β
无味卡尔曼滤波的属性。如果你知道协方差的分布状态和状态,您可以调整这些参数获取的高阶时刻分布的变换。可以跟踪的算法只有一个峰值的概率分布状态。如果有多个峰值状态分布的系统,您可以调整这些参数σ点保持在一个高峰。例如,选择一个小的α
生成σ点接近国家的平均值。
引用
[1]西门,丹。最优状态估计:卡尔曼,H无穷,非线性方法。新泽西州霍博肯:约翰·威利和儿子,2006。
凡德尔莫维[2],鲁道夫和埃里克·a .广域网。“国家和的平方根无味卡尔曼滤波参数估计。”2001年IEEE国际会议音响、演讲和信号处理。诉讼(猫。No.01CH37221), 6:3461 - 64。美国犹他盐湖城:IEEE 2001。https://doi.org/10.1109/ICASSP.2001.940586。