- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统辨识实验报告
序号16系统辨识理论及Matlab仿真上机实验报告姓 名:班 级:学 号:指导老师:2016 年 1 月上机题目设单输入—单输出系统的差分方程为 z(k)+a1z(k-1)+a2z(k-2)=b1u(k-1)+b2u(k-2)+v(k) v(k)=c1v(k)+c2v(k-1)+c3v(k-2)取真值a1=1.6、a2=0.7、b1=10、b2=0.4、c1=0.9、c2=1.2和c3=0.2,输入信号采用4阶M序列,幅值为1.当v(k)的均值为0,方差分别为0.1和0.5的高斯噪声时,分别用一般最小二乘法、递推最小二乘法和增广递推最小二乘法估计参数θ。并通过对三种方法的辨识结果的分析和比较,说明上述三种参数辨识方法的优缺点。解:一般最小二乘法:Matlab仿真程序:clear allclose allclcrandn(seed,100);v=0.1*randn(1,60);%产生一组高斯分布的随机噪声%%%%M序列产生程序%%%%%%%L=60;y1=1;y2=1;y3=1;y4=0;%移位寄存器初值for i=1:L;x1=xor(y3,y4);x2=y1;x3=y2;x4=y3;y(i)=y4;if y(i)0.5,u(i)=-1;else u(i)=1;endy1=x1;y2=x2;y3=x3;y4=x4;endfigure(1);stem(u),grid ontitle(输入信号M序列)%%%%最小二乘辨识程序%%%%%%%%%%z=zeros(1,16);%定义输出观测值的长度for k=3:16 z(k)=-1.6*z(k-1)-0.7*z(k-2)+u(k-1)+0.4*u(k-2)+1*v(k)+1.6*v(k-1)+0.7*v(k-2);%观测值endfigure(2)plot([1:16],z)title(输出观测值)figure(3)stem(z),grid ontitle(输出观测值z的经线图形)H=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8); -z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)];%给出样本系数矩阵 Z=[z(3); z(4); z(5); z(6); z(7); z(8); z(9); z(10); z(11); z(12); z(13); z(14); z(15); z(16);]%给出样本观测矩阵 c=inv(H*H)*H*Z;%计算参数 al=c(1),a2=c(2),b1=c(3),b2=c(4)%分离参数程序运行结果:Z = -0.7165 -0.2873 -0.3262 -0.5818 1.7445 -1.0598 1.8351 -2.6803 3.7050 -2.8528 0.8821 -1.2964 1.7166 -2.6295al =1.3684a2 =0.4863b1 =0.9853b2 =0.1820递推最小二乘法:Matlab仿真程序:%%%%递推最小二乘算法程序%%%%%%%z(2)=0;z(1)=0;%观测值由理想输出值加噪声for k=3:60;%循环变量从3到15 z(k)=-1.6*z(k-1)-0.7*z(k-2)+u(k-1)+0.4*u(k-2)+1*v(k)+1.6*v(k-1)+0.7*v(k-2);end%%%%RLS递推最小二乘辨识%%%%%%%%c0=[0.001 0.001 0.001 0.001 ];p0=10^3*eye(4,4);E=0.000000005;%相对误差c=[c0,zeros(4,59)];%被辨识参数矩阵初始值e=zeros(4,60);%相对误差的初始值lamt=1;for k=3:60; h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]; k1=p0*h1*inv(h1*p0*h1+1*lamt);%求出k的值new=z(k)-h1*c0;c1=c0+k1*new;%被辨识参数cp1=1/lamt*(eye(4)-k1*h1)*p0
文档评论(0)