主要内容

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

此示例演示如何从存储在文件中的测量数据创建估算实验,以及如何预处理测量数据。使用导入的数据估算简单RC电路的参数。

本示例需要Simscape™软件。

RC电路模型

Simu万博1manbetxlink仿真®模型,SDORC电路,为一个简单的电阻-电容(RC)电路建模。

open_system (“SDORC电路”);

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

测量输出数据:

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

参数:

  • 电容,C1, C1区块使用的

状态:

  • 电容的初始电压

定义估计实验

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

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

负载sdoRCCircuit_ExperimentData

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

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

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

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

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

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

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

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

实验结果表明,模拟数据与实测数据不符。该图还表明,模型初始状态不正确,需要进行估计(时间0时的测量电压和模拟电压存在显著差异)。在“实验编辑器”中,单击选择初始状态打开对话框以选择模型初始状态;选择sdorccuit.C1.vc声明并单击好吧将状态添加到实验中。

对实验数据进行预处理

测量数据包含高频噪声,您可以使用低通滤波器去除这些噪声。点击试验区选项卡,然后选择低通滤波器.

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

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

估计模型参数值

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

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

运行估算时,绘图将更新,并显示一个显示估算进度的对话框。“进度”对话框显示估算迭代次数、模型已评估的次数(F计数)以及每次迭代的估算成本。

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

相关实例

了解如何使用优化命令,请参见估计模型参数和初始状态(代码).

关闭模型。

bdclose(“SDORC电路”)