系统辨识实验报告.docx
- 文档编号:3171855
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:14
- 大小:317.71KB
系统辨识实验报告.docx
《系统辨识实验报告.docx》由会员分享,可在线阅读,更多相关《系统辨识实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
系统辨识实验报告
系统辨识实验报告
自动化0903班09051302李姣
实验一、系统辨识的经典方法
系统的模块如图:
(1)、对系统的传递函数进行辨识。
对于一阶系统而言,未加入干扰信号时,其稳定值
t0=,h0=,
加入干扰信号后其稳定值为
t=40,h1=。
现在分别取两个点为y1=30%对应的实际点为
h1’=+()*30%=;
根据实际测试值,选取h1’=,t1’=,对应的
y1’=(*)/()=
所以第一个点的取值为y1’=;t1’=;
同理可得第二个点的数值为y2’=;t2’=;
由公式:
可得T=;=0;
由公式
可得k=
(2)、对传递函数进行检验
下面对系统的辨识结果进行验证,用一个幅值为10的阶跃信号进行验证,程序如下:
num=[];
den=[,1];
t=[0:
:
10];
[y,x,t]=step(num,den,t);
plot(t,10*y)
gridon;
title('一阶系统模型的验证');
xlabel('仿真时间');
ylabel('系统的响应值');
set(gca,'xtick',[0:
:
10]);
set(gca,'ytick',[0:
1:
20]);
所得的仿真图形如下,
实际系统加入测试信号后,从workspace中可发现系统的响应值为h=;验证是的对应仿真值为h’=;
其误差大小为:
()/*100%=%;
同理,当仿真时间为时,h=;h’=;
误差大小为:
()/*100%=%;
所以经过验证个,可以确定该辨识结果可以反应该系统的传递函数。
实验二
相关分析法
aa=5;NNPP=15;ts=2;
RR=ones(15)+eye(15);
UU=[UY(31:
45,1)';UY(30:
44,1)';UY(29:
43,1)';UY(28:
42,1)';UY(27:
41,1)';UY(26:
40,1)';UY(25:
39,1)';UY(24:
38,1)';UY(23:
37,1)';UY(22:
36,1)';UY(21:
35,1)';UY(20:
34,1)';UY(19:
33,1)';UY(18:
32,1)';UY(17:
31,1)'];
YY=[UY(16:
30,2)];
GG=(RR*UU*YY+/[aa*aa*(NNPP+1)*ts];
plot(0:
2:
29,GG)
holdon
stem(0:
2:
29,GG,'filled')
(1)最小二乘二阶一次完成算法
HL=[];
N=15;m序列的周期
n=2;系统的阶次
fork=16:
15+N
a=[-UY(n+k-1:
-1:
k,2)'UY(n+k-1:
-1:
k,1)'];
HL=[HL;a];
end
ZL=UY(n+16:
n+N+15,2);
c1=HL'*HL;c2=inv(c1);c3=HL'*ZL;c=c2*c3;
a1=c
(1),a2=c
(2),b1=c(3),b2=c(4);
求得:
a1=;a2=;a3=;a4=;
(2)最小二乘三阶的一次完成算法
HL=[];
N=15;m序列的周期
n=3;系统的阶次
fork=16:
15+N
a=[-UY(n+k-1:
-1:
k,2)'UY(n+k-1:
-1:
k,1)'];
HL=[HL;a];
end
ZL=UY(n+16:
n+N+15,2);
c1=HL'*HL;c2=inv(c1);c3=HL'*ZL;c=c2*c3;
a1=c
(1),a2=c
(2),a3=c(3),b1=c(4);b2=c(5);b3=c(6);
求得相关系数为:
a1=;a2=;a32=;b1=;b2=;b3=;
(3)最小二乘法二阶一般递推算法
%RLS递推最小
z=UY(:
2);
u=UY(:
1);
c0=[];直接给出参数的初始值
p0=10^4*eye(4,4);直接给出初始状态P0,已给很大的单位实矩阵
c=[c0,zeros(4,198)];存储各部迭代后的参数值k=3:
200;开始迭代
h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]';
x=h1'*p0*h1+1*lamt;
x1=inv(x);
k1=p0*h1*x1;
d1=z(k)-h1'*c0;
c1=c0+k1*d1;
p1=1/lamt*(eye(4)-k1*h1')*p0;
c(:
k)=c1;
c0=c1;更新C0
p0=p1;%更新C1
end
a1=c(1,:
);a2=c(2,:
);b1=c(3,:
);b2=c(4,:
);
i=1:
200;
plot(i,a1,'r',i,a2,'b',i,b1,'f',i,b2,'k')
title('递推最小二乘法参数辨识')
(3)最小二乘法三阶递推算法
z=UY(:
2);
u=UY(:
1);
c0=[,,]';
p0=10^4*eye(6,6);
c=[c0,zeros(6,198)];
fork=4:
200;
h1=[-z(k-1),-z(k-2),-z(k-3),u(k-1),u(k-2),u(k-3)]';
x=h1'*p0*h1+1*lamt;
x1=inv(x);
k1=p0*h1*x1;
d1=z(k)-h1'*c0;
c1=c0+k1*d1;
p1=1/lamt*(eye(6)-k1*h1')*p0;
c(:
k-2)=c1;
c0=c1;%
p0=p1;%¸
end
a1=c(1,:
);a2=c(2,:
);a3=c(3,:
);b1=c(4,:
);b2=c(5,:
);b3=c(6,:
);
i=1:
199;
plot(i,a1,'r',i,a2,'b',i,a3,'black',i,b1,'g',i,b2,'y',i,b3,'r')
title('递推最小二乘参数辨识')
(2)加阶跃扰动后的参数辨识
带遗忘因子的最小二乘法
clc;
lamt=;
z=UY(:
2);
u=UY(:
1);
c0=[]';
p0=10^4*eye(4,4);
c=[c0,zeros(4,198)];
fork=3:
200
h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]';
x=h1'*p0*h1+1*lamt;
x1=inv(x);
k1=p0*h1*x1;
d1=z(k)-h1'*c0;
c1=c0+k1*d1;
p1=1/lamt*(eye(4)-k1*h1')*p0;
c(:
k-1)=c1;
c0=c1;
p0=p1;
end
a1=c(1,:
);a2=c(2,:
);b1=c(3,:
);b2=c(4,:
);
i=1:
199;
plot(i,a1,'r',i,a2,'b',i,b1,'y',i,b2,'black');
title('lamt=的遗忘最小二乘法');
gridon
lamt=1;
z=UY(:
2);
u=UY(:
1);
c0=[]';
p0=10^4*eye(4,4);
c=[c0,zeros(4,198)];
fork=3:
200
h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]';
x=h1'*p0*h1+1*lamt;
x1=inv(x);
k1=p0*h1*x1;
d1=z(k)-h1'*c0;
c1=c0+k1*d1;
p1=1/lamt*(eye(4)-k1*h1')*p0;
c(:
k-1)=c1;
c0=c1;
p0=p1;%¨¹C1
end
a1=c(1,:
);a2=c(2,:
);b1=c(3,:
);b2=c(4,:
);
figure
(2);
i=1:
199;
plot(i,a1,'r',i,a2,'b',i,b1,'y',i,b2,'black');
title('最小二乘法');
gridon
(3)搭建的对象为
广义最小二乘法
M=UY(1:
800,1);
v=randn(1,800);
e=[];
e
(1)=v
(1);
e
(2)=v
(2);
fori=3:
800
e(i)=0*e(i-1)+0*e(i-2)+v(i);
end
z=UY(1:
800,2);
zf=[];
zf
(1)=-1;
zf
(2)=0;
fori=3:
800
zf(i)=z(i)-0*z(i-1)-0*z(i-2);
end
uf=[];
uf
(1)=M
(1);
uf
(2)=M
(2);
fori=3:
800
uf(i)=M(i)-0*M(i-1)-0*M(i-2);
end
P=100*eye(4);
Theta=zeros(4,800);
Theta(:
2)=[3;3;3;3];
K=[10;10;10;10];
PE=10*eye
(2);
ThetaE=zeros(2,800);
ThetaE(:
2)=[;];
KE=[10;10];
fori=3:
800
h=[-zf(i-1);-zf(i-2);uf(i-1);uf(i-2)];
K=P*h*inv(h'*P*h+1);
Theta(:
i)=Theta(:
i-1)+K*(z(i)-h'*Theta(:
i-1));
P=(eye(4)-K*h')*P;
he=[-e(i-1);-e(i-2)];
KE=PE*he*inv(1+he'*PE*he);
ThetaE(:
i)=ThetaE(:
i-1)+KE*(e(i)-he'*ThetaE(:
i-1));
PE=(eye
(2)-KE*he')*PE;
end
i=1:
800;
figure
(1);
plot(i,Theta(1,:
),i,Theta(2,:
),i,Theta(3,:
),i,Theta(4,:
))
title('')
figure(3);
plot(i,ThetaE(1,:
),i,ThetaE(2,:
));
figure(3);
plot(i,ThetaE(1,:
),i,ThetaE(2,:
));
M=UY(1:
800,1);
v=randn(800);
z=UY(1:
800,2);
P=100*eye(6);
Theta=zeros(6,799);
Theta(:
1)=[3;3;3;3;3;3];
K=[10;10;10;10;10;10];
fori=3:
800
h=[-z(i-1);-z(i-2);M(i-1);M(i-2);v(i-1);v(i-2)];
K=P*h*inv(h'*P*h+1);
Theta(:
i-1)=Theta(:
i-2)+K*(z(i)-h'*Theta(:
i-2));
P=(eye(6)-K*h')*P;
end
i=1:
799;
figure
(1)
plot(i,Theta(1,:
),i,Theta(2,:
),i,Theta(3,:
),i,Theta(4,:
),i,Theta(5,:
),i,Theta(6,:
))
title('增广最小二乘')
gridon
实验总结
(1)通过本次试验对系统辨识的概念和作用有了进一步的理解。
(2)通过本次试验了解到系统辨识加入的阶跃信号是在系统已经稳定的基础上加入的,所有相关量的计算都应将系统稳定时的状态量减去进行计算。
(3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 辨识 实验 报告