系统辨识大作业徐莹

更新时间:2024-01-06 11:31:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中国石油大学(华东)信息与控制工程学院

系统辨识大作业

学生姓名: 徐莹 学 号:09051306 专业班级:自动化09-3班

2012年5月5日

第一题 题目要求

设某物理量Y与X满足关系式Y?aX2?bX?c,实验获得一批数据如下表,试辨识模型参数a,b,c。(15分) X Y 1.01 2.03 3.02 4.01 5 9.6 4.1 1.3 0.4 6.02 7.03 8.04 9.03 10 0.7 1.7 3.8 9.1 0.05 0.1 答:

分析:

本题物理量Y与X的关系已经给出来,可以用最小二乘法解出结果。给出十组数据,可以通过这十组数据建立起辨识模型,通过模型转化的到精确结果。

本题符合最小二乘法的数学模型,属于多元线性回归的非参数模型。 利用最小二乘法的公式Yk??k??ek

T 给出观察方程组矩阵表达形式:Y(N)??(N)??e(N) 估计准则:解出参数估计向量?,从而得到参数a,b,c。

作业程序:

x1=[1.01 2.03 3.02 4.01 5 6.02 7.03 8.04 9.03 10 ]; y=[9.6 4.1 1.3 0.4 0.05 0.1 0.7 1.8 3.8 9];

x=[1.0201 4.1209 9.1204 16.0801 25.0000 36.3609 49.4209 64.6416 81.5409 100.000]; x2=ones(1,10);

phai=[x' x1' x2']; T=phai'*phai;

Q=phai'*y';

theta=inv(T)*Q; a=theta(1); b=theta(2); c=theta(3);

a?0.4576最后得到结果为:b??5.0742

c?13.3722

第二题:

题目要求

模仿实验二,搭建对象,由相关分析法,获得脉冲相应序列g(k),由g(k),参照讲义, 获得系统的脉冲传递函数G(z);和传递函数G(s)及应用相关最小二乘法,拟合对象的差分方程模型;加阶跃扰动,用最小二乘法和带遗忘因子的最小二乘法,辨识二阶差分方程的参数,比较两种方法的辨识差异;采用不少于两种定阶方法,确定对象的阶次。(40分)

答:根据题意搭建好结构框图

相关分析法

利用结构框图得到UY 和tout

其中的U就是题目中要求得出的M序列,根据结构框图可知序列的周期是

Np?2n?1?24?1?15。

在command window中输入下列指令,既可以得到脉冲相应序列g(k) aa=5;NNPP=15;ts=2; RR=ones(15)+eye(15); for i=15:-1:1

UU(16-i,:)=UY(16+i:30+i,1)'; end

YY=[UY(31:45,2)];

GG=RR*UU*YY/[aa*aa*(NNPP+1)*ts]; plot(0:2:29,GG) hold on

stem(0:2:29,GG,'filled') Grid;title('脉冲序列g(τ)')

脉冲序列g(τ)0.40.350.30.250.20.150.10.050-0.05051015202530

由于是二阶水箱系统,可以假设系统的传递函数为G(s)?b0?b1s,已知g(?),求21?a1s?a2sb0,b1,a1,a2

已知G(s)的结构,用长除法求得G(s)的s展开式,其系数等于从 g(?)求得的各阶矩,然后求G(s)的参数。 得到结果: a1 =

-1.1561 a2 =

0.4283 b0 =

-0.0028 b1=

0.2961

num=[0.2961 -0.0028 ];den=[0.4283 -1.1561 1 ];sys=tf(num,den)

最小二乘递推算法相关参数 得到相关系数为:-0.7888 -0.1397 0.5726 0.3106

待估参数过渡过程32.521.510.50-0.5-1-1.5050100150

加阶跃后

最小二乘法: Estimate =

-1.0683 0.0853 0.5752

0.3031

带遗忘因子最小二乘法: Estimate =

-1.0904 0.0666 0.5776

0.3235

对比用不同辨识方法处理相同题目可以看出各个辨识方法的性能。对于第二题,采用相关分析法和最小二乘法辨识出的脉冲响应图形可看出,用最小二乘法辨识

出的图形更像脉冲响应,他在最后无偏差,衰减为零,其可实现无偏差估计。而相关分析法图形虽与相关分析的相近,但它最后有偏差。很显然最小二乘法辨识的效果要比相关分析法好。用相关-最小二乘法便输出的波形有负偏差,通过与最小二乘辨识出的传递函数对比,发现它辨识出的传递函数与系统传递函数又较大差别,辨识效果不如最小二乘法。 采用递推最小二乘,增广最小二乘和带遗忘因子最小二乘,其辨识出的效果比较接近。递推最小二乘可在较少步实现参数稳定,而增广递推最小二乘需要较多步,但是增广辨识的精度更高,与实际参数更接近。带遗忘因子的递推最小二乘辨识的参数平均值可随着实际参数变化而突变。但他对噪声比较敏感,只是参数围绕参数实际值上下波动,而辨识出参数的平均值接近实际值,而且比其他方法更加接近。 辨识系统阶次

常用的定阶方法有以下六种: (1)按残差方差定阶 (2) AIC准则

(3)按残差白色定阶

(4)零点—极点消去检验定阶 (5)利用行列式比定阶 (6)利用Hankel矩阵定阶 方法一、利用残差最小辨识

15105x 105残差平方和-jn曲线图012345678910F检验结果图1.510.5012345678910

依上述原则,上述曲线模型阶次为4

方法二、AIC方法定阶次

上述曲线模型阶次为4

第三题:模仿实验三,搭建适合广义最小二乘法和增广最小二乘法应用的对象模型,实现广义最小二乘法和增广最小二乘法。(15分) 答:搭建的对象如图:

实现广义的最小二乘法

f =

-0.6702 0.2703

theta =

-0.7411 0.0811 0.2364

0.1040

增广最小二乘法

得到结果:

第四题:参照给出的夏氏法的ppt,对第三题的对象,用夏氏法实现。

所得结果:Es =

-0.7426 0.0821 0.2364 0.1038

第五题:先精读提供的资料“递推阻尼最小二乘法”一文,掌握最小二乘原理,利用文中公式(9)和公式(26)进行递推计算,进而利用该方法进行计算机仿真,实现文献中提供算例。并对比最小二乘法,讨论一下该方法的优缺点。

用一般递推方法辨识

用阻尼递推算法辨识为:

对比递推最小二乘法,递推最小二乘发存在一些缺点,如,随着协方差矩阵的减小参数易产生爆发现象;参数向量和协方差矩阵的初值选择不当会使得辨识过程在参数收敛之前结束;在存在随机噪声的情况下,参数易产生漂移,出现不稳定等,而递推阻尼最小二乘法在参数优化算法中增加一个阻尼项增加算法的稳定性,可以防止参数产生爆发现象。但是,由于阻尼项的存在,使得辨识速度变慢了。

第六题:对学过的最小二乘法及其衍生算法,讨论各方法适用的模型范围,对比它们的优缺点。

最小二乘法:最小二乘的思想就是寻找一个?的估计值??,使得各次测量的Zi(i?1,?m)与

???H?由估计??确定的量测估计Zii之差的平方和最小,由于此方法兼顾了所有方程的近似

程度,使整体误差达到最小,因而对抑制误差是有利的。但是最小二乘一般方法的估计精度不够高,这是由于对各个测量数据同等对待,而各次测量数据一般不会在相同的条件下获得,造成测量数据的置信度不变较大,当新数据源源而来时,将出现以下问题:1.数据增加,要求计算机的存储空间增加2、每增加一组数据,即作一次求逆,导致计算量增加,难以用于在线辨识。只有当模型的噪声项是独立的随机变量时,普通最小二乘法才能得到真实参数的无偏估计值,否则所得到的估计值是有偏的。

因此,最小二乘法有很多改进算法,虽然没有一个是完美的,但是能够适应不同的情况,条件,对应选择不同的算法,其各自的性能及优缺点如下:

广义最小二乘法:

其基本思想在于对数据先进行一次白化滤波处理,然后利用基本的最小二乘法对滤波后的数据进行辨识。如滤波模型选的合适,对数据进行了较好的白化处理,则直接基本的最小二乘法就能得到无偏一致估计。所用的滤波模型实际上是一种动态模型,经过几次迭代调整后,便可对数据进行较好的白化处理。其收敛速度比较慢,需要经过多次迭代计算,才能得到较准确的参数估计值。一般情况下,经过多次迭代后,估计值便会收敛到稳态值。但在某些情况下(如噪声比较低时)存在局部极小值,估计值

不一定收敛到准则函数的全局极小值上。为了防止参数估计值收敛到局部极小值,最好选定初值接近最优解,一般可以用最小二乘法的批处理估计值作为初值。如果系统是时变的,或为了克服数据饱和现象,可以在两次RLS算法中分别引进遗忘因子。其过于复杂。

递推算法

实现了实时控制,减少了计算量和存储量,但未解决最小二乘法的有偏估计问题。矩形窗(限定记忆)RLS方法需要保留一定的数据存储量,此存储量大小取决于矩形窗宽度,因而在应用范围上有一定程度的限制。

辅助变量法

的计算较简单,估计是无偏估计,但计算精度较低; 增广矩阵法

能保证精度和收敛,算法简单,可同时得到参数和噪声模型的估计,工程应用效果很好但计算量也较大。

多级最小二乘法

把复杂的辨识问题分成三个阶段来处理,分三步获得系统模型参数和噪声模型参数的估计计算量小,速度快,而且每个阶段只用到简单的最小二乘法,省去了广义最小二乘法的迭代过程,简化了计算,并且可以得到参数的一致性无偏估计,计算精度比辅助变量法高。但是这种方法也存在着与广义最小二乘法相类似的收敛问题,而且精度难提高,工程应用不便。

加权最小二乘法

可对不同置信度的测量值采用加权的办法分别对待,置信度高的,权重取得大些;置信度低的,权重取的小些。但加权最小二乘法仅能用于事先能估计方程误差 对参数估计的影响。

快速多阶段最小二乘法 大大减少计算时间。 学习心得:

这门课程感觉到有些困难,综合性比较强,在做作业的时候出现了很多问题,同过借鉴了一下老师给的资料,和同学们讨论出的结果,还是把大作业写完,但是作业中肯定有很多不足的地方,希望老师谅解。

在这门课程中,我学到了许多辨识的方法。这门课程感觉到有些困难,主要是许多理论没学过,有的学过也忘了。这是一门综合性较强的课程,它用到了我们许多课程的知识,如自动控制原理、现代控制理论、线性代数、概率论与数理统计、复变函数等等,而且使用概率论的知识比较多,而概率论中很多知识没学过,故使学起来比较吃力。

这门课程实践性较强,我是在做实验、编程中逐渐掌握了辨识的方法,但是对辨识的一些理论仍欠缺。在实验中通过自己探索,与同学交流,逐渐掌握了相关分析法、最小二乘法、相关-最小二乘法、递推最小二乘法及增广递推和带遗忘因子递推最小二乘法。对于其他辨识方法掌握还有不了解。

在做大作业过程中,翻阅了许多资料,仔细研究了老师给的程序。通过这门课程,还对MATLAB的使用有了进一步提高。对MATLAB编程中的过程语句、M文件、仿真等也都有进步。总之,通过这门课对系统的认识有进一步提高,对MATLAB编程有进一步深入,掌握了系统辨识的思想、方法和技巧,对将来的学习和深造打下了基础。

在学习这门课的时候还有很多不足的地方,希望在以后的学习中能够有所提高。

本文来源:https://www.bwwdw.com/article/nqgx.html

Top