系统辨识工具箱
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2检查数据,选择数据的有用部分,剔除明显的错误数据,必要时用滤波器(频域);
3选择柴油机的模型结构,由柴油机简介部分可知,采用ARX模型,阶数为3,时延为1;
4导入数据,选择ARX模型,进行辨识;
5检查模型,如果模型很好,就停止,反之,到第二步重新开始,直至辨识出合适的模型。
各个views还有不少设置,一个个试试就知道了,在某个模型或某组数据上点一下,线变细了就不会在图中显示出来了
大体上就这么多了,剩下的一个一个试试就很容易上手了
本文来自CSDN博客,转载请标明出处:/owldestiny/archive/2009/12/06/4951253.aspx
都填好了选import就可以了这时候在import data下拉菜单就有数据了,working data中也有数据了,接着选preprocess也就是对数据进行预处理了,注意预处理的对象是working data中的数据,每进行一种预处理在左边的两列就会有新的数据生成,这时只要将新的数据拖动,移动到working data的那个方框上,就可以将working data换成你所想处理的数据了,可以这样多次进行处理,得到你最终想用来辨识的数据和用于验证的数据(不需要的数据可以拖到那个trash里面删除,就是回收站了,也可以从回收站中找回的)接下来就是辨识了,首先把辨识用的数据拖到working data那个方框,再把验证的数据拖到validation data那个方框
式中,k1为喷油泵系数;τ1为喷油泵时间常数。
能功转换环节的传递函数可描述为:G2(s)=k2,k2为油量转换系数。对于发动机,根据达朗贝尔原理,传递函数可描述为一阶惯性环节加一个纯滞后环节:
式中,k3为发动机系数;τ2为发动机时间常数;τ3为供油齿条至扭矩变化的滞后时间。于是,柴油机的传递函数:
式中,k′p=k1k2k3;s为拉普拉斯变换中的复变量。
3完成第二步之后,在Data View将会出现导入数据的图标,同时,下方的Time plot、Time plot复选框变为可用,我们选中后Time plot,双击导入数据图标,将会画出我们导入数据的波形,以便我们处理数据;
图四
4选择Estimate,在下拉菜单中,选择Parametic Models,出现图五
Validation Data:为数据经检查后,有用的数据;
Trash:在辨识过程中将不需要的数据删除,类似“回收站”,以后需要的时候可以恢复;
使用工具箱:
1首先,将采集到的数据加载MATLAB的工作空间,
2选择Data在下拉菜单中,选择Import将弹出对话框,如图四,Input中填上我们导入到MATLAB工作空间中的输入数据的变量名,Output:中填上我们导入到MATLAB工作空间中的输出数据的变量名,Data name为将这些数据备份后的新的名称,默认为mydata,我们在辨识过程中使用这些数据,Starting time:开始时间,Samp interc:设置采样间隔,设置完成后,点击import后关闭;
图二简单的表示了一个系统,其数学表达式为其中,u:表示系统的输入,e表示外界的扰动,y是系统的输出,G是系统的传递函数,H为外界干扰的传递函数。上式只是简单的说明,实际上,系统有许多不同的数学模型,而不同的数学模型含有不同的参数。常见的数学模型有:ARM模型(式1),ARMAX模型(式2),OE(Output-Error)模型(式3),ARX模型(式4),State-Space模型(式5),BJ模型(Box-Jenkins)(式6)等,具体模型如下:
图三
图中,
Data:我们要加载的数据,就是我们测量的输入数据和输出数据,加载后Data下方的空方格就会显示我们加载的输入数据的图标;
Time plot:导入数据之后,通过图形方式画出我们导入的数据;
Time plot:对导入的数据指定范围以进行数据剔除;
Operation:我们对所选的输入数据进行简单的操作,如滤波,信道的选择等;
打开系统辨识工具箱只有一个exit按钮可用,狂晕。。。。。。。
首先点import data下拉菜单,可以选时域或频域的数据,按照自己需要选就好了,这里我选的是时域会弹出一个import data的对话框,有个workspace variables,在这里填入你刚导入的数据变量名
下面是data information就是数据名,没啥用,写个你喜欢的就好,或者根本就不要管,starting time起始时间,sampling interval采样周期,按需求填就好了
图五
在Structure中选择我们需要的模型结构,Orders里设置模型,Name为模型命名,设置完成后,点击Estimate进行辨识;
5检查获得模型,如果很好就停止,否则去第三步,重新设置模型,甚至重新选择模型,进行辨识,有必要时,重新采集数据。
柴油机系统的辨识
辨识步骤:
1收集试验采集的输入数据和输出数据;
matlab中自带了很多工具箱,因为课程要求要用到系统辨识工具箱,也就是System Identification toolbox
自己折腾了一段时间,算是勉强会用了,这里简单讲解一下怎么使用
非常简单。。。。。。三分钟就可以入手了
首相在工作空间中把你要辨识的数据导入,不会导入的话自己找本matlab书翻翻吧
Estimate:参数估计,包括选择模型及设置模型等;
Model:从MATLAB工作空间导入模型;
Models View:辨识出的系统的模型,利用同一组数据,我们可以进行不同数学模型的辨识,以得到不同的数学模型;
To Workspace为将得到的模型导入到MATLAB的工作空间;
To LTI View为将得到的模型导入到LTI View,进行观察;
(二)系统辨识简介:
系统辨识是利用观测到的系统输入输出数据构造系统数学模型的方法。系统辨识的内容包括:模型结构的确定、参数估计、模型验证等。系统辨识的一般步骤见图一。
图一
首先,我们通过设计试验来采集到包含系统特征的输入数据和输出数据。
其次,确定待辨识的动态模型结构,其结构可以归结为确定系统的阶数和输出量对于输入量的滞后时间的问题。
点下拉菜单estimate,选你想要的模型,在弹出的对话框中设定参数后点estimate,就有模型生成了,在右边的数据栏中;也就是model views中了,下面有很多可以选择,每选一个就可以生成一幅对应的图,是由用于验证的数据生成的
只能看,却不能知道模型的参数是多少。。。。。。。。。。。。
同样的办法把模型拖到to workspace那个方框,再去看workspace,多的那个变量就是你所辨识出的模型了
(1)
(2)
(3)
(4)
(5)
(6)
其中,状态空间模型即可表1】:
柴油机的结构为喷油泵-能功转换-发动机串联形式。喷油泵是一个双入单出环节。一方面,当供油齿条的位移变化时,将带动柱塞转动以调整供油时间,使供油量发生变化;另一方面,由于喷油泵自身的速度特性,转速的变化也将引起供油量的变化。因此,喷油泵的传递函数可描述为一阶惯性环节串联一个积分环节
因此,可用三阶等效线性模型代替柴油机的高阶真实模型。待辨识模型的差分方程有以下结构:
式中,为柴油机的转速;为柴油机的齿条位移;d=1时为系统滞后。
MATLAB中辨识工具箱(6.5版为例)
MATLAB为我们提供了系统辨识工具箱,使用起来非常简单,首先,我们在MATLAB命令窗口中输入ident就可以打开工具箱,界面如图三
接下来,进行参数估计,当已知或者假设模型结构后,模型未知部分是动态模型的参数,需要根据输入、输出数据估计这些参数,所以称为参数估计。参数估计是系统辨识的中心内容。
最后,进行模型验证,验证辨识出的模型与实际过程的特性的一致性。最终模型应当是在满足精度的要求下,尽可能简单的数学模型。
参数的估计问题:
图二
3选择柴油机的模型结构,由柴油机简介部分可知,采用ARX模型,阶数为3,时延为1;
4导入数据,选择ARX模型,进行辨识;
5检查模型,如果模型很好,就停止,反之,到第二步重新开始,直至辨识出合适的模型。
各个views还有不少设置,一个个试试就知道了,在某个模型或某组数据上点一下,线变细了就不会在图中显示出来了
大体上就这么多了,剩下的一个一个试试就很容易上手了
本文来自CSDN博客,转载请标明出处:/owldestiny/archive/2009/12/06/4951253.aspx
都填好了选import就可以了这时候在import data下拉菜单就有数据了,working data中也有数据了,接着选preprocess也就是对数据进行预处理了,注意预处理的对象是working data中的数据,每进行一种预处理在左边的两列就会有新的数据生成,这时只要将新的数据拖动,移动到working data的那个方框上,就可以将working data换成你所想处理的数据了,可以这样多次进行处理,得到你最终想用来辨识的数据和用于验证的数据(不需要的数据可以拖到那个trash里面删除,就是回收站了,也可以从回收站中找回的)接下来就是辨识了,首先把辨识用的数据拖到working data那个方框,再把验证的数据拖到validation data那个方框
式中,k1为喷油泵系数;τ1为喷油泵时间常数。
能功转换环节的传递函数可描述为:G2(s)=k2,k2为油量转换系数。对于发动机,根据达朗贝尔原理,传递函数可描述为一阶惯性环节加一个纯滞后环节:
式中,k3为发动机系数;τ2为发动机时间常数;τ3为供油齿条至扭矩变化的滞后时间。于是,柴油机的传递函数:
式中,k′p=k1k2k3;s为拉普拉斯变换中的复变量。
3完成第二步之后,在Data View将会出现导入数据的图标,同时,下方的Time plot、Time plot复选框变为可用,我们选中后Time plot,双击导入数据图标,将会画出我们导入数据的波形,以便我们处理数据;
图四
4选择Estimate,在下拉菜单中,选择Parametic Models,出现图五
Validation Data:为数据经检查后,有用的数据;
Trash:在辨识过程中将不需要的数据删除,类似“回收站”,以后需要的时候可以恢复;
使用工具箱:
1首先,将采集到的数据加载MATLAB的工作空间,
2选择Data在下拉菜单中,选择Import将弹出对话框,如图四,Input中填上我们导入到MATLAB工作空间中的输入数据的变量名,Output:中填上我们导入到MATLAB工作空间中的输出数据的变量名,Data name为将这些数据备份后的新的名称,默认为mydata,我们在辨识过程中使用这些数据,Starting time:开始时间,Samp interc:设置采样间隔,设置完成后,点击import后关闭;
图二简单的表示了一个系统,其数学表达式为其中,u:表示系统的输入,e表示外界的扰动,y是系统的输出,G是系统的传递函数,H为外界干扰的传递函数。上式只是简单的说明,实际上,系统有许多不同的数学模型,而不同的数学模型含有不同的参数。常见的数学模型有:ARM模型(式1),ARMAX模型(式2),OE(Output-Error)模型(式3),ARX模型(式4),State-Space模型(式5),BJ模型(Box-Jenkins)(式6)等,具体模型如下:
图三
图中,
Data:我们要加载的数据,就是我们测量的输入数据和输出数据,加载后Data下方的空方格就会显示我们加载的输入数据的图标;
Time plot:导入数据之后,通过图形方式画出我们导入的数据;
Time plot:对导入的数据指定范围以进行数据剔除;
Operation:我们对所选的输入数据进行简单的操作,如滤波,信道的选择等;
打开系统辨识工具箱只有一个exit按钮可用,狂晕。。。。。。。
首先点import data下拉菜单,可以选时域或频域的数据,按照自己需要选就好了,这里我选的是时域会弹出一个import data的对话框,有个workspace variables,在这里填入你刚导入的数据变量名
下面是data information就是数据名,没啥用,写个你喜欢的就好,或者根本就不要管,starting time起始时间,sampling interval采样周期,按需求填就好了
图五
在Structure中选择我们需要的模型结构,Orders里设置模型,Name为模型命名,设置完成后,点击Estimate进行辨识;
5检查获得模型,如果很好就停止,否则去第三步,重新设置模型,甚至重新选择模型,进行辨识,有必要时,重新采集数据。
柴油机系统的辨识
辨识步骤:
1收集试验采集的输入数据和输出数据;
matlab中自带了很多工具箱,因为课程要求要用到系统辨识工具箱,也就是System Identification toolbox
自己折腾了一段时间,算是勉强会用了,这里简单讲解一下怎么使用
非常简单。。。。。。三分钟就可以入手了
首相在工作空间中把你要辨识的数据导入,不会导入的话自己找本matlab书翻翻吧
Estimate:参数估计,包括选择模型及设置模型等;
Model:从MATLAB工作空间导入模型;
Models View:辨识出的系统的模型,利用同一组数据,我们可以进行不同数学模型的辨识,以得到不同的数学模型;
To Workspace为将得到的模型导入到MATLAB的工作空间;
To LTI View为将得到的模型导入到LTI View,进行观察;
(二)系统辨识简介:
系统辨识是利用观测到的系统输入输出数据构造系统数学模型的方法。系统辨识的内容包括:模型结构的确定、参数估计、模型验证等。系统辨识的一般步骤见图一。
图一
首先,我们通过设计试验来采集到包含系统特征的输入数据和输出数据。
其次,确定待辨识的动态模型结构,其结构可以归结为确定系统的阶数和输出量对于输入量的滞后时间的问题。
点下拉菜单estimate,选你想要的模型,在弹出的对话框中设定参数后点estimate,就有模型生成了,在右边的数据栏中;也就是model views中了,下面有很多可以选择,每选一个就可以生成一幅对应的图,是由用于验证的数据生成的
只能看,却不能知道模型的参数是多少。。。。。。。。。。。。
同样的办法把模型拖到to workspace那个方框,再去看workspace,多的那个变量就是你所辨识出的模型了
(1)
(2)
(3)
(4)
(5)
(6)
其中,状态空间模型即可表1】:
柴油机的结构为喷油泵-能功转换-发动机串联形式。喷油泵是一个双入单出环节。一方面,当供油齿条的位移变化时,将带动柱塞转动以调整供油时间,使供油量发生变化;另一方面,由于喷油泵自身的速度特性,转速的变化也将引起供油量的变化。因此,喷油泵的传递函数可描述为一阶惯性环节串联一个积分环节
因此,可用三阶等效线性模型代替柴油机的高阶真实模型。待辨识模型的差分方程有以下结构:
式中,为柴油机的转速;为柴油机的齿条位移;d=1时为系统滞后。
MATLAB中辨识工具箱(6.5版为例)
MATLAB为我们提供了系统辨识工具箱,使用起来非常简单,首先,我们在MATLAB命令窗口中输入ident就可以打开工具箱,界面如图三
接下来,进行参数估计,当已知或者假设模型结构后,模型未知部分是动态模型的参数,需要根据输入、输出数据估计这些参数,所以称为参数估计。参数估计是系统辨识的中心内容。
最后,进行模型验证,验证辨识出的模型与实际过程的特性的一致性。最终模型应当是在满足精度的要求下,尽可能简单的数学模型。
参数的估计问题:
图二