# 操作手册
本操作手册介绍了系统辨识应用程序的功能及操作步骤。
# 打开系统辨识
系统辨识 App 可通过以下两种方式打开:
通过菜单图标打开
在 Syslab 中的 APP 菜单栏选项卡中,单击System Identification,启动一个不带参数的系统辨识。
通过命令行打开
无参命令行:
使用以下无参命令打开系统辨识 App。默认情况下,此语法会启动一个不带参数的系统辨识。
init_syslabapp() ident()或
init_syslabapp() systemIdentification()提示
用户首次使用命令行启动 App 需要在命令行窗口先输入 init_syslabapp() 来对 App 进行初始化。
有参命名行:
使用以下有参命令打开系统辨识 App,其中,
"D:\MyUser\MyDesktop\session_file.json"可以是已保存的会话文件,也可以是保存的数据文件或模型文件。同时需要在路径前加上 raw,该命令运行后,会启动一个已加载数据或模型的系统辨识。init_syslabapp() ident(raw"D:\MyUser\MyDesktop\session_file.json")或
init_syslabapp() systemIdentification(raw"D:\MyUser\MyDesktop\session_file.json")提示
直接复制此命令运行可能会报错,需根据实际情况修改文件路径。
# 数据导入与预处理
单击数据设置切换至数据设置页面,在该页面中,可加载会话、加载原始数据集、对数据集进行预处理和进行数据分析等操作。
# 文件设置
打开会话
单击打开会话,在本地选择待打开的会话文件,文件后缀格式为
.json。会话文件加载成功后,文件中的数据或模型会加载至系统辨识中。
注意
若文件中部分数据格式错误或为空,则会打开会话失败。
保存会话
单击保存会话,保存当前系统辨识中所有的数据集和模型至本地文件中,且文件后缀格式为
.json。
# 导入导出
数据集导入
数据集可以通过从 Syslab 导入和从文件导入两种方式导入。
从 Syslab 导入
从 Syslab 中导入输入数据 u 和输出数据 y,同时可自定义导入数据集的名称、起始时间和采样时间。目前仅支持单输入单输出数据,即 u 和 y 必须为等长的向量数据。
从文件导入
从本地已保存的数据集文件中导入数据集。
数据集导出
系统辨识中的数据集可以导出至 Syslab 工作区和文件。
导出至 Syslab 工作区
选中待导出的数据集,单击 Syslab 工作区前的单选框,导出至 Syslab 工作区;且导出后的数据集格式为 iddata 格式。导出至文件
选中待导出的数据集,单击文件前的单选框,导出至json文件。

# 数据浏览区
数据浏览区分别存储导入数据集、预处理数据集和验证数据集三部分。下列分别介绍不同数据集的右键菜单功能。
导入数据集列表右键菜单
删除:删除该数据集,目前不可恢复,请慎重。

设为工作集:选中数据集设为当前工作数据集,此时该数据集字体会显示加粗。预处理和辨识操作都是针对当前数据集进行的操作。

加入验证集:该数据集将加入验证数据集列表中。

重命名:对该数据集重新命名,若新的名称与当前列表中某一数据集重名,重命名失败,并自动设置回原来名字。

详细信息:弹窗显示数据集的基本详细信息。

预处理数据集列表右键菜单
预处理数据集列表的右键菜单与导入数据集列表右键菜单功能一致。但,预处理的数据集不能被设置为验证数据集进行模型验证。

验证数据集列表右键菜单
验证数据集列表的右键菜单与导入数据集列表右键菜单功能一致。同时,可以设置当前验证数据集。
设为当前验证集:选中数据集设为当验证作数据集,

设为当前验证集的数据集默认显示在模型分析页面的验证数据集列表。

如需修改当前验证数据集,可通过验证数据集的右键功能或在模型分析页面切换验证数据集列表的下拉列表两种方式来实现。
双击数据集 双击数据浏览区列表中的任一数据集,默认绘制该数据的时域分析图。

# 数据预处理
针对当前工作集,可以进行数据预处理。本 App 提供三种数据预处理方式,分别为移除数据均值、移除数据趋势和重采样。
移除数据均值
选择导入数据集列表中的任一数据,单击移除数据均值,对当前工作集进行移除均值。
移除数据均值是输入数据减去输入数据的均值,输出数据减去输出数据的均值,新的输入和输出数据会组合为新的数据集,并添加至预处理数据集列表,默认在原始数据集名称后增加后缀 _rmm。若 "_rmm" 后缀已存在,自动加1为 "_rmm1", 依此类推。

移除数据趋势
选择导入数据集列表中的任一数据,单击移除数据趋势,对当前工作集进行移除趋势。
移除数据趋势是输入数据减去输入数据的线性趋势,输出数据减去输出数据的线性趋势,新的输入和输出数据会组合为新的数据集,并添加至预处理数据集列表,默认在原始数据集名称后增加后缀 _rmt。若 "_rmt" 后缀已存在,自动加1为 "_rmt1", 依此类推。

重采样
选择导入数据集列表中的任一数据,单击重采样,在数据重采样弹窗中,自定义重采样系数和预处理数据集后的名称,单击导入,预处理后数据会添加至预处理数据集列表,默认在原始数据集名称后增加后缀 _rsp。若 "_rsp" 后缀已存在,自动加1为" _rsp1", 依此类推。
重采样是会对原始数据集按照设定的新采样间隔(重采样系数)进行重采样。重采样系数 < 1时,采样变稀疏,新的数据集长度小于原数据集长度;当重采样系数 > 1时,采样变密集,新的数据集长度大于原数据集长度。

# 数据分析
数据分析包括时域分析和频域分析。在数据分析之前,需要在数据浏览区列表中单击选中一个数据集。
时域绘图分析
时域分析绘制数据随时间变化的输入输出曲线。可通过双击数据浏览区任一数据集或选中数据集再单击时域分析两种方式,绘制数据的时域分析图。

频域绘图分析
频域分析绘制随频率变化的输入、输出曲线。可通过选中数据集再单击频域分析,绘制数据的频域分析图。
# 辨识模型
模型辨识主要进行模型类型设置和辨识算法选择,启动并完成辨识后,会生成辨识模型,并加载至模型浏览区的新辨识模型列表。同时,本 App 支持自定义辨识模型是否连续。
# 模型导入
模型可以通过从 Syslab 导入和从文件导入两种方式导入。
从 Syslab 导入
从 Syslab 工作区导入控制模型,且导入的模型默认转化为零极点格式。

从文件导入
从本地已保存的模型文件中导入数据模型,且导入模型类型与保存的类型一致。

# 模型导出
系统辨识中的模型可以导出至 Syslab 工作区和文件。
导出至 Syslab 工作区
选中待导出的模型,单击 Syslab 工作区前的单选框,导出至 Syslab 工作区;同时,支持自定义导出模型的类型。

导出至文件
将已辨识模型列表中模型,导出至 json 文件,并保存。

# 模型结构设置
针对待辨识的模型,自定义模型结构,包括传递函数模型、零极点模型和状态空间模型。
传递函数模型
- 模型命名
辨识模型的默认名称为 model1,下一次待辨识的模型名称为上一次辨识模型名称的最大值加 1。 - 设置模型零极点个数
设置传递函数模型的零极点个数,最大阶数为 5,且零点个数必须小于等于极点个数。

- 模型命名
状态空间模型
- 模型命名
辨识模型的默认名称为 model1,追加命名同传递函数模型。 - 设置模型阶次
模型阶次几位状态变量的最大个数,最大阶次可设置为 5。

- 模型命名
零极点模型
- 模型命名
新辨识模型的名称,追加命名同传递函数模型。 - 设置模型零极点个数
设置系统零极点个数,最大阶数为 5,且零点个数必须小于等于极点个数。

- 模型命名
模型是否连续
在启动辨识前,支持自定义待辨识模型是否连续,默认为连续模型。
# 辨识算法选择
系统辨识支持自动匹配算法和用户自定义算法两种方式。具体介绍如下:
自动选择(自动):根据用户设置的待辨识模型结构类型,自动匹配辨识算法。
N4sid 算法:调用 n4sid 算法进行辨识, 默认为状态空间模型。
Arma 算法:调用 arma 算法进行辨识,默认为传递函数和零极点增益模型。
Tfest 算法:调用 tfest 算法进行辨识,默认为传递函数模型。
Subspaceid 算法:调用 subspaceid 算法进行辨识,默认为状态空间模型。

# 模型浏览区功能
新辨识模型列表右键菜单 系统辨识中,辨识完成的模型会显示在此列表中;
删除:删除该模型,目前不可恢复,请慎重。

导出为...:导出单模型至 Syslab 工作区或文件中。

重命名:对该模型重新命名,若新的名称与当前列表中某一数模型重名,重命名失败,并自动设置回原来名字。
详细信息:弹窗显示模型的详细信息。
导入模型列表右键菜单 通过从 Syslab 工作区导入或文件导入的方式导入的模型会显示在此列表中。该列表的右键功能介绍同上。
# 辨识结果分析
在系统辨识中,通过使用已知的输入和输出数据来建立系统的数学模型。然后,需要验证这个模型是否能够准确地描述系统的动态行为。为了进行验证,通过使用验证数据集对辨识模型进行结果分析。
验证数据集与待辨识数据集需要来自同一个系统,可以是相同的数据集或不同的数据集。将验证数据集输入到辨识模型中,得到模型的输出。然后,通过对比模型的输出与验证数据集中的实际输出,根据算法计算获取模型输出验证结果和模型残差验证结果。
# 选择验证数据集
选择用于模型验证的当前验证数据集有以下两种方式,可任选其一进行操作。
下拉列表选择当前验证数据集
在模型分析页面,在验证数据集的下拉列表中选择需要的数据集。该验证数据集下拉框与数据浏览区的验证数据集列表,保持动态一致。右键设置当前验证数据集
在模型设置页面,数据浏览区的验证数据集列表选择数据集设置为当前验证数据集,设置完成后当前验证数据集名称字体加粗。
# 模型验证分析
模型验证是根据当前验证数据集对辨识后模型进行验证。在模型验证分析之前,需要在模型浏览区中选择一个模型做为分析对象。
模型验证分析包括模型输出验证和模型残差验证。
模型验证:利用验证数据对待验证的模型进行仿真,然后比较仿真结果和验证数据集的输出,以评估模型的准确性。
模型分析:通过进行单位阶跃响应、单位脉冲响应、波特图以及 LTI 分析器分析来检测模型的时域特性和频域特性。
模型输出验证功能说明
选择完成当前验证数据集,同时在模型浏览区中单击选择模型,勾选模型输出验证,即可分析模型的仿真输出与验证集的实际输出,最终绘制输出对比曲线。
模型残差验证功能说明
选择完成当前验证数据集,同时在模型浏览区中单击选择模型,勾选模型残差验证,即可根据先计算出模型的仿真输出与验证集输出的实际输出之间的残差,得到残差的自相关系数及残差与输入的互相关系数,最终绘制输出对比曲线。
# 模型响应分析
单击模型浏览区中任一模型,对模型进行阶跃响应分析、脉冲响应分析、频域分析或调用 LTI 分析器进行响应分析。
以阶跃响应分析为例
单击模型浏览区任一模型。
在模型分析中,单击阶跃分析。
默认在中央绘图区域的右下方,绘制模型单位阶跃响应曲线。

调用 LTI 分析器进行响应分析
单击模型浏览区任一模型。
在模型分析中,单击 LTI 分析器。
在弹出的 LTI 分析器窗口中对模型进行时域分析和频域分析。
