最小二乘估计及模型阶次辨(共9页).doc

上传人:飞****2 文档编号:8865453 上传时间:2022-03-25 格式:DOC 页数:9 大小:99KB
返回 下载 相关 举报
最小二乘估计及模型阶次辨(共9页).doc_第1页
第1页 / 共9页
最小二乘估计及模型阶次辨(共9页).doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《最小二乘估计及模型阶次辨(共9页).doc》由会员分享,可在线阅读,更多相关《最小二乘估计及模型阶次辨(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上实验二 最小二乘估计及模型阶次辨识一、实验目的 通过实验,掌握最小二乘参数辨识方法 通过实验,掌握模型阶次辨识方法二、实验内容1、仿真模型实验所用的仿真模型如下:框图表示e(k) +v(k)u(k)z(k)y(k)模型表示其中u(k)和z(k)分别为模型的输入和输出变量;v(k)为零均值、方差为1、服从正态分布的白噪声;为噪声的标准差(实验时,可取0.0、0.1、0.5、1.0);输入变量u(k)采用M序列,其特征多项式取,幅度取1.0。2、辨识模型辨识模型的形式取为方便起见,取,即根据仿真模型生成的数据和,确定模型n,并辨识模型的参数; 3、辨识算法 模型阶次辨识

2、根据行列式比确定模型的阶次令:,其中,定义判别式子(行列式比):其中:若较有显著增加时,则取阶次估计值为。 模型参数辨识:最小二乘一次完成算法:设输入信号的取值是从k =1到k =16的M序列,则待辨识参数为=。其中,被辨识参数、观测矩阵z L、H L的表达式为 , , 三、实验步骤(1) 掌握最小二乘一次完成算法和根据行列式比确定模型的阶次的基本原理。(2) 设计实验方案。(3) 编制实验程序。(4) 调试程序,研究实验问题,记录数据。(5) 分析实验结果,完成实验报告。四、实验结果(1) 实验对象及参数 实验模型如下图所示:(2) 程序代码:a.主函数function leastSquar

3、esMainFuca1 = 1.5;a2 = -0.7;b1 = 1; b2 = 0.5;DR = estModelOrder(a1,a2,b1,b2);display(DR);estimate = leastSquares(a1,a2,b1,b2);display(estimate);recursiveLeastSquares(a1,a2,b1,b2)endb.模型阶次辨识函数function DR = estModelOrder(a1,a2,b1,b2)x=0 1 0 1 1 0 1 1 1; %initial valuen=1003; %n为脉冲数目,L = 1000,且存在k-2,故取

4、1003M=; %存放M序列for i=1:n temp=xor(x(4),x(9); M(i)=x(9); for j=9:-1:2 x(j)=x(j-1); end x(1)=temp;end%产生高斯白噪声v=randn(1,1003);z=;z(1)=-1;z(2)=0;L=1000;for i=3:L+3 z(i)=a1*z(i-1)+a2*z(i-2)+b1*M(i-1)+b2*M(i-2)+v(i);end% n=1for i=1:L H1(i,1)=z(i); H1(i,2)=M(i);endA=H1*H1/L;% n=2for i=1:L H2(i,1)=z(i+1); H2

5、(i,2)=z(i); H2(i,3)=M(i+1); H2(i,4)=M(i);endB=H2*H2/L;%n=3for i=1:L H3(i,1)=z(i+2); H3(i,2)=z(i+1); H3(i,3)=z(i); H3(i,4)=M(i+2); H3(i,5)=M(i+1); H3(i,6)=M(i);endC=H3*H3/L;%n=4for i=1:L H4(i,1)=z(i+3); H4(i,2)=z(i+2); H4(i,3)=z(i+1); H4(i,4)=z(i); H4(i,5)=M(i+3); H4(i,6)=M(i+2); H4(i,7)=M(i+1); H4(i

6、,8)=M(i);endD=H4*H4/L;DR(1)=det(A)/det(B);DR(2)=det(B)/det(C);DR(3)=det(C)/det(D);i=1:3;figure(1)stem(i,DR);%display(DR)title(利用行列式比估计模型阶次)xlabel(阶次)ylabel(行列式比)endc.批量最小二乘估计function estimate = leastSquares(a1,a2,b1,b2)x=0 1 0 1 1 0 1 1 1; %initial valuen=403; %n 为脉冲数目M=; %存放M 序列for i=1:n temp=xor(x

7、(4),x(9); M(i)=x(9); for j=9:-1:2 x(j)=x(j-1); end x(1)=temp;end%产生均值为0,方差为1 的高斯白噪声v=randn(1,400);z=;z(1)=-1;z(2)=0;for i=3:402 z(i)=a1*z(i-1)+a2*z(i-2)+b1*M(i-1)+b2*M(i-2)+v(i-2);endH=zeros(400,4);for i=1:400 H(i,1)=-z(i+1); H(i,2)=-z(i); H(i,3)=M(i+1);endH(i,4)=M(i);estimate = inv(H*H)*H*(z(3:402)

8、;endd.最小二乘的递推算法的参数估计function recursiveLeastSquares(a1,a2,b1,b2)x=0 1 0 1 1 0 1 1 1; %initial valuen=403; %n 为脉冲数目M=; %存放M 序列for i=1:n temp=xor(x(4),x(9); M(i)=x(9); for j=9:-1:2 x(j)=x(j-1); end x(1)=temp;end%=产生均值为0,方差为1 的高斯白噪声=v=randn(1,400);%=产生观测序列z=z=zeros(402,1);z(1)=-1;z(2)=0;for i=3:402 z(i)

9、=a1*z(i-1)+a2*z(i-2)+b1*M(i-1)+b2*M(i-2)+v(i-2);end%递推求解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=zeros(4,400); %增益矩阵K=10;10;10;10;for i=3:402 h=-z(i-1);-z(i-2);M(i-1);M(i-2); K=P*h*inv(h*P*h+1); Theta(:,

10、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);endi=1:401;figure(2);plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:)title(待估参数过渡过程);figure(3);plot(i,Pstore(1,:),i,Pstore(2,:),i,Pstore(3,:),i,Pstore(4,:)title(估计方差变化过程);end(3)实验结果及其分析 1)行列式比法模型阶次估计图形如下 2)递推最小二乘估计 参数过渡过程如下图所示: 由上图可知,方差逐渐较小,并且趋近去0,说明估计递推过程基本完成。(4)心得体会通过本次试验,我不仅学到了噪声生成和系统辨识的方法,也复习了Matlab编程的方法。在这次试验中,无论是专业课知识还是动手能力上都得到了更高层次提升。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁