主要内容

实验数据导入与预处理(GUI)

这个例子展示了如何从存储在文件中的测量数据创建一个估计实验,以及如何对测量数据进行预处理。你使用导入的数据来估计一个简单的RC电路的参数。

本示例需要Simscape™软件。

RC电路模型

Simu金宝applink®模型,sdoRCCircuit,模型一个简单的电阻-电容(RC)电路。

open_system (“sdoRCCircuit”);

您使用测量数据来估计RC模型参数和状态值。

测量输出数据:

  • 电容电压,PS-Simulink转换器输出块金宝app

参数:

  • 电容,C1,由C1块使用

状态:

  • 电容的初始电压

定义估计实验

在本例中,您从保存的MATLAB®文件加载测量数据。数据还存储在逗号分隔的变量(csv)文本文件中。您也可以直接从文本或Excel®文件加载测量数据。

首先从MATLAB文件中加载测量数据,该文件定义了两个变量,时间而且数据指定测量的电容电压。

负载sdoRCCircuit_ExperimentData

推出参数估计量,在Simulin金宝appk模型窗口中,在应用程序画廊,下控制系统,点击参数估计量

点击新实验创建一个包含测量数据的估计实验。一个变量经验值参数估计量然后打开一个编辑实验的对话框。

实验编辑器包含指定测量输出数据的部分和可选指定实验初始状态和参数的部分。

实验编辑器自动添加模型根级端口的测量输出信号和记录模型信号。点击选择测量输出信号如有需要,增加额外的测量输出。在这个例子中,电容电压信号被记录在模型中,并已经添加到实验中。

通过键入指定测量的电容电压(时间数据)在编辑字段中。这里使用了MATLAB变量时间而且数据从文件中加载,以指定测量的电容电压。测量数据被指定为一个矩阵,其中第一列是时间,随后的列是信号数据。

或者,您可以通过直接从文本或Excel文件加载测量数据来指定测量电容电压变量。单击导入按钮打开文件浏览器并选择sdoRCCircuit_ExperimentData.csv文件。

打开一个用于从文件导入列数据的工具。选择导入的第一列用于指定信号时间,随后选择导入的列用于指定信号数据。选择时间而且数据列并单击进口的选择

在实验编辑器中单击绘制和模拟绘制实测实验数据和模拟模型响应图。

实验结果表明,模拟数据与实测数据不一致。从图中还可以看出,模型初始状态是不正确的,需要进行估计(0时刻的实测电压和模拟电压有显著差异)。在实验编辑器中,单击选择初始状态打开对话框以选择模型初始状态;选择sdoRCCircuit.C1.vc状态并单击好吧将状态添加到实验中。

对实验数据进行预处理

测量数据包含高频噪声,可以使用低通滤波器去除。单击实验图按TAB键选择低通滤波器

这将打开Low-Pass Filter工具。上轴表示FFT信号,下轴表示信号。原始信号用蓝色表示,滤波后的信号用红色表示。中的值来调整过滤器带宽归一化截止频率编辑字段或单击并拖动黄色补丁边缘。拖动过滤器截止到0.4。点击选项并选择零相移滤波器避免在测量数据中引入滤波器相移。

点击应用而且关闭低通滤波器完成数据的低通滤波。用滤波后的信号对实验进行更新。您可以使用其他预处理工具,如删除偏移量、缩放和重新采样,以进一步处理测量数据。对于本例,低通滤波就足够了。

估计模型参数值

对实验数据进行配置和预处理后,您现在可以进行估计。首先选择参数进行估计。单击参数估计按TAB键选择选择参数.这时会打开一个对话框,用于指定评估的模型参数。点击选择参数和选择,C1,为电路电容值。将电容最小值设置为0,初始猜测值设置为460e-6。

点击估计开始评估。属性可以修改估算选项成本函数组合框并单击更多的选择

在评估运行时,图会更新,并出现一个显示评估进展的对话框。进度对话框显示了评估迭代、评估模型的次数(F-count),以及每次迭代的评估成本。

经过多次迭代之后,估计收敛并终止。用估计的参数更新模型,并将估计结果保存在数据浏览器中。

相关的例子

学习如何估计模型参数sdo.optimize命令,看到估计模型参数和初始状态(代码)

关闭模型。

bdclose (“sdoRCCircuit”