主要内容

extendedKalmanFilter

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

描述

实例

obj=扩展卡尔曼滤波器(StateTransitionFcn,MeasurementFcn,InitialState)建立了用于离散非线性系统在线状态估计的扩展卡尔曼滤波对象。StateTransitionFcn是一个计算系统当前状态的函数K,给出时刻的状态向量K-1.MeasurementFcn是一个计算系统输出测量时间的函数吗K,鉴于当时的状态KInitialState指定状态估计的初始值。

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

实例

obj=扩展卡尔曼滤波器(StateTransitionFcn,MeasurementFcn,InitialState,名称,值)使用一个或多个来指定扩展卡尔曼滤波对象的附加属性名称,值配对参数。

obj=扩展卡尔曼滤波器(StateTransitionFcn,MeasurementFcn)使用指定的状态转换和测量函数创建扩展卡尔曼滤波器对象。在使用预测对的命令,使用点符号指定初始状态值。例如,对于具有初始状态值的双态系统(1, 0),指定obj。状态= (1,0)

obj=扩展卡尔曼滤波器(StateTransitionFcn,MeasurementFcn,名称,值)使用一个或多个来指定扩展卡尔曼滤波对象的附加属性名称,值在使用预测对的命令,使用指定初始状态值名称,值成对参数或点表示法。

实例

obj=扩展卡尔曼滤波器(名称,值)创建具有使用一个或多个属性的扩展卡尔曼过滤器对象名称,值在使用预测对的使用命令,指定状态转换函数、度量函数和初始状态值名称,值成对参数或点表示法。

对象描述

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

考虑有状态的植物x、输入U、输出Y、过程噪声W,测量噪声v.假设你可以将植物表示为一个非线性系统。

算法计算状态估计 x ^ 用你指定的状态转移和测量函数的非线性系统。该软件允许您指定噪声在这些功能作为加性或非加性:

  • 加性噪声条件-状态转换和测量方程具有以下形式:

    x [ K ] = F ( x [ K 1. ] , U s [ K 1. ] ) + W [ K 1. ] Y [ K ] = H ( x [ K ] , U M [ K ] ) + v [ K ]

    在这里F是描述状态演化的非线性状态转移函数吗x从一个时间步骤到下一个时间步骤。非线性测量函数H有关x的测量Y在时间步KWv分别是零均值、不相关的过程和测量噪声。这些函数还可以具有用UsUM例如,附加参数可以是时间步长K或输入U对于非线性系统。可以有多个这样的参数。

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

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

    x [ K ] = F ( x [ K 1. ] , W [ K 1. ] , U s [ K 1. ] ) Y [ K ] = H ( x [ K ] , v [ K ] , U M [ K ] )

当进行在线状态估计时,首先创建非线性状态转移函数F测量功能H.然后构建extendedKalmanFilter对象使用这些非线性函数,并指定噪声项是相加的还是非相加的。还可以指定状态转换函数和测量函数的雅可比数。如果未指定它们,软件将以数字方式计算雅可比数。

创建对象后,使用预测在下一时间步预测状态估计的命令,以及对的利用算法和实时数据对状态估计进行修正。有关算法的信息,请参见在线状态估计的扩展和无迹卡尔曼滤波算法

您可以使用以下命令extendedKalmanFilter对象:

命令 描述
对的

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

预测

预测下一时刻的状态和状态估计误差协方差。

残余物 返回实际测量值和预测测量值之间的差值。
克隆

创建具有相同对象特性值的另一个对象。

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

extendedKalmanFilter对象属性,看属性

例子

全部折叠

要定义用于估计系统状态的扩展卡尔曼滤波对象,首先要编写并保存系统的状态转移函数和测量函数。

在本例中,使用先前编写和保存的状态转换和测量功能,vdpStateFcn.mvdpMeasurementFcn.m这个se functions describe a discrete-approximation to a van der Pol oscillator with nonlinearity parameter, mu, equal to 1. The oscillator has two states.

为这两种状态指定一个初始猜测。你指定猜测为anM元素的行或列向量,其中M是状态数。

initialStateGuess = (1, 0);

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

obj = extendedKalmanFilter (@vdpStateFcn @vdpMeasurementFcn initialStateGuess);

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

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

为具有两个状态和一个输出的范德堡尔振荡器创建一个扩展卡尔曼滤波器对象。使用先前编写和保存的状态转换和测量功能,vdpStateFcn.mvdpMeasurementFcn.m。这些函数是为加法过程和测量噪声项编写的。请将这两种状态的初始状态值指定为[2;0]。

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

指定对象构建过程中的噪声协方差。

obj = extendedKalmanFilter (@vdpStateFcn @vdpMeasurementFcn, (2, 0),...“ProcessNoise”, 0.01);

或者,可以使用点表示法指定对象构造后的噪波协方差。例如,将测量噪声协方差指定为0.2。

obj。MeasurementNoise = 0.2;

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

版权所有2012 The MathWorks,Inc

为具有两个状态和一个输出的范德堡尔振荡器创建一个扩展卡尔曼滤波器对象。使用先前编写和保存的状态转换和测量功能,vdpStateFcn.mvdpMeasurementFcn.m.指定这两个状态的初始状态值为[2;0]。

obj = extendedKalmanFilter (@vdpStateFcn、@vdpMeasurementFcn [2; 0]);

扩展卡尔曼滤波算法使用状态转移和测量函数的雅可比矩阵进行状态估计。您可以编写和保存雅可比矩阵函数,并将其作为对象的函数句柄提供。在本例中,使用以前编写和保存的函数vdpStateJacobianFcn.mvdpMeasurementJacobianFcn.m

obj。StateTransitionJacobianFcn = @vdpStateJacobianFcn;obj。MeasurementJacobianFcn = @vdpMeasurementJacobianFcn;

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

为具有两个状态和一个输出的范德堡尔振荡器创建一个扩展卡尔曼滤波器对象。假设状态转移函数中的过程噪声项是可加的。即状态噪声与过程噪声之间存在线性关系。还假设测量噪声项是非可加性的。即测量与测量噪声之间存在非线性关系。

obj = extendedKalmanFilter (“HasAdditiveMeasurementNoise”、假);

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

假设过程噪声是加性的,则编写状态转移函数;假设测量噪声是非加性的,则编写测量函数。

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

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

obj。状态= (2;0);

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

考虑一个有输入的非线性系统U的状态x和测量Y根据以下状态转换和测量方程进行演变:

x [ K ] = x [ K - 1. ] + U [ K - 1. ] + W [ K - 1. ]

Y [ K ] = x [ K ] + 2. * U [ K ] + v [ K ] 2.

过程噪声W在测量噪声较低的情况下,系统的噪声是可加的v是非加性的。

为系统创建状态转换函数和测量函数。使用附加输入指定函数U

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

FH是分别存储状态转换函数和度量函数的匿名函数的函数句柄。在度量函数中,由于度量噪声是非加性的,v也指定为输入。请注意,v在附加输入之前指定为输入U

创建一个扩展卡尔曼滤波器对象,用于使用指定函数估计非线性系统的状态。将状态的初始值指定为1,将测量噪波指定为非累加性。

obj = extendedKalmanFilter (f、h 1“HasAdditiveMeasurementNoise”、假);

指定测量噪声协方差。

obj。MeasurementNoise = 0.01;

现在,您可以使用预测对的命令。传递值U预测对的,然后分别将它们传递给状态转换函数和测量函数。

用测量来修正状态估计Y[K] =0.8和输入U[K] =0.2在时间步K

正确(obj,0.8,0.2)

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

预测(obj, 0.2)

检索错误,或残余物,介于预测和测量之间。

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

输入参数

全部折叠

状态转移函数F,指定为函数句柄。函数计算Ns-系统在时间步长的元素状态向量K,给出时间步长的状态向量K-1.Ns为非线性系统的状态数。

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

您编写的函数的输入取决于您在HasAdditiveProcessNoise对象的属性:

  • HasAdditiveProcessNoise是真的-过程噪音W为可加性,状态转移函数指定状态如何演化为上一个时间步的状态值的函数:

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

    哪里x(k)估计的状态是在时间K,Us1,…,Usn状态转换函数是否需要其他输入参数,如系统输入或样本时间。在估计期间,您将这些额外的参数传递给预测命令,然后将它们传递给状态转换函数。

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

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

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

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

函数的输入取决于您是将测量噪声指定为附加的还是非附加的HasAdditiveMeasurementNoise对象的属性:

  • HasAdditiveMeasurementNoise是真的吗-测量噪音v是可加性的,度量函数指定度量如何作为状态值的函数演变:

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

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

  • HasAdditiveMeasurementNoise为false-测量噪声是非加性的,测量函数还指定输出测量如何随测量噪声的变化而变化:

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

要查看带有附加过程噪声的测量函数的示例,请键入编辑vdpMeasurementFcn在命令行。要查看带有非加性过程噪声的测量函数的示例,请键入编辑vdpMeasurementNonAdditiveNoiseFcn

初始状态估计值,指定为Ns元向量,Ns是系统的状态数。根据您对系统的了解,指定初始状态值。

指定的值存储在状态对象的属性。如果您指定InitialState作为列向量状态也是一个列向量,并且预测对的命令将状态估计值作为列向量返回。否则,将返回一个行向量。

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

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

数据类型:|

名称值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

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

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

属性

全部折叠

extendedKalmanFilter对象属性有三种类型:

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

    obj = extendedKalmanFilter (StateTransitionFcn MeasurementFcn InitialState);obj。ProcessNoise = 0.01;

    可调特性如下所示状态,StateCovariance,ProcessNoise,MeasurementNoise

  • 可指定一次的不可调优属性,可以在对象构造期间或之后使用点概念指定。在使用状态估计之前指定这些属性对的预测这个StateTransitionFcn,MeasurementFcn,StateTransitionJacobianFcn,测量雅可比函数属性属于这个类别。

  • 在对象构造期间必须指定的不可调优属性。的HasAdditiveProcessNoiseHasAdditiveMeasurementNoise属性属于这个类别。

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

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

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

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

  • -测量噪声是非附加的。度量函数指定输出度量如何演化为状态函数测量噪声:

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

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)

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

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

函数的输入取决于您是将测量噪声指定为附加的还是非附加的HasAdditiveMeasurementNoise对象的属性:

  • HasAdditiveMeasurementNoise是真的吗-测量噪音v是可加性的,度量函数指定度量如何作为状态值的函数演变:

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

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

  • HasAdditiveMeasurementNoise为false-测量噪声是非加性的,测量函数还指定输出测量如何随测量噪声的变化而变化:

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

要查看带有附加过程噪声的测量函数的示例,请键入编辑vdpMeasurementFcn在命令行。要查看带有非加性过程噪声的测量函数的示例,请键入编辑vdpMeasurementNonAdditiveNoiseFcn

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

测量函数的雅可比矩阵H,指定为下列其中之一:

  • []-雅可比矩阵是在每次调用对的这可能会增加处理时间和状态估计的数值不准确性。

  • 函数句柄——编写并保存雅可比函数,并指定函数的句柄。例如,如果vdpMeasurementJacobianFcn.m雅可比函数是指定的吗测量雅可比函数@vdpMeasurementJacobianFcn

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

    • HasAdditiveMeasurementNoise为真-该函数计算测量函数相对于状态的偏导数( H / x ).输出为N——- - - - - -Ns雅可比矩阵,其中N系统的测量次数是多少Ns是状态数。

    • HasAdditiveMeasurementNoise为false-函数还返回第二个输出,该输出是测量函数相对于测量噪声项的偏导数( H / v ).第二个输出作为N——- - - - - -v雅可比矩阵,其中v为测量噪声项的个数。

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

测量雅可比函数是一个不可调优的属性。可以在使用之前指定一次对的命令可以在对象构造期间执行,也可以在对象构造之后使用点表示法。属性后不能更改对的命令。

测量噪声协方差,指定为标量或矩阵,取决于的值HasAdditiveMeasurementNoise属性:

  • HasAdditiveMeasurementNoise是真的-指定协方差为标量或N——- - - - - -N矩阵,在哪里N是系统的测量数。如果测量噪声项之间没有互相关,且所有项的方差相同,请指定标量。软件使用标量值创建N——- - - - - -N对角矩阵。

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

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

处理噪声协方差,指定为标量或矩阵,取决于的值HasAdditiveProcessNoise属性:

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

  • HasAdditiveProcessNoise是假的-指定协方差为W——- - - - - -W矩阵,在哪里W为过程噪声项的个数。ProcessNoise必须在使用前指定预测.当你指定ProcessNoise第一次作为矩阵,然后改变ProcessNoise也可以将其指定为标量。如果过程噪声项之间没有互相关且所有项的方差相同,则指定为标量。软件将标量扩展为W——- - - - - -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作为匿名函数的句柄。

您编写的函数的输入取决于您在HasAdditiveProcessNoise对象的属性:

  • HasAdditiveProcessNoise是真的-过程噪音W是可加的,状态转换函数指定状态如何作为前一时间步的状态值的函数演变:

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

    哪里x(k)估计的状态是在时间K,Us1,…,Usn状态转换函数是否需要其他输入参数,如系统输入或样本时间。在估计期间,您将这些额外的参数传递给预测命令,然后将它们传递给状态转换函数。

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

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

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

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

状态转移函数的雅可比矩阵F,指定为下列其中之一:

  • []-雅可比矩阵是在每次调用预测这可能会增加处理时间和状态估计的数值不准确性。

  • 函数句柄——编写并保存雅可比函数,并指定函数的句柄。例如,如果vdpStateJacobianFcn.m雅可比函数是指定的吗StateTransitionJacobianFcn@vdpStateJacobianFcn

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

    • HasAdditiveProcessNoise为真-该函数计算状态转移函数对状态的偏导数( F / x ).输出是Ns——- - - - - -Ns雅可比矩阵,其中Ns是状态数。

    • HasAdditiveProcessNoise为false-函数还必须返回第二个输出,该输出是状态转移函数相对于过程噪声项的偏导数( F / W ).第二个输出作为Ns——- - - - - -W雅可比矩阵,其中W为过程噪声项的个数。

扩展卡尔曼滤波算法使用雅可比矩阵计算状态估计误差协方差。

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

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

输出参数

全部折叠

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

当你使用预测,obj。状态obj。StateCovariance在时间步用预测值更新K在时间步使用状态值K–1.当您使用对的,obj。状态obj。StateCovariance是否用时间步长的估计值更新K采用时间步长测量数据K

兼容性的考虑

全部展开

行为在R2020b中改变

扩展功能

R2016b中引入