- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统辨识与自适应控制作业
系统辨识与自适应控制
学 院:
专 业:
学 号:
姓 名:
系统辨识与自适应控制作业
一、
系统方程为:y(k)+a(k)y(k-1)=b(k)u(k-1)+e(k) 其中:e(k)为零均值噪声,a(k)= b(k)=
要求:1对定常系统(a=0.8,b=0.5)进行结构(阶数)确定和参数估计;
2对时变系统,λ取不同值(0.9——0.99)时对系统辨识结果和过程进行比较、讨论
3对辨识结果必须进行残差检验
解:一(1):
分析:采用最小二乘法(LS):最小二乘的思想就是寻找一个的估计值,使得各次测量的与由估计确定的量测估计之差的平方和最小,由于此方法兼顾了所有方程的近似程度,使整体误差达到最小,因而对抑制误差是有利的。在此,我应用批处理最小二乘法,收敛较快,易于理解,在系统参数估计应用中十分广泛。
作业程序:
clear all;
a=[1 0.8]; b=[ 0.5]; d=3; %对象参数
na=length(a)-1; nb=length(b)-1; %na、nb为A、B阶次
L=500; %数据长度
uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i)
yk=zeros(na,1); %输出初值
x1=1; x2=1; x3=1; x4=0; S=1; %移位寄存器初值、方波初值
xi=randn(L,1); %白噪声序列
theta=[a(2:na+1);b]; %对象参数真值
for k=1:L
phi(k,:)=[-yk;uk(d:d+nb)]; %此处phi(k,:)为行向量,便于组成phi矩阵
y(k)=phi(k,:)*theta+xi(k); %采集输出数据
IM=xor(S,x4); %产生逆M序列
if IM==0
u(k)=-1;
else
u(k)=1;
end
S=not(S); M=xor(x3,x4); %产生M序列
%更新数据
x4=x3; x3=x2; x2=x1; x1=M;
for i=d+nb:-1:2
uk(i)=uk(i-1);
end
uk(1)=u(k);
for i=na:-1:2
yk(i)=yk(i-1);
end
yk(1)=y(k);
end
thetae=inv(phi*phi)*phi*y %计算参数估计值thetae
结果:thetae =0.7787 ,0.5103
真值=0.8,0.5
解:一(2):采用遗忘因子递推最小二乘参数估计;
其仿真算法如下:
Step1:设置初值、,及遗忘因子,输入初始数据;
Step2:采样当前输入和输出数据;
Step3:利用含有遗忘因子的递推公式计算、和;
Step4:k=k+1,返回Step2继续循环。
其中:对时变系统,λ取不同值(0.9——0.99)时对系统辨识结果和过程进行比较、讨论
作业程序:
clear all; close all;
a=[1 0.8]’;b=[0.5]’;d=2; %对象参数
na=length(a)-1;nb=length(b)-1; %na、nb为A、B阶数
L=500; %仿真长度
uk=zeros(d+nb,1); %输入初值
yk=zeros(na,1); %输出初值
u=randn(L,1); %输入采用白噪声序列xi=sqrt(0.1)*randn(L,1); %白噪声序列thetae_1=zeros(na+nb+1,1);
p=10^6*eye(na+nb+1);
lambda=0.95; %遗忘因子
for k=1:L;
if k300;
a=[1 0.6];b=[0.3];
end
thetae(:,k)=[a(2:na+1);b];
phi=[-yk;uk(d:d+nb)];
y(k)=phi*thetae(:,k)+xi(k); %采集输出数据%递推最小二乘法 K=p*phi/(lambda+phi*p*phi);
thetae(:,k)=thetae_1+K*(y(k)-phi*thetae_1);
p=(eye(na+nb
文档评论(0)