当前位置:文档之家› 系统辨识—最小二乘法概要

系统辨识—最小二乘法概要

系统辨识—最小二乘法概要
系统辨识—最小二乘法概要

最小二乘法参数辨识

1 引言

系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类μ={M}(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。

2 系统辨识的目的

在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。

①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。

②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。

③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测模型,对模型的结构及参数则很少再有其他要求。这时辨识的准则和模型应用的目的是一致的,因此可以得到较好的预测模型。

④控制为了设计控制系统就需要知道描述系统动态特性的数学模型,建立这些模型的目的在于设计控制器。建立什么样的模型合适,取决于设计的方法和准备采用的控制策略。

3 系统辨识的方法

经典方法:

经典的系统辨识方法的发展已经比较成熟和完善,他包括阶跃响应法、脉冲

响应法、频率响应法、相关分析法、谱分析法、最小二乘法和极大似然法等。其中最小二乘法(LS)是一种经典的和最基本的,也是应用最广泛的方法。但是,最小二乘估计是非一致的,是有偏差的,所以为了克服他的缺陷,而形成了一些以最小二乘法为基础的系统辨识方法:广义最小二乘法(GI S)、辅助变量法(IV)、增广最小二乘法(EI,S)和广义最小二乘法(GI S),以及将一般的最小二乘法与其他方法相结合的方法,有最小二乘两步法(COR—I S)和随机逼近算法等。

经典的系统辨识方法还存在着一定的不足:(1)利用最小二乘法的系统辨识法一般要求输入信号已知,并且必须具有较丰富的变化,然而,这一点在某些动态系统中,系统的输入常常无法保证;(2)极大似然法计算耗费大,可能得到的是损失函数的局部极小值;(3)经典的辨识方法对于某些复杂系统在一些情况下无能为力。

现代方法:

随着系统的复杂化和对模型精确度要求的提高,系统辨识方法在不断发展,特别是非线性系统辨识方法。主要有:

1、集员系统辨识法

在1979年集员辨识首先出现于Fogel 撰写的文献中,1982年Fogel和Huang 又对其做了进一步的改进。集员辨识是假设在噪声或噪声功率未知但有界UBB(Unknown But Bounded)的情况下,利用数据提供的信息给参数或传递函数确定一个总是包含真参数或传递函数的成员集(例如椭球体、多面体、平行六边体等)。不同的实际应用对象,集员成员集的定义也不同。集员辨识理论已广泛应用到多传感器信息融合处理、软测量技术、通讯、信号处理、鲁棒控制及故障检测等方面。

2、多层递阶系统辨识法

多层递阶方法的主要思想为:以时变参数模型的辨识方法作为基础,在输入输出等价的意义下,把一大类非

线性模型化为多层线性模型,为非线性系统的建模给出了一个十分有效的途径。

3、神经网络系统辨识法

由于人工神经网络具有良好的非线性映射能力、自学习适应能力和并行信息处理能力,为解决未知不确定非线性系统的辨识问题提供了一条新的思路。

与传统的基于算法的辨识方法相比较,人工神经网络用于系统辨识具有以下优点:(1)不要求建立实际系统的辨识格式,可以省去对系统建模这一步骤;(2)可以对本质非线性系统进行辨识;(3)辨识的收敛速度仅与神经网络的本身及所采用的学习算法有关;(4)通过调节神经元之间的连接权即可使网络的输出来逼近系统的输出;(5)神经网络也是系统的一个物理实现,可以用在在线控制。

4、模糊逻辑系统辨识法

模糊逻辑理论用模糊集合理论,从系统输入和输出的量测值来辨识系统的模糊模型,也是系统辨识的一个新的

和有效的方法,在非线性系统辨识领域中有十分广泛的应用。模糊逻辑辨识具有独特的优越性:能够有效地辨识复杂和病态结构的系统;能够有效地辨识具有大时延、时变、多输入单输出的非线性复杂系统;可以辨识性能优越的人类控制器;可以得到被控对象的定性与定量相结合的模型。模糊逻辑建模方法的主要内容可分为两个层次:一是模型结构的辨识,另一个是模型参数的估计。典型的

模糊结构辨识方法有:模糊网格法、自适应模糊网格法、模糊聚类法及模糊搜索树法等。

5、小波网络系统辨识法

小波网络是在小波分解的基础上提出的一种前馈神经网络口 ,使用小波网络进行动态系统辨识,成为神经网络辨识的一种新的方法。小波分析在理论上保证了小波网络在非线性函数逼近中所具有的快速性、准确性和全局收敛性等优点。小波理论在系统辨识中,尤其在非线性系统辨识中的应用潜力越来越大,为不确定的复杂的非线性系统辨识提供了一种新的有效途径,其具有良好的应用前景。

1. 设计内容

设SISO 系统的差分方程为:

)()2()1()2()1()(2

1

2

1

k k u b k u b k z a k z a k z υ+-+-=-+-+ 式

(1-1) 参数取真值为:[]0.42 0.57 0.483 1.376

=T

θ,利用MATLAB 的M 语言辨识系统中的未知参数1a 、2a 、1b 、2b 。

2. 设计过程

2.1

建立系统

设SISO 系统的差分方程为:

)()2()1()2()1()(2121k k u b k u b k z a k z a k z υ+-+-=-+-+ 式(2-1)

参数取真值为:[]0.42 0.57 0.483 1.376

=T θ,利用MATLAB 的M 语言辨识系统中的未知参数1a 、2a 、1b 、2b 。

要求:用参数的真值利用差分方程求出)(k z 作为测量值,

)(k υ是均值为0,方差为0.1、0.5和0.01的不相关随机序列。选取一种最小二乘算法辨识。

2.2 最小二乘简介

2.2.1 最小二乘法的概念与应用

对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。最小二乘法是一种经典的数据处理方法。在系统辨识领域中 ,最小二乘法是一种得到广泛应用的估计方法 ,可用于动态系统 ,静态系统 , 线性系统 ,非线性系统。可用于离线估计,也可用于在线估计。这种辨识方法主要用于在线辨识。在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。

MATLAB 是一套高性能数字计算和可视化软件 ,它集成概念设计 ,算法开发 ,建模仿真 ,实时实现于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。对于比较复杂的生产过程 ,由于过程的输入输出信号一般总是可以测量的 ,而且过程的动态特性必然表现在这些输入输出数据中 ,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。这种建模方法就称为系统辨识。把辨识建模称作“黑箱建模”。 2.2.2 最小二乘法系统辨识结构:

本文把待辨识的过程看作“黑箱”。只考虑过程的输入输出特性,而不强调过程的内部机理。

图中,输入u(k)和输出z(k)是可以观测的;G (错误!未找到引用源。)是系统模型,用来描述系统的输入输出特性;N (错误!未找到引用源。)是噪声模型,v(k)是白噪声,e(k)是有色噪声,根据表示定理: 可以表示为

e(k) =N (错误!未找到引用源。)v(k)

)

(1

-z

G )

()

(11--=z A z B

)

(1

-z

N )

()(11--=z C z D 112

1211212()1()a a b b n n n n A z a z a z a z B z b z b z b z --------?=++++??=+++??

??

???+++=++++=--------b b a a n n n n z d z d z d z D z c z c z c z C 2211122111)(1)(

2.2.3 准则函数

设一个随机序列{}),,2,1(),(L k k z ∈的均值是参数θ的线性函数: {}θ)()(k h k z E T =,其中)(k h 是可测的数据向量,那么利用随机序列的一个实现,使准则函数:

+ + e (k )

图1 SISO 系统辨识“黑箱”结构图 y (k ) u (k ) z (k ) v (k ) )(1-z N )(1-z G

2

1

]

)()([)(∑=-=L

k T k h k z J θθ (式2-2)

达到极小的参数估计值∧

θ称作θ的最小二乘估计。

最小二乘格式:)()()(k e k h k z t

+=θ,θ为模型参数向量,()k e 为零均值随机噪声。

2.3 广义最小二乘法

2.3.1 广义最小二乘数学模型

)()

(1

)()()()(1

11k v z C k u z B k z z A ---+

= 式中,u(k)和)(k z 表示系统的输入输出;v(k)是均值为零的不相关的随机序列;且

??

???++++=+++=++++=------------c c b b a a n n n n n n z c z c z c z C z b z b z b z B z a z a z a z A 2211122111221111)()(1)(

2.3.2 广义最小二乘递推算法如下

[][]?????????

??--=+--=--+-=--=+--=--+-=--)

1()]()([)(1)()1()()()1()()]1(?)()(?)[()1(?)(?)1()]()([)(1)()1()()()1()()]1(?)()()[()1(?)(?1

1

k k k k k k k k k k k k k e

k k k k k k k k k k k k k k k k z k k k e

e e e e

e e e e e e

e e e e f

f f f f

f f f f f f

f

f

P h K P h P h h P K h K P h K P h P h h P K h K τ

τ

τ

τ

τ

τ

θθθθθθI I

式中

?????-=----=------=)

(?)()()(?)](?,),1(?[)()](,),1(),(,),1([)(k k k z k e

n k e k e k n k u k u n k z k z k c

e b

f

f

a

f

f

f

θτ

τ

τ

h h h

2.3.3 广义最小二乘递推算法的计算步骤:

1.给定初始条件 ???

??

??====I )0(P )0(?)

(I )0(P )()0(?e e 2

f 0θ

θ为充分大的数充分小的实向量a a ε

2利用式)

()(z )()

()(z )(1

1

k z C k u k z C k z f

f

--==,计算)(k z f 和)(k u f

3利用式???------==ττ

)]

(,),1(),(,),1([)(]

,,,,,[f f f f f 1

1

b

a n n n k u k u n k z k z k

b b a a b

a

h θ,构造)(f

k h ;

4利用式[]???

????--=+--=--+-=-)1()]()([)(1)()1()()()1()()]1(?)()()[()1(?)(?1

k k k k k k k k k k k k k z k k k f

f f f f

f f f f f f

f

f

P h K P h P h h P K h K τ

τ

τ

θθθI 递推计算)(?k θ; 5利用)(?)()()(?k k k z k e

θτ

h -=和 τ

)](,),1(),(,),1([)(b

a

n k u k u n k z k z k ------= h 计算)(?k e

; 6根据τ

)](?,),1(?[)(c e n k e k e

k ----= h 来构造)(k e h ; 7利用[]??

?

??--=+--=--+-=-)1()]()([)(1)()1()()()1()()]1(?)()(?)[()1(?)(?1

k k k k k k k k k k k k k e k k k e

e e e e

e e e e e e

e

e

e

e

P h K P h P h h P K h K τ

τ

τ

θθθI

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

2.3.4 广义最小二乘递推算法的MATLAB 仿真(程序源代码见附录) 考虑仿真对象

z(k)= -1.376z(k-1)-0.483z(k-2)+0.57u(k-1)+0.42u(k-2)+v(k)

式中,v(k) 是均值为0,方差为0.01、0.1和0.5的不相关随机序列。输入信号采用4阶M 序列,幅度为1。 选择如下形式的辨识模型

其中取c1=0,c2=0.

3. 结果分析及算法优化

由于辨识算法中输入或噪声信号为不相关随机序列,所以每次辨识结果都不完全相同。但是,在相同输入、相同的噪声、相同的步长条件下,精度大体相同。

算法优化方案:(1)使用M 序列(具有近似白噪声的性质)为输入信号;

(2)增加数据长度去L ;

(3)减小噪声信号v(k)的方差。

3.1 广义最小二乘递推算法的的MATLAB 仿真结果及分析

(1)、输入选用题目给出的30个随机数,即数据长度去L=30,噪声选用均值为零,方差分别为0.5、0.1和0.01的随机序列,辨识结果如表3-2-1

表中给出了三种情况下辨识参数结果即表中的估计值,估计值与真值的相对误差

表3-2-1

真值

噪声方差为0.5

噪声方差为0.1

噪声方差为0.01

估计值 相对误差

估计值 相对误差 估计值 相对误差 a1 1.376 1.5534 -2.0105 1.4730 0.1231 1.3723 0.0063 a2 0.483 0.6884 -2.0054 0.5892

0.1061 0.4815 0.0231 b1 0.57 0.7916 -2.0216 0.6790 0.1821 0.5799 0.0510 b2

0.42

0.6213

-2.0013

0.5361

0.1161

0.4218

0.0234

输入M 序列,30步,噪声方差0.5时: 错误!未找到引用源。=12.556;

输入M 序列,30步,噪声方差0.1时: 错误!未找到引用源。=2.5822;

+

y (k )

u (k )

e (k ) z (k )

+

v (k )

2

121483.0376.1142.057.0----+++z z z z 2

21

111

--++z c z c

图2广义最小二乘法辨识实例结构图

输入M序列,30步,噪声方差0.01时:

错误!未找到引用源。=0.1706;

(2)、输入均采用M序列,噪声选择均值为零,方差为0.5、0.1和0.01的随机序列,辨识步长均为300步,辨识结果如表3-2-2。

表中给出了三种情况下辨识参数结果即表中的估计值,估计值与真值的相对误差.

表3-2-2

噪声方差为0.5 噪声方差为0.1 噪声方差为0.01 真值

估计值相对误差估计值相对误差估计值相对误差a1 1.376 1.3660 -0.0280 1.3750 0.0079 1.3729 0.0005 a2 0.483 0.4749 -0.0701 0.4859 0.0292 0.4710 -0.0068 b1 0.57 0.6613 -0.1249 0.5827 0.0582 0.5720 0.0051 b2 0.42 0.4112 -0.0823 0.4344 0.0983 0.4183 -0.0049 输入采用M序列,噪声方差0.5时:错误!未找到引用源。=135.288

输入采用M序列,噪声方差0.1时:错误!未找到引用源。=28.917

输入采用M序列,噪声方差0.01时:错误!未找到引用源。=2.7374

(3)数据结果分析:输入采用M序列比采用随机序列得到的辨识效果更好。噪声均值相等时,方差越大,辨识效果越差,反之,方差越小辨识效果越好。可以通过增加步长的方法提高辨识精度。

下面给出以M序列作为输入,噪声均值为零,方差为0.01的随机序列,数据长度去L=30,得到的变化曲线图:

下面给出以M 序列作为输入,噪声均值为零,方差为0.01的不相关随机序列,数据长度去L=300,得到的变化曲线图:

4. 参考文献

1)侯媛彬, 汪梅, 王立琦,系统辨识及其MATLAB仿真,科学出版社,2004年

2)方崇智,萧德云,过程辨识,清华大学出版社,1988年

3)贾秋玲,袁冬莉,栾云凤,基于MATLAB7.x/Simulink/Stateflow系统仿

真、分析及设计,西北工业大学出版社,2006年

4)李言俊,张科,系统辨识理论及应用,国防工业出版社,2006年

课程心得

上完这门课的第一次课,使我懂得了:辨识就是在输入和输出数据的基础上,从一组给定的模型中,确定一个与所测系统等价的模型。了解了辨识的一些基本概念。知道了辨识的内容和步骤。我们要判断一个模型是否和原有系统等价或者近似,就好像我们要认识一个人一样,必须通过多种方法,方式去测试他。这就需要我们给这模型充分的最优激励。这个形象的比喻让我记忆深刻。

接着我们学习了随即过程的概念及相关知识,谱密度函数等内容,这些为学习白噪声,M序列等典型激励提供了基础。有了激励U(k)必然有相应的输出Z(k)与之对应,通过一批一批的数据U(k) 、Z(k),通过用Matlab编程,能够算出模型的参数。

最后学习的是模型的辨识方法,辨识方法有很多,但根据模型形式可以分成两类。一类是非参数模型辨识方法,另一种是参数模型辨识方法。第一种方法又称经典辨识方法,不必事先确定模型具体结构,可适用于复杂的线性过程。第二种方法又称现代辨识方法,必须假定一种结构模型,通过极小化模型与过程之间的误差准则函数来确定模型的参数。这种方法中我们主要学得是最小二乘类方法。

这次作业选择了一个较简单的仿真实例,通过这次作业知道了一些函数和指令的使用方法。以后我想我会努力用一些时间来继续学习这两方面的知识内容。

最后感谢张老师的辛勤教育与谆谆教诲!

附录

广义最小二乘递推算法的MATLAB仿真程序源代码:

clear %清理工作间变量

L=300; % M序列的周期

y1=1;y2=1;y3=1;y4=0; %四个移位寄存器的输出初始值

for i=1:L;%开始循环,长度为L

x1=xor(y3,y4); %第一个移位寄存器的输入是第三个与第四个移位寄存器的输出的“或”

x2=y1; %第二个移位寄存器的输入是第一个移位寄存器的输出

x3=y2; %第三个移位寄存器的输入是第二个移位寄存器的输出

x4=y3; %第四个移位寄存器的输入是第三个移位寄存器的输出

y(i)=y4; %取出第四个移位寄存器的幅值为"0"和"1"的输出信号,即M序列

if y(i)>0.5,u(i)=-1; %如果M序列的值为"1", 辨识的输入信号取“-1”

else u(i)=1; %如果M序列的值为"0", 辨识的输入信号取“1”

end %小循环结束

y1=x1;y2=x2;y3=x3;y4=x4; %为下一次的输入信号做准备

end %大循环结束,产生输入信号u

figure(1); %第一个图形

stem(u),grid on %显示出输入信号M序列径线图并给图形加上网格

v=normrnd(0, sqrt(0.01), 1, 300);%均值为零的,方差为0.01或0.5或0.1不相关的随机噪声

ze(2)=0;ze(1)=0;

for k=3:301;

ze(k)=0*ze(k-1)+0*ze(k-2)+v(k-1);%C(z~1)=1,即取c1=0,c2=0

end

z(2)=0;z(1)=0; %设z的前两个初始值为零

for k=3:301; %循环变量从3到301

z(k)=-1.376*z(k-1)-0.483*z(k-2)+57*u(k-1)+0.42*u(k-2)+ze(k-1); %输出采样信号(测量值)

end

%RGLS广义最小二乘辨识

c0=[0.0001 0.0001 0.0001 0.0001]'; %直接给出被辨识参数的初始值,即一个充分小的实向量

pf0=10^6*eye(4,4); %直接给出初始状态P0,即一个充分大的实数单位矩阵

ce0=[0.001 0.001]';

pe0=eye(2,2);

c=[c0,zeros(4,299)]; %被辨识参数矩阵的初始值及大小

ce=[ce0,zeros(2,299)];

e=zeros(4,300); %相对误差的初始值及大小

ee=zeros(2,300);

s=0;

%广义最小二乘递推算法的计算步骤

for k=3:300;

zf(k)=z(k)+ce(1,k-2)*z(k-1)+ce(2,k-2)*z(k-2);

uf(k)=u(k)+ce(1,k-2)*u(k-1)+ce(2,k-2)*u(k-2);

hf1=[-zf(k-1),-zf(k-2),uf(k-1),uf(k-2)]';

x=hf1'*pf0*hf1+1; x1=inv(x); %开始求K(k)

k1=pf0*hf1*x1;%求出K的值

d1=zf(k)-hf1'*c0; c1=c0+k1*d1; %求被辨识参数c

e1=c1-c0; %求参数当前值与上一次的值的差值

e2=e1./c0; %求参数的相对变化

e(:,k)=e2; %把当前相对变化的列向量加入误差矩阵的最后一列

c0=c1; %新获得的参数作为下一次递推的旧参数

c(:,k)=c1; %把辨识参数c 列向量加入辨识参数矩阵的最后一列

pf1=pf0-k1*hf1'*pf0; %求出 p(k)的值

pf0=pf1; %给下次用

h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]';

s=s+(z(k)-h1'*[1.642 0.715 0.39 0.35]')^2;%求准则函数

ee(k)=z(k)-h1'*c1;

he1=[-ee(k-1),-ee(k-2)]';

x=he1'*pe0*he1+1; x1=inv(x);

k1=pe0*he1*x1;

d1=ee(k)-he1'*ce0;

ce1=ce0+k1*d1;

pe1=pe0-k1*he1'*pe0;

ce0=ce1;

ce(:,k)=ce1;

pe0=pe1;

end %大循环结束

c%辨识参数变化矩阵

%显示被辨识参数及其误差(收敛)情况

%分离参数

a1=c(1,1:300); a2=c(2,1:300);b1=c(3,1:300);b2=c(4,1:300);

c1=ce(1,1:300);c2=ce(2,1:300);

ea1=e(1,1:300); ea2=e(2,1:300);eb1=e(3,1:300); eb2=e(4,1:300);

figure(2); %第二个图形

i=1:300; %横坐标从1到300

plot(i,a1,'r',i,a2,'k',i,b1,'b',i,b2,'c',i,c1,'b',i,c2,'r') %画出a1,

a2,b1,b2,c1,c2的各次辨识结果

title('参数变化曲线') %图形标题

figure(3); %第三个图形

i=1:300; %横坐标从1到300

plot(i,ea1,'r',i,ea2,'k:',i,eb1,'b',i,eb2,'k:') %画出a1,a2,b1,b2,的各次辨识结果的收敛情况

title('误差曲线') %图形标题

系统辨识之经典辨识法

系统辨识作业一 学院信息科学与工程学院专业控制科学与工程 班级控制二班 姓名 学号

2018 年 11 月 系统辨识 所谓辨识就是通过测取研究对象在认为输入作用的输出响应,或正常运行时 的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。 辨识的内容主要包括四个方面: ①实验设计; ②模型结构辨识; ③模型参数辨识; ④模型检验。 辨识的一般步骤:根据辨识目的,利用先验知识,初步确定模型结构;采集 数据;然后进行模型参数和结构辨识;最终验证获得的最终模型。 根据辨识方法所涉及的模型形式来说,辨识方法可以分为两类:一类是非参 数模型辨识方法,另一类是参数模型辨识方法。 其中,非参数模型辨识方法又称为经典的辨识方法,它主要获得的是模型是 非参数模型。在假定过程是线性的前提下,不必事先确定模型的具体结构,广泛 适用于一些复杂的过程。经典辨识方法有很多,其中包括阶跃响应法、脉冲响应法、相关分析法和普分析法等等,本次实验所采用的辨识方法为阶跃响应法和脉 冲响应法。 1.阶跃响应法 阶跃响应法是一种常用非参数模型辨识方法。常用的方法有近似法、半对数法、切线法、两点法和面积法等。本次作业采用面积法求传递函数。 1.1面积法 ① 当系统的传递函数无零点时,即系统传递函数如下: G(S) = + ?11?1+?+ 1+1 (1-1) 系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取 微分方程的系数来辨识系统的传递函数。在求得系统的放大倍数K后,要得到无 因次阶跃响应y(t)(设τ=0),其中y(t)用下式描述: () ?1 () (1-2) 面积法原则上可以求出n为任意阶的个系数。以n为3为例。有: 3() 2() () {| →∞ =| →∞ =| →∞ = 0 (1-3) ()| →∞ = 1

最小二乘法在系统辨识中的应用

最小二乘法在系统辨识中的应用 王文进 控制科学与控制工程学院 控制理论与控制工程专业 2009010211 摘要:在实际的工程中,经常要对一个系统建立数学模型。很多时候,要面对一个未知的系统,对于这些未知系统,我们所知道的仅仅是它们的一些输入输出数据,我们要根据这些测量的输入输出数据,建立系统的数学模型。由此诞生了系统辨识这门科学,系统辨识就是研究怎样利用对未知系统的输入输出数据建立描述系统的数学模型的科学。系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用及其广泛的系统辨识方法。本文主要讲述了最小二乘估计在系统辨识中的应用。 首先,为了便于介绍,用一个最基本的单输入单输出模型来引入系统辨识中的最小二乘估计。 例如:y = ax + (1) 其中:y、x 可测,为不可测的干扰项,a未知参数。通过N 次实验,得到测量数据y k和x k ,其中k=1、2、3、…,我们所需要做的就是通过这N次实验得到的数据,来确定未知参数a 。在忽略不可测干扰项的前提下,基本的思想就是要使观测点y k和由式(1)确定的估计点y的差的平方和达到最小。用公式表达出来就是要使J最小: 确定未知参数a的具体方法就是令: J a = 0 , 导出 a 通过上面最基本的单输入单输出模型,我们对系统辨识中的最小二乘法有了初步的了解,但在实际的工程中,系统一般为多输入系统,下面就用一个实际的例子来分析。在接下来的表述中,为了便于区分,向量均用带下划线的字母表示。 水泥在凝固过程中,由于发生了一系列的化学反应,会释放出一定的热量。若水泥成分及其组成比例不同,释放的热量也会不同。 水泥凝固放热量与水泥成分的关系模型如下: y = a0+ a1x1+…+ a n x n + 其中,y为水泥凝固时的放热量(卡/克);x1~x2为水泥的几种成分。

系统辨识-最小二乘法MATLAB仿真

《系统辨识》基于MATLAB的最小二乘法(一阶)的仿真 clc clear % ①白噪声的生成过程如下:e=randn(1,500); e=e/std(e); e=e-mean(e); A=0; %白噪声的均值为0 B=sqrt(0.1); %白噪声的方差为0.1 e=A+B*e; %绘制白噪声图 k=1:500; subplot(4,1,1) %画四行一列图形窗口中的第一个图形 plot(k,e,'r'); xlabel('k'), ylabel('e');title('(0,1)均匀分布的随机序列') % ②生成M序列的过程如下:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初始状态(0101), Yi寄存器的各级输出 m=500; %M序列的总长度 for i=1:m Y4=X4; Y3=X3; Y2=X2; Y1=X1; X4=Y3; X3=Y2; X2=Y1; X1=xor(Y3,Y4); %异或运算 if Y4==0 U(i)=-1; else U(i)=Y4; end end M=U; u=U; %绘制M序列图? i1=i k=1:1:i1; subplot(4,1,2) %画四行一列图形窗口中的第二个图形 plot(k,U,k,U,'rx') stem(M) xlabel('k') ylabel('M序列') title('移位寄存器产生的M序列') % ③参数估计的过程如下: %绘制参数估计的相关图形 z=zeros(1,500); %定义输出观测值的长度 for k=2:500 z(k)=0.9*z(k-1)+u(k-1)+e(k);%用理想输出值作为观测值 end subplot(4,1,3) %画四行一列图形窗口中的第三个图形 i=1:1:500; %横坐标的范围从1到500,步长为1 plot(i,z) %图形的横坐标是采样时刻i,纵坐标是输出观测值Z, 图形格式为连续曲线

系统辨识

一、 最小二乘法(LS ) 辨识系统Z(K+2)=1.5*Z(K+1)-0.7*Z(k)+u(K+1)+0.5*u(k)+v(k) 辨识参数 L T L L T L LS y X X X 1)(-Λ =θ 其中 MAT 程序 >> x=[0 1 0 1 1 0 1 1 1]; >> n=403; >> M=[]; >> for i=1:n temp=xor(x(4),x(9)); M(i)=x(9); for j=9:-1:2 x(j)=x(j-1); end x(1)=temp; end >> v=randn(1,400); >> z=[]; >> z(1)=-1; >> z(2)=0; >> for i=3:402 z(i)=1.5*z(i-1)-0.7*z(i-2)+M(i-1)+0.5*M(i-2)+v(i-2); end >> H=zeros(400,4); >> for i=1:400 H(i,1)=-z(i+1); H(i,2)=-z(i); H(i,3)=M(i+1); H(i,4)=M(i); end >> Estimate=inv(H'*H)*H'*(z(3:402))' 辨识参数为: Estimate = -1.4916

1.0364 0.4268 >> 二、最小二乘递推法(RLS) 辨识Z(K+2)=1.5*Z(K+1)-0.7*Z(k)+u(K+1)+0.5*u(k)+v(k) 递推公式: 其中: MATLAB程序: >> x=[0 1 0 1 1 0 1 1 1]; n=403; M=[]; for i=1:n temp=xor(x(4),x(9)); M(i)=x(9); for j=9:-1:2 x(j)=x(j-1); end x(1)=temp; end v=randn(1,400); z=[]; z(1)=-1; z(2)=0; for i=3:402 z(i)=1.5*z(i-1)-0.7*z(i-2)+M(i-1)+0.5*M(i-2)+v(i-2); end P=100*eye(4); Pstore=zeros(4,401); >> Pstore(:,1)=[P(1,1),P(2,2),P(3,3),P(4,4)]; >> Theta=zeros(4,401); Theta(:,1)=[3;3;3;3]; >> K=[10;10;10;10];

系统辨识最小二乘参数估计matlab

最小二乘参数估计 摘要: 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。这种算法在使用时,占用内存大,离线辨识,观测被辨识对象获得的新数据往往是逐次补充到观测数据集合中去的。在应用一次完成算法时,如果要求在每次新增观测数据后,接着就估计出系统模型的参数,则需要每次新增数据后要重新求解矩阵方程()Z l T l l T l ΦΦΦ-∧=1θ。 最小二乘辩识方法在系统辩识领域中先应用上已相当普及,方法上相当完善,可以有效的用于系统的状态估计,参数估计以及自适应控制及其他方面。 关键词: 最小二乘(Least-squares ),系统辨识(System Identification ) 目录: 1.目的 (1) 2.设备 (1) 3引言 (1) 3.1 课题背景 (1) 4数学模型的结构辨识 (2) 5 程序 (3) 5.1 M 序列子函数 ................................................................................. 错误!未定义书签。 5.2主程序............................................................................................... 错误!未定义书签。 6实验结果: ................................................................................................................................... 3 7参考文献: ................................................................................................. 错误!未定义书签。 1.目的 1.1掌握系统辨识的理论、方法及应用 1.2熟练Matlab 下最小二乘法编程 1.3掌握M 序列产生方法 2.设备 PC 机1台(含Matlab 软件) 3引言 3.1 课题背景 最小二乘理论是有高斯(K.F.Gauss )在1795年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最

系统辨识复习资料

1请叙述系统辨识的基本原理(方框图),步骤以及基本方法 定义:系统辨识就是从对系统进行观察和测量所获得的信息重提取系统数学模型的一种理论和方法。 辨识定义:辨识有三个要素——数据、模型类和准则。辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型 辨识的三大要素:输入输出数据、模型类、等价准则 基本原理: 步骤:对一种给定的辨识方法,从实验设计到获得最终模型,一般要经历如下一些步骤:根据辨识的目的,利用先验知识,初步确定模型结构;采集数据;然后进行模型参数和结构辨识;最后经过验证获得最终模型。 基本方法:根据数学模型的形式:非参数辨识——经典辨识,脉冲响应、阶跃响应、频率响应、相关分析、谱分析法。参数辨识——现代辨识方法(最小二乘法等) 2随机语言的描述 白噪声是最简单的随机过程,均值为零,谱密度为非零常数的平稳随机过程。 白噪声过程(一系列不相关的随机变量组成的理想化随机过程) 相关函数: 谱密度: 白噪声序列,白噪声序列是白噪声过程的离散形式。如果序列 满足: 相关函数: 则称为白噪声序列。 谱密度: M 序列是最长线性移位寄存器序列,是伪随机二位式序列的一种形式。 M 序列的循环周期 M 序列的可加性:所有M 序列都具有移位可加性 辨识输入信号要求具有白噪声的统计特性 M 序列具有近似的白噪声性质,即 M 序列“净扰动”小,幅度、周期、易控制,实现简单。 3两种噪声模型的形式是什么 第一种含噪声的被辨识系统数学模型0011()()()()n n i i i i y k a y k i b u k i v k ===-+-+∑∑,式中,噪声序列v(k)通常假定为均值为零独立同分布的平稳随机序列,且与输入的序列u(k)彼此统计独立. 上式写成:0 ()()()T y k k v k ψθ=+。其中,()()()()()()()=1212T k y k y k y k n u k u k u k n ψ------????L L ,,,,,,, ) ()(2τδστ=W R +∞ <<∞-=ωσω2)(W S )}({k W Λ,2,1,0,)(2±±==l l R l W δσ2)()(σωω== ∑ ∞-∞=-l l j W W e l R S ???≠=≈+=?0 , 00,Const )()(1)(0ττττT M dt t M t M T R bit )12(-=P P N

2003版系统辨识最小二乘法大作业

西北工业大学系统辩识大作业 题目:最小二乘法系统辨识

一、 问题重述: 用递推最小二乘法、加权最小二乘法、遗忘因子法、增广最小二乘法、广义最小二乘法、辅助变量法辨识如下模型的参数 离散化有 z^4 - 3.935 z^3 + 5.806 z^2 - 3.807 z + 0.9362 ---------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 噪声的成形滤波器 离散化有 4.004e-010 z^3 + 4.232e-009 z^2 + 4.066e-009 z + 3.551e-010 ----------------------------------------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 采样时间0.01s 要求:1.用Matlab 写出程序代码; 2.画出实际模型和辨识得到模型的误差曲线; 3.画出递推算法迭代时各辨识参数的变化曲线; 最小二乘法: 在系统辨识领域中 ,最小二乘法是一种得到广泛应用的估计方法 ,可用于动态 ,静态 , 线性 ,非线性系统。在使用最小二乘法进行参数估计时 ,为了实现实时控制 ,必须优化成参数递推算法 ,即最小二乘递推算法。这种辨识方法主要用于在线辨识。MATLAB 是一套高性能数字计算和可视化软件 ,它集成概念设计 ,算法开发 ,建模仿真 ,实时实现于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。对 4324326.51411.5320120232320 Y s s s s G U s s s s ++++== ++++432 120120232320 E N W s s s s == ++++

基于最小二乘法的系统辨识的设计与开发(整理版)

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于最小二乘法的系统辨识的设计与开发(整理版)课程(论文)题目: 基于最小二乘法的系统辨识摘要: 最小二乘法是一种经典的数据处理方法。 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。 在系统辨识领域中, 最小二乘法是一种得到广泛应用的估计方法, 可用于动态系统, 静态系统, 线性系统, 非线性系统。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 关键词: 最小二乘法;系统辨识;参数估计 1 引言最小二乘理论是有高斯( K.F.Gauss)在 1795 年提出: 未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。 这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最好拟合的数学模型。 递推最小二乘法是在最小二乘法得到的观测数据的基础上,用新引入的数据对上一次估计的结果进行修正递推出下一个参数估计值,直到估计值达到满意的精确度为止。 1 / 10

对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。 最小二乘法是一种经典的数据处理方法。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 2 最小二乘法的系统辨识设单输入单输出线性定常系统的差分方程为: 1),()()() 1()(01knkubkubnkxakxakxnn ( 1)上式中: )(ku为输入信号;)(kx为理论上的输出值。 )(kx只有通过观测才能得到,在观测过程中往往附加有随机干扰。 )(kx的观测值)(ky可表示为 ( 2)将式( 2)代入式( 1)得 1()()() 1()(101kubkubnkyakyakyn (3) 我们可能不知道)(kn的统计特性,在这种情况下,往往把)(kn看做均值为 0 的白噪声。 设 ( 4)则式( 3)可以写成 (5) 在测量)(ku时也有测量误差,系统内部也可能有噪声,应当

系统辨识方法

系统辨识方学习总结 一.系统辨识的定义 关于系统辨识的定义,Zadeh是这样提出的:“系统辨识就是在输入和输出数据观 测的基础上,在指定的一组模型类中确定一个与所测系统等价的模型”。L.Ljung也给 “辨识即是按规定准则在一类模型中选择一个与数据拟合得最好的模型。出了一个定义: 二.系统描述的数学模型 按照系统分析的定义,数学模型可以分为时间域和频率域两种。经典控制理论中微 分方程和现代控制方法中的状态空间方程都是属于时域的范畴,离散模型中的差分方程 和离散状态空间方程也如此。一般在经典控制论中采用频域传递函数建模,而在现代控 制论中则采用时域状态空间方程建模。 三.系统辨识的步骤与内容 (1)先验知识与明确辨识目的 这一步为执行辨识任务提供尽可能多的信息。首先从各个方面尽量的了解待辨识的 系统,例如系统飞工作过程,运行条件,噪声的强弱及其性质,支配系统行为的机理等。 对辨识目的的了解,常能提供模型类型、模型精度和辨识方法的约束。 (2)试验设计 试验设计包括扰动信号的选择,采样方法和间隔的决定,采样区段(采样数据长度 的设计)以及辨识方式(离线、在线及开环、闭环等的考虑)等。主要涉及以下两个问 题,扰动信号的选择和采样方法和采样间隔 (3)模型结构的确定 模型类型和结构的选定是决定建立数学模型质量的关键性的一步,与建模的目的, 对所辨识系统的眼前知识的掌握程度密切相关。为了讨论模型和类型和结构的选择,引 入模型集合的概念,利用它来代替被识系统的所有可能的模型称为模型群。所谓模型结 构的选定,就是在指定的一类模型中,选择出具有一定结构参数的模型M。在单输入单 输出系统的情况下,系统模型结构就只是模型的阶次。当具有一定阶次的模型的所有参 数都确定时,就得到特定的系统模型M,这就是所需要的数学模型。 (4)模型参数的估计 参数模型的类型和结构选定以后,下一步是对模型中的未知参数进行估计,这个阶 段就称为模型参数估计。

系统辨识之最小二乘法

方法一、最小二乘一次性算法: 首先对最小二乘法的一次性辨识算法做简要介绍如下: 过程的黑箱模型如图所示: 其中u(k)和z(k)分别是过程的输入输出,)(1-z G 描述输入输出关系的模型,成为过程模型。 过程的输入输出关系可以描述成以下最小二乘格式: )()()(k n k h k z T +=θ (1) 其中z(k)为系统输出,θ是待辨识的参数,h(k)是观测数据向量,n(k) 是均值为0的随机噪声。 利用数据序列{z (k )}和{h (k )}极小化下列准则函数: ∑=-=L k T k h k z J 12])()([)(θθ (2) 使J 最小的θ的估计值^ θ,成为最小二乘估计值。 具体的对于时不变SISO 动态过程的数学模型为 )()()()()(11k n k u z B k z z A +=-- (3) 应该利用过程的输入、输出数据确定)(1-z A 和 )(1-Z B 的系数。 对于求解θ的估计值^θ,一般对模型的阶次 a n , b n 已定,且b a n n >;其次将(3)模 型写成最小二乘格式 )()()(k n k h k z T +=θ (4) 式中 ?????=------=T n n T b a b a b b b a a a n k u k u n k z k z k h ],,,,,,,[)](,),1(),(,),1([)(2121 θ (5)

L k ,,2,1 = 因此结合式(4)(5)可以得到一个线性方程组 L L L n H Z +=θ (6) 其中 ???==T L T L L n n n n L z z z z )](),2(),1([)](),2(),1([ (7) 对此可以分析得出,L H 矩阵的行数为),max(b a n n L -,列数b a n n +。 在过程的输入为2n 阶次,噪声为方差为1,均值为0的随机序列,数据长度)(b a n n L +>的情况下,取加权矩阵L Λ为正定的单位矩阵I ,可以得出: L T L L T L z H H H 1^ )(-=θ (8) 其次,利用在Matlab 中编写M 文件,实现上述算法。 此次算法的实现,采用6阶M 序作为过程黑箱的输入;噪声采用方差为1,均值为0的随机数序列;黑箱模型假设为:y(k)-1.5y(k-1)+0.7y(k-2)=2u(k-1)+0.5u(k-2),则系统输出为Z(k)-1.5Z(k-1)+0.7Z(k-2)=2U(k-1)+0.5U(k-2)+n (k );模型的阶次2,2==b a n n ;数据长度取L=200。 程序清单如下见附录:最小二乘一次性算法Matlab 程序 运行结果如下: 图1 最小二乘一次性算法参数真值与估计值 其中re 为真值,ans 为估计值^ θ 结果发现辨识出的参数与真值之间存在细微误差,这是由于系统噪声以及数据长度L 的限制引起的,最小二乘辨识法是一种无偏估计方法。 方法二、最小二乘递推算法: 最小二乘一次性算法计算量大,并且浪费存储空间,不利于在线应用,由此引出最小

系统辨识

最小二乘法的系统辨识 摘要:在研究一个控制系统过程中,建立系统的模型十分必要。因此,系统辨识在控制系统的研究中起到了至关重要的作用。本文主要介绍了系统辨识的最小二乘方法,最小二乘法的一次完成过程进行了推导,最小二乘法的一次完成的缺陷在于对于有色噪声并没有很好的辨识效果。其中系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用极其广泛的系统辨识方法,阐述了动态系统模型的建立及其最小二乘法在系统辨识中的应用,并通过实例分析最小二乘法应用于直流调速系统的系统辨识。 关键词:系统辨识、最小二乘法 一、系统辨识的定义 系统辨识、状态估计和控制理论是现代控制理论三个相互渗透的环节。1962年,L.A.zadeh给出“辨识”的定义为:系统辨识是在对输入和输出观测的基础上,在指定的一类系统中,确定一个与被识别的系统等价的系统。[1]最先提出了系统辨识的定义。 随着科技的发展,数学建模对科学研究及指导及生产都有非常重要的意义。给一个系统建立数学模型是一个比较复杂的工作,其中关键的一个环节是系统辨识。系统辨识就是研究如何利用系统的输入、输出信号建立系统的数学模型。[7]系统数学模型是系统输入、输出及其相关变量间的数学关系式,它描述系统输入、输出及相关变量之间相互影响、变化的规律性。换句话说,系统辨识就是从系统的运算和实验数据建立系统的模型(模型结构和参数)。系统辨识的三要素:数据、模型类和准则。系统辨识的基本原理:在输入输出的基础上,从一类系统中确定一个与所测系统等价的系统。[2] 二、最小二乘法的引出 最小二乘法是1795年高斯在预测星体运行轨道最先提出的,它奠定了最小二乘估计理论的基础.到了20世纪60年代瑞典学者Austron把这个方法用于动态系统的辨识中,在这种辨识方法中,首先给出模型类型,在该类型下确定系统模型的最优参数。 我们可以将所研究的对象按照对其了解的程度分成白箱、灰箱和黑箱。于其内部结构、机制只了解一部分,对于其内部运行规律并不十分清楚,这样的研究对象通常称之为“灰箱”;如果我们对于研究对象的内部结构、内部机制及运行规律均一无所知的话,则把这样的研究对象称之为“黑箱”。研究灰箱和黑箱时,将研究的对象看作是一个系统,通过建立该系统的模型,对模型参数进行辨识来确定该系统的运行规律。对于动态系统辨识的方法有很多,但其中应用最广泛,辨识效果良好的就是最小二乘辨识方法,研究最小二乘法在系统辨识中的应用具有现实的、广泛的意义。[4]

系统辨识经典辨识方法

经典辨识方法报告 1. 面积法 辨识原理 分子多项式为1的系统 1 1 )(11 1++++= --s a s a s a s G n n n n Λ……………………………………………() 由于系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取微分方程的系数来辨识系统的传递函数。在求得系统的放大倍数K 后,要先得到无因次阶跃响应y(t)(设τ=0)。大多数自衡的工业过程对象的y(t)可以用下式描述来近似 1)() ()()(a 111=++++--t y dt t dy a dt t y d a dt t y d n n n n K ……………………………() 面积法原则上可以求出n 为任意阶的各系数。以n=3为例,注意到 1|)(,0|)(d |)(d |)(d 23====∞→∞→∞→∞→t t t t t y dt t y dt t y dt t y …………………………() 将式()的y(t)项移至右边,在[0,t]上积分,得 ?-=++t dt t y t y a dt t dy a dt t y d a 01223 )](1[)() ()(…………………………………() 定义 ?-=t dt t y t F 01)](1[)(……………………………………………………………() 则由式()给出的条件可知,在t →∞ ?∞ -=01)](1[a dt t y ……………………………………………………………() 将式a 1y(t)移到等式右边,定义 )()]()([)() (a 201123 t F dt t y a t F t y a dt t dy t =-=+?…………………………………() 利用初始条件()当t →∞时 )(a 22∞=F …………………………………………………………………… () 同理有a 3=F 3(∞) 以此类推,若n ≥2,有a n =F n (∞) 分子、分母分别为m 阶和n 阶多项式的系统

系统辨识最小二乘法大作业 (2)

系统辨识大作业 最小二乘法及其相关估值方法应用 学院:自动化学院 学号: 姓名:日期:

基于最小二乘法的多种系统辨识方法研究 一、实验原理 1.最小二乘法 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。 设单输入-单输出线性定长系统的差分方程为 (5.1.1) 式中:为随机干扰;为理论上的输出值。只有通过观测才能得到,在观测过程中往往附加有随机干扰。的观测值可表示为 (5.1.2) 式中:为随机干扰。由式(5.1.2)得 (5.1.3) 将式(5.1.3)带入式(5.1.1)得 (5.1.4) 我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。 设 (5.1.5) 则式(5.1.4)可写成 (5.1.6) 在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。假定是不相关随机序列(实际上是相关随机序列)。 现分别测出个随机输入值,则可写成个方程,即 上述个方程可写成向量-矩阵形式 (5.1.7) 设 则式(5.1.7)可写为

(5.1.8) 式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出 (5.1.9) 如果噪声,则 (5.1.10) 从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘法来求的估值,以下讨论最小二乘法估计。 2.最小二乘法估计算法 设表示的最优估值,表示的最优估值,则有 (5.1.11) 写出式(5.1.11)的某一行,则有 (5.1.12) 设表示与之差,即 - (5.1.13)式中 成为残差。把分别代入式(5.1.13)可得残差。设 则有 (5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数 (5.1.15) 为最小来确定估值。求对的偏导数并令其等于0可得 (5.1.16) (5.1.17)

系统辨识与自适应控制读书报告

系统辨识与自适应控制读书报告 1、概述 20世纪60年代,自动控制理论发展到了很高的水平。与此同时,工业大生产的发展,也要求将控制技术提高到更高的水平。现代控制理论的应用是建立在已知受控对象的数学模型这一前提下的,而在当时对受控对象数学模型的研究相对较为滞后。现代控制理论的应用遇到了确定受控对象合适的数学模型的各种困难。因此,建立系统数学模型的方法——系统辨识,就成为应用现代控制理论的重要前提。在另一方面,随着计算机科学的飞速发展,计算机为辨识系统所需要进行的离线计算和在线计算提供了高效的工具。在这样的背景下,系统辨识问题便愈来愈受到人们的重视,成为发展系统理论,开展实际应用工作中必不可少的组成部分。 “系统辨识”是研究如何利用系统试验或运行的、含有噪声的输入输出数据来建立被研究对象数学模型的一种理论和方法。系统辨识是建模的一种方法,不同的学科领域,对应着不同的数学模型。从某种意义上来说,不同学科的发展过程就是建立他的数学模型的过程。辨识问题可以归结为用一个模型来表示客观系统本质特征的一种演算,并用这个模型把对客观系统的理解表示成有用的形式。当然也可以有另外的描述,辨识有三个要素:数据,模型类和准则。辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型。总而言之,辨识的实质就是从一组模型类中选择一个模型,按照某种准则,使之能最好地拟合所关心的实际过程的静态或动态特性。 自适应系统利用可调系统的输入量、状态向量及输出量来测量某种性能指标,根据测得的性能指标与给定的性能指标的比较,自适应机构修改可调系统的参数或者产生辅助输入量,以保持测得的性能指标接近于给定的性能指标,或者说测得的性能指标处于可接受性能指标的集合内。自适应系统的基本结构如图1所示。图中所示的可调系统可以理解为这样一个系统,它能够用调整它的参数或者输入信号的方法来调整系统特性。 未知扰动已知扰动 图1 自适应系统的基本结构 2、系统辨识的方法

系统辨识—最小二乘法

最小二乘法参数辨识 1 引言 系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类μ={M}(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。 2 系统辨识的目的 在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。 ①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。 ②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。 ③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测模型,对模型的结构及参数则很少再有其他要求。这时辨识的准则和模型应用的目的是一致的,因此可以得到较好的预测模型。 ④控制为了设计控制系统就需要知道描述系统动态特性的数学模型,建立这些模型的目的在于设计控制器。建立什么样的模型合适,取决于设计的方法和准备采用的控制策略。 3 系统辨识的方法 经典方法: 经典的系统辨识方法的发展已经比较成熟和完善,他包括阶跃响应法、脉冲

系统辨识

系统辨识理论综述 郭金虎 【摘要】全面论述了系统辨识理论的提出背景以及理论成果,总结了系统辨识理论的基本原理、基本方法以及基本内容,并对其应用及发展做了全面的讨论。 【关键词】系统辨识;准则函数 1概述 系统辨识问题的提出是由于随着科学技术的发展,各门学科的研究方法进一步趋向定量化,人们在生产实践和科学实验中,对所研究的复杂对象通常要求通过观测和计算来定量的判明其内在规律,为此必须建立所研究对象的数学模型,从而进行分析、设计、预测、控制的决策。例如,在化工过程中,要求确定其化学动力学和有关参数,已决定工程的反应速度;在热工过程中,要求确定如热交换器这样的分布参数的系统及动态参数;在生物系统方面,通常希望获得其较精确的数学模型,一般描述在生物群体系统的动态参数;为了控制环境污染,希望得到大气污染扩散模型和水质模型;为进行人口预报,做出相应的决策,要求建立人口增长的动态模型;对产品需求量、新型工业的增长规律这类经济系统,已经建立并继续要求建立其定量的描述模型。其他如结构或机械的振动、地质分析、气象预报等等,都涉及系统辨识和系统参数估计,这类要求正在不断扩大。 2系统辨识的基本原理 2.1系统辨识的定义和基本要素 实验和观测是人类了解客观世界的最根本手段。在科学研究和工程实践中,利用通过实验和观测所得到的信息,或掌握所研究对象的特性,这种方式的含义即为“辨识”。关于系统辨识的定义,1962年,L.A.Zadeh 是这样提出的:“系统辨识就是在输入和输出数据观测的基础上,在指定的一组模型类中,确定一个与所测系统等价的模型”。1978年,L.Ljung 也给出了一个定义:“辨识既是按规定准则在一类模型中选择一个与数据拟合得最好的模型”。可用图2-1来说明辨识建模的思想。 0 G g G 等价准则系统原型 系统模型激励信号y g y e J u 图2-1 系统辨识的原理

基于最小二乘法的系统参数辨识

基于最小二乘法的系统参数辨识 吴令红,熊晓燕,张涛 太原理工大学机械电子研究所,太原 (030024) E-mail lhwu0818@https://www.doczj.com/doc/f516857206.html, 摘要:系统辨识是自动控制学科的一个重要分支,由于其特殊作用,已经广泛应用于各种领域,尤其是复杂系统或参数不容易确定的系统的建模。过去,系统辨识主要用于线性系统的建模,经过多年的研究,已经形成成熟的理论。但随着社会、科学的发展,非线性系统越来越受到人们的关注,其控制与模型之间的矛盾越来越明显,因而非线性系统的辨识问题也越来越受到重视,其辨识理论不断发展和完善本。文重点介绍了系统参数辨识中最小二乘法的基本原理,并通过悬臂梁模型的辨识实例,具体说明了基于最小二乘法参数辨识在Matlab 中的实现方法。结果表明基于最小二乘法具有算法简单、精度较高等优点。 关键词:系统辨识;参数辨识;滑动平均模型(ARX);最小二乘法;Matlab 中图分类号:TH-9 1. 引言 所谓辨识就是通过测取研究对象在人为输入作用下的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据之中,辨识只不过是利用数学的方法从数据序列中提炼出对象的数学模型而已[1]。 最小二乘法是系统参数辨识中最基本最常用的方法。最小二乘法因其算法简单、理论成熟和通用性强而广泛应用于系统参数辨识中。本文基于悬臂梁的实测数据,介绍了最小二乘法的参数辨识在Matlab中的实现。 2. 系统辨识 一般而言,建立系统的数学模型有两种方法:激励分析法和系统辨识法。前者是按照系统所遵循的物化(或社会、经济等)规律分析推导出模型。后者则是从实际系统运行和实验数据处理获得模型。如图1所示,系统辨识就是从系统的输入输出数据测算系统数学模型的理论和方法。更进一步的定义是L.A.Zadeh曾经与1962年给出的,即“系统辨识是在输入和输出的基础上,从系统的一类系统范围内,确立一个与所实验系统等价的系统”。另外,系统辨识还应该具有3个基本要素,即模型类、数据和准则[5]。被辨识系统模型根据模型形式可分为参数模型和非参数模型两大类。所谓参数模型是指微分方程、差分方程、状态方程等形式的数学模型;而非参数模型是指频率响应、脉冲响应、传递函数等隐含参数的数学模型。在辨识工程中,模型的确定主要根据经验对实际对象的特性进行一定程度上的假设,如对象的模型是线性的还是非线性的、是参数模型还是非参数模型等。在模型确定之后,就可以根据对象的输入输出数据,按照一定的辨识算法确定模型的参数[4]。 y 图1 被研究的动态系统

系统辨识理论及应用(课后题答案第三章3.2、3.3)国防工业出版社

1、系统辨识——连续系统传递函数——脉冲传递函数function h=Continuous_system_transferFcn(N,G,dt) % N——系统阶数 % G——采样数据(个数大于等于2N+1) % G为一维行向量 % dt——采样间隔 if nargin<3 errordlg('not enough input varibles','error hint'); else g_NN=zeros(N,N); for i=1:N g_NN(i,:)=G(i+1:i+1+N-1); end g_N=-G(1:N)'; a=inv(g_NN)*g_N; %% x的求解 syms x for i=1:N X(i)=x^i; end f=X*a+1; x=double(solve(f)); %%极点的求解 p=log(x)/dt; c_NN=zeros(N,N); for i=1:N c_NN(i,:)=x.^(i-1); end c_N=G(1:N)'; %%增益求解 k=inv(c_NN)*c_N; p k z=zeros(1,N); p=p'; k=k'; Continuous_TransferFcn=0; for i=1:N Continuous_TransferFcn=Continuous_TransferFcn+zpk(z(i),p(i),k(i)); end Continuous_TransferFcn end end

例题 3.1(P32) >>G=[0 0.1924 0.2122 0.1762]; >> N=2; >> dt=1; >> Continuous_system_transferFcn(N,G,dt) p = -0.4934 -0.7085 k = 1.6280 -1.6280 Continuous_TransferFcn = 0.35024 s --------------------- (s+0.4934) (s+0.7085) Continuous-time zero/pole/gain model. 习题3.2(P34) >> G=[0 0.196 0.443 0.624 0.748 0.831]; >> N=3; >> dt=0.2; >> Continuous_system_transferFcn(N,G,dt) p = -0.0633 -1.7846 -11.1860 k = 1.1249 -1.3399 0.2150 Continuous_TransferFcn = -0.08507 s (s-253.1) ------------------------------- (s+0.06329) (s+1.785) (s+11.19) Continuous-time zero/pole/gain model.

系统辨识之经典辨识法

- -- 系统辨识作业一 学院信息科学与工程学院专业控制科学与工程 班级控制二班 姓名 学号 2018 年 11 月

系统辨识 所谓辨识就是通过测取研究对象在认为输入作用的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。 辨识的内容主要包括四个方面: ①实验设计; ②模型结构辨识; ③模型参数辨识; ④模型检验。 辨识的一般步骤:根据辨识目的,利用先验知识,初步确定模型结构;采集数据;然后进行模型参数和结构辨识;最终验证获得的最终模型。 根据辨识方法所涉及的模型形式来说,辨识方法可以分为两类:一类是非参数模型辨识方法,另一类是参数模型辨识方法。 其中,非参数模型辨识方法又称为经典的辨识方法,它主要获得的是模型是非参数模型。在假定过程是线性的前提下,不必事先确定模型的具体结构,广泛适用于一些复杂的过程。经典辨识方法有很多,其中包括阶跃响应法、脉冲响应法、相关分析法和普分析法等等,本次实验所采用的辨识方法为阶跃响应法和脉冲响应法。 1.阶跃响应法 阶跃响应法是一种常用非参数模型辨识方法。常用的方法有近似法、半对数法、切线法、两点法和面积法等。本次作业采用面积法求传递函数。 1.1面积法 ①当系统的传递函数无零点时,即系统传递函数如下: G(S) = a a a a+a a?1a a1?1+?+a1a+1 (1-1) 系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取微分方程的系数来辨识系统的传递函数。在求得系统的放大倍数K后,要得到无因次阶跃响应y(t)(设τ=0),其中y(t)用下式描述: a a a(a)a?1 (a) a a aa aa aa (1-2) 面积法原则上可以求出n为任意阶 的个系数。以n为3为例。有: a3a(a) a2a(a) aa(a) {aa|a→∞ =aa|a→∞ =aa|a→∞ = 0 (1-3) a(a)|a→∞ = 1

相关主题
文本预览
相关文档 最新文档