系统辨识最小二乘Matlab仿真_第1页
系统辨识最小二乘Matlab仿真_第2页
系统辨识最小二乘Matlab仿真_第3页
系统辨识最小二乘Matlab仿真_第4页
系统辨识最小二乘Matlab仿真_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、系统辨识和最小二乘参数估计Matlab仿真一、系统辨识在控制系统的分析中,首先要建立系统的数学模型,控制系统的数学模型是 定量描述系统或过程内部物理量(或变量)之间关系的数学表达式。一般来说,建立控制系统数学模型有两种基本方法:(1)机理建模(白箱模型):即根据系统内在运行机制、物料和能量守恒等 物理学、化学规律建立系统的数学模型,一般步骤如下:Stepl :根据系统工作原理及其在控制系统中的作用,确定输入和输出;Step2:根据物料和能量守恒等关系列写基本方程式;Step3:消去中间量;Step4:获得系统模型;(2)实验法建模(黑箱模型):即对于机理尚不清楚或机理过于复杂的系统, 可以人为

2、的对其施加某种测试信号, 并记录其输出响应,或者记录正常运行时的 输入输出数据,然后利用这些输入输出数据确定系统模型结构和参数。多年来,系统辨识已经发展为一门独立学科分支, 通过系统辨识建立一个对 象的数学模型,通常包括两方面的工作:一是模型结构的确定(模型的类型、阶 次),二是模型参数估计。根据时间是否连续,参数模型又可以分为连续时间系统模型和离散时间系统 参数模型,这两类模型均可采用输入输出模型和状态空间模型描述,离散系统采用差分方程描述,以单输入单输出(SISO离散系统参数模型为例。1确定性模型SISO系统确定性模型可表示为:ag 刁(戶'A (c 1 ) 1*bu(k)和y(k

3、)分别为输入和输出,d为纯延时。2随机性模型如果受到随机扰动,则式子可写为:AQ=1>wa)+C(s 1 )f<A)Ctz )1 +“二 _' + z丘伙)为系统随机扰动,其结构如图:得,需要这些步骤二、最小二乘参数估计1.批处理最小二乘考虑以下CAR模型:! ;A ( 5 1 ) = 1 +a L 龙-1z'2 + +心、Z1 ”(汀丄=仏+仆;:丄+如;:* +"* +/叽Z *为白噪声,结构参数na、nb和d已知,参数估计的任务就是根据可测量 的输入输出,确定如下参数:心皿性血”2仿真实例:v( > 1,5y(4一 1) +0, 7ytk 2)

4、 = u(k 3)+0, 5uk 4) +f(ft)式中,勲厂为方差为1的白噪声,选用幅值为1的逆M序列作为输入,LS 算法进行参数估计,仿真结果如图:ail心1虑值:L 50.7J.0f0.5-L5O4 90. 7116 21.022 7C.5S2 D仿真程序(Matlab):%批匕处理最小二乘参数估计(LS clear all;a=1 -1.5 0.7' b=1 0.5' d=3; %寸象参数na=length(a)-1; nb=length(b)-1; %na nb 为 A、B 阶次L=500;液据长度 uk=zeros(d+nb,1); %俞入初值:uk(i)表示 u(

5、k-i) yk=zeros( na,1); %俞出初值x1=1; x2=1; x3=1; x4=0; S=1; 移位寄存器初值、方波初值 xi=ra ndn( L,1); %白噪声序列 theta=a(2:n a+1);b; %寸寸象参数真值for k=1:Lphi(k,:)=-yk;uk(d:d+nb)' %此处 phi(k,:)为行向量,便于组成 phi 矩阵 y(k)=phi(k,:)*theta+xi(k); %采集输出数据IM=xor(S,x4);沪生逆M序列 if IM=0u(k)=-1;elseu(k)=1;endS=not(S); M=xor(x3,x4);府生 M 序

6、列%更新数据x4=x3; x3=x2; x2=x1; x1=M;for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=n a:-1:2火 i)=yk(i-1);endyk(1)=y(k);endthetae=inv(phi'*phi)*phi'*y' % 计算参数估计值 thetae2递推最小二乘在批处理最小二乘法时,由于每次处理的数据量较大,而且常常要求对象参 数能够在线实时估计,解决的方法就是将其化成递推算法,其基本思想为:新的估计值 讥m日的估计值修正项算法介绍:已知诃八叭和nStepl 设置初ffl讥in和PW输人初始

7、数据:Step2 采样肖前输出和输人wW) jStep3 利用式d 卫算办)和St切4 AA+l,返 I可 Step2»ilt续循环"仿真实例: 1. 5(4 1)十仇 7y(t 2) = wti3) + 0* 5u( 4)十Fd式中 f 为方差为0.1的白噪声,取初值円“】【/(:仆,选择方差为1的白噪声作为输入信号u(k),采用RLS算法进行参数估计,仿真结果如图:盈七隼詳业仿真程序(Matlab):%递推最小二乘参数估计(RLS clear all; close all;a=1 -1.5 0.7' b=1 0.5' d=3; %对象参数na=lengt

8、h(a)-1; nb=length(b)-1; %na nb 为 A、B 阶次L=400; 真长度uk=zeros(d+nb,1); %俞入初值:uk(i)表示 u(k-i) yk=zeros( na,1); %输出初值u=randn (L,1); %输入采用白噪声序列 xi=sqrt(0.1)*randn(L,1); %白噪声序列 theta=a(2:n a+1);b; %对象参数真值 thetae_1=zeros( na+n b+1,1); %thetae初值 P=10A6*eye( na+n b+1);for k=1:Lphi=-yk;uk(d:d+nb); %此处 phi 为列向量 y(k)=phi'*theta+xi(k); %采集输出数据%递推最小二乘法K=P*phi/(1+phi'*P*phi);thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1);P=(eye( na+nb+1)-K*phi')*P;%更新数据thetae_1=thetae(:,k);for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);end yk(1)=y(k);endplot(1:L,thetae); %line(1,L,t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论