确定低阶传递函数(过程模型)使用系统识别应用
介绍
目标
评估和验证简单、连续时间转移函数对于单输入/输出)数据找到一个最好的描述了系统动力学。
完成本教程后,您将能够使用系统识别应用程序完成以下任务:
从MATLAB进口数据对象®工作空间到应用程序。
情节和处理数据。
评估和验证低阶连续时间模型的数据。
出口模型的MATLAB工作区。
使用仿真软件模拟模型金宝app®软件。
请注意
本教程使用时域数据展示如何估计线性模型。同样的工作流程适用于合适的频域数据。
数据描述
本教程使用的数据文件proc_data.mat
,其中包含200个样本对于模拟输入/输出)时域数据。输入是一个随机二进制信号1和1之间震荡。白噪音(对应于负载扰动)添加到输入标准偏差为0.2,导致信噪比约20分贝。这个数据是采用二阶模拟系统阻尼不足的模式(复杂的两极)和峰值响应1 rad / s:
仿真的样品时间是1秒。
连续时间过程模型是什么?
连续时间过程模型是低阶传递函数描述系统动力学使用静态增益,前一个时间延迟系统输出响应输入,和特征时间常数与极点和零点。这样的模型行业中很受欢迎,经常被用于优化PID控制器,例如。过程模型参数的物理意义。
您可以指定不同的流程模型结构通过改变两极的数量,添加一个积分器,或包括时间延迟或零。最高的流程模型顺序您可以指定这个工具箱是三,和两极可以真实的或复杂的(欠阻尼的模式)。
一般来说,一个线性系统的特征是一个传递函数G,这是一个操作符,输入u到输出y:
对于连续时间系统,G拉普拉斯变换的输入有关U(年代)和输出Y(年代),如下所示:
在本教程中,您估计G使用不同的流程模型结构。
例如,下面的模型结构是一个一阶,连续时间模型,K是静态增益,Tp1是一个时间常数,Tdinput-to-output延迟:
数据为系统识别做准备
数据加载到MATLAB工作空间
加载数据proc_data.mat
通过输入以下命令在MATLAB命令窗口:
负载proc_data
这个命令将数据加载到MATLAB工作区作为数据对象z
。更多信息iddata
对象,看到相应的引用页面。
打开系统识别应用
打开系统识别应用,在MATLAB命令窗口输入以下命令:
systemIdentification
默认的会话名称,无标题的
出现在标题栏。
将数据对象导入到系统识别应用
你可以从MATLAB数据对象导入到应用程序的工作区。
你必须已经示例数据加载到MATLAB,所述数据加载到MATLAB工作区,打开应用程序中描述打开系统识别应用。
如果你没有执行这些步骤,点击这里完成它们。
一个数据对象导入到系统识别的应用程序:
选择导入数据>数据对象。
该操作将会打开导入数据对话框。
在“导入数据”对话框中,指定以下选项:
对象——输入
z
MATLAB变量的名称是时域数据对象。新闻输入。数据名称—使用默认的名称
z
的名字一样,它是你导入的数据对象。这个名字标签系统识别应用程序中的数据导入操作完成后。起始时间——输入
0
起始时间。这个值指定的起始值时间轴的阴谋。样品时间——输入
1
之间的一段时间连续样本在几秒钟内。这个值代表了在实验中实际样品时间。
导入数据对话框现在类似于下面的图。
点击进口将数据添加到系统识别应用。应用程序添加一个图标来表示数据。
点击关闭关闭进口数据对话框。
策划和处理数据
在这部分教程中,您将对数据和处理系统识别。您将了解如何:
图数据。
删除值减去均值偏移量的输入和输出。
把数据分成两个部分。你使用的一部分数据进行模型估计,和其他数据进行模型验证的一部分。
从每个信号减去平均值的原因是因为,通常,你建立线性模型描述的反应偏差从物理平衡。与稳态数据,它是合理的假设的平均水平的信号对应于这样一个平衡。因此,您可以寻找模型在零附近没有建模的绝对平衡水平物理单位。
您必须已经导入数据到系统识别应用,所述将数据对象导入到系统识别应用。
如果你没有执行这一步,点击这里来完成它。
情节和处理数据:
选择时间曲线图复选框打开时间曲线图窗口。
底部轴显示输入数据——通常随机二进制序列,和顶部轴显示输出数据。
接下来的两个步骤演示如何修改情节的轴的限制。
修改的一种限制输入数据,选择选项>设置轴的限制在时间曲线图图窗口。
在限制时间图对话框中,设置新的垂直轴限制输入数据的通道u1(-1.5 - 1.5)。点击应用和关闭。
请注意
其他两个字段限制时间图对话框,时间和日元,让你设置限制的时间轴轴和输出通道轴,分别。您还可以指定每个轴对数或线性通过选择相应的选项。
下面的图显示了更新后的时间曲线图。
在系统识别应用,选择<——预处理>快速启动执行以下四个动作:
从每个通道减去均值。
把数据分成两个部分。
指定的第一部分(或数据作为估计数据工作数据)。
指定的第二部分数据验证数据。
学习更多的知识。对于支持的信息数据处理操作,如重采样和过滤数金宝app据,看看数据进行预处理。
估计二阶传递函数(过程模型)和复杂的波兰人
估计二阶传递函数使用默认设置
在这部分教程中,您估计模型与结构:
你必须已经处理的数据估计,所述策划和处理数据。
如果你没有执行这一步,点击这里来完成它。
确定一个二阶传递函数:
在系统识别应用,选择估计>流程模型打开流程模型对话框。
在模型传递函数区域的流程模型对话框中,指定以下选项:
下波兰人中,选择
2
和欠阻尼的
。这个选择更新模型传递函数的二阶模型结构可以包含复杂的波兰人。
确保零和积分器复选框允许排除零和一个积分器(自律)的模型。
的参数区域的流程模型对话框现在显示四个活跃的参数:
K
,太瓦
,ζ
,道明
。在最初的猜测区域,保持默认自动选择
选择计算初始参数值的估计。的最初的猜测列在参数表中显示汽车
。保持默认界限值,指定每个参数的最小值和最大值。
提示
如果你知道可能的值为参数的范围,你可以输入这些值对应界限字段来帮助估计算法。按下输入关键在你指定的值。
保持默认设置估计算法:
干扰模型- - - - - -
没有一个
意味着算法不估计噪声模型。这个选项设置焦点来模拟
。焦点- - - - - -
模拟
意味着估计算法不使用噪音模型重量的相对重要性如何密切配合的数据在不同的频率范围。相反,该算法使用输入频谱在一个特定的频率范围来衡量适合那个频率范围的相对重要性。提示
的
模拟
设置优化识别输出仿真的模型,您计划使用。如果你打算使用你的模型输出预测或控制应用程序,或改善参数估计使用噪声模型,选择预测
。初始条件- - - - - -
汽车
意味着算法分析数据和选择最优方法来处理系统的初始状态。如果你得到糟糕的结果,你可能会尝试设定一个特定的方法来处理初始状态,而不是自动选择它。协方差- - - - - -
估计
意味着算法计算模型参数不确定性,显示信心地区情节。
模型应用程序分配一个名称,所示的名字字段(位于对话框的底部)。默认情况下,这个名字是首字母缩写
P2DU
,这表明两极(P2
),延迟(D
)和阻尼不足的模式(U
)。点击估计添加模型
P2DU
系统识别的应用。
建议用于指定参数
如果你知道一个参数值,你可以输入这个值价值列的流程模型对话框。选择相应的已知的复选框在您指定的值。
如果你知道一个参数的近似值,可以帮助进入一个初始值的估计算法最初的猜测列。在这种情况下,保持已知的清除复选框允许估计来调整这个初始猜测。
例如,为了解决时滞值道明
在2
年代,这个值输入价值字段的流程模型中的参数表对话框。然后选择相应的已知的复选框。
验证模型
您可以分析以下情节的质量评估模型:
比较模型的输出和测量输出一次阴谋
输出残差的自相关和互相关的输入和输出残差
你必须已经估计模型,描述估计二阶传递函数使用默认设置。
如果你没有执行这一步,点击这里来完成它。
检查模型的输出。您可以使用模型输出的情节来检查模型输出与测量输出的验证数据集。一个好的模型是最好最简单的模型,该模型描述了动力学和成功地模拟或预测的输出不同的输入。
生成模型输出图,选择模型输出复选框在系统识别应用。如果情节为空,单击模型图标在系统识别应用程序窗口显示模型的阴谋。
系统辨识工具箱™软件使用输入验证数据作为模型的输入,模拟输出和情节上的验证数据的输出。前面的情节显示模型输出同意与验证数据的输出。
的最适合区域模型的输出显示了模型输出之间的协议(百分比)和验证数据的输出。
模拟召回数据使用下面的二阶系统阻尼不足的模式(复杂的两极)中所描述的数据描述,在1 rad / s峰值响应:
因为输入的数据包括噪声模拟,估计模型不能完全复制模型用于模拟数据。
检查模型残差。您可以验证模型通过检查其剩余工资的行为。
来生成残差分析情节,选择模型残油复选框在系统识别应用。
顶部轴显示残差的自相关输出(白度测试)。横坐标是滞后的数量,这是信号之间的时差(样品)的相关性估计。置信区间内的任何波动被认为是无关紧要的。一个好的模型应该有一个剩余置信区间内的自相关函数,表明残差不相关的。然而,在这个例子中,似乎残差相关,这是自然的,因为噪音模型残差白。
底部轴显示残差的互相关的输入。一个好的模型应该与过去的残差不相关的输入(独立测试)。相关的证据表明该模型并不描述部分相对应的输出与输入。例如,在外面有一个峰值滞后的置信区间k,这意味着对输出的贡献y (t)这源于输入u (tk)不正确所描述的模型。在这个例子中,残差和输入之间没有相关性。
因此,残留的分析表明该模型是好的,但这可能是一个需要一个噪声模型。
估计噪声组件的流程模型
估计二阶过程模型和复杂的波兰人
在这部分教程中,您估计二阶传递函数,包括噪声模型。通过包括噪声模型,优化预测的评估结果的应用程序。
你必须已经估计模型,描述估计二阶传递函数使用默认设置。
如果你没有执行这一步,点击这里来完成它。
与噪声估计二阶传递函数:
如果流程模型对话框没有打开,选择估计>流程模型系统中识别应用。该操作将会打开流程模型对话框。
在模型传递函数区域,指定以下选项:
下波兰人中,选择
2
和欠阻尼的
。这个选择更新模型传递函数的二阶模型结构可以包含复杂的波兰人。确保零和积分器复选框允许排除零和一个积分器(自律)的模型。干扰模型——设置为
订单1
来估计噪声模型H作为一个连续时间,一阶自回归滑动平均模型:的时间和地点D一阶多项式,e是白噪声。
这个动作指定焦点作为
预测
的频率范围,提高了准确性噪音水平低。例如,如果有更多的高频噪声,该算法分配不重视精确拟合数据的高频部分。的名字——编辑模型的名字
P2DUe1
生成一个模型系统辨识程序与一个唯一的名称。
点击估计。
在流程模型对话框中,设置干扰模型来
订单2
估计二阶噪声模型。编辑的名字字段
P2DUe2
生成一个模型系统辨识程序与一个唯一的名称。点击估计。
验证模型
在这部分教程中,您将使用该模型评估模型的性能输出和残留分析情节。
你必须已经估计模型,描述估计二阶传递函数使用默认设置和估计二阶过程模型和复杂的波兰人。
如果你没有执行这些步骤,点击这里完成它们。
比较模型输出的情节。生成模型输出图,选择模型输出复选框在系统识别应用程序。如果情节为空或模型输出不出现在情节,单击模型图标在系统识别应用程序窗口中显示这些模型的阴谋。
下面的模型输出图显示了模拟模型输出,默认情况下。模拟响应的模型大约是相同的模型,没有噪音。因此,包括噪声模型不影响模拟的输出。
查看输出的预测模型,选择选项>5提前一步预测输出在模型输出窗口。
下面的模型输出图表明,预测模型的输出P2DUe2
(二阶噪声模型)比其他两个模型的预测输出(没有噪音和一阶噪声模型,分别)。
比较残留分析情节。生成残留分析情节,选择模型残油复选框在系统识别应用。如果情节为空,单击模型图标在系统识别应用程序窗口中显示这些模型的阴谋。
P2DUe2
落在置信界限残留分析情节。
将残差为P2DUe2
只删除模型P2DU
和P2DUe1
从剩余分析情节通过点击相应的图标在系统识别应用。
残留分析情节更新,如下图所示。
的白度测试P2DUe2
表明残差不相关的,独立的测试显示了残差和输入之间没有相关性。这些测试表明,P2DUe2
是一个很好的模型。
查看模型参数
查看模型参数值
您可以查看数值模型参数值和其他信息P2DUe2
通过右键单击模型系统辨识程序图标。数据/模型信息对话框打开。
不可编辑的对话框列出了模型系数,对应于模型结构如下:
系数同意模型用于模拟数据:
查看参数不确定性
查看参数不确定性对系统传递函数,点击现在数据/模型中的信息对话框,并查看MATLAB命令窗口中的信息。
Kp = 0.99821 + / - 0.019982太瓦= 0.99987 + / - 0.0037697ζ= 0.10828 + / - 0.0042304 Td = 2.004 + / - 0.0029717
为每个模型参数遵循1个标准差的不确定性+ / -
的象征。
P2DUe2
还包括一个添加剂噪声项,H是一个二阶ARMA模型和e白噪声:
软件显示噪声模型H作为两个多项式的系数,C (s) / D (s)
,地点:
C (s) = s ^ 2 + 2.186 (+ / - 0.08467) + 1.089 (+ / - 0.07951) D (s) = s ^ 2 + 0.2561 (+ / - 0.09044) + 0.5969 (+ / - 0.3046)
1个偏差模型参数不确定性是旁边的括号中每个参数值。
出口的模型MATLAB工作空间
你可以执行进一步分析估计模型的MATLAB工作区。例如,如果模型是一个工厂,需要一个控制器,您可以将模型从MATLAB工作区导入控制系统工具箱™产品。此外,模拟模型在仿真软件软件(也许作为一个更大的动态系统的一部分),您可以导入该模型为金宝app仿真软件的代码块。
您创建的模型系统中识别应用程序不会自动在MATLAB的工作区中可用。模型可用其他工具箱,模型,和系统辨识工具箱的命令,你必须从系统中导出模型识别应用MATLAB金宝app工作区。
出口的P2DUe2
模型,将模型图标拖动到到工作空间矩形的系统识别应用。另外,点击出口数据/模型中的信息对话框。现在模型出现在MATLAB工作空间浏览器。
请注意
这个模型是一个idproc
模型对象。
模拟系统辨识工具箱模型金宝app软件
本教程的先决条件
在本教程中,您将创建一个简单的仿真软件模型,使用在系统辨识工具箱库将数据金宝appz
和模型P2DUe2
仿真软件。金宝app
要执行本教程中的步骤,仿真软件必须安装在你的电脑。金宝app
此外,你必须已经执行以下步骤:
加载数据集,如中描述数据加载到MATLAB工作区。
估计二阶过程模型中描述估计二阶过程模型和复杂的波兰人。
导出模型的MATLAB工作区,中描述导出模型的MATLAB工作区。
如果你没有执行这些步骤,点击这里完成它们。然后,拖z
和P2DUe2
图标的到工作空间矩形的系统识别应用。另外,点击出口数据/模型中的信息对话框。数据和模型现在出现在MATLAB工作空间浏览器。
准备输入数据
使用数据集的输入通道z
为模拟模型的输出作为输入MATLAB命令窗口输入以下:
z_input = z;%将创建一个新的iddata对象。z_input。y = [];%设置输出通道%,空的。
此外,您可以指定任何输入信号。
学习更多的知识。关于代表数据信号的更多信息系统识别,明白了MATLAB的工作区中表示数据。
构建金宝app模型
将块添加到仿真软件模型:金宝app
在MATLAB家选项卡上,单击
金宝app。
在仿真软件开始金宝app页面,单击空白模型。然后单击创建模型打开一个新窗口模式。
在仿真软件模型金宝app窗口中,点击
打开库浏览器。在图书馆的浏览器,选择系统辨识工具箱图书馆。窗口的右侧显示块特定于系统辨识工具箱的产品。
提示
另外,访问系统识别块库,类型
slident
在MATLAB命令窗口。下面的系统辨识工具箱块拖到新的模型窗口:
IDDATA沉块
IDDATA源块
IDMODEL模型块
在模型库浏览器金宝app,选择金宝app>汇库,并拖动了块新模式窗口范围。
在仿真软件模型金宝app窗口,连接块类似于下图。
接下来,您配置这些模块获取数据从MATLAB工作区和设置仿真时间间隔和持续时间。
配置模块和仿真参数
这个过程将指导您完成以下任务配置模型块:
从MATLAB工作区。
设置仿真时间间隔和持续时间。
在模型编辑器中金宝app,选择建模>模型设置>Ctrl + E模型设置。
在配置参数对话框解算器subpane,停止时间字段,类型
200年
。点击好吧。这个值模拟的持续时间设置为200秒。
双击Iddata源块打开源块参数:Iddata源对话框。然后,输入以下的变量名IDDATA对象字段:
z_input
这个变量是MATLAB工作区中的数据对象,它包含输入数据。
提示
作为一个快捷方式,你可以拖拽的变量名MATLAB工作区浏览器IDDATA对象字段。
点击好吧。
双击Idmodel块打开功能块参数:Idmodel对话框。
输入以下的变量名模型变量字段:
P2DUe2
这个变量代表的名字模型在MATLAB工作区。
清除添加噪声复选框排除噪声的模拟。点击好吧。
当添加噪声被选中时,模型噪声振幅来自金宝app
NoiseVariance
模型的属性,并相应地增加了噪声模型。根据噪声仿真传播该噪声模型H估计与系统动力学:
点击好吧。
双击Iddata沉块打开水槽块参数:Iddata水槽对话框。输入以下的变量名IDDATA名字字段:
z_sim_out
类型
1
在样品时间(秒)。字段设置示例的输出数据匹配的样本时间输入数据。点击好吧。
结果改变仿真软件模型如下图所示。金宝app
运行仿真
在模型编辑器中金宝app,选择模拟>运行。
双击范围块来显示模型输出的时间曲线图。
在MATLAB工作区浏览器中,注意到变量
z_sim_out
存储模型的输出作为一个iddata
对象。你指定这个变量名称配置Iddata沉块。这个变量存储模型的模拟输出,现在可用于进一步的处理和探索。