主要内容

递归最小二乘估计量

估计模型系数使用递归最小二乘(RLS)算法

  • 递归最小二乘估计量

库:
系统辨识工具箱/估计

描述

递归最小二乘估计量系统使用一个模型的参数估计,在这些参数是线性的。这样一个系统具有以下形式:

y ( t ) = H ( t ) θ ( t )

yH已知量你提供估计的块吗θ。块可以提供无穷历史[1]和finite-history[2](也称为滑动窗口),估计θ。关于这些方法的更多信息,请参阅在线参数估计的递归算法

支持多种估算方法和数金宝app据块的输入格式。块的可配置选项包括:

  • 纸浆包或框架数据格式——看到输入处理参数。

  • 无穷历史或有限的-历史估计看到历史参数。

  • 多个无穷历史评估方法——看到估算方法参数。

  • 初始条件,使国旗,和重置触发——看到初步估计,添加启用端口,外部复位参数。

对于一个给定的时间步长t,y(t),H(t)对应输出解释变量港口的递归最小二乘估计量块,分别。θ(t)对应于参数外港。

例如,假设你想估计一个标量增益,θ系统中,y=h2θ。在这里,y是线性的对吗θ。您可以使用递归最小二乘估计量块来估计θ。指定yh2作为输入的输出回归量港口。

港口

输入

全部展开

解释变量输入信号H(t)。的输入处理参数的数量参数定义信号的尺寸:

  • 输入处理和纸浆包N估计参数- 1N向量

  • 不定位输入处理样品每帧和N估计参数,——- - - - - -N矩阵

数据类型:|

测量输出信号y(t)。的输入处理参数定义了信号的尺寸:

  • 输入处理纸浆包-标量

  • 不定位输入处理样品每帧,1的向量

数据类型:|

外部信号,允许您启用和禁用估计更新。如果信号值是:

  • 真正的——估计的参数值和输出的时间步骤。

  • ——不估计参数值,并输出最近之前估计的价值。

依赖关系

要启用这个端口,选择添加启用端口参数。

数据类型:||布尔|int8|int16|int32|int64|uint8|uint16|uint32

重设参数估计的初始条件。的值外部复位参数确定触发类型。触发器类型决定是否重新出现在一个信号,上升,下降,上升或下降,水平,或水平。

依赖关系

要启用这个端口,而不是选择任何选项没有一个外部复位下拉。

数据类型:||布尔|int8|int16|int32|uint8|uint16|uint32

提供初始参数估计,从外部来源。块使用这个尺寸的模拟或重置使用当你触发一个算法重置信号。

参数的数量参数定义了信号的维度。如果有N参数,信号N1。

依赖关系

要启用这个端口,设置历史无限初步估计外部

数据类型:|

初始参数协方差,提供从外部来源。详情,请参阅参数协方差矩阵参数。的block uses this inport at the beginning of the simulation or when you trigger an algorithm reset using the重置信号。

依赖关系

要启用这个端口,设置以下参数:

  • 历史无限

  • 估算方法遗忘因子卡尔曼滤波器

  • 初步估计外部

数据类型:|

解释变量的初始值初始数据窗口当使用finite-history(滑动窗口)估计,提供从外部来源。的窗口长度参数W参数的数量参数N定义这个信号的维度,这是W——- - - - - -N

InitialRegressors信号控制算法的初始行为。块使用这个尺寸的模拟或无论重置信号触发。

如果最初的缓冲区设置为0或不包含足够的信息,你看到一个警告消息在你估计的初始阶段。警告应明确几个周期。周期的数量需要足够的信息缓冲取决于多项式和输入延迟的顺序。如果警告一直持续,你应该评估你的信号内容。

依赖关系

要启用这个端口,设置历史有限的初步估计外部

数据类型:|

初始输出测量当使用finite-history(滑动窗口)估计,从外部源提供。这个端口必须是一个信号W1的向量,W窗口长度。

InitialOutputs信号控制算法的初始行为。块使用这个尺寸的模拟或无论重置信号触发。

如果最初的缓冲区设置为0或不包含足够的信息,你看到一个警告消息在你估计的初始阶段。警告应明确几个周期。周期的数量需要足够的信息缓冲取决于多项式和输入延迟的顺序。如果警告一直持续,你应该评估你的信号内容。

依赖关系

要启用这个端口,设置历史有限的,初步估计外部

数据类型:|

输出

全部展开

估计参数θ(t),作为一个返回N1的向量,N参数的数量。

数据类型:|

估计错误,返回:

  • 标量——纸浆包输入处理

  • 1的向量,输入处理框架样品每帧

依赖关系

要启用这个端口,选择输出估计误差参数。

数据类型:|

参数估计误差协方差P,作为一个返回N——- - - - - -N矩阵,N参数的数量。详情,请参阅输出参数协方差矩阵参数。

依赖关系

启用该端口:

  • 如果历史无限,设置估算方法遗忘因子卡尔曼滤波器

  • 是否历史无限有限的,选择输出参数协方差矩阵参数。

数据类型:|

参数

全部展开

模型参数

指定如何提供初始参数估计块:

  • 没有一个——没有指定初始估计。

    • 如果历史无限,块使用1作为初始参数估计。

    • 如果历史有限的块计算初始参数估计,从最初的解释变量输出信号。

    指定参数的数量同时,如果历史无限,参数协方差矩阵

  • 内部——内部指定初始参数估计

    • 如果历史无限,指定初始参数值参数协方差矩阵参数。

    • 如果历史有限的,指定参数的数量,最初的解释变量,初始输出参数。

  • 外部——指定初始参数估计作为输入信号。

    指定参数的数量参数。你的设置历史参数确定哪些额外的信号连接到相关端口:

    • 如果历史无限- - - - - -InitialParametersInitialCovariance

    • 如果历史有限的- - - - - -InitialRegressorsInitialOutputs

编程使用

块参数:InitialEstimateSource
类型:特征向量,字符串
价值观:“没有”,“内部”,“外部”
默认值:“没有”

指定的数量模型的参数估计中,等于在参数的元素数量θ(t)向量。

依赖关系

要启用该参数,设置:

  • 历史无限初步估计要么没有一个外部

  • 历史有限的

另一种方式来指定参数的数量N估计是通过使用初始参数值的参数,定义一个初始估计向量N元素。这种方法涵盖了剩下的一个组合,历史无限初步估计内部。有关更多信息,请参见初始参数值

编程使用

块参数:InitialParameterData
类型:正整数
默认值:2

指定参数协方差矩阵作为一个:

  • 真正积极的标量,α——协方差矩阵是一个N——- - - - - -N对角矩阵,α对角元素。

  • 真正积极的标量,矢量(α1、……αN)——协方差矩阵是一个N——- - - - - -N对角矩阵,(α1、……αN对角元素)。

  • N——- - - - - -N对称正定矩阵。

在这里,N参数的数量是估计的。

依赖关系

要启用该参数,设置以下参数:

  • 历史无限

  • 初步估计没有一个内部

  • 估算方法遗忘因子卡尔曼滤波器

编程使用

块参数:P0
类型:标量、向量或矩阵
默认值:1 e4

初始参数值指定为一个向量的长度N,在那里N是估计参数的数量。

依赖关系

要启用该参数,设置历史无限初步估计内部

编程使用

块参数:InitialParameterData
类型:真正的向量
默认值:[1]

解释变量的初始值指定缓冲区使用finite-history时(滑动窗口)估计。的窗口长度参数W参数的数量参数N定义解释缓冲区的尺寸,这是W——- - - - - -N

最初的解释变量参数控制算法的初始行为。块使用这个参数在仿真或每当的开始重置信号触发。

当初始值设置为0,一块准备用0填充缓冲区。

如果最初的缓冲区设置为0或不包含足够的信息,你看到一个警告消息在你估计的初始阶段。警告应明确几个周期。周期的数量需要足够的信息缓冲取决于多项式和输入延迟的顺序。如果警告一直持续,你应该评估你的信号内容。

依赖关系

要启用该参数,设置历史有限的初步估计内部

编程使用

块参数:InitialRegressors
类型:真正的矩阵
默认值:0

指定初始值的测量输出缓冲区使用finite-history时(滑动窗口)估计。这个参数是一个W1的向量,W窗口长度。

当初始值设置为0,一块准备用0填充缓冲区。

如果最初的缓冲区设置为0或不包含足够的信息,你看到一个警告消息在你估计的初始阶段。警告应明确几个周期。周期的数量需要足够的信息缓冲取决于多项式和输入延迟的顺序。如果警告一直持续,你应该评估你的信号内容。

初始输出参数控制算法的初始行为。块使用这个参数在仿真或每当的开始重置信号触发。

依赖关系

要启用该参数,设置历史有限的初步估计内部

编程使用

块参数:InitialOutputs
类型:真正的向量
默认值:0
输入处理和样品时间
  • 纸浆包处理操作信号流一次一个样本。

  • 框架处理操作信号包含多个样本的时间步骤。许多机器传感器接口包多个样本和传输这些样本在帧。框架处理允许您直接输入数据,而不必首先解压缩它。

指定框架数据添加一个额外的维度港口和外港的一些数据,是时间步的数量在一个框架。这些端口:

  • 解释变量

  • 输出

  • 错误

有关更多信息,请参见端口描述港口

编程使用

块参数:InputProcessing
类型:特征向量,字符串
价值观:“纸浆包”,“框架”
默认值:“纸浆包”

指定数据样本的时间,无论是个人样品处理(纸浆包t年代),或者由框架进行框架处理(tf=t年代),在那里帧长度。当您设置样品时间其默认值为1,块继承了它t年代tf基于信号。

指定样品时间作为一个积极的标量覆盖继承。

编程使用

块参数:Ts
类型:真正的标量
默认值:1

算法和块的选择

算法的选择

历史你使用参数决定什么类型的递归算法:

  • 无限——这类算法旨在生产参数估计解释开始以来的所有数据仿真。这些算法保留历史数据的总结。块保持这汇总在一个固定数量的内存,不随着时间的推移而增长。

    块提供的多个算法无限类型。选择这个选项允许估算方法参数指定的算法。

  • 有限的——这类算法旨在生产参数估计,解释过去只有有限数量的数据样本。块使用的所有数据在一个有限的窗口,和丢弃数据一旦数据不再是在窗口范围内。这种方法也被称为滑动窗口估计。

    选择这个选项允许窗口长度参数大小的滑动窗口。

关于递归估计方法的更多信息,请参阅在线参数估计的递归算法

编程使用

块参数:历史
类型:特征向量,字符串
价值观:“无限”,“有限”
默认值:“无限”

窗口长度参数确定样本数量的时间使用滑动窗口的估计方法。选择平衡的窗口大小估计性能计算和内存负担。分级因素包括数量和时间在您的模型中参数的方差。总是指定窗口长度在样品,即使您使用的是框架的输入处理。

窗口长度必须大于或等于参数估计的数量。

合适的窗口长度是否使用独立的纸浆包或不定位输入处理。然而,当使用框架处理,窗口长度必须大于或等于样本的数量(时间步骤)中包含的框架。

依赖关系

要启用该参数,设置历史有限的

编程使用

块参数:WindowLength
类型:正整数
默认值:200年

指定估计算法在执行无穷历史估计。当您选择这些方法中的任何一个,阻止使额外的相关参数。

遗忘因子和卡尔曼滤波算法比梯度计算密集型和归一化梯度方法。然而,这些更密集的方法比梯度方法有更好的收敛特性。关于这些算法的更多信息,请参阅在线参数估计的递归算法

编程使用

块参数:EstimationMethod
类型:特征向量,字符串
价值观:“遗忘因子”,卡尔曼滤波器的,“归一化梯度”,“梯度”
默认值:“遗忘因子”

遗忘因子λ指定如果打折多少旧数据估算。假设体系仍近似恒定T0样本。你可以选择λ这样:

T 0 = 1 1 λ

  • 设置λ= 1对应于“不忘”,估计常系数。

  • 设置λ< 1意味着过去的测量数据对参数估计不太重要,可以“被遗忘。“设置λ< 1估计时变系数。

典型的选择λ(0.98 - 0.995)范围。

依赖关系

要启用该参数,设置历史无限估算方法遗忘因子

编程使用

块参数:AdaptationParameter
类型:标量
价值观:(0 1]范围
默认值:1

过程噪声协方差规定的元素和结构噪声对卡尔曼滤波估计协方差矩阵。使用N参数估计的数量,指定过程噪声协方差为以下之一:

  • 真正的负的标量,α——协方差矩阵是一个N——- - - - - -N对角矩阵,α对角元素。

  • 真正的负的标量,矢量(α1、……αN)——协方差矩阵是一个N——- - - - - -N对角矩阵,(α1、……αN对角元素)。

  • N——- - - - - -N对称半正定矩阵。

卡尔曼滤波算法对参数作为一个动态系统的状态和使用卡尔曼滤波器估计这些参数。过程噪声协方差是过程噪声协方差的作用在这些参数。零值的噪声协方差矩阵对应于常系数,或参数。大于0的值对应于时变参数。使用大型快速变化的参数的值。然而,期望更大的值导致参数估计吵着。默认值是1。

依赖关系

要启用该参数,设置历史无限估算方法卡尔曼滤波器

编程使用

块参数:AdaptationParameter
类型:标量、向量矩阵
默认值:1

适应增益γ尺度的影响,新的测量数据的估计结果梯度和归一化梯度方法。当你的测量是值得信赖的,或者换句话说有很高的信噪比,指定一个更大的值γ。然而,设置γ过高会导致参数估计有分歧。这种分歧可能即使测量噪声是免费的。

估算方法NormalizedGradient,适应增益应小于2。用梯度法,如果在错误的时间(换句话说,估计是不同的),或参数估计经常跳来跳去,考虑减少适应增益

依赖关系

要启用该参数,设置历史无限估算方法归一化梯度梯度

编程使用

块参数:AdaptationParameter
类型:标量
默认值:1

尺度归一化梯度算法适应获得每一步的广场two-norm梯度向量。如果梯度接近于零,接近于零的分母会导致跳跃在估计参数。规范化的偏见是这个词引入分母,以防止这些跳跃。增加规范化的偏见如果你观察跳跃在估计参数。

依赖关系

要启用该参数,设置历史无限估算方法归一化梯度

编程使用

块参数:NormalizationBias
类型:标量
默认值:每股收益
块的选择

使用错误外港信号验证评估。对于一个给定的时间步长t,估计误差e(t)计算:

e ( t ) = y ( t ) y e 年代 t ( t ) ,

在哪里y(t)是你提供的测量输出,y美国东部时间(t)是使用解释变量的估计输出H(t)和参数估计θ(t1)。

编程使用

块参数:OutputError
类型:特征向量,字符串
价值观:“关闭”,“上”,
默认值:“关闭”

使用协方差外港检查信号参数估计的不确定性。软件计算参数协方差P假设残差,e(t),是白噪声,这些残差的方差是1。

的解释P取决于您所指定的评估方法历史估算方法如下:

  • 如果历史无限,那么你的估算方法选择的结果:

    • 遗忘因子- (R2/ 2)P约等于的协方差矩阵估计参数,在哪里R2是真正的残差的方差。块输出的残差错误端口。

    • 卡尔曼滤波器- - - - - -R2P的协方差矩阵估计参数,然后呢R1/R2的协方差矩阵参数的变化。在这里,R1您所指定的协方差矩阵,在吗参数协方差矩阵

    • 归一化梯度梯度——协方差P是不可用的。

  • 如果历史有限的(滑动窗口估计)R2P的协方差估计的参数。滑动窗口算法不使用的协方差参数估计过程。然而,该算法并计算输出的协方差,这样您就可以用它来统计评估。

编程使用

块参数:OutputP
类型:特征向量,字符串
价值观:“关闭”,“上”
默认值:“关闭”

使用启用信号提供一个控制信号,启用或禁用参数估计。块估计每个时间步的参数值,参数估计是启用。如果禁用参数估计在给定的步骤,t,那么软件不能更新时间步的参数。相反,过去估计块输出参数值。

  • 您可以使用这个选项,例如,当如果:

    • 你的解释变量或输出信号变得太吵,或在一段时间不包含信息的步骤

    • 系统进入模式的参数值不改变

编程使用

块参数:AddEnablePort
类型:特征向量,字符串
价值观:“关闭”,“上”
默认值:“关闭”

设置外部复位添加一个参数重置轮廓尺寸和指定尺寸信号条件触发算法状态重置为它们指定初始值。重置评估,例如,如果参数协方差变得太大,因为缺乏足够的激励或信息的测量信号。

假设您重置块一次一步,t。如果启用了块t,软件使用中指定的初始参数值初步估计估计的参数值。换句话说,t块执行参数更新使用最初的估计和港口的当前值。

如果块是禁用的t你重置块,块输出中指定的值初步估计

这个选项指定为以下之一:

  • 没有一个——不重置算法估计状态和参数。

  • 不断上升的——触发时重置控制信号从负面或零值一个积极的价值。如果初始值是负的,零触发复位。

  • 下降——触发时重置控制信号从一个积极的负数或零值。如果初始值为正,跌至零触发复位。

  • 要么——触发复位控制信号时上升或下降。

  • 水平-触发复位在这两种情况下:

    • 控制信号在当前时间步非零。

    • 控制信号的变化从零之前的时间在当前时间一步一步为零。

  • 保持水平——触发控制信号时重置零当前时间步。

当你选择任何选项没有一个,软件增加了重置尺寸。你提供这个尺寸的复位控制输入信号。

编程使用

块参数:ExternalReset
类型:特征向量,字符串
价值观:“没有”,“上升”,“下降”,“不是”,“水平”,“持有水平”
默认值:“没有”

引用

[1]Ljung, L。为用户系统标识:理论。上台北:新世纪PTR, 1999年,页363 - 369。

[2],Q。“一些滑动窗口最小二乘算法的实现方面。”IFAC诉讼。15卷。33岁的问题,2000年,页763 - 768。

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。金宝app

版本历史

介绍了R2014a