系统辨识与自适应控制作业_第1页
系统辨识与自适应控制作业_第2页
系统辨识与自适应控制作业_第3页
系统辨识与自适应控制作业_第4页
系统辨识与自适应控制作业_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上 系统辨识与自适应控制学 院: 专 业: 学 号: 姓 名: 系统辨识与自适应控制作业一、 对时变系统进行参数估计。系统方程为:y(k)+a(k)y(k-1)=b(k)u(k-1)+e(k) 其中:e(k)为零均值噪声,a(k)= b(k)=要求:1对定常系统(a=0.8,b=0.5)进行结构(阶数)确定和参数估计; 2对时变系统,取不同值(0.90.99)时对系统辨识结果和过程进行比较、讨论 3对辨识结果必须进行残差检验解:一(1):分析:采用最小二乘法(LS):最小二乘的思想就是寻找一个的估计值,使得各次测量的与由估计确定的量测估计之差的平方和最小,由于此方法兼顾

2、了所有方程的近似程度,使整体误差达到最小,因而对抑制误差是有利的。在此,我应用批处理最小二乘法,收敛较快,易于理解,在系统参数估计应用中十分广泛。作业程序: clear all;a=1 0.8' b= 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(k-i)yk=zeros(na,1); %输出初值x1=1; x2=1; x3=1; x4=0; S=1; %移位寄存器初值、方波初值xi=randn(L,1); %白噪声序

3、列theta=a(2:na+1);b; %对象参数真值for k=1:L phi(k,:)=-yk;uk(d:d+nb)' %此处phi(k,:)为行向量,便于组成phi矩阵 y(k)=phi(k,:)*theta+xi(k); %采集输出数据 IM=xor(S,x4); %产生逆M序列 if IM=0 u(k)=-1; else u(k)=1; end S=not(S); M=xor(x3,x4); %产生M序列 %更新数据 x4=x3; x3=x2; x2=x1; x1=M; for i=d+nb:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=

4、na:-1:2 yk(i)=yk(i-1); end yk(1)=y(k);endthetae=inv(phi'*phi)*phi'*y' %计算参数估计值thetae结果:thetae =0.7787 ,0.5103 真值=0.8,0.5解:一(2):采用遗忘因子递推最小二乘参数估计;其仿真算法如下:Step1:设置初值、,及遗忘因子,输入初始数据;Step2:采样当前输入和输出数据;Step3:利用含有遗忘因子的递推公式计算、和;Step4:k=k+1,返回Step2继续循环。其中:对时变系统,取不同值(0.90.99)时对系统辨识结果和过程进行比较、讨论作业程序:

5、clear all; close all;a=1 0.8;b=0.5;d=2; %对象参数na=length(a)-1;nb=length(b)-1; %na、nb为A、B阶数L=500; %仿真长度uk=zeros(d+nb,1); %输入初值yk=zeros(na,1); %输出初值u=randn(L,1); %输入采用白噪声序列xi=sqrt(0.1)*randn(L,1); %白噪声序列 thetae_1=zeros(na+nb+1,1);p=106*eye(na+nb+1);lambda=0.95; %遗忘因子for k=1:L; if k>300; a=1 0.6'b

6、=0.3' endthetae(:,k)=a(2:na+1);b; phi=-yk;uk(d:d+nb); y(k)=phi'*thetae(:,k)+xi(k); %采集输出数据 %递推最小二乘法 K=p*phi/(lambda+phi'*p*phi); thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1); p=(eye(na+nb+1)-K*phi')*p/lambda;    %更新数据 thetae_1=thetae(:,k); for i=d+nb:-1:2 uk(i)=uk(i-1);

7、end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(i-1); end yk(1)=y(k);endsubplot(1,2,1)plot(1:L,thetae(1:na,:);hold on; plot(1:L, thetae(1:na,:),'k:');xlabel('k');ylabel('参数估计a');axis(0 L -0.5 2);subplot(1,2,2)plot(1:L,thetae(na+1:na+nb+1,:);hold on;plot(1:L,thetae(na+1:na+nb+1,:),'

8、;k:');xlabel('k');ylabel('参数估计b');axis(0 L -0.5 2);仿真结果图1-1遗忘因子递推最小二乘法的参数估计结果(=0.95)图1-2遗忘因子递推最小二乘法的参数估计结果(=0.99)综上所述,可知从仿真图可以看出,当0<k<300时,a的值大约在0.8左右波动,b的值大约在0.5左右波动。当k>300时,a、b的值发生变化,此时a的值大约在0.6左右波动,b的值大约在0.3左右波动。所以在此种情况下,可以达到辨识目的,但是由于波动较大,辨识效果不理想。同时,当=0.99时比前面所述=0.96时

9、的辨识结果更为明显。这种情况下当估计值变化稳定时,估计值的变化率比较小,辨识效果较为理想。一(3):根据残差平方和估计模型的阶次SISO过程的差分方程模型的输出残差为,数据长度L,为阶时的数据矩阵,为阶时的参数的估计量,为模型阶次估计值,为真实阶次,则残差平方和函数:残差平方和有这样的性质:当L足够大时,随着增加先是显著地下降,当>时,值显著下降的现象就终止。这就是损失函数法来定阶的原理。程序:N=15;%4位移位寄存器产生的M序列的周期y1=1;y2=1;y3=1;y4=0; for i=1:N; x1=xor(y3,y4); x2=y1; x3=y2; x4=y3; y(i)=y4;

10、 if y(i)>0.5,u(i)=-1; else u(i)=1; end y1=x1;y2=x2;y3=x3;y4=x4; end%白噪声的产生A=19;x0=12;M=1024;for k=1:N x=A*x0; x1=mod(x,M); v(k)=x1/512; x0=x1;end%辨识主程序z=zeros(7,N);zs=zeros(7,N);zm=zeros(7,N);zmd=zeros(7,N);z(1)=0;z(2)=0;zs(1)=0; zs(2)=0; zm(1)=0; zm(2)=0; zmd(1)=0;zmd(2)=0;theta=zeros(7,1); p0=1

11、06*eye(7,7);the=theta,zeros(7,14); e=zeros(7,15);for k=3:N; h=-z(k-1),-z(k-2),u(k-1),u(k-2),v(k),v(k-1),v(k-2)' x=inv(h'*p0*h+1); q=p0*h*x; d1=z(k)-h'*theta; theta1=theta+q*d1; zs(k)=-1.5*z(k-1)+0.7*z(k-2)+u(k-1)+0.5*u(k-2); zm(k)=-z(k-1),-z(k-2),u(k-1),u(k-2)*theta1(1);theta1(2);theta1(

12、3);theta1(4); zmd(k)=h'*theta1; e(:,k)=theta1-theta; theta=theta1; the(:,k)=theta1; p1=p0-q*q'*h'*p0*h+1; p0=p1; endfigure(1); i=1:N;plot(i,the(1,:),'r',i,the(2,:),'r:',i,the(3,:),'b',i,the(4,:),'b:',i,the(5,:),'g',i,the(6,:),'g:',i,the(7,:

13、),'g+')title('辨识曲线')figure(2); i=1:N;plot(i,e(1,:),'r',i,e(2,:),'r:',i,e(3,:),'b',i,e(4,:),'b:',i,e(5,:),'g',i,e(6,:),'g:',i,e(7,:),'r+') title('辨识误差曲线')图1-3-1辨识曲线图1-3-2辨识误差曲线由以上对比曲线可以看出,经过最小二乘法估计得到的数据与实际数据之间虽然存在区别,但是基本符

14、合要求, 说明辨识效果较好。二、 已知系统方程:y(k)+1.2 y(k-1)+0.35 y(k-2)=u(k-2)+0.4 u(k-3)+e(k)+1.1e(k-1)+0.28e(k-2)其中e(k)为白噪声序列。要求:1、对系统进行参数递推估计; 2、进行最小方差控制器设计; 3、进行基于最小方差控制的自适应控制系统仿真分析(设输入信号为方波信号)。二(1):程序:clear all; close all;a=1 1.2 0.35' b=1 0.4' c=1 1.1 0.28' d=3; %对象参数na=length(a)-1; nb=length(b)-1; nc

15、=length(c)-1; %na、nb、nc为A、B、C阶次L=1000; %仿真长度uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i)yk=zeros(na,1); %输出初值xik=zeros(nc,1); %噪声初值xiek=zeros(nc,1); %噪声估计初值u=randn(L,1); %输入采用白噪声序列xi=sqrt(0.1)*randn(L,1); %白噪声序列theta=a(2:na+1);b;c(2:nc+1); %对象参数thetae_1=zeros(na+nb+1+nc,1); %na+nb+1+nc为辨识参数个数P=106*eye(na+n

16、b+1+nc);for k=1:L phi=-yk;uk(d:d+nb);xik; y(k)=phi'*theta+xi(k); %采集输出数据 phie=-yk;uk(d:d+nb);xiek; %组建phie %递推增广最小二乘法 K=P*phie/(1+phie'*P*phie); thetae(:,k)=thetae_1+K*(y(k)-phie'*thetae_1); P=(eye(na+nb+1+nc)-K*phie')*P; xie=y(k)-phie'*thetae(:,k); %白噪声的估计值 %更新数据 thetae_1=thetae

17、(:,k); for i=d+nb:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(i-1); end yk(1)=y(k); for i=nc:-1:2 xik(i)=xik(i-1); xiek(i)=xiek(i-1); end xik(1)=xi(k); xiek(1)=xie;endfigure(1)plot(1:L,thetae(1:na,:);xlabel('k'); ylabel('参数估计a');legend('a_1','a_2'); axi

18、s(0 L -2 2);figure(2)plot(1:L,thetae(na+1:na+nb+1,:);xlabel('k'); ylabel('参数估计b');legend('b_0','b_1'); axis(0 L -2 2);figure(3)plot(1:L,thetae(na+nb+2:na+nb+nc+1,:);xlabel('k'); ylabel('参数估计c');legend('c_1','c_2'); axis(0 L -2 2);对系统进行最

19、广最小二乘的递推估计(RELS),仿真结果如下图2.1所示。当仿真步数K大于50时,参数估计值就趋于稳定。参数 a1、a2、b1、b2、d1、d2、d3 估计结果:ans = 1.2060 0.3548 1.0000 0.4060 1.0000 1.1060 0.2843图2-1系统辨识曲线二(2):(1) 对系统施加最小方差控制。由于系统已知即:系统阶次和系统参数A、B、C皆为已知,则最小方差控制:由上式得:最小方差控制预测方程为:预测误差为:控制律为:由此搭建Simulink仿真图形可得:未加最小方差控制:图2-2-1系统控制效果最小方差控制后:图2-2-2最小方差系统控制效果从响应图中可

20、以看出采用最小方差调节器构成闭环系统后,稳定后响应的偏差减小,并且使控制过程得到了很大的改善,让系统很快就达到稳定。二(3)分析;利用递推算法直接估计最小方差控制器的参数,即基于最小方差控制自适应控制,计算量小。取初值p(0)=106I、(0)=0,f的上界为0,期望输出有yr(k)为幅值为10的方波信号,并为此建立一个新的估计模型。程序:a=1 1.2 0.35; b=1 0.4; c=1 1.1 0.28; d=4; %对象参数na=length(a)-1; nb=length(b)-1; nc=length(c)-1; %na、nb、nc为多项式A、B、C阶次nf=nb+d-1; %nf

21、为多项式F的阶次L=1000; %控制步数uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i);yk=zeros(na,1); %输出初值yrk=zeros(nc,1); %期望输出初值xik=zeros(nc,1); %白噪声初值xiek=zeros(nc,1); %白噪声估计初值yr=10*ones(L/4,1);-ones(L/4,1);ones(L/4,1);-ones(L/4+d,1); %期望输出xi=sqrt(0.1)*randn(L,1); %白噪声序列%RELS初值设置thetae_1=0.001*ones(na+nb+1+nc,1); %非常小的正数(

22、这里不能为0)P=106*eye(na+nb+1+nc);for k=1:L time(k)=k; y(k)=-a(2:na+1)*yk+b*uk(d:d+nb)+c*xi(k);xik; %采集输出数据 %递推增广最小二乘法 phie=-yk;uk(d:d+nb);xiek; K=P*phie/(1+phie'*P*phie); thetae(:,k)=thetae_1+K*(y(k)-phie'*thetae_1); P=(eye(na+nb+1+nc)-K*phie')*P; xie=y(k)-phie'*thetae(:,k); %白噪声的估计值 %提取

23、辨识参数 ae=1 thetae(1:na,k)' be=thetae(na+1:na+nb+1,k)' ce=1 thetae(na+nb+2:na+nb+1+nc,k)' if abs(be(2)>0.9 be(2)=sign(ce(2)*0.9; %MVC算法要求B稳定 end if abs(ce(2)>0.9 ce(2)=sign(ce(2)*0.9; end e,f,g=sindiophantine(ae,be,ce,d); %求解单步Diophantine方程 u(k)=(-f(2:nf+1)*uk(1:nf)+ce*yr(k+d:-1:k+d-

24、min(d,nc);yrk(1:nc-d)-g*y(k);yk(1:na-1)/f(1); %求控制量 %更新数据 thetae_1=thetae(:,k); for i=d+nb:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(i-1); end yk(1)=y(k); for i=nc:-1:2 yrk(i)=yrk(i-1); xik(i)=xik(i-1); xiek(i)=xiek(i-1); end if nc>0 yrk(1)=yr(k); xik(1)=xi(k); xiek(1)=xie; enden

25、dfigure(1);subplot(2,1,1);plot(time,yr(1:L),'r:',time,y);xlabel('k'); ylabel('y_r(k)、y(k)');legend('y_r(k)','y(k)'); axis(0 L -50 50);subplot(2,1,2);plot(time,u);xlabel('k'); ylabel('u(k)'); axis(0 L -1000 1000);figure(2)subplot(211)plot(1:L,th

26、etae(1:na,:);xlabel('k'); ylabel('参数估计a');legend('a_1','a_2'); axis(0 L -2 2);subplot(212)plot(1:L,thetae(na+1:na+nb+1+nc,:);xlabel('k'); ylabel('参数估计b、c');legend('b_0','b_1','c_1'); axis(0 L 0 3)图2-3-1系统自适应控制效果由图可知最后未知参数达到一稳定值则

27、表明实现了最小方差控制器的功能,使系统达到了稳定。图2-3-2系统自适应参数控制效果由图可知稳定性问题是系统设计中固有的问题,最后未知参数达到一稳定值则表明实现了最小方差控制器的功能,使系统达到了稳定。三、 简述基于李雅普诺夫稳定性理论,用被控对象输入、输出变量构成的MRAS控制算法及特点。答:模型参考自适应控制系统(Model Reference Adaptive System MRAS)是一类重要的自适应控制系统,其关键问题是:如何设计自适应参数调整律,在保证系统稳定性的同时使误差信号趋于零。模型参考自适应法的主要思想是:将不含未知参数的方程作为参考模型,而将含有待估计参数的方程作为可调模

28、型(自适应模型),两个模型具有相同物理意义的输出量,两个模型同时工作,利用输出量的误差构成合适的自适应律以调节可调模型参数,以达到控制对象的输出跟踪参考模型的目的。然后根据稳定性原理得到速度估计自适应规律,系统和速度的渐进收敛性由波波夫超稳定性来保证。因此,模型参考自适应控制系统的工作过程可以看成是参考模型与实际系统响应之间误差的调整过程。模型参考自适应系统算法通常有三个基本设计方法:参数局部最优化、稳定性和超稳定性设计方法。由于模型参考自适应系统的时变非线性特点,所以稳定性问题是系统设计中固有的问题,一个完整的模型参考自适应控制系统设计必须包括稳定性分析。以李雅普诺夫函数为基础的设计方法能构成功地用来设计稳定的模型参考自适应系统,但是用稳定性的方法推导系统自适应控制规律存在两个问题:第一,由于没有一个合适的方法可供寻求系统的李雅普诺夫函数所用,因此设计者的经验显得特别重要。第二,由于李雅普诺夫函

温馨提示

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

评论

0/150

提交评论