系统辨识作业介绍.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统建模方法大作业 1.考虑如下系统 式中,为白噪声。 取初值,。分别选择M序列和方差为1的正态分布白噪声作为输入信号,采用递推最小二乘算法进行参数估计,迭代L=400步停止计算。 要求 给出基本迭代公式; 画出程序流程框图; 画出输入输出数据曲线、参数估计曲线、误差曲线; 提示: 产生长度为L方差为1的正态分布白噪声,相应的MATLAB命令为 randn(L,1)。 z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-3)+0.5*u(k-4) h1=[-z(k-1),-z(k-2),u(k-3),u(k-4)] c1=c0+k1*[z(k)-h1*c0] (3)1.当输入为M序列时 L=15; % M序列的周期 y1=1;y2=1;y3=1;y4=0; %四个移位寄存器的输出初始值 for i=1:L; %开始循环,长度为L x1=xor(y3,y4); %第一个移位寄存器的输入是第三个与第四个移位寄存器的输出的 x2=y1; %第二个移位寄存器的输入是第一个移位寄存器的输出 x3=y2; %第三个移位寄存器的输入是第二个移位寄存器的输出 x4=y3; %第四个移位寄存器的输入是第三个移位寄存器的输出 y(i)=y4; %取出第四个移位寄存器的幅值为0和1的输出信号,即M序列 if y(i)0.5,u(i)=-0.03; %如果M序列的值为1, 辨识的输入信号取“-0.03” else u(i)=0.03; %如果M序列的值为0, 辨识的输入信号取“0.03” end %小循环结束 y1=x1;y2=x2;y3=x3;y4=x4; %为下一次的输入信号做准备 end %大循环结束,产生输入信号u figure(1); %第一个图形 title(输入M序列) %图形标题 stem(u),grid on %显示出输入信号径线图并给图形加上网格 z(4)=0;z(3)=0;z(2)=0;z(1)=0; %设z的前四个初始值为零 for k=5:15; %循环变量从3到15 z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-3)+0.5*u(k-4); %输出采样信号 end %RLS递推最小二乘辨识 c0=[0.001 0.001 0.001 0.001]; %直接给出被辨识参数的初始值,即一个充分小的实向量 p0=10^6*eye(4,4); %直接给出初始状态P0,即一个充分大的实数单位矩阵 E=0.000000005; %取相对误差E=0.000000005 c=[c0,zeros(4,14)]; %被辨识参数矩阵的初始值及大小 e=zeros(4,15); for(n=1:400); %迭代次数 for k=5:15; %开始求K h1=[-z(k-1),-z(k-2),u(k-3),u(k-4)]; x=h1*p0*h1+1; x1=inv(x); %开始求K(k) k1=p0*h1*x1; %求出K的值 d1=z(k)-h1*c0; c1=c0+k1*d1; %求被辨识参数c e1=c1-c0; %求参数当前值与上一次的值的差值 e2=e1./c0; %求参数的相对变化 e(:,k)=e2; %把当前相对变化的列向量加入误差矩阵的最后一列 c0=c1; %新获得的参数作为下一次递推的旧参数 c(:,k)=c1; %把辨识参数c 列向量加入辨识参数矩阵的最后一列 p1=p0-k1*k1*[h1*p0*h1+1]; %

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档