这个例子展示了如何从存储在文件中的测量数据创建一个估计实验,以及如何对测量数据进行预处理。你使用导入的数据来估计一个简单RC电路的参数。
本示例需要Simscape™软件。
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
状态和点击好吧将状态添加到实验中。
测量数据包含高频噪声,可以使用低通滤波器去除这些噪声。单击实验图选项卡并选择低通滤波器.
这会打开Low-Pass Filter工具。上轴表示信号FFT,下轴表示信号。原始信号用蓝色表示,过滤后的信号用红色表示。中的输入值来调整过滤带宽归一化截止频率编辑字段或单击并拖动黄色补丁边缘。将过滤器截止值拖动到0.4。点击选项并选择零相位滤波器转变避免在测量数据中引入滤波器相移。
点击应用和密切的低通滤波器完成数据的低通滤波。用滤波后的信号对实验进行更新。您可以使用其他预处理工具,如去除偏移、比例尺和重样,进一步处理测量数据。对于这个例子,低通滤波就足够了。
配置并预处理了实验数据后,现在可以运行估算了。首先选择参数进行估计。单击参数估计选项卡并选择选择参数.将打开一个指定模型参数的对话框。点击选择参数和选择,C1
,为电路电容值。设置电容最小值为0,初始猜测值为460e-6。
点击估计开始估算。属性可以修改估计选项成本函数组合框并点击更多的选择.
在进行评估时,绘图会更新,并且会出现一个显示评估进展的对话框。进度对话框显示了评估迭代,模型被评估的次数(F-count),以及每个迭代的评估成本。
经过多次迭代后,估计收敛并终止。利用估计参数对模型进行更新,并将估计结果保存在数据浏览器中。
学习如何使用。估计模型参数sdo.optimize
命令,看到估计模型参数和初始状态(代码).
关闭模式。
bdclose (“sdoRCCircuit”)