系统辨识及自适应控制实验报告

2018-12-11 21:35

中南大学

系统辨识及自适应控

制实验

指导老师 贺建军 姓名

专业班级 测控1102班0909111814号 实验日期 2014年11月

实验一 递推二乘法参数辨识

设被辨识系统的数学模型由下式描述:

z?2?2.0z?3?1.5z?41y(k)?u(k)??(k) ?1?2?3?1?2?31?1.5z?0.7z?0.1z1?1.5z?0.7z?0.1z式中?(k)为方差为0.1的白噪声。要求:

(1) 当输入信号u(k)是方差为1的白噪声序列时,利用系统的输入

输出值在线辨识上述模型的参数;

(2)

当输入信号u(k)是幅值为1的逆M序列时,利用系统的输入输出值在线辨识上述模型的参数;

分析比较在不同输入信号作用下,对系统模型参数辨识精度的影响。 (1)clear all; close all;

a=[1 -1.5 0.7 0.1]';b=[1 2 1.5]';d=3; %对象参数 na=length(a)-1;nb=length(b)-1; %计算阶次 L=500; %数据长度

uk=zeros(d+nb,1);yk=zeros(na,1); %输入输出初值 u=randn(L,1); %输入采用方差为1的白噪声序列 xi=sqrt(0.1)*randn(L,1); % 方差为0.1的白噪声干扰序列 theta=[a(2:na+1);b]; %对象参数真值 thetae_1=zeros(na+nb+1,1); %参数初值 P=10^6*eye(na+nb+1); for k=1:L

phi=[-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: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); end

plot([1:L],thetae); %line([1:L],[theta,theta]); xlabel('k');ylabel('参数估计a,b'); legend('a_1','a_2','a_3','b_0','b_1','b_2'); axis([0 L -2 2]);

(2)clear all;

a=[1 -1.5 0.7 0.1]';b=[1 2 1.5]';d=2; %对象参数 na=length(a)-1;nb=length(b)-1; %计算阶次 L=20; %数据长度

uk=zeros(d+nb,1);yk=zeros(na,1); %输入初值

x1=1;x2=1;x3=1;x4=0;S=1;%移位寄存器初值,方波初值 xi=rand(L,1);%白噪声序列 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); 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=nb+d:-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); End


系统辨识及自适应控制实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:青乌经(白话翻译)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: