系统辨识大作业.docx
《系统辨识大作业.docx》由会员分享,可在线阅读,更多相关《系统辨识大作业.docx(11页珍藏版)》请在冰豆网上搜索。
系统辨识大作业
系统辨识大作业
专业班级:
自动化09-3
学号:
09051325
姓名:
吴恩
作业一:
设某物理量
与
满足关系式
,实验获得一批数据如下表,试辨识模型参数
。
(15分)
X
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.7
3.8
9.1
解答:
问题描述:
由题意知,这是一个已知模型为Y=aX2+bX+c,给出了10组实验输入输出数据,要求对模型参数a,b,c进行辨识。
问题求解:
这里对该模型参数辨识采用最小二乘法的一次算法(LS)求解。
可以写成矩阵形式Y=AE+e;其中A=[X^2,X,1]构成,利用matlab不难求解出结果。
运行结果:
a
b
C
0.4601
-5.0999
13.4161
利用所求的的参数,求出给定的X对应的YE值,列表如下
X
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.7
3.8
9.1
YE
8.73
4.96
2.21
0.36
-0.58
-0.61
0.30
2.16
4.88
8.43
Y-YE
0.87
-0.86
-0.91
0.04
-0.53
-0.51
0.40
-0.46
-1.08
0.67
做出上表的图形如下
结果分析:
根据运行结果可以看出,拟合的曲线与真是观测的数据有误差,有出入,但是误差较小,可以接受。
出现误差的原因,一方面是由于给出的数据只有十个点,数据量太少,难以真正的充分的计算出其参数,另外,该问题求解采用的是LS一次算法,因此计算方法本身也会造成相应的误差。
作业二:
模仿实验二,搭建对象,由相关分析法,获得脉冲相应序列
,由
,参照讲义,获得系统的脉冲传递函数
;和传递函数
及应用相关最小二乘法,拟合对象的差分方程模型;加阶跃扰动,用最小二乘法和带遗忘因子的最小二乘法,辨识二阶差分方程的参数,比较两种方法的辨识差异;采用不少于两种定阶方法,确定对象的阶次。
对象模型如图:
利用相关分析法,得到对象的脉冲相应序列。
如下图:
(1).由脉冲相应序列,求解系统的脉冲传递函数G(z)
Transferfunction:
0.006072z^2+0.288z+0.1671
-------------------------------
z^2+0.1018z-0.7509
Samplingtime:
2
(2).由脉冲相应序列求解系统的传递函数G(s)
Transferfunction:
(0.04849+2.494e-018i)
-----------------------
s^2+0.1315s+0.6048
(3).利用相关最小二乘法拟合系统的差分方程模型如下:
参数
a1
a2
b1
b2
相关二步法
-0.7885
0.1551
0.5633
0.3026
(4).在t=100,加入一个0.5的阶跃扰动,,利用RLS求解差分方程模型:
参数
遗忘因子
a1
a2
b0
b1
b2
RLS
1
-0.8175
0.1456
0.0050
0.5748
0.3083
RLS
0.99
-0.8148
0.1339
0.0062
0.5749
0.3160
RLS加入遗忘因子之后与未加之前的曲线情况如下:
未加遗忘因子之前参数以及残差的计算过程
加入0.99的遗忘因子得到的参数辨识过程与残差的变化过程
根据上面两种方法所得到的误差曲线和参数过渡过程曲线,我们可以看出来利用最小二乘法得到的参数最终趋于稳定,为利用带遗忘因子的最小二乘算法,曲线参数最终还是有小幅度震荡。
由此可以看出两种算法的一些特点与区别。
最小二乘法:
递推算法没获得一次新的观测数据就修正一次参数估计值,随着时间的推移,便能获得满意的辨识结果。
带遗忘因子的最小二乘法。
其本质还是最小二乘法,只不过加强新的数据提供的信息量,逐渐削弱老的数据,防止数据饱和。
(5)定阶
利用残差最小原则进行定阶。
阶次n
1
2
3
4
5
残差J
1871
55.57
54.24
53.95
53.66
F
29930e+03
3.58
0.7722
0.7774
有图像可知,当阶次为2时,残差出现拐点,且之后当阶次增大时,残差不再减小。
根据F参数的值,可以看出,在n=2时,F变化最大。
于是,系统阶次为2.
利用AIC定阶:
AIC随阶次变化情况如下表:
阶次
1
2
3
4
5
AIC
416.65
-853
-669
-828.6
-780.6
绘制出AIC随阶次变化的曲线如下图:
不难看出,当n=2时候,AIC值最低,因此判断系统的阶次为2。
作业三:
模仿实验三,搭建适合广义最小二乘法和增广最小二乘法应用的对象模型,实现广义最小二乘法和增广最小二乘法。
(15分)
实验模型图如下所示:
利用GLS算法求出参数如下:
a1
a2
b1
b2
-0.7411
0.0811
0.2364
0.1040
即y(k)=0.7411y(k—1)-0.0811y(k-2)+0.2364u(k-1)+0.1040u(k-2);
利用ELS求解,得到如下的结果
参数
a1
a2
b1
b2
d1
d2
ELS
-0.7424
0.0819
0.2346
0.1039
0
0
绘制出ELS算法下参数的变化曲线以及误差曲线如下:
作业四:
参照给出的夏氏法的ppt,对第三题的对象,用夏氏法实现。
(15分)
利用夏氏修正法求的结果如下表:
参数
a1
a2
b1
b2
夏氏修正法
-0.7426
0.0821
0.2364
0.1038
利用夏氏改良法求得的结果如下:
参数
a1
a2
b1
b2
夏氏改良法
-0.7426
0.0821
0.2364
0.1038
两种夏氏法得到相同的结果。
验证了结果的正确。
作业五:
先精读提供的资料“递推阻尼最小二乘法”一文,掌握最小二乘原理,利用文中公式(9)和公式(26)进行递推计算,进而利用该方法进行计算机仿真,实现文献中提供算例。
并对比最小二乘法,讨论一下该方法的优缺点。
(10分)
先利用RLS递推最小二乘法进行参数求解。
得到结果如下表。
参数
a1
b0
b1
RLS
-0.9304
0.1475
5.6665
利用DLS递推求解的模型参数结果为
参数
a1
b0
b1
DLS
-0.9340
0.7026
5.5877
RLS求解的参数的变化过程DLS求解的参数变化过程
优缺点:
从参数的变化图形看,利用DLS所求解的效果并不是很理想。
可能是由于输入的数据所造成的。
利用DLS计算,可以在一定程度上防止参数爆发,计算得到的参数过度图线更加平滑。
第六题:
对学过的最小二乘法及其衍生算法,讨论各方法适用的模型范围,对比它们的优缺点。
(5分)
几种辨识方法的比较:
1)基本的最小二乘法(LS,RLS)
对低噪声水平最有效,参数估计可很快收敛到真值,所需计算量相对较少。
对于有色噪声的情况只能得到有偏估计。
几乎不需要特殊的先验假设,在递推算法中只要求给定P0和
,RLS具有可靠的收敛性。
2)相关分析法
即使在高噪声水平情况下也能给出较好的结果。
计算方法实现容易,并给出无偏估计,计算量偏大,需事先给定过渡过程时间的概略值。
3)广义最小二乘法(GLS)
一般可给出好的结果,但计算量较大,信噪比较小时收敛不到真值。
可能出现局部最小值的情况。
4)多级最小二乘法(MSLS)
分三步获得系统模型参数和噪声模型参数的估计,计算量小,速度快,但精度难提高,工程应用不便。
5)增广最小二乘法(RELS)
算法简单,可同时得到参数和噪声模型的估计,工程应用效果很好。
6)辅助变量法(IV,RIV)
对有色噪声性质无要求。
为获得好的辨识效果,RIV法要用RLS法启动。
7)极大似然法(ML)
对特殊的噪声模型有好的性能,计算量大,噪声模型可同时辨识出来,基础理论充分。
需要已知噪声的概率密度函数。