3.考虑如下SISO系统作为仿真对象
z(k)?1.5z(k?1)?0.7z(k?2)?u(k?1)?0.5u(k?2)?e(k)
其中,?e(k)?为服从N(0,1)分布的白噪声序列;输入信号u(k)采用4阶逆重复m序列,
其幅值为1;数据的信噪比?=14.3%。选择的辨识模型为
z(k)?a1z(k?1)?a2z(k?2)?b1u(k?1)?b2u(k?2)??(k)
用最小二乘估计的一次完成算法和最小二乘估计的递推算法分别估计参数。选择数据长
l=480;选取初始值P0=106I2*2, Q0=0.001(要过程)
解:>> %最小二乘估计的一次完成算法 clear all;
a=[1 -1.5 0.7]'; b=[1 0.5]'; d=3; %对象参数 na=length(a)-1; nb=length(b)-1; %na、nb为A、B阶次 L=480; %数据长度
uk=[0.001 0.001 0.001 0.001]'; %输入初值:uk(i)表示u(k-i) yk=zeros(na,1); %输出初值
x1=1; x2=1; x3=1; x4=0; S=1; %移位寄存器初值、方波初值 xi=rand(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 =
-1.5453 0.6953 1.0032 0.4566
>> %最小二乘估计的递推算法 clear all; close all;
a=[1 -1.5 0.7]'; b=[1 0.5]'; d=3; %对象参数 na=length(a)-1; nb=length(b)-1; %na、nb为A、B阶次 L=480; %仿真长度
uk=[0.001 0.001 0.001 0.001]'; %输入初值 yk=zeros(na,1); %输出初值 u=rand(L,1); %输入采用白噪声序列 xi=sqrt(0.1)*rand(L,1); %白噪声序列 theta=[a(2:na+1);b]; %对象参数真值 thetae_1=zeros(na+nb+1,1); %thetae初值 P=10^6*eye(4);
for k=1:L
phi=[-yk;uk(d:d+nb)]; %此处phi为列向量 y(k)=phi'*theta+xi(k); %采集输出数据 %递推最小二乘法 K=P*phi/(1+phi'*P*phi);
thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1); P=(eye(4)-K*phi')*P; %更新数据
thetae_1=thetae(:,k); 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
plot([1:L],thetae); %line([1,L],[theta,theta]); xlabel('k'); ylabel('参数估计a、b'); title('参数估计曲线图')
legend('a_1','a_2','b_0','b_1'); axis([0 L -2 2]);
图1 参数估计曲线图
1.设有二阶系统D(s)?a2s2?a1s?1,N(s)?1 ⑴试用MIT规则设计自适应控制系统;
?0.1⑵取a2?a1?1,K?1,??0.1,y??1.0 进行仿真,并给出结论;
?mr?3.5?⑶采用修正的梯度法, 自适应律采用
Kc??sat(?eym,?) 2??ym取a2?a1?1,Km?1,??0.1,??0.01,??2,y??1.0 进行仿真,并给出结论;
?r?3.5??0.1⑷增大?,通过仿真说明?增大对系统的影响。 (注:仿真程序及simulink仿真图见附录A)
解:1)采用MIT规则设计二阶自适应控制系统的稳定性分析 参考模型的微分算子方程:
(a2p2?a1p?1)ym(t)?kmyr(t) (1)
被控过程系统的微分算子方程:
(a2p2?a1p?1)yp(t)?kckvyr(t) (2)
数学模型:
?????a2e?a1e?e?(km?kckv)yr(t)???? (3) ?a2ym?a1ym?ym?kmyr(t)???kc??eym?设yr不变,参考模型不变,对(3)中的第一个式子对t求导:
a2e?a1e?e???eym(t)kvyr(t) (4) a2e?a1e?e??eym(t)kvyr(t)?0 (5)
ym(t)为参考模型的输出,参考模型稳定,因此当稳态时有:
???????????? ym?kvyr(t) (6)
根据上式可以得到:
a2e?a1e?e??ekmkvyr2(t)?0 (7)
根据Routh判据,可得要使系统稳定的充要条件为:
2??a2?0,a1?0,?kmkvyr(t)?0 ? (8) 2??a1?1?a2?kmkvyr(t)??????在本仿真中,a2,a1,km,kv均为恒值,因此可以简化为:
a1??kvkmyr2(t) (9) a2满足式(8),则系统稳定。