主要内容

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

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

本例需要Simscape™软件。

RC电路模型

Simu万博1manbetxlink®模型,sdoRCCircuit,模拟一个简单的电阻-电容(RC)电路。

open_system (“sdoRCCircuit”);

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

测量输出数据:

  • 电容电压,PS-Simulink转换器块的输出万博1manbetx

参数:

  • 电容,C1, C1块使用

状态:

  • 电容器的初始电压

定义估计实验

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

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

负载sdoRCCircuit_ExperimentData

启动参数估计量,在Simulin万博1manbetxk模型窗口中,在应用程序画廊,下控制系统,点击参数估计量

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

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

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

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

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

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

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

实验结果表明,模拟数据与实测数据不相符。图中还显示模型初始状态不正确,需要估计(0时刻的测量电压和模拟电压有明显差异)。在实验编辑器中,单击选择初始状态打开一个选择模型初始状态的对话框;选择sdoRCCircuit.C1.vc状态并单击好吧为实验添加状态。

对实验数据进行预处理

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

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

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

估计模型参数值

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

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

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

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

相关的例子

方法估计模型参数sdo.optimize命令,看到估计模型参数和初始状态(代码)

关闭模型。

bdclose (“sdoRCCircuit”