资源描述:
《matlab系统辨识工具箱.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、系统辨识工具箱功能概述MATLAB的辨识工具箱提供了进行系统模型辨识的有力工具,其主要功能包括:(1)各种模型类的建立和转换函数(2)非参数模型的辨识(3)参数模型的辨识(4)递推参数估计(5)模型验证工具(6)集成多种功能的图形用户界面1.系统辨识的基本原理和常用辨识模型2.系统辨识工具箱函数3.系统辨识工具箱图形界面1.1系统辨识的基本原理1.2常用的模型类1.1系统辨识的基本原理1.系统辨识的定义和基本要素辨识三要素:数据、模型类和准则辨识就是按照一个准则在一组模型类中选择一个与数据拟合的最好的模
2、型。2.辨识的等价准则等价准则也称为误差推则,是系统辨识问题中的基本要素之一,用来衡量模型接近实际过漫的标准,通常被表示为辨识模型与实际对象模型的误差的泛函。这里所说的误差可以是输出误差、输入误差或广义误差。3.辨识的内容和步骤系统辨识的内容主要包括以下四个方面:(1)实验设计;系统辨识实验设计需要完成的工作包括选择和确定输入信号、采样时间、辨识时间和辨识的模式。(2)模型结构辨识;模型结构辨识包括模积类和模型结构参数的确定两部分内容。模型类的确定上要根据经验对实际对象的特性进行一定程度上的假设。在确定
3、模型类之后,就可根据对象的输入输出数据,按照一定的辨识方法确定模型结构参数。(3)模型参数辨识;最小二乘法及各种改进算法(4)模型检验。不同时间区间数据、数据交叉、数据长度、输出残差序列的白色型1.2常用的模型类作为系统辨识的三个基本要素之一,模型类的选择往往决定能否有效地建立对象的辨识模型。在Matlab系统辨识工具箱中提供了对多种模型类的支持,包括非参数模型类中的脉冲响应模型、参数模型类中的AM模型、ARMAx模型、BJ模型和状态空间模型等。非参数模型类在非参数模型类中主要包括脉冲响应模型和频域描
4、述模型。如下图,假设系统为线性系统,u输入,y输出,v噪声,输入输出关系为uvy线性对象其中q为时间平移算子,序列g(k)为对象的脉冲响应模型,v(t)是不可测量的噪声干扰。频谱表示为参数模型类参数模型类中的AM模型、ARMAx模型、BJ模型和状态空间模型等。模型建立和转换的函数介绍模型建立函数函数名功能iddata标准包含输入输出数据的对象idmodel基本的模型对象,综合了许多模型的公共特点idarx从ARX多项式建立ARX模型idgrey根据M文件定义idgrey模型idpoly构造基于输入输出模
5、型的idpoly模型idss构造状态空间模型idfrd构造idfrd模型init设置模型的参数1.iddata功能:iddata是工具箱中处理信号的一个最基本的对象,在以下很多函数中都要用到。语法:data=iddata(y,u);data=iddata(y,u,Ts,'P1',V1,...,'PN',VN);说明:y是一列向量或N*ny的矩阵,y的列对应输出频道,u是一列向量或N*ny的矩阵,u的列对应输入频道,data=iddata(y,u,Ts)生成一个包含输入输出的iddata对象,Ts是采样区
6、间。对于时间序列,data=iddata(y)或令u=[]。2.idmodelidmodel综合了所有模型如idarx,idgrey,idpoly和idss的公共特点,所有参数估计都返回idmodel对象。3.idarx功能:从ARX多项式建立ARX模型语法:m=idarx(A,B,Ts)m=idarx(A,B,Ts,'Property',Value,..)说明:多输入输出的ARX模型形式例1模拟一个1输入2输出的二阶ARX模型并使用模拟数据估计参数A=zeros(2,2,3);B=zeros(2,1,
7、3);A(:,:,1)=eye(2);A(:,:,2)=[-1.50.1;-0.21.5];A(:,:,3)=[0.7-0.3;0.10.7];B(:,:,2)=[1;-1];B(:,:,3)=[0.5;1.2];m0=idarx(A,B,1);u=iddata([],idinput(300));e=iddata([],randn(300,2));y=sim(m0,[u,e]);m=arx([y,u],[[22;22],[2;2],[1;1]]);4.idgrey功能:根据M文件定义idgrey模型语法
8、:M=IDGREY(MfileName,ParameterVector,CDmfile,FileArgument)M=IDGREY(MfileName,ParameterVector,CDmfile,...FileArgument,Ts,'Property',Value,..)说明:MfileName为M文件名,该文件描述了状态空间矩阵如何依赖于被估计的参数。文件格式为[A,B,C,D,K,X0]=MfileName(ParameterVe