自动化级系统辨识大作业 王万.doc
《自动化级系统辨识大作业 王万.doc》由会员分享,可在线阅读,更多相关《自动化级系统辨识大作业 王万.doc(26页珍藏版)》请在三一办公上搜索。
1、系统辨识大作业班 级: 自动化1101班 姓 名: 王万秋 学 号: 11052204 第一题模仿index3,搭建如下的单输入单输出系统的差分方程取真值、和,输入信号采用4阶M序列,幅值为1。当的均值为0,方差分别为0.1和0.5的高斯噪声时,分别用一般最小二乘法、递推最小二乘法和增广递推最小二乘法估计参数。并通过对三种方法的辨识结果的分析和比较,说明上述三种参数辨识方法的优缺点。(15分)利用simulink搭建的模型框图如下:一般最小二乘法程序:u=UY(1:450,1); %输入矩阵z=UY(1:450,2); %输出矩阵H=zeros(400,4); for i=1:400 H(i,
2、1)=-z(i+1); H(i,2)=-z(i); H(i,3)=u(i+1); H(i,4)=u(i); end theta=inv(H*H)*H*(z(3:402)递推最小二乘法程序代码:u=UY(1:450,1); %输入矩阵z=UY(1:450,2); %输出矩阵P=100*eye(4); %估计方差Pstore=zeros(4,401); Pstore(:,1)=P(1,1),P(2,2),P(3,3),P(4,4); Theta=zeros(4,401); %参数的估计值,存放中间过程估值 Theta(:,1)=3;3;3;3; K=10;10;10;10; for i=3:402
3、 h=-z(i-1);-z(i-2);u(i-1);u(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(4)-K*h)*P; Pstore(:,i-1)=P(1,1),P(2,2),P(3,3),P(4,4); end i=1:401; theta = Theta(:,length(Theta(1,:)subplot(2,1,1)plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:) title(递推最小二乘的估计值过度
4、情况) legend(a1,a2,b1,b2)subplot(2,1,2)plot(i,Pstore(1,:),i,Pstore(2,:),i,Pstore(3,:),i,Pstore(4,:) title(递推最小二乘估计方差过度情况) legend(a1,a2,b1,b2)增广递推最小二乘法程序代码:u=UY(1:450,1); %输入矩阵z=UY(1:450,2); %输出矩阵v=UY(1:450,3); %噪声矩阵P=100*eye(6); %估计方差 Pstore=zeros(6,300); Pstore(:,1)=P(1,1),P(2,2),P(3,3),P(4,4),P(5,5)
5、,P(6,6); Theta=zeros(6,300); %参数的估计值,存放中间过程估值 Theta(:,1)=3;3;3;3;3;3; K=10;10;10;10;10;10; for i=3:300 h=-z(i-1);-z(i-2);u(i-1);u(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; Pstore(:,i-1)=P(1,1),P(2,2),P(3,3),P(4,4),P(5,5),P(6,6); end i
6、=1:300; theta=Theta(:,length(Theta(1,:)-10)subplot(2,1,1)plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:),i,Theta(5,:),i,Theta(6,:) title(增广递推最小二乘估计值过渡情况) legend(a1,a2,b1,b2)subplot(2,1,2)plot(i,Pstore(1,:),i,Pstore(2,:),i,Pstore(3,:),i,Pstore(4,:),i,Pstore(5,:),i,Pstore(6,:) title(增广递推最小二乘估
7、计方差过度情况) legend(a1,a2,b1,b2)辨识结果:噪声辨识方法一般最小二乘法递推最小二乘法增广递推最小二乘法噪声方差为0.1theta = 1.1141 0.5636 0.9813 0.2415theta = 1.1145 0.5640 0.9813 0.2420theta = 1.4021 0.52540.9853 0.2438噪声方差为0.5theta = 0.8810 0.4127 0.9587 0.0558theta = 0.8812 0.4128 0.9587 0.0561theta = 1.41820.56240.9711 0.2647噪声方差为0.1噪声方差为0.
8、5由图表可得:一般最小二乘法和递推最小二乘法的辨识结果很接近,而增广递推最小二乘法的辨识结果和其他两种方法差距较大,尤其a1和b2。此外,噪声越大,对前两种方法辨识效果影响较大,对于增广递推最小二乘法,抗噪声能力较强。三种方法的优缺点:一般最小二乘法优点:白噪声可得无偏渐进无偏估计;算法简单、可靠;计算量最小;一次即可完成算法,适合于离线辨识。缺点:随着数据的增长,该方法将出现“数据饱和”现象。递推最小二乘法优点:可以减少数据存储量,避免矩阵求逆,兼骚运算量。缺点:为避免出现数据饱和现象,必须限制过去数据的影响。增广递推最小二乘法优点:比递推算法有着更高的准确度。增广最小二乘的递推算法对应的噪
9、声模型为滑动平均噪声,扩充了参数向量和数据向量的维数,把噪声模型的辨识同时考虑进去。以上两种最小二乘法只能获得过程模型的参数估计,而增广最小二乘法同时又能获得噪声模型的参数估计。当数据长度较大时,辨识精度低于极大似然法。第二题模仿实验二,搭建对象,由相关分析法,获得脉冲响应序列,由,参照讲义, 获得系统的脉冲传递函数和传递函数;应用最小二乘辨识,获得脉冲响应序列;应用相关最小二乘法,拟合对象的差分方程模型;加阶跃扰动,用最小二乘法和带遗忘因子的最小二乘法,(可以用辨识工具箱) 辨识二阶差分方程模型的参数,比较两种方法的辨识效果差异;采用不少于两种定阶方法,确定模型的阶次。(40分)搭建模型如下
10、:1. 相关分析法获得脉冲响应序列程序代码:Np = 24-1;deta = 2;a = 5; U = zeros(Np,Np);for i=1:1:Np for j=1:1:Np U(i,j) = UY(Np+1-i+j,1); endendY = zeros(Np,1);for i=1:1:Np Y(i,1)=UY(Np+i,2);endR = ones(Np,Np);for i = 1:1:Np R(i,i) = 2;endG = (1/(a*a*(Np+1)*deta)*R*U*Yt = 0:2:28plot(t,G,-*)获得的脉冲响应序列如下:G = 0.0127 0.2105 0
11、.3058 0.2690 0.1888 0.1330 0.0796 0.0603 0.0595 0.0419 0.0236 0.0228 0.0146 0.0337 0.0069响应序列的散点图:2. 求解G(z)和G(s)求解G(z)程序代码:clcn=3;Ts=2;Np=15;u=UY(31:200,1);y=UY(31:200,2);f=zeros(120,6);f(:,1)=-1*y(31:150);f(:,2)=-1*y(30:149);f(:,3)=-1*y(29:148);f(:,4)=-1*u(31:150);f(:,5)=-1*u(30:149);f(:,6)=-1*u(29
12、:148);yy=y(32:151);q=inv(f*f)*f*yy;a=q(1:3);b=q(4:6);a=a,b=bG=tf(b,1,a,2)则系统的离散传递函数:Transfer function: -0.3946 z2 - 0.3493 z - 0.07706-z3 - 0.7322 z2 + 0.02371 z + 0.01708Sampling time: 2因此,将离散传函转化为连续传函:Gs = d2c(G,zoh)则有:Transfer function: 0.1374 s3 - 0.4647 s2 - 0.3989 s - 1.571-s4 + 3.063 s3 + 5.7
13、63 s2 + 3.892 s + 0.5904我觉得该连续传函不合理(阶次有点高)。3. 应用最小二乘法获得脉冲响应序列Yy=UY(31:54,2)/2;for i=24:-1:1 Uu(i,:)=UY(i+30:-1:16+i,1);endGG=inv(Uu*Uu)*Uu*Yy;plot(0:2:29,GG,b)hold onstem(0:2:29,GG,b,filled)title(最小二乘法获得脉冲序列);获得的脉冲响应序列为:GG = 0.0588 0.2617 0.3784 0.3243 0.2403 0.1786 0.1439 0.1048 0.0834 0.0811 0.075
14、3 0.0853 0.0799 0.06830.0587响应序列的散点图:4. 相关最小二乘法拟合对象的差分方程u=UY(1:500,1); %输入矩阵z=UY(1:500,2); %输出矩阵H=zeros(400,4); for i=1:400 H(i,1)=-z(i+1); H(i,2)=-z(i); H(i,3)=u(i+1); H(i,4)=u(i); end Theta=inv(H*H)*H*(z(3:402)计算结果:Theta = -0.9631 0.2145 0.38950.25925. 加扰动后,用最小二乘法和带遗忘因子的最小二乘法辨识差分方程(并比较两种方法)一般最小二乘法
15、辨识结果:theta = -1.2184 0.2441 0.4471 0.1591带遗忘因子的最小二乘法程序代码:na=2; nb=2;d=0; L=400;u=0.95; uk=UY(1:400,1); yk=UY(1:400,2); thetae_1=zeros(na+nb,1); P=106*eye(na+nb); for k=3:Lphi=-yk(k-1):-1:(k-2) uk(k-1):-1:(k-2); K=P*phi/(u+phi*P*phi); thetae(:,k)=thetae_1+K*(yk(k)-phi*thetae_1); P=(eye(na+nb)-K*phi)*
16、P/u; thetae_1=thetae(:,k); for i=d+nb:-1:2 uk(i)=uk(i-1); end for i=na:-1:2 yk(i)=yk(i-1); endendplot(1:L,thetae);theta = thetae(:,400)legend(a1,a2,b1,b2); title(带遗忘因子的最小二乘法便是参数)辨识结果:theta = -1.0907 0.1004 0.4598 0.2370 比较两种辨识方法结果可得:a1和b1比较一致,而a2和b2差别较大,带遗忘因子辨识过程波动较大。6. 两种定阶方法确定模型的阶次第一种方法AIC定阶方法:程序代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化级系统辨识大作业 王万 自动化 系统 辨识 作业

链接地址:https://www.31ppt.com/p-3894434.html