matlab系统辨识工具箱

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统辨识工具箱
功能概述
MATLAB的辨识工具箱提供了进行系统模 型辨识的有力工具,其主要功能包括: (1) 各种模型类的建立和转换函数 (2) 非参数模型的辨识 (3) 参数模型的辨识 (4) 递推参数估计 (5) 模型验证工具 (6) 集成多种功能的图形用户界面

1. 系统辨识的基本原理和常用辨识模型 2. 系统辨识工具箱函数
2. idmodel
idmodel综合了所有模型如idarx,idgrey,idpoly和idss的公共 特点,所有参数估计都返回idmodel对象。
3. idarx
功能:从ARX多项式建立ARX模型 语法: m = idarx(A,B,Ts) m = idarx(A,B,Ts,'Property',Value,..) 说明:多输入输出的ARX模型形式
例2编写M文件如下
function [A,B,C,D,K,x0] = mynoise(par,T,aux) R2 = aux(1); % Known measurement noise variance A = [par(1) par(2);1 0]; B = [1;0]; C = [par(3) par(4)]; D = 0; R1 = [par(5) 0;0 0]; [est,K0] = kalman(ss(A,eye(2),C,0,T),R1,R2); % Uses Control System Toolbox product % u=[] x0 = [0;0]; Minit = idgrey('mynoise',[0.1,-2,1,3,0.2]','d',1); Model = pem(data, Minit)


3. 系统辨识工具箱图形界面
1.1 系统辨识的基本原理
1.2 常用的模型类
1.1系统辨识的基本原理

1.系统辨识的定义和基本要素 辨识三要素:数据、模型类和准则 辨识就是按照一个准则在一组模型类中选择一个与数据拟合 的最好的模型。

2. 辨识的等价准则
等价准则也称为误差推则,是系统辨识问题中的基本要素之 一,用来衡量模型接近实际过漫的标准,通常被表示为辨识 模型与实际对象模型的误差的泛函。这里所说的误差可以是 输出误差、输入误差或广义误差。
y (t ) A1 y (t 1) A2 y (t 2) .... Ana y (t na ) B0u (t ) B1u (t 1) ... Bnbu (t nb) e(t ) 其中系数Ak为ny ny维矩阵,Bk 为ny nu维矩阵 (ny为输出参数个数,nu为输入参数个数) 输入参数A为ny ny * ( na 1)维的矩阵使得: A(:, :, k 1) Ak A(:, :,1) eye( ny ) B为ny nu * ( na 1)维的矩阵使得: B (:, :, k 1) BK ; 参数Ts为采样周期;
v ( w)

R ( )e
v

iw
Rv ( ) Ev(t )v(t )
参数模型类
参数模型类中的AM模型、ARMAx模型、BJ模型和状态空间模型等。
(1) ARX 模型。 A( q ) y (t ) B ( q )u (t nk ) e(t ) ( 2) ARMAX 模型。 A( q ) y (t ) B ( q )u (t nk ) C ( q )e(t ) (3) BJ 模型 A( q ) y (t ) [ B ( q ) / F ( q )]u (t nk ) [C ( q ) / D ( q )]e(t ) ( 4)输入误差模型 y(t ) [ B ( q ) / F ( q )]u (t nk ) e(t ) (5)状态空间模型 x (t 1) Ax(t ) Bu ( t ) y (t ) Cx(t ) Du (t ) v (t ) 其中,A, B, C , D为状态空间模型的系数矩阵,v (t )为外界噪声信号。
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) 说明:
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) 说明:多输入单输出的模型具有如下形式

3.辨识的内容和步骤
系统辨识的内容主要包括以下四个方面: (1)实验设计; 系统辨识实验设计需要完成的工作包括选择和确定输入 信号、采样时间、辨识时间和辨识的模式。 (2)模型结构辨识; 模型结构辨识包括模积类和模型结构参数的确定两部分 内容。模型类的确定上要根据经验对实际对象的特性 进 行一定程度上的假设 。在确定模型类之后,就可根据对 象的输入输出数据,按照一定的辨识方法确定模型结构 参数。 (3)模型参数辨识; 最小二乘法及各种改进算法 (4)模型检验。 不同时间区间数据、数据交叉、数据长度、输出残差序 列的白色型
例4 估计系统参数 A = [-0.2, 0; 0, -0.3]; B = [2;4]; C=[1, 1]; D = 0 m0 = 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)
4. idgrey
功能:根据M文件定义idgrey模型 语法:
M=IDGREY(MfileName,ParameterVector,CDmfile,FileArgument) M = IDGREY(MfileName,ParameterVector,CDmfile,... FileArgument,Ts,'Property',Value,..)
例1 模拟一个1输入2输出的二阶ARX模型并使用模拟数据估 计参数
A=zeros(2,2,3); B=zeros(2,1,3); A(:,:,1)=eye(2); A(:,:,2)=[-1.5 0.1;-0.2 1.5]; A(:,:,3)=[0.7 -0.3; 0.1 0.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],[[2 2;2 2],[2;2],[1;1]]);
6. idss
功能:构造状态空间模型 语法: m = idss(A,B,C,D) m = idss(A,B,C,D,K,x0,Ts,'Property1',Value1,... 'PropertyN',ValueN) mss = idss(m1) 说明:状态空间模型为
~ (t ) A( ) x(t ) B ( )u (t ) K ( )e(t ) x x(0) x0 ( ) y (t ) C ( ) x(t ) D ( )u (t ) e(t ) 输入参数定义:A, B, C , D, K , X 0为状态空间模型矩阵。 Ts为采样周期,Ts 0表示连续时间模型。 m1 : 给定的id mod el模型或LTI系统
y (t ) G ( q )u (t ) v(t )
v u 线性对象 y
G ( q )u (t ) g ( k )u (t k )
k 1

G (q) g (k )q ;
k k 1

q u (t ) u (t 1)
1
其中q为时间平移算子,序列g(k)为对象的脉冲响应模型,v(t)是不可测量 的噪声干扰。频谱表示为
idfrd
init
构造idfrd模型
设置模型的参数
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=[ ]。
模型建立和转换的函数介绍
模型建立函数
函数名
iddata
功能
标准包含输入输出数据的对象
idmodel
idarx idgrey idpoly idss
基本的模型对象,综合了许多模型的公共特点
从ARX多项式建立ARX模型 根据M文件定义idgrey模型 构造基于输入输出模型的idpoly模型 构造状态空间模型
Re sponse :为三维ny nu Nf的阵列,ny输出变量个数,nu 输入变量个数,Nf为 频率点个数,即freqs的长度。 sponse ( ky, ku, kf )为ku到ky在频率freqs(kf )处的 Re 复值频率响应。当为SISO系统时, sponse 可以为一向量。 Re freq s:包含响应频率的长度为Nf的列向量。 Co var iance : 5维ny nu Nf 2 2的阵列。
说明:MfileName为M文件名,该文件描述了状态空间矩阵如 何依赖于被估计的参数。 文件格式为 [A,B,C,D,K,X0] = MfileName(ParameterVector,Ts,FileArgument) ParameterVector:列向量,长度等于自由参数的个数 CDmfile:M文件如何处理连续、离散时间模型
wk.baidu.com
8. init
功能:设置模型参数。 语法: m = init(m0) m = init(m0,R,pars,sp) 说明:
该函数随机初始化id mod el对象m0,返回对象m具有与m0相同的模型结构。 给出的参数将在参数pars的周围随机化,随机的半径由向量R给出: pars ( k ) e * sqrt ( R ( k )), e为标准随机数,平均为0,半径为1 。 sp ' b': 只允许模型稳定并且具有稳定预测器; sp ' s' : 只需要模型稳定; sp ' p': 缺省值,只需要模型具有稳定预测器。
A(q ) y (t ) B1 F1 u1 (t nk1 ) Bnu Fnu u nu (t nk nu ) C (q) D(q) e(t )
输入参数A, B, C , D, F分别为多项式A(q ), B (q ), C (q ), D(q ), F (q )的系数矩阵。
例3 A = [1 -1.5 0.7];B = [0 1 0.5];C = [1 -1 0.2];m0 = idpoly(A,B,C);
1.2常用的模型类
作为系统辨识的三个基本要素之一,模型类的选 择往往决定能否有效地建立对象的辨识模型。在 Matlab系统辨识工具箱中提供了对多种模型类的 支持,包括非参数模型类中的脉冲响应模型、参 数模型类中的AM模型、ARMAx模型、BJ模型和 状态空间模型等。
非参数模型类
在非参数模型类中主要包括脉冲响应模型和频域描述模型。 如下图,假设系统为线性系统,u输入,y输出,v噪声,输入输出关系为
相关文档
最新文档