主要特性

  • 使用时域和频域响应数据的传递函数处理模型和状态-空间模型识别
  • 使用极大似然、预测误差最小化 (PEM) 和子空间系统识别技术的自回归 (ARX, ARMAX)、Box-Jenkins 和输出-误差模型估算
  • 在线模型参数估算
  • 时序建模(AR、ARMA)和预测
  • 通过输入-输出非线性(如饱和和死区)识别非线性 ARX 模型和 Hammerstein-Weiner 模型
  • 用于估算用户定义模型的线性和非线性灰箱系统识别
  • 延迟估算、趋势消减、过滤、重新采样和缺失数据的重建

该工具箱的主要架构设计师是 Lennart Ljung 教授,他是系统识别领域公认的领头羊。

 

使用 System Identification Toolbox 根据测试数据估算模型。

使用 System Identification Toolbox(上)来导入、分析和预处理数据(左)、估算线性和非线性模型(下),以及验证估算模型(右)。


数据模型识别

System Identification Toolbox 可让您基于测得的输入-输出数据创建模型。您可以:

  • 分析并处理数据
  • 确定合适的模型结构和顺序,并估算模型参数
  • 验证模型准确性
启动 System Identification Toolbox™ (系统识别工具箱)。

您可以使用识别的线性模型通过 Control System Toolbox™ 分析和控制系统设计。您可以使用该工具箱提供的块将识别的大多数模型合并到 Simulink 中。您还可以使用识别的模型进行预测。

 

利用频域测试数据识别传递函数模型并在 Simulink 中使用识别的模型。

标题说明:利用频域测试数据(上)识别传递函数模型并在 Simulink (下)中使用识别的模型。


分析和处理数据

准备识别模型的数据时,您需要指定输入-输出信道名称、采样时间和样本间的行为等信息。该工具箱可让您将此信息附加到数据,这将有助于数据、域转换和各种预处理任务的可视化。

测得的数据通常有偏移、缓慢漂移、异常值、缺失值和其他异常情况。该工具箱通过执行趋势消减、过滤、重新采样和缺失数据重建来清除此类异常。该工具箱可以分析识别数据的适宜性,并对激励的持久性、反馈环路的存在及非线性的存在提供诊断。

该工具箱通过测得的数据直接估算系统的脉冲频率响应。通过这些响应,您可以分析主要时间常数、输入延迟和谐振频率等系统特性。您还可以使用这些特性在估算过程中配置参数化模型。

导入测试数据,进行模型预估和结果验证。
审核测试数据,过滤数据噪音,去除偏移数据。

估算模型参数

参数化模型(如传递函数或状态-空间模型)使用数目较少的参数来捕获系统动态。System Identification Toolbox 通过时间-响应和频率-响应数据估算模型参数及其不确定因素。您可以使用时间-响应和频率-响应图(如阶跃、脉冲、波特图和极点-零点图)来分析这些模型。

验证多个模型,并根据验证数据集进行验证。

验证结果

System Identification Toolbox 使用从真实系统所测数据的独立集帮助验证已识别模型的准确性。对于一组给定的输入数据,该工具箱将计算已识别模型的输出,并可让您将该输出与从真实系统测得的输出进行比较。您还可以查看预测误差并生成具有置信边界的时间-响应和频率-响应图,直观地显示参数不确定性对模型响应的影响。


线性模型识别

使用 System Identification Toolbox,您可以通过指定数目的极点估算和零值多入多出连续或离散时间传递函数。您可以指定传输延迟或者让该工具箱自动确定这些参数。在您需要极点-零点形式的低阶连续时间模型的情况下,该工具箱可用来估算处理模型,这些模型是包含三个或更少极点(零点、时间延迟和积分器可选)的简单传递函数。

对连续时间和离散时间转移函数以及低位过程模型进行预估。应用预估模型进行分析和控制设计。

您可以使用该工具箱中提供的估算例程识别多项式状态空间模型。这些例程包括自回归模型(ARX、ARMAX)、Box-Jenkins 模型、输出-误差模型和状态空间参数化。估算方法包括极大似然、预测误差最小化方案和子空间方法,如 N4SID、CVA、MOESP 和 N4SID 算法。此外,还可以估算影响所观测系统的噪声的模型。对于所有估算,您可以指定固定模型参数并指定自由参数的界限。

确定最优模型排序和对状态空间模型进行预估。此外,对ARX、ARMAX、BoxJenkins和输出误差多项式模型进行预估。

您可以借助 Control System Toolbox 函数直接使用已识别的线性模型进行分析和补偿器设计,而无需转换模型。

您还可以在 Control System Toolbox 的 PID Tuner 应用程序中从测量的输入-输出数据识别过程模型。您能以交互的方式调整系统参数,比如增益和极点位置,从而将模型响应与测量输出相匹配。System Identification Toolbox 然而可以将这些参数值用作初始猜测值,从而自动查找在模型与测量数据之间最佳拟合的参数值。一旦创建过程模型,PID Tuner 应用程序将其用于自动调节 PID Controller 增益。

从测得的输入-输出数据中确认对象模型,然后使用此模型来调节 PID 控制器增益。

当调节 PID Controller 块的增益时,您还可以使用 System Identification Toolbox 和Simulink Control Design™。如果 Simulink 模型线性化为零,System Identification Toolbox 通过在 PID Tuner 中仿真输入/输出数据对过程建模进行预估。一旦创建过程模型,PID Tuner 将其用于自动调节 PID Controller 块增益。

设计无法线性化的模型的 PID 控制器使用系统标识,根据仿真输入-输出数据确认对象模型。
MATLAB code for identifying a transfer function model from time-domain test data in System Identification Toolbox and tuning a PID controller in Control System Toolbox.

System Identification Toolbox 中利用时域测试数据识别传递函数模型(上)和 Control System Toolbox 中使用识别的模型调节 PID 控制器(下)的 MATLAB 代码。

非线性模型识别

当线性模型不足以捕获系统动态时,您可以使用 System Identification Toolbox 来估算非线性模型,如非线性 ARXHammerstein-Wiener

非线性 ARX 模型可让您使用小波网络、树分区、乙状网络和神经网络建立非线性模型(通过 Neural Network Toolbox™)。使用 Hammerstein-Wiener 模型,您可以估算其他线性系统的输入和输出中出现的静态非线性失真。例如,您可以估算影响运行直流电机的输入电流的饱和电平,也可以通过分段线性非线性捕获输出中的复杂非线性。

对非线性ARX和Hammerstein-Wiener模型进行预估。

用户定义模型中的参数估算

用户定义(灰箱)模型是一组包含某些未知参数的微分或差分方程。如果您了解系统的物理特性并且可以将系统表示为灰箱模型,则 System Identification Toolbox 可让您通过非线性优化技术指定模型结构并估算其参数。对于线性模型,您可以明确指定状态-空间矩阵的结构,并对识别的参数施加约束。您可以将微分方程指定为 MATLAB、C 或 Fortran 代码。


在线参数估算

System Identification Toolbox 提供了 Simulink 函数块,用于在线参数估算。在线参数估算的应用包括故障监测和自适应控制。

System Identification Toolbox 使您执行两种在线参数估算:递归多项式模型估算器和递归最小二乘估算器。

递归多项式模型估算器模块通过作为模块输入的输入与输出数据估算 ARX 或 ARMAX 结构的离散时间多项式模型。该工具箱使您能指定该模型阶数和选择使用的估算方法。

递归最小二乘估算器模块估算将模型输入(回归量)映射到模型输出的模型参数。该模型必须是回归量的线性组合,但可用其描述非线性系统。

您可以使用在线参数估算模块进行仿真和实施。在仿真中使用这些模块使您能验证算法,并为您的应用选择最佳的模型结构。

然后通过 Simulink Coder™Embedded Coder®Simulink PLC Coder™ 使用自动代码生成将算法部署到一个嵌入式目标。

Use the recursive least squares estimator block to detect system changes in Simulink and System Identification Toolbox.

时序数据建模

时序是一个或多个无测量输入的测量输出信道。使用 System Identification Toolbox,您可以创建时序数据模型,根据以前的值预测将来的信号值。您可以使用时域和频域数据来估算时序模型。

您可以使用循环组件以不同的频率估算描述时序变化的时序频谱。您还可以估算参数化自回归 (AR)、自回归和移动平均 (ARMA)、自回归积分移动平均 (ARIMA) 和状态-空间时序模型。

 

用于创建时序数据模型以预测将来信号值的 MATLAB 代码。

标题说明:用于创建时序数据模型并用它来预测将来信号值的 MATLAB 代码。