主要内容

ExtendedKalmanFilter.

建立用于在线状态估计的扩展卡尔曼滤波对象

描述

例子

obj= ExtendedKalmanFilter(StateTransitionFCN.MeasurementFcnInitialState建立了用于离散非线性系统在线状态估计的扩展卡尔曼滤波对象。StateTransitionFCN.是一个计算系统的状态的函数K.,给定状态向量时K.1。MeasurementFcn是一种函数,可以在时间计算系统的输出测量K.,鉴于当时的国家K.InitialState指定状态估计的初始值。

创建对象后,使用正确的预测使用一阶离散时间扩展卡尔曼滤波器算法和实时数据来更新状态估计和状态估计误差协方差值的命令。

例子

obj= ExtendedKalmanFilter(StateTransitionFCN.MeasurementFcnInitialState名称,值使用一个或多个指定扩展Kalman筛选对象的其他属性名称,值对论点。

obj= ExtendedKalmanFilter(StateTransitionFCN.MeasurementFcn使用指定的状态转换和测量功能创建扩展的Kalman筛选对象。在使用之前预测正确的命令,使用点符号指定初始状态值。例如,对于具有初始状态值的双态系统[1; 0], 指定obj.state = [1; 0]

obj= ExtendedKalmanFilter(StateTransitionFCN.MeasurementFcn名称,值使用一个或多个指定扩展Kalman筛选对象的其他属性名称,值对论点。在使用之前预测正确的命令,使用初始状态值使用名称,值对参数或点表示法。

例子

obj= ExtendedKalmanFilter(名称,值创建一个扩展的卡尔曼筛选对象,其中包含一个或多个使用的属性名称,值对论点。在使用之前预测正确的命令,指定状态转换函数,测量功能和初始状态值使用名称,值对参数或点表示法。

对象描述

ExtendedKalmanFilter.使用一阶离散时间扩展卡尔曼滤波器算法创建用于离散时间非线性系统的在线状态估计的对象。

考虑一个州的植物X、输入、输出y,过程噪声W.和测量噪声V..假设你可以将植物表示为一个非线性系统。

该算法计算状态估计值 X ^ 使用状态转换和您指定的测量函数的非线性系统。该软件可允许您将这些功能中的噪声指定为附加或非资金:

  • 添加剂噪声术语- 状态转换和测量方程具有以下形式:

    X [ K. ] = F X [ K. - 1 ] S. [ K. - 1 ] + W. [ K. - 1 ] y [ K. ] = H X [ K. ] m [ K. ] + V. [ K. ]

    这里F是描述状态演化的非线性状态转移函数吗X从一次到下一个时间。非线性测量功能H有关X的测量y在时间步骤K.W.V.是零平均,不相关的过程和测量噪声。这些函数还可以具有所用的其他输入参数S.m在方程式中。例如,附加参数可能是时间步骤K.或输入对于非线性系统。可以有多个这样的参数。

    注意,两个方程中的噪声项都是加性的。也就是说,x(k)是否与过程噪声线性相关w(k-1), 和y(k)与测量噪声线性相关v (k)

  • 非相加噪音方面- 该软件还支持状态的更复杂的状态转换和金宝app测量功能X[K.)和测量y[K.]分别为过程噪声和测量噪声的非线性函数。当噪声项为非加性时,状态跃迁和测量方程为:

    X [ K. ] = F X [ K. - 1 ] W. [ K. - 1 ] S. [ K. - 1 ] y [ K. ] = H X [ K. ] V. [ K. ] m [ K. ]

执行在线状态估计时,首先创建非线性状态转换功能F和测量功能H.然后构建ExtendedKalmanFilter.对象使用这些非线性函数,并指定噪声术语是否是附加的或非一种不起作用。您还可以指定状态转换和测量功能的jacobians。如果未指定它们,则软件数值计算雅可比人。

创建对象后,使用预测命令在下次步骤中预测状态估算正确的利用算法和实时数据对状态估计进行修正。有关算法的信息,请参见扩展和Unstented Kalman滤波器算法用于在线状态估计

您可以使用以下命令ExtendedKalmanFilter.对象:

命令 描述
正确的

修正状态和状态估计误差在时间步长的协方差K.在时间步骤中使用测量数据K.

预测

下次步骤预测状态和状态估计错误协方差。

剩余的 返回实际和预测测量之间的差异。
克隆

使用相同的对象属性值创建另一个对象。

不要使用语法创建其他对象obj2 = obj..以这种方式创建的新对象的属性的任何更改(obj2.)也会更改原始对象的属性(obj).

ExtendedKalmanFilter.对象属性,见属性

例子

全部折叠

要定义扩展的Kalman筛选对象,用于估计系统状态,请先编写和保存系统的状态转换功能和测量功能。

在此示例中,使用先前写入和保存的状态转换和测量功能,vdpstatefcn.m.vdpmeasurementfcn.m..这些函数描述了与van der POL振荡器的离散近似,具有非线性参数,MU,等于1.振荡器有两个状态。

为两个状态指定初始猜测。您将猜测指定为m元素的行或列向量,其中m是状态数。

initialStateGuess = (1, 0);

创建扩展卡尔曼滤波对象。使用函数句柄为对象提供状态转换和度量函数。

obj = extendedKalmanFilter (@vdpStateFcn @vdpMeasurementFcn initialStateGuess);

该对象具有默认结构,其中进程和测量噪声是附加的。

要估算来自构造对象的状态和状态估计错误协方差,请使用正确的预测命令和实时数据。

为van der POL振荡器创建一个扩展的Kalman过滤器对象,具有两个状态和一个输出。使用先前写入和保存的状态转换和测量功能,vdpstatefcn.m.vdpmeasurementfcn.m..这些功能是为添加过程和测量噪声术语编写的。指定两个状态的初始状态值,为[2; 0]。

由于系统具有两个状态并且过程噪声是附加的,因此过程噪声是2元件向量,并且过程噪声协方差是2×2矩阵。假设过程噪声术语之间没有互相关,并且两个术语都具有相同的方差0.01。您可以将过程噪声协方差指定为标量。该软件使用标量值以在对角线上创建一个2×2对角线矩阵。

在对象构造过程中指定过程噪声协方差。

obj = ExtendedKalmanFilter(@ VDPStateFCN,@ VDPMeasurementFCN,[2; 0],......“ProcessNoise”, 0.01);

或者,您可以使用点符号在对象构造后指定噪声covari arce。例如,将测量噪声协方差指定为0.2。

obj。measurementNoise = 0.2;

由于系统只有一个输出,测量噪声是一个1元向量MeasurementNoise属性表示测量噪声的方差。

版权所有2012 MathWorks,Inc

为van der POL振荡器创建一个扩展的Kalman过滤器对象,具有两个状态和一个输出。使用先前写入和保存的状态转换和测量功能,vdpstatefcn.m.vdpmeasurementfcn.m..指定两个状态的初始状态值,为[2; 0]。

obj = ExtendedKalmanFilter(@ VDPStateFCN,@ VDPMeasurementFCN,[2; 0]);

扩展卡尔曼滤波器算法使用状态转换和测量函数的jacobians进行状态估计。您编写并保存雅可博弈功能并将其作为函数处理给对象。在此示例中,使用先前写入和保存的函数vdpstatejacobianfcn.m.vdpMeasurementJacobianFcn.m

obj.statetransitionJacobianfcn = @vdpstatejacobianfcn;obj.measurementjacobianfcn = @vdpmeasurementjacobianfcn;

注意,如果你没有指定函数的雅可比矩阵,软件会数值计算雅可比矩阵。这种数值计算可能导致处理时间的增加和状态估计的数值不准确。

为van der POL振荡器创建一个扩展的Kalman过滤器对象,具有两个状态和一个输出。假设状态转换功能中的过程噪声术语是添加剂。也就是说,状态和过程噪声之间存在线性关系。还假设测量噪声术语是非一个。也就是说,测量和测量噪声之间存在非线性关系。

obj = ExtendedKalmanFilter('hasadditivemeasurementnoise',错误的);

指定状态转移函数和测量函数。使用先前编写和保存的函数,vdpstatefcn.m.vdpMeasurementNonAdditiveNoiseFcn.m

假设过程噪声是附加的,写入状态转换功能。假设测量噪声是非吸收的,写入测量功能。

obj。StateTransitionFcn = @vdpStateFcn;obj。measurementFcn = @vdpMeasurementNonAdditiveNoiseFcn;

指定两个状态的初始状态值,为[2; 0]。

obj.state = [2; 0];

你现在可以使用正确的预测命令估算构造对象的状态和状态估计错误协方差值。

考虑一个带输入的非线性系统的状态X和测量y根据以下状态转换和测量方程式化:

X [ K. ] = X [ K. - 1 ] + [ K. - 1 ] + W. [ K. - 1 ]

y [ K. ] = X [ K. ] + 2 * [ K. ] + V. [ K. ] 2

过程噪声W.在测量噪声时,系统是附加的V.是非过度的。

为系统创建状态转换功能和测量功能。使用额外输入指定函数

f = @(x,u)(sqrt(x + u));h = @(x,v,u)(x + 2 * u + v ^ 2);

FH是否分别为存储状态转换和测量功能的匿名函数的功能处理。在测量函数中,因为测量噪声是非一个,V.也被指定为输入。注意V.被指定为额外输入之前的输入

创建一个扩展的卡尔曼筛选对象,用于使用指定的函数估计非线性系统的状态。将状态的初始值指定为1,并且测量噪声为非二倍。

obj = ExtendedKalmanFilter(F,H,1,'hasadditivemeasurementnoise',错误的);

指定测量噪声协方差。

obj.measurementnoise = 0.01;

您现在可以使用该系统估算系统的状态预测正确的命令。传递值预测正确的,其分别将它们传递给状态转换和测量功能。

用测量校正国家估计y[K.]=0.8和输入[K.]=0.2在时间步骤K.

正确(OBJ,0.8,0.2)

预测下一个时间步骤的状态[K.]=0.2

预测(OBJ,0.2)

检索错误,或剩余的,在预测和测量之间。

[残差,残差方差]=残差(obj,0.8,0.2);

输入参数

全部折叠

状态转换功能F,指定为函数句柄。该功能计算ns.- 时间步骤中系统的状态向量K.,给定时步的状态矢量K.1。ns.为非线性系统的状态数。

为非线性系统编写并保存状态转换函数,并使用它来构造对象。例如,如果vdpstatefcn.m.是状态转换功能,指定StateTransitionFCN.作为@vdpstatefcn..您也可以指定StateTransitionFCN.作为匿名函数的句柄。

您写入功能的输入取决于您是否将过程噪声指定为附加或非不起作用HasaddittyProcessnoise.对象的财产:

  • HasaddittyProcessnoise.是真的-过程噪音W.是添加剂,状态转换函数指定状态如何在前一时间步骤中作为状态值的函数演变:

    x(k)= f(x(k-1),US1,...,USN)

    在哪里x(k)估计的状态是在时间K., 和US1,...,USN是状态转换功能所需的任何额外输入参数,例如系统输入或采样时间。在估计期间,您将这些附加参数传递给预测命令,然后将它们传递给状态转换函数。

  • HasaddittyProcessnoise.is false -过程噪声是非可加性的,状态转移函数也指定状态如何演化为过程噪声的函数:

    x (k) = f (x (k - 1), w (k - 1), Us1,…,Usn)

要查看带有加性过程噪声的状态转移函数的示例,请键入编辑vdpstatefcn.在命令行。

测量功能H,指定为函数句柄。该功能计算N- 时间步骤中非线性系统的输出测量向量K.,给定时步的状态矢量K.N是系统的测量数。您编写并保存测量功能,并使用它来构造对象。例如,如果vdpmeasurementfcn.m.测量功能是否指定MeasurementFcn作为@vdpMeasurementFcn.您也可以指定MeasurementFcn作为匿名函数的句柄。

函数的输入取决于您是否将测量噪声指定为附加或非资金hasadditivemeasurementnoise.对象的财产:

  • hasadditivemeasurementnoise.是真的 - 测量噪声V.是添加剂,测量函数指定测量如何随着状态值的函数而发展:

    y (k) = h (x (k),听Um1,…,学院)

    在哪里y(k)x(k)估计的输出和估计的状态是否在同一时间K., 和听Um1,…,学院是测量功能所需的任何可选输入参数。例如,如果您使用用于跟踪对象的多个传感器,则额外的输入可以是传感器位置。在估计期间,您将这些附加参数传递给正确的命令,然后将它们传递给测量函数。

  • hasadditivemeasurementnoise.是假的 - 测量噪声是非过度的,测量功能还指定了作为测量噪声的函数的输出测量如何发展:

    Y(k)= h(x(k),v(k),um1,...,umn)

要查看具有添加过程噪声的测量功能的示例,键入编辑vdpmeasurementfcn.在命令行。要查看带有非加性过程噪声的测量函数的示例,请键入编辑vdpMeasurementNonAdditiveNoiseFcn

初始状态估计值,指定为ns.-element矢量,在哪里ns.是系统中的状态数量。根据您对系统的知识指定初始状态值。

指定的值存储在其中状态物品的财产。如果您指定InitialState作为一列栏矢量,然后状态也是一列栏矢量,还有预测正确的命令将状态估计作为列向量。否则,返回行向量。

如果您希望使用单精度浮点变量的筛选器,请指定InitialState作为一个单精度向量变量。例如,对于具有状态转移和测量功能的双态系统vdpstatefcn.m.vdpmeasurementfcn.m.,使用初始状态估计创建扩展的Kalman过滤器对象[1; 2]如下:

obj = extendedKalmanFilter (@vdpStateFcn @vdpMeasurementFcn、单([1,2]))

数据类型:|单身的

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。名称参数名和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

采用名称,值参数指定特性ExtendedKalmanFilter.对象在对象创建期间。例如,要创建一个扩展卡尔曼滤波对象,并指定过程噪声协方差为0.01:

obj = extendedKalmanFilter (StateTransitionFcn MeasurementFcn InitialState,“ProcessNoise”, 0.01);

属性

全部折叠

ExtendedKalmanFilter.对象属性具有三种类型:

  • 可以多次指定的可调属性,可以在使用名称,值参数,或者状态估计之后的任何时间。创建对象后,使用点表示法修改可调属性。

    obj = ExtendedKalmanFilter(StateTransitionFCN,MeasurementFCN,InitialState);obj.processnoise = 0.01;

    可调性属性是状态StateCovariance.processnoise., 和MeasurementNoise

  • 您可以在对象构造期间或使用DOT概念后向后指定一次的难度属性。在使用状态估计之前指定这些属性正确的预测.这StateTransitionFCN.MeasurementFcnStateTransitionJacobianFcn, 和测量jacobianfcn.属性属于这个类别。

  • 您必须在对象构造期间指定的不难属性。这HasaddittyProcessnoise.hasadditivemeasurementnoise.属性属于这个类别。

测量噪声特性,指定为下列值之一:

  • 真的——测量噪声V.是添加剂。测量功能HMeasurementFcn有以下形式:

    y (k) = h (x (k),听Um1,…,学院)

    在哪里y(k)x(k)估计的输出和估计的状态是否在同一时间K., 和听Um1,…,学院是测量功能所需的任何可选输入参数。

  • - 测量噪声是非吸收的。测量函数指定输出测量如何随着状态的函数而发展测量噪声:

    Y(k)= h(x(k),v(k),um1,...,umn)

hasadditivemeasurementnoise.是一个不可调优属性,只能在对象构造期间指定它。你不能用点符号来改变它。

过程噪声特性,指定为下列值之一:

  • 真的- 过程噪声W.是添加剂。状态转移函数F指定StateTransitionFCN.有以下形式:

    x(k)= f(x(k-1),US1,...,USN)

    在哪里x(k)估计的状态是在时间K., 和US1,...,USN状态转换函数是否需要任何额外的输入参数。

  • -过程噪声是非附加的。状态转移函数指定状态如何作为状态的函数演化处理前一时间步噪声:

    x (k) = f (x (k - 1), w (k - 1), Us1,…,Usn)

HasaddittyProcessnoise.是一个不可调优属性,只能在对象构造期间指定它。你不能用点符号来改变它。

测量功能H,指定为函数句柄。该功能计算N- 时间步骤中非线性系统的输出测量向量K.,给定时步的状态矢量K.N是系统的测量数。您编写并保存测量功能并使用它来构造对象。例如,如果vdpmeasurementfcn.m.测量功能是否指定MeasurementFcn作为@vdpMeasurementFcn.您也可以指定MeasurementFcn作为匿名函数的句柄。

函数的输入取决于您是否将测量噪声指定为附加或非资金hasadditivemeasurementnoise.对象的财产:

  • hasadditivemeasurementnoise.是真的 - 测量噪声V.是添加剂,测量函数指定测量如何随着状态值的函数而发展:

    y (k) = h (x (k),听Um1,…,学院)

    在哪里y(k)x(k)估计的输出和估计的状态是否在同一时间K., 和听Um1,…,学院是测量功能所需的任何可选输入参数。例如,如果您使用用于跟踪对象的多个传感器,则额外的输入可以是传感器位置。在估计期间,您将这些附加参数传递给正确的命令,然后将它们传递给测量功能。

  • hasadditivemeasurementnoise.是假的 - 测量噪声是非过度的,测量功能还指定了作为测量噪声的函数的输出测量如何发展:

    Y(k)= h(x(k),v(k),um1,...,umn)

要查看具有添加过程噪声的测量功能的示例,键入编辑vdpmeasurementfcn.在命令行。要查看带有非加性过程噪声的测量函数的示例,请键入编辑vdpMeasurementNonAdditiveNoiseFcn

MeasurementFcn是一个不可努力的财产。您可以在使用之前指定一次正确的命令可以在对象构造期间执行,也可以在对象构造之后使用点表示法。属性后不能更改正确的命令。

雅各比奥测量功能H,指定为下列其中之一:

  • []- 雅各比比亚的每次呼吁都是数控计算的正确的命令。这可能会增加状态估计的处理时间和数值不准确性。

  • 功能句柄 - 您编写并保存Jacobian函数并指定函数的句柄。例如,如果vdpMeasurementJacobianFcn.m是雅可比函数,指定测量jacobianfcn.作为@vdpmeasurementjacobianfcn.

    该函数计算测量函数对状态和测量噪声的偏导数。雅可比函数的输入数必须等于测量函数的输入数,并且在两个函数中必须以相同的顺序指定。雅可比函数的输出数取决于hasadditivemeasurementnoise.财产:

    • hasadditivemeasurementnoise.是真的 - 该功能计算关于州的测量函数的部分导数( H / X ).输出为N——- - - - - -ns.雅各比亚矩阵,在哪里N是系统的测量数量和ns.是状态数。

    • hasadditivemeasurementnoise.为假-该函数还返回第二个输出,该输出是测量函数对测量噪声项的偏导数( H / V. ).第二个输出作为N——- - - - - -V.雅各比亚矩阵,在哪里V.为测量噪声项的个数。

要查看加性测量噪声的雅可比函数的示例,请键入编辑vdpMeasurementJacobianFcn在命令行。

测量jacobianfcn.是一个不可努力的财产。您可以在使用之前指定一次正确的命令可以在对象构造期间执行,也可以在对象构造之后使用点表示法。属性后不能更改正确的命令。

测量噪声协方差,指定为标量或矩阵,具体取决于该值的标量或矩阵hasadditivemeasurementnoise.财产:

  • hasadditivemeasurementnoise.是真的-指定协方差为标量或N——- - - - - -N矩阵,其中N是系统的测量数。如果测量噪声术语之间没有互相关,并且所有术语都具有相同的方差,则指定标量。该软件使用标量值来创建一个N——- - - - - -N对角矩阵。

  • hasadditivemeasurementnoise.是假的-指定协方差为V.——- - - - - -V.矩阵,其中V.为测量噪声项的个数。MeasurementNoise必须在使用前指定正确的.当你指定MeasurementNoise作为第一次矩阵,然后改变MeasurementNoise还可以将其指定为标量。如果测量噪声项之间没有互相关且所有项具有相同的方差,则指定为标量。该软件将标量扩展到aV.——- - - - - -V.对角线上的标量角矩阵。

MeasurementNoise是一个可调属性。您可以使用点表示法更改它。

处理噪声协方差,指定为标量或矩阵,取决于的值HasaddittyProcessnoise.财产:

  • HasaddittyProcessnoise.是真的-指定协方差为标量或ns.——- - - - - -ns.矩阵,其中ns.是系统的状态数。如果过程噪声项之间没有相互关联,并且所有的项具有相同的方差,则指定一个标量。该软件使用标量值来创建一个ns.——- - - - - -ns.对角矩阵。

  • HasaddittyProcessnoise.是假的-指定协方差为W.——- - - - - -W.矩阵,其中W.为过程噪声项的个数。processnoise.必须在使用前指定预测.当你指定processnoise.作为第一次矩阵,然后改变processnoise.还可以将其指定为标量。如果过程噪声术语与所有术语之间没有互相关,则指定标量则具有相同的方差。该软件将标量扩展到aW.——- - - - - -W.对角矩阵。

processnoise.是一个可调属性。您可以使用点表示法更改它。

非线性系统的状态,指定为大小向量ns.,在那里ns.是系统的状态数。

当你使用的时候预测命令,状态在时间步骤更新预测值K.在时间步骤中使用状态值K.-1。当你使用的时候正确的命令,状态以时间步骤更新估计值K.在时间步骤中使用测量数据K.

初始价值状态您指定的价值是您所在的价值InitialState对象创建期间的输入参数。如果您指定InitialState作为一列栏矢量,然后状态也是一列栏矢量,还有预测正确的命令将状态估计作为列向量。否则,返回行向量。如果您想要一个单精度浮点变量的过滤器,则必须指定状态在使用该物体结构期间的单精度变量InitialState输入参数。

状态是一个可调属性。您可以使用点表示法更改它。

状态估计错误协方差,指定为标量或ns.——- - - - - -ns.矩阵,其中ns.是系统的状态数。如果指定标量,则软件使用标量值来创建一个ns.——- - - - - -ns.对角矩阵。

当您对所指定的初始状态值没有信心时,为协议指定高值InitialState输入参数。

当你使用的时候预测命令,StateCovariance.在时间步骤更新预测值K.在时间步骤中使用状态值K.-1。当你使用的时候正确的命令,StateCovariance.以时间步骤更新估计值K.在时间步骤中使用测量数据K.

StateCovariance.是一个可调属性。可以在使用正确的要么预测命令。

状态转换功能F,指定为函数句柄。该功能计算ns.- 时间步骤中系统的状态向量K.,给定时步的状态矢量K.1。ns.为非线性系统的状态数。

您为非线性系统编写并保存状态转换功能,并使用它来构造对象。例如,如果vdpstatefcn.m.是状态转换功能,指定StateTransitionFCN.作为@vdpstatefcn..您也可以指定StateTransitionFCN.作为匿名函数的句柄。

您写入功能的输入取决于您是否将过程噪声指定为附加或非不起作用HasaddittyProcessnoise.对象的财产:

  • HasaddittyProcessnoise.是真的-过程噪音W.是添加剂,状态转换函数指定状态如何在前一时间步骤中作为状态值的函数演变:

    x(k)= f(x(k-1),US1,...,USN)

    在哪里x(k)估计的状态是在时间K., 和US1,...,USN是状态转换功能所需的任何额外输入参数,例如系统输入或采样时间。在估计期间,您将这些附加参数传递给预测命令,然后将它们传递给状态转换函数。

  • HasaddittyProcessnoise.is false -过程噪声是非可加性的,状态转移函数也指定状态如何演化为过程噪声的函数:

    x (k) = f (x (k - 1), w (k - 1), Us1,…,Usn)

要查看带有加性过程噪声的状态转移函数的示例,请键入编辑vdpstatefcn.在命令行。

StateTransitionFCN.是一个不可努力的财产。您可以在使用之前指定一次预测命令可以在对象构造期间执行,也可以在对象构造之后使用点表示法。属性后不能更改预测命令。

雅各比奥的状态转换功能F,指定为下列其中之一:

  • []- 雅各比比亚的每次呼吁都是数控计算的预测命令。这可能会增加状态估计的处理时间和数值不准确性。

  • 功能句柄 - 您编写并保存Jacobian函数并指定函数的句柄。例如,如果vdpstatejacobianfcn.m.是雅可比函数,指定StateTransitionJacobianFcn作为@vdpstatejacobianfcn.

    该函数计算状态转移函数对状态和过程噪声的偏导数。雅可比函数的输入数必须等于状态转移函数的输入数并且在两个函数中必须以相同的顺序指定。函数的输出数取决于HasaddittyProcessnoise.财产:

    • HasaddittyProcessnoise.是真的 - 该功能计算状态转换函数的部分导数相对于状态( F / X ).输出是一个ns.——- - - - - -ns.雅各比亚矩阵,在哪里ns.是状态数。

    • HasaddittyProcessnoise.是假 - 功能还必须返回第二个输出,该输出是状态转换函数的部分导数相对于过程噪声术语( F / W. ).第二个输出作为ns.——- - - - - -W.雅各比亚矩阵,在哪里W.为过程噪声项的个数。

扩展的卡尔曼滤波器算法使用Jacobian来计算状态估计错误协方差。

要查看添加剂过程噪声的Jacobian函数的示例,请键入编辑vdpStateJacobianFcn在命令行。

StateTransitionJacobianFcn是一个不可努力的财产。您可以在使用之前指定一次预测命令可以在对象构造期间执行,也可以在对象构造之后使用点表示法。属性后不能更改预测命令。

输出参数

全部折叠

用于在线状态估计的扩展卡尔曼滤波对象,返回为ExtendedKalmanFilter.目的。使用指定创建此对象特性.使用正确的预测命令估计状态和状态估计误差协方差,使用扩展卡尔曼滤波算法。

当你使用预测obj。状态obj.statecovariance.在时间步骤更新预测值K.在时间步骤中使用状态值K.-1。当你使用正确的obj。状态obj.statecovariance.是否用时间步长的估计值更新K.在时间步骤中使用测量数据K.

兼容性考虑因素

全部展开

R2020B的行为更改

扩展功能

介绍在R2016B.