8系统辨识原理及辨识模型简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARX模型参数ai和bi进行估计可使用函数arx,格式如下: m = arx(Data,[na nb nk]) arx函数是基于最小二乘法的模型辨识,使用因式分解求 解超定线性方程。其中Data是包含输入输出数据的基础 iddata对象;na、nb和nk分别对应准确定义ARX模型的阶 次和纯时延大小,如果有ny个输出和nu个输入,阶次依 次定义为:na是一个ny*ny的矩阵,nb和nk为ny*nu维的 矩阵。
其中,y是一个列向量或N*ny的矩阵,y的列对应于不同的输出通道。类似 地,u也是一个列向量或N*nu的矩阵,u的列对应不同的输入通道。Ts为采 样间隔。 可以使用Data.OutputData或Data.y得到输出通道的信号,类似地,要得 到输入信号可以使用Data.InputData 或 Data.u。 对于时间序列(无输入信号)可以使用Data = iddata(y)或令u = [ ]。同样 也可用于单输入系统,只需令y = [ ]。若需要修改采样间隔,可以令 Data.Ts = 0.3或使用语句:set(Data,'Ts',0.3)
x(kT T ) Ax(kT ) Bu (kT ) Ke(kT ) y (kT ) Cx(kT ) Du (kT ) e(kT ) x(0) x0
(8.11)
(t ) x (t ) Ax(t ) Bu (t ) K
或
y (t ) Cx(t ) Du (t ) (t ) x(0) x0
8.2系统辨识工具箱图形界面
8.3系统辨识工具箱命令 由于系统辨识工具箱可以处理许多不同种类的模型结构,因 此这些模型结构可以灵活定义。要创建一个模型进行仿真 时,有必要定义模型结构不是黑箱类型而是具有更多细节 能反映系统工作原理的内部结构。在系统辨识工具箱中是 通过各种类型的模型对象来实现的。
(1) 多项式黑箱模型:idpoly模型 通用的输入输出形式(如式(8.4))是由五个多项式定义的。 这些都可表示为标准的MATLAB多项式格式。多项式的系数 按降幂排列储存在一个行向量中。
(8.12)
定义式(8.11)离散模型的语法结构为:m= idss(A,B,C,D,K,X0,'Ts',T),若令 T=0,则表 示连续时间模型(见式 8.12)即:m=idss(A,B,C,D,Kt,X0,'Ts',0)
② 黑箱。离散时间参数化的模型: 假设对离散时间状态空间模型的内部结构一无所知, 如果是线性系统,可以使用下列简单的命名方法,可 以对1-10阶的系统进行估计:m = pem(Data) 对于某一阶次n的黑箱模型可以使用:m = pem(Data,n) 也可以指定一系列不同的阶次nn = [n1,n2,...,nN]进行辨 识并绘图比较来决定所需的阶次: m = pem(Data,'nx',nn)
(7) 过程模型 对于过程控制实例,通常采用连续时间采样模型,由 静态增益、时间常数和可能存在的停滞时间(时延)。 这种模型可以由下列命令进行估计: m = pem(Data,'P1D') 其中P1D表示一个极点(时间常数)和时延。
(8) 状态空间模型 ① 构造状态空间模型:idss 模型 定义具有如下形式的状态空间模型结构:
系统辨识的主要内容包括:实验设计,模型结构辨识, 模型参数辨识,模型检验。常用的模型类有:
系统辨识的主要内容包括:实验设计,模型结构辨识,模型参数辨识,模型检验。常用 的模型类有: (1) 参数模型类 利用有限的参数来表示对象的模型, 在系统辨识工具箱中的参数模型类有: ARX 模型、 ARMAX 模型、BJ(Box-Jenkins)模型、状态空间模型和输入误差模型。通常都限定为以下 特殊的情形: ①ARX 模型: A(q) y(t ) B(q)u(t nk ) e(t ) ② ARMAX 模型: A(q) y(t ) B(q)u (t nk ) C (q)e(t ) ③ BJ 模型: y(t ) [ B(q) / F (q)]u (t nk ) [C (q) / D(q)]e(t )
x(t 1) Ax(t ) Bu (t ) y (t ) Cx(t ) Du (t ) v(t )
(8.6)
其中 A,B,C,D 为状态空间模型的系数矩阵,v(t)为外界噪声信号。
非参数模型主要包括脉冲响应模型和频域描述模型。假设待辨识的系统为线 性系统,u为输入,y为输出,v为噪声,则可以得出输入输出的关系如下:
(8.8)
可以用多项式表示为: A = [1 -1.5 0.7] B = [0 0 2.5 0.9]
多项式模型可由如下命令生成: m = idpoly(A,B,C,D,F,lam,T) lam 是白噪声序列的方差,T 为采样周期。后面的参数变量可以缺省为默认值。
式8.8可以表示为 m = idpoly([1 -1.5 0.7],[0 0 2.5 0.9])
A(q) y(t ) [ B(q) / F (q)]u (t nk ) [C (q) / D(q)]e(t )
(8.1) (8.2) (8.3) (8.4) (8.5)
④ 输入误差模型: A(q) y(t ) [ B(q) / F (q)]u(t nk ) e(t ) ⑤ 状态空间模型:
y (t ) G(q)u (t ) v(t )
G (q)u (t ) g (k )u (t k )
k 1
(8.7)
G (q) g (k )q k ; q 1 u (t 1)
k 1
q为时间平移算子,序列g(k)称为对象的脉冲响应模型,v(t)是不可测量的附 加干扰噪声。
(6) 通用多项式黑箱模型
基于预测误差方法可以建立任意结构的基本模型,对于 式(8.4)的模型,可以使用函数:m = pem(Data,nn) nn给出所有的阶次和延时:nn = [na nb nc nd nf nk] 对于模型的非零阶次也可写为“特征名/特征值”的格式: m = pem(Data,'na',na,'nb',nb,'nc',nc,'nk',nk) 输入参数由传递函数的多项式表达式定义,命令pem涵 盖了所有黑箱线性系统的模型,对于常见的几种都可以 使用,例如: m = armax(Data,[na nb nc nk]) m = oe(Data,[nb nf nk]) m = bj(Data,[nb nc nd nf nk]) 它们处理的对应模型结构分别为见式(8.1)(8.2) (8.3)。
(2) 数据表示和非参数模型估计 观测到的输入输出信号u(t)、y(t)分别用列向量u、y表示,序数k对应于采样数 字k,对于多变量系统,每一个输入(输出)都可以表示为一个列向量,所以 向量u就是一个N*nu的矩阵(N为采样观测的序列数,nu为输入通道数)。输 入输出数据全部表示在iddata对象的格式中。这是辨识工具箱处理信号的基 本对象,在很多的函数中都会使用。构造对象的使用格式: Data = iddata(y,u,Ts)
(8.9)
其中系数Ak为ny*ny维矩阵,Bk为ny*nu维矩阵(ny为输出参数个数,nu 为输入参数个数); 输入参数A为ny*ny*(1+源自文库a) 的3维矩阵并使得: A(:,:,k+1)=Ak A(:,:,1)=eye(ny) 输出参数B为ny*nu*(1+nb) 的3维矩阵并使得: B(:,:,k+1)=Bk Ts为采样周期。
例8.1 模拟一个具有1输入2输出的二阶ARX模 型并使用模拟数据估计该对象。 A=zeros(2,2,3); B=zeros(2,1,3); %生成符合输入输出 维数的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]]);
(3) 参数模型估计 在系统辨识工具箱中包括多种参数模型估计的函数,它们 都具有共同的命令结构。 m = function(Data,modstruc) m = ... function(Data,modstruc,'Property1',Value1,…'PropertyN',Valu eN) 变量Data是包括输入输出序列的iddata对象,而modstruc 说明了被估计模型的特定结构。模型估计的结果返回到变 量m中,它是存放了多种信息的模型对象。在大多数情况 使用时可以不必考虑对象的细节重要输入模型名称m就可 以了。若查看m的简要信息输入present(m),通过get(m)则 可以得到更为详细的参数信息,参数值仍然可以采用圆点 引用的形式得到,例如m.par返回的就是估计参数。 函数调用(...,'Property1', Value1,...,'PropertyN',ValueN)的参 数影响着模型结构及估计算法。
(5) AR 模型 对于单个输出信号,ARX模型的特例就是AR模型
A(q) y(t ) e(t )
(8.10)
arx命令同样可以应用在此特例上:m = arx(y,na),但是对于标量信号, 可以通过如下命令可以有更多的选择:m = ar(y,na) 通过对参数的设置可以选择参数估计的最小二乘类方法,包括Burg机遇 网格的方法、几何网格的方法、Yule-Walker方法以及修正的协方差法。 相关格式内容可通过“help ar ”命令得到。
例如, A(q) 1 a1q1 a2 q2 an qn 可表示为:A = [1 a1 a2 ... an] 系统中的延时可在多项式 B(q)前加零,例如对于如下的 ARX 模型:
y(t ) 1.5 y(t 1) 0.7 y (t 2) 2.5u (t 2) 0.9u (t 3)
8系统辨识原理及辨识模型简介
8.1系统辨识工具箱的主要功能包括: ① 参数模型辨识。主要模型有ARX、ARMAX、BJ模型,以 及状态空间和输入误差等模型类的辨识。 ② 非参数模型辨识。 ③ 模型的验证。对辨识模型的仿真,将真实输出数据与模 型预测数据比较,计算相应的残差。 ④ 基于递推算法的ARX、ARMAX模型的辨识。 ⑤ 各种模型类的建立和转换函数。 ⑥ 集成多种功能的图形用户界面。该界面以图形的交互方 式提供模型类的选择和建立、输入输出数据的加载和预处 理,以及模型的估计等。
(4) ARX模型 从ARX多项式建立ARX模型可以使用函数idarx,格式如下: m = idarx(A,B,Ts) m = idarx(A,B,Ts, 'Property1', Value1,...,'PropertyN',ValueN) 对于多输入输出的ARX模型有如下形式:
y(t ) A1 y(t 1) A2 y(t 2) Ana y(t na) B0u (t ) B1u (t 1) Bnbu (t nb) e(t )