中南大学
系统辨识及自适应控
制实验
指导老师 贺建军 姓名
专业班级 测控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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库系统辨识及自适应控制实验报告在线全文阅读。
相关推荐: