matlab系统辨识工具箱

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

系统辨识工具箱功能概述MATLAB的辨识工具箱提供了进行系统模型辨识的有力工具,其主要功能包括:(1)各种模型类的建立和转换函数(2)非参数模型的辨识(3)参数模型的辨识(4)递推参数估计(5)模型验证工具(6)集成多种功能的图形用户界面1.系统辨识的基本原理和常用辨识模型2.系统辨识工具箱函数3.系统辨识工具箱图形界面1.1系统辨识的基本原理1.2常用的模型类1.1系统辨识的基本原理1.系统辨识的定义和基本要素辨识三要素:数据、模型类和准则辨识就是按照一个准则在一组模型类中选择一个与数据拟合的最好的模型。2.辨识的等价准则等价准则也称为误差推则,是系统辨识问题中的基本要素之一,用来衡量模型接近实际过漫的标准,通常被表示为辨识模型与实际对象模型的误差的泛函。这里所说的误差可以是输出误差、输入误差或广义误差。3.辨识的内容和步骤系统辨识的内容主要包括以下四个方面:(1)实验设计;系统辨识实验设计需要完成的工作包括选择和确定输入信号、采样时间、辨识时间和辨识的模式。(2)模型结构辨识;模型结构辨识包括模积类和模型结构参数的确定两部分内容。模型类的确定上要根据经验对实际对象的特性进行一定程度上的假设。在确定模型类之后,就可根据对象的输入输出数据,按照一定的辨识方法确定模型结构参数。(3)模型参数辨识;最小二乘法及各种改进算法(4)模型检验。不同时间区间数据、数据交叉、数据长度、输出残差序列的白色型1.2常用的模型类作为系统辨识的三个基本要素之一,模型类的选择往往决定能否有效地建立对象的辨识模型。在Matlab系统辨识工具箱中提供了对多种模型类的支持,包括非参数模型类中的脉冲响应模型、参数模型类中的AM模型、ARMAx模型、BJ模型和状态空间模型等。非参数模型类在非参数模型类中主要包括脉冲响应模型和频域描述模型。如下图,假设系统为线性系统,u输入,y输出,v噪声,输入输出关系为)1()(;)()()()()()()()()()(111tutuqqkgqGktukgtuqGtvtuqGtykkkuvy线性对象其中q为时间平移算子,序列g(k)为对象的脉冲响应模型,v(t)是不可测量的噪声干扰。频谱表示为)()()()()(tvtEvReRwviwvv参数模型类参数模型类中的AM模型、ARMAx模型、BJ模型和状态空间模型等。为外界噪声信号。矩阵,为状态空间模型的系数其中,状态空间模型输入误差模型模型模型。模型。)(,,,)()()()()t()()1(x)5()()()](/)([)(y)4()()](/)([)()](/)([)()()3()()()()()()()2()()()()()()1(tvDCBAtvtDutCxtyButAxttenktuqFqBtteqDqCnktuqFqBtyqABJteqCnktuqBtyqAARMAXtenktuqBtyqAARX模型建立和转换的函数介绍模型建立函数函数名功能iddata标准包含输入输出数据的对象idmodel基本的模型对象,综合了许多模型的公共特点idarx从ARX多项式建立ARX模型idgrey根据M文件定义idgrey模型idpoly构造基于输入输出模型的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是采样区间。对于时间序列,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模型形式为采样周期;参数维的矩阵使得:为维的矩阵使得:为输入参数为输入参数个数)为输出参数个数,(维矩阵为维矩阵,为其中系数TsBkBnannyBnyeyeAAkAnanynyAnunynunyBnynyAtenbtuBtuBtuBnatyAtyAtyAtyKkknbna;)1:,(:,)1(*u)()1:,(:,)1:,(:,)1(*)()(...)1()()(....)2()1()(k1021例1模拟一个1输入2输出的二阶ARX模型并使用模拟数据估计参数A=zeros(2,2,3);B=zeros(2,1,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模型语法:M=IDGREY(MfileName,ParameterVector,CDmfile,FileArgument)M=IDGREY(MfileName,ParameterVector,CDmfile,...FileArgument,Ts,'Property',Value,..)说明:MfileName为M文件名,该文件描述了状态空间矩阵如何依赖于被估计的参数。文件格式为[A,B,C,D,K,X0]=MfileName(ParameterVector,Ts,FileArgument)ParameterVector:列向量,长度等于自由参数的个数CDmfile:M文件如何处理连续、离散时间模型例2编写M文件如下function[A,B,C,D,K,x0]=mynoise(par,T,aux)R2=aux(1);%KnownmeasurementnoisevarianceA=[par(1)par(2);10];B=[1;0];C=[par(3)par(4)];D=0;R1=[par(5)0;00];[est,K0]=kalman(ss(A,eye(2),C,0,T),R1,R2);%UsesControlSystemToolboxproduct%u=[]x0=[0;0];Minit=idgrey('mynoise',[0.1,-2,1,3,0.2]','d',1);Model=pem(data,Minit)5.idpoly功能:构造基于输入输出模型的idpoly模型语法:m=idpoly(A,B)m=idpoly(A,B,C,D,F,NoiseVariance,Ts)m=idpoly(A,B,C,D,F,NoiseVariance,Ts,'Property1',Value1,...'PropertyN',ValueN)m=idpoly(mi)说明:多输入单输出的模型具有如下形式的系数矩阵。分别为多项式输入参数)q(),q(),q(),q(),q(,,,,)()()()()()()(1111FDCBAFDCBAteqDqCnktuFBnktuFBtyqAnunununu例3A=[1-1.50.7];B=[010.5];C=[1-10.2];m0=idpoly(A,B,C);6.idss功能:构造状态空间模型语法:m=idss(A,B,C,D)m=idss(A,B,C,D,K,x0,Ts,'Property1',Value1,...'PropertyN',ValueN)mss=idss(m1)说明:状态空间模型为系统模型或给定的表示连续时间模型。为采样周期,为状态空间模型矩阵。输入参数定义:LTIelidmTTXKDCBAtetuDtxCtyxxteKtuBtxAtxmod:10ss0,,,,,)()()()()()()()0()()()()()()()(~0例4估计系统参数A=[-0.2,0;0,-0.3];B=[2;4];C=[1,1];D=0m0=idss(A,B,C,D);m0.As=[NaN,0;0,NaN];m0.Bs=[NaN;NaN];m0.Cs=[1,1];m0.Ts=0;m=pem(z,m0);m1=n4sid(data,3);m1=d2c(m1);m1.ss='can';m=pem(data,m1);m=pem(data,3,'ss','can','ts',0)7.idfrd功能:构造idfrd模型语法:h=idfrd(Response,Freq,Ts)h=idfrd(Response,Freq,Ts,'CovarianceData',Covariance,...'SpectrumData',Spec,'NoiseCovariance',Speccov,'P1',...V1,'PN',VN)h=idfrd(mod)h=idfrd(mod,Freqs)说明:的阵列。维的列向量。为:包含响应频率的长度可以为一向量。系统时,复值频率响应。当为处的在频率到为的长度。频率点个数,即为输入变量个数,输出变量个数,的阵列,:为三维225:varfreqRe)(ku),,(RefnuReNfnunyianceCoNfssponseSISOkffreqskykfkukysponsefreqsNnyNfnunysponse8.init功能:设置模型参数。语法:m=init(m0)m=init(m0,R,pars,sp)说明:有稳定预测器。缺省值,只需要模型具只需要模型稳定;有稳定预测器;只允许模型稳定并且具。,半径为为标准随机数,平均为给出:半径由向量的周围随机化,随机的给出的参数将在参数相同的模型结构。具有与,返回对象对象该函数随机初始化:p''sp:s''sp:b''sp10)),((*)(pars00modekRsqrtekRparsmmmelid模型转换和模型结构函数函数功能c2d将连续时间模型转换为离散时间模型d2c将离散时间模型转换为连续时间模型tfdata将模型转换为传递函数zpkdata计算模型的零点、极点和稳定增益ssdata将模型转换为状态空间模型idmodred对模型降阶(需要控制系统工具箱)arxdata从模型中提取APX模型参数freqresp计算模型的频率函数ss,tf,zpk,frd将系统辨识工具箱中模型对象转换为控制工程工具箱中的LTI模型1.c2d功能:将连续时间模型转换为离散时间模型语法:md=c2d(mc,T)md=c2d(mc,T,method)[md,G]=c2d(mc,T,method)说明:的。内输入数据是局部线性假设在采样的时间间隔的。内输入数据是局部常值假设在采样的时间间隔模型。时间采样后的离散时间为采用为采样周期。是任意连续时间模型,:foh''me:zoh''methodthodTmdTmc例5mc=idpoly(1,1,1,1,[110],'Ts',0);md=c2d(mc,0.5);pzmap(md)结果:2.d2c功能:将连续时间模型转换为离散时间模型语法:mc=d2c(md)mc=d2c(md,method)mc=d2c(md,'CovarianceMatrix',cov,'InputDelay',inpd)说明:近。决定是否对时延进行逼禁止转换。参数加入即可差矩阵

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功