广义递推最小二乘辨识

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广义递推最小二乘辨识

一、实验目的

1 通过实验掌握广义最小二乘辨识算法;

2 运用MATLAB编程,掌握算法实现方法。

二、实验原理

广义最小二乘法的基本思想是基于对数据先进行一次滤波预处理,然后利用普通最小二乘法对滤波后的数据进行辨识。如果滤波模型选择得合适,对数据进行了较好的白色化处理,那么直接利用普通最小二乘法就能获得无偏一致估计。

广义最小二乘法所用的滤波模型实际上就是一种动态模型,在整个迭代过程中不断靠偏差信息来调整这个滤波模型,使它逐渐逼近于一个较好的滤波模型,以便对数据进行较好的白色化处理,使模型参数估计称为无偏一致估计。理论上说,广义最小二乘法所用的动态模型经过几次迭代调整后,便可对数据进行较好的白化处理,但是,当过程的输出噪信比比较大或模型参数比较多时,这种数据白色化处理的可靠性就会下降。此时,准则函数可能出现多个局部收敛点,因而辨识结果可能使准则函数收敛于局部极小点上而不是全局极小点上。这样,最终的辨识结果往往也会是有偏的。

其收敛速度比较慢,需要经过多次迭代计算,才能得到较准确的参数估计值。一般情况下,经过多次迭代后,估计值便会收敛到稳态值。但在某些情况下(如噪声比较低时)存在局部极小值,估计值不一定收敛到准则函数的全局极小值上。为了防止参数估计值收敛到局部极小值,最好选定初值接近最优解,一般可以用最小二乘法的批处理估计值作为初值。如果系统是时变的,或为了克服数据饱和现象,可以在两次RLS算法中分别引进遗忘因子。

三、实验内容

<1> 数据获取:实验数据按照表9-1,为二阶线性离散系统的输入输出数据

<2> 数据处理:为了提高辨识精度,实验者必须对原始数据进行剔除坏数据、零均值化、工频滤波等处理。实验进行了白化滤波处理。

<3> 辨识算法:利用处理过的数据(取适当的数据长度),选择某种辨识方法(如RLS递推最小二乘法、RELS、RIV或RML等参数估计算法及F-检验或AIC定

阶法),估计出模型参数和阶次,同时分析辨识结果。

本实验采用广义递推最小二乘法进行系统辨识。

三、广义递推最小二乘法(RLS )原理

广义最小二乘法是用迭代的松弛算法对最小二乘估计的一种改进,它的基本思想是引入一个白化滤波器,把相关噪声转换为白噪声,基于对观测数据先进行一次滤波处理然后利用普通最小二乘法对滤波后的数据进行辨识。广义最小二乘法的计算步骤如下:

1 给定初始条件:包括给定的输入输出数据或者产生的数据序列,初始状态矩阵P0,被辨识参数的初始值(取一个充分小的实向量),滤波器参数与矩阵初值。

2 利用式1()()()f z k C z z k -= 1()()()f u k C z u k -=计算滤波后的输入输出序列。

3 对于二阶离散系统,利用式()[(1),(2),(1),(2)]T f f f f f h k z k z k u k u k =------构造()f h k 。

4 利用

()(1)()[()()(1)]T f f k k K k z k h k k θθθ=-+--

1()(1)()[1()(1)()]f T

f f f f f K k P k h k h k P k h k -=-+-

()[()()](1)T

f f f f P k I K k h k P k =--

三个式子递推计算辨识矩阵()k θ

5 利用式()()()()T e k z k h k k θ=-计算()e k ,并根据()[(1),(2)]T e h k e k e k =----构造()e h k 。

6 利用

()(1)()[()()(1)]T e e e e k k K k e k h k k θθθ=-+--

1()(1)()[1()(1)()]e T e e e e e K k P k h k h k P k h k -=-+-

()[()()](1)T e e e e P k I K k h k P k =--

三个式子递推计算()e k θ。

7 返回第二步进行迭代计算,直至获得满意的辨识结果。

四、实验步骤

<1> 输入输出数据:

u=[1.147,0.201 ,-0.787 ,-1.584 -1.052, 0.866 ,1.152 ,1.573 ,0.626, 0.433 ...

-0.958,0.810, -0.044, 0.947, -1.474, -0.719, -0.086, 1.099, 1.450, 1.151...

0.485,1.633, 0.043 ,1.326, 1.706, -0.340, 0.890,0.433, -1.177, -0.390...

-0.982,1.435 ,-0.119 ,-0.769, -0.899, 0.882,-1.008, -0.844, 0.628,-0.679 ...

1.541,1.375, -0.984, -0.582, 1.609,0.090, -0.813, -0.428 ,-0.848,-0.410...

0.048,-1.099 ,-1.108 ,0.259,-1.627, -0.528, 0.203, 1.204,1.691, -1.235...

-1.228,-1.267, 0.309,0.043, 0.043, 1.461, 1.585, 0.552,-0.601, -0.319...

0.744 0.829,-1.626, -0.127, -1.578, -0.822, 1.469, -0.379,-0.212, 0.178...

0.493 -0.056, -0.1294, 1.228, -1.606, -0.382, -0.229, 0.313,-0.161, -0.810...

-0.277 0.983, -0.288, 0.846, 1.325, 0.723, 0.713, 0.643 0.463,0.786...

1.161,0.850, -1.349, -0.596, 1.512, 0.795, -0.713, 0.453,-1.604, 0.889...

-0.938, 0.056, 0.829,-0.981, -1.232, 1.327, -0.681,0.114,-1.135, 1.284...

-1.201 0.758, 0.590, -1.007, 0.390, 0.836,-1.52, -1.053, -0.083, 0.619...

0.840 -1.258, -0.354, 0.629, -0.242,1.680, -1.236, -0.803,0.537, -1.100...

1.417,-1.024, 0.671, 0.688,-0.123, -0.952, 0.232, -0.793,-1.138, 1.154...

0.206,1.196, 1.013,1.518, -0.553, -0.987, 0.167, -1.445,0.630, 1.255...

0.311,-1.726,0.975, 1.718, 1.360, 1.667, 1.111, 1.018, 0.078,-1.665...

-0.760, 1.184, -0.614, 0.994, -0.089, 0.947, 1.706, -0.395, 1.222, -1.351...

0.231,1.425, 0.114, -0.689, -0.704, 1.070, 0.262, 1.610 ,1.489,-1.602...

0.020, -0.601, -0.020, -0.601, -0.235, 1.245, 1.226, -0.204, 0.926, -1.297]; figure(1);

stem(u)

grid on

title('图1 输入信号')

y=[1.381 3.794 2.481 -0.280 -2.742 -1.554 2.129 2.691 3.427 2.199 ...

1.679 -1.249 1.371 0.637 3.131 -0.819 0.235 1.262

2.849

3.37

4...

2.346 0.664

3.015 0.561 2.271 3.650 0.625 2.305 0.364 1.857...

-0.912 -1.547 1.940 0.262 -0.379 -0.176 3.720 0.058 -0.752 1.983...

-0.923 3.361 4.240 -0.074 -0.481 3.780 2.137 0.086 0.638 -0.971...

-0.929 0.679 -0.664 -0.433 1.570 -2.785 -1.153 0.819 3.484 4.091...

-2.375 -2.561 -2.778 2.911 1.362 0.735 3.118 3.770 2.381 -0.812...

-1.635 0.589 1.550 -3.410 -1.249 -3.692 -2.358 2.552 -0.228 0.554...

2.178 2.471 0.743 -0.004 2.504 -

3.204 -1.800 -1.284 0.159 0.426...

0.059 0.395 2.371 -0.157 2.248 3.297 2.329 2.780 2.375 1.873...

2.411

3.928 2.846 -2.215 -1.104 3.460 2.883 0.245 -0.231 -2.963...

2.072 -0.845 -0.074 1.037 2.468 -

3.679 2.149 -0.081 1.639 -1.291...

2.548 -1.681 2.307 2.227 -1.558 0.008 2.055 -1.102 -1.427 0.350...

2.736 2.965 -2.346 -1.510 0.809 -0.592 2.706 -1.941 2.275 2.802...

-1.337 2.091 -2.585 0.013 1.217 0.691 -0.491 2.114 0.333 -0.482...

3.388 2.082 3.797

4.079

5.036 1.250 -1.019 -0.160 -3.201 1.161...

3.926 1.789 -2.703 2.125 5.054

4.678

5.236 -0.241 2.152 0.356 ...

相关文档
最新文档