系统辨识与自适应控制--大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 辨识的对象模型
假设有一理想数学模型,它的离散化方程如下式所示:
() 1.8(1)0.3(2) 1.2(1)(2)()y k y k y k u k u k e k +-+-=-+-+
式中,()e k 是服从正态分布的白噪声)1,0(N ,()k u 为系统输入,()k y 为系统输出。
现在输入信号采用4阶M 序列,其幅值为1。假设系统的模型阶次是已知的,即
1212()(1)(2)(1)(
2)()y k a y k a y k bu k b u k e k +-+-=-+-+。
下面采用递推最小二乘参数辨识。
2 递推最小二乘参数辨识方法
简单的最小二乘参数辨识一次性方法计算复杂,不能够进行在线辨识,而且
所需要的计算存储空间很大,而很多计算都是重复的计算。为了解决这个问题,并实现在线的实时辨识,引入递推的最小二乘参数辨识。
递推最小二乘参数辨识的整体思想是,最新辨识出来的参数是建立在上次辨识的参数基础上,根据最新得到的辨识数据,对辨识的参数添加了一个参数增量。下面利用数学语言对递推最小二乘参数辨识方法进行描述。
根据最小二乘原理,用N 次观测数据,得出参数向量θ的最小二乘估计l
θˆ
1()()T T N N N
H H H Y N θ-= (1) 其中,ˆN
θ表示根据N 次观测数据所得到的最小二乘值计量,下表N 表示该符号代表N 次观测数据构成的矩阵。
()[(1),(2),...,()]T Y N y y y N = (2)
N H =(0)
.....(1)(0).....(1)(1).....(2)(1).....(2).
.(1).....()(1).....()y y n u u n y y n u u n y N y N n u N u N n ----⎡⎤⎢⎥----⎢⎥
⎢⎥⎢⎥
⎢⎥
⎢⎥------⎣⎦
(3)然后令1()T
N N N P H H -=,且N P 是一方阵,它的维数取决于未知数的个数,而与观
测次数无关。则
1
1111T
N N N N P P h h --+++⎡⎤=+⎣
⎦ (4) 式中1N h +表示第1N +次观测数据。 利用矩阵反演公式计算(4)式
11
11111111T T T
N N N N N N N N N N N N P P h h P P h I h P h h P ---+++++++⎡⎤⎡⎤=+=-+⎣⎦⎣⎦ (5) 式中11T
N N N I h P h ++⎡⎤+⎣⎦是一个标量,其求逆只是一个简单的除法。 令1
111T
N N N N I h P h γ-+++⎡⎤=+⎣
⎦,于是有1111T N N N N N N P I P h h P γ++++⎡⎤=-⎣⎦,则最小二乘估计量ˆN θ
的表达式可改写为1
ˆ()T N N N P h Y N θ+=,于是第1N +次观测数据所得到的最小二乘值计量为
1
11111ˆˆ(1)(1)T T N N N N N N P h Y N P P h Y N θθ++++++⎡⎤=+=++⎣⎦
由(4)式可知
111T T T
N N N N P P h h +++=- (6)
于是
111ˆˆˆ(1)T N N N N N K Y N h θθθ+++⎡⎤=++-⎣⎦ (7)
111N N N K P h +++= (8)
将上述的推导过程总结如下:
1111111111ˆˆˆy(1)1T N N N N N N N N T
N N N T N N N N K N h P h K h P h P I K h P
θθθ++++++++++⎧⎡⎤=++-⎣⎦⎪⎪=⎨+⎪
⎪⎡⎤=-⎣
⎦⎩ 3 辨识过程
整体上的辨识过程流程图如下图所示:
图-1 递推最小二乘参数辨识流程示意图
详细步骤如下所示:
1 在此选择4阶的M 序列。这样,M 序列的最大循环周期长度为15(bit )。首先利用MATLAB 程序生成4阶幅值为1的M 序列和服从正态分布的白噪声序列。
2 根据上述的输入序列,带入待辨识的系统模型中,得到一系列对应的输出信号序列。然后根据输入和输出序列,组建辨识所需的观测矩阵。 本系统的观测矩阵形式如下:
(2)(1)(2)(1)(3)(2)(3)(2)(14)(13)(14)(13)m y y u u y y u u H y y u u --⎡⎤⎢⎥
--⎢
⎥=⎢⎥⎢⎥--⎣⎦
3选取待辨识的参数向量为模极小的数值,选取迭代矩阵P 的初值为极大的
矩阵,如2
0,100.P I σσ==
4 计算增益矩阵G
(1)()
()1()(1)()
T
P k k G k k P k k φφφ-=
+- 其中
T ()[(1) ... () (1) ... u() ]
q b k y k y k n u k k n φ=------
5 将上述的初值和增益矩阵G(k)代入上述的递推最小二乘参数辨识方程组中进行循环计算。直到计算的结果精度符合要求或者迭代的次数达到最大为止。
4 辨识结果与分析
利用matlab 对上述系统进行辨识方针,输入的M 序列如下图所示:
图-2 M序列信号图辨识的结果如下图所示:
图-3 递推最小二乘参数辨识结果图辨识结果与真实的系统参数对比: