图11 辨识曲线
图12辨识误差曲线
图13辨识的输出响应
使用增广最小二乘算法进行系统辨识的结果如表 2所示。
表 2 增广最小二乘算法的辨识结果
参数
0.9
0.15 0.15
0.02 0.02
0.7 0.7
-1.5 -1.5
1.0 1.0
真值 -1.0 -0.4 -1.0 -0.4
估计值 0.9
从上表中可以看出,对于含有有色噪声的系统,采用增广最小二乘法进行系
统辨识可以取得无偏估计。
四、模型与误差分析
对系统进行辨识后,需要对辨识所得的系统进行进一步的模型验证,以观察所得的模型是否是对当前观测数据的最佳选择。对模型进行验证,可以采用事先生成的输入数据,分别输入到已知模型和经过系统辨识所得的模型中,检验所得模型是否存在问题。如果检验失败,可能存在的问题是:辨识所用的一组数据包含的信息部足或所选的模型类不合适。
对本实验中的已知对象及经过系统辨识所得的模型,选取一组输入信号为:
u?[1,?1,1,?1,1,1,?1,1,1,?1,1,1,?1,?1,?1,1]
比较原参考对象的输出以及辨识模型的输出。具体代码如下: %%%%%%%%%%%%%模型检验%%%%%%%%%%%%%%%%%
clear all close all
u=[1,-1,1,-1,1,1,-1,1,1,-1,1,1,-1,-1,-1,1];%系统输入信号 L=20
z=zeros(1,L); x=zeros(1,L); y=zeros(1,L); v=randn(1,L);
%---------------------------实际噪声的产生-----------------------% %--------- ksi(k)=lamda*v(k)-ksi(k-1)-0.41*ksi(k-2)--------------% ksi(2) = 0;ksi(1) = 0; %设ksi的前两个初始值为0 lamda = 1;
for k=3:L;
ksi(k) = lamda*v(k) - ksi(k-1) - 0.41*ksi(k-2); end
for k=4:16
z(k)=-0.9*z(k-1)-0.15*z(k-2)-0.02*z(k-3)+0.7*u(k-1)-1.5*u(k-2)+ksi(k)
%真实模型的输出
y(k)=-1.2317*y(k-1)-0.4735*y(k-2)-0.0600*y(k-3)+0.8534*u(k-1)-1.2373*u(k-2) %递推最小二乘辨识模型输出
x(k)=-0.9*x(k-1)-0.15*x(k-2)-0.02*x(k-3)+0.7*u(k-1)-1.5*u(k-2)+ksi(k)
%增广最小二乘辨识模型的输出 end figure(1); subplot(3,1,1) stem(u) ,grid on title('系统输入信号') subplot(3,1,2) i=1:1:L;
plot(i,z,'r',i,y,'b'),grid on
legend('真实模型输出','递推最小二乘辨识模型') title('真实模型输出和递推最小二乘辨识模型输出值') subplot(3,1,3) i=1:1:L;
plot(i,z,'r',i,x,'g'),grid on
legend('真实模型输出','增广最小二乘辨识模型') title('真实模型输出和增广最小二乘辨识模型输出值') figure(2); subplot(2,1,1) i=1:1:L;
plot(i,z-y), grid on;
title('真实模型与递推最小二乘辨识模型的差值') subplot(2,1,2) i=1:1:L
plot(i,z-x), grid on;
title('真实模型与增广最小二乘辨识模型的差值')
程序运行结果如图14和图15所示。
图14 不同辨识模型输出和真实系统输出对比
图15 真实模型与辨识模型输出信号的差值
由上图并结合表1和表2,分析可得
表 1 递推最小二乘算法的辨识结果
参数
0.9 0.9367
0.15 0.1591
0.02 -0.0138
0.7 0.6275
-1.5 -1.3558
真值 估计值
表 2 增广最小二乘算法的辨识结果
参数
0.9
0.15 0.15
0.02 0.02
0.7 0.7
-1.5 -1.5
1.0 1.0
真值 -1.0 -0.4 -1.0 -0.4
估计值 0.9
辨识给定的含有色噪声的系统时,最小二乘递推辨识算法的参数辨识结果是有偏差的,无法达到稳定值,但是这个误差是在[-0.5,0.5]范围内,还是可以接受的。而与最小二乘递推辨识算法相比,增广最小二乘递推辨识算法考虑了噪声模型,并且在递推到第九步时辨识结果就达到了稳定值,具有辨识速度快、辨识结果精确的特点。因此,对于含有有色噪声的系统,使用增广二乘辨识算法能够取得较好的效果。
五、实验总结
通过本次仿真实验,使我加深了对系统辨识算法的认识和了解,对于最小二乘参数辨识这种系统辨识领域中最基本最常用的方法有了较好的掌握,并通过MATLAB仿真熟悉了系统辨识的一般内容和步骤,对系统辨识的基本过程有了一个较为清晰的认识。
最后,王立琦老师这一学期给我们所带的系统辨识这门课程使我受益良多,对我的科研工作有很大的启发借鉴意义。在此十分感谢王老师的指导和帮助。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库系统辨识大作业(5)在线全文阅读。
相关推荐: