系统辨识—最小二乘法_第1页
系统辨识—最小二乘法_第2页
系统辨识—最小二乘法_第3页
系统辨识—最小二乘法_第4页
系统辨识—最小二乘法_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、最小二乘法参数辨识1 引言系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类=M(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数

2、,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。2 系统辨识的目的在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。 估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨

3、识的方法去估计那些参数。 仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。 预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测模型,对模型的结构及参数则很少再有其他要求。这时辨识的准则和模型应用的目的是一致的,因此可以得到较好的预测模型。 控制为了设计控制系统就需

4、要知道描述系统动态特性的数学模型,建立这些模型的目的在于设计控制器。建立什么样的模型合适,取决于设计的方法和准备采用的控制策略。3 系统辨识的方法经典方法:经典的系统辨识方法的发展已经比较成熟和完善,他包括阶跃响应法、脉冲响应法、频率响应法、相关分析法、谱分析法、最小二乘法和极大似然法等。其中最小二乘法(LS)是一种经典的和最基本的,也是应用最广泛的方法。但是,最小二乘估计是非一致的,是有偏差的,所以为了克服他的缺陷,而形成了一些以最小二乘法为基础的系统辨识方法:广义最小二乘法(GI S)、辅助变量法(IV)、增广最小二乘法(EI,S)和广义最小二乘法(GI S),以及将一般的最小二乘法与其他

5、方法相结合的方法,有最小二乘两步法(CORI S)和随机逼近算法等。经典的系统辨识方法还存在着一定的不足: (1)利用最小二乘法的系统辨识法一般要求输入信号已知,并且必须具有较丰富的变化,然而,这一点在某些动态系统中,系统的输入常常无法保证;(2)极大似然法计算耗费大,可能得到的是损失函数的局部极小值;(3)经典的辨识方法对于某些复杂系统在一些情况下无能为力。现代方法:随着系统的复杂化和对模型精确度要求的提高,系统辨识方法在不断发展,特别是非线性系统辨识方法。主要有:1、集员系统辨识法在1979年集员辨识首先出现于Fogel 撰写的文献中,1982年Fogel和Huang又对其做了进一步的改进

6、。集员辨识是假设在噪声或噪声功率未知但有界UBB(Unknown But Bounded)的情况下,利用数据提供的信息给参数或传递函数确定一个总是包含真参数或传递函数的成员集(例如椭球体、多面体、平行六边体等)。不同的实际应用对象,集员成员集的定义也不同。集员辨识理论已广泛应用到多传感器信息融合处理、软测量技术、通讯、信号处理、鲁棒控制及故障检测等方面。2、多层递阶系统辨识法多层递阶方法的主要思想为:以时变参数模型的辨识方法作为基础,在输入输出等价的意义下,把一大类非线性模型化为多层线性模型,为非线性系统的建模给出了一个十分有效的途径。3、神经网络系统辨识法由于人工神经网络具有良好的非线性映射

7、能力、自学习适应能力和并行信息处理能力,为解决未知不确定非线性系统的辨识问题提供了一条新的思路。与传统的基于算法的辨识方法相比较,人工神经网络用于系统辨识具有以下优点:(1)不要求建立实际系统的辨识格式,可以省去对系统建模这一步骤;(2)可以对本质非线性系统进行辨识;(3)辨识的收敛速度仅与神经网络的本身及所采用的学习算法有关;(4)通过调节神经元之间的连接权即可使网络的输出来逼近系统的输出;(5)神经网络也是系统的一个物理实现,可以用在在线控制。4、模糊逻辑系统辨识法模糊逻辑理论用模糊集合理论,从系统输入和输出的量测值来辨识系统的模糊模型,也是系统辨识的一个新的和有效的方法,在非线性系统辨识

8、领域中有十分广泛的应用。模糊逻辑辨识具有独特的优越性:能够有效地辨识复杂和病态结构的系统;能够有效地辨识具有大时延、时变、多输入单输出的非线性复杂系统;可以辨识性能优越的人类控制器;可以得到被控对象的定性与定量相结合的模型。模糊逻辑建模方法的主要内容可分为两个层次:一是模型结构的辨识,另一个是模型参数的估计。典型的模糊结构辨识方法有:模糊网格法、自适应模糊网格法、模糊聚类法及模糊搜索树法等。5、小波网络系统辨识法小波网络是在小波分解的基础上提出的一种前馈神经网络口 ,使用小波网络进行动态系统辨识,成为神经网络辨识的一种新的方法。小波分析在理论上保证了小波网络在非线性函数逼近中所具有的快速性、准

9、确性和全局收敛性等优点。小波理论在系统辨识中,尤其在非线性系统辨识中的应用潜力越来越大,为不确定的复杂的非线性系统辨识提供了一种新的有效途径,其具有良好的应用前景。1. 设计内容设SISO系统的差分方程为: 式(1-1)参数取真值为:,利用MATLAB 的M语言辨识系统中的未知参数、。2. 设计过程2.1 建立系统设SISO系统的差分方程为: 式(2-1)参数取真值为:,利用MATLAB 的M语言辨识系统中的未知参数、。要求:用参数的真值利用差分方程求出作为测量值,是均值为0,方差为0.1、0.5和0.01的不相关随机序列。选取一种最小二乘算法辨识。2.2 最小二乘简介2.2.1 最小二乘法的

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

11、于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。对于比较复杂的生产过程 ,由于过程的输入输出信号一般总是可以测量的 ,而且过程的动态特性必然表现在这些输入输出数据中 ,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。这种建模方法就称为系统辨识。把辨识建模称作“黑箱建模”。2.2.2 最小二乘法系统辨识结构:本文把待辨识的过程看作“黑箱”。只考虑过程的输入输出特性,而不强调过程的内部机理。+e(k) 图1 SISO系统辨识“黑箱”结构图y(k)u(k)z(k)v(k)图中,输入u(k)和输出z(k)是可以观测的;G()是系统模型,用来描述

12、系统的输入输出特性;N()是噪声模型,v(k)是白噪声,e(k)是有色噪声,根据表示定理:可以表示为e(k) =N()v(k) 2.2.3 准则函数 设一个随机序列的均值是参数的线性函数: ,其中是可测的数据向量,那么利用随机序列的一个实现,使准则函数: (式2-2)达到极小的参数估计值称作的最小二乘估计。最小二乘格式:,为模型参数向量,为零均值随机噪声。2.3 广义最小二乘法2.3.1 广义最小二乘数学模型式中,u(k)和表示系统的输入输出;v(k)是均值为零的不相关的随机序列;且2.3.2 广义最小二乘递推算法如下式中2.3.3 广义最小二乘递推算法的计算步骤:1.给定初始条件 2利用式,

13、计算和;3利用式,构造;4利用式递推计算;5利用和计算;6根据来构造;7利用返回第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。选择如下形式的辨识模型+y(k)u(k)e(k) z(k)+v(k)图2广义最小二乘法辨识实例结构图其中取c1=0,c2=0.3. 结果分析及算法优化由于辨识算法中输入或

14、噪声信号为不相关随机序列,所以每次辨识结果都不完全相同。但是,在相同输入、相同的噪声、相同的步长条件下,精度大体相同。算法优化方案:(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估计值相对误差估

15、计值相对误差估计值相对误差a11.3761.5534-2.01051.47300.12311.37230.0063a20.4830.6884-2.0054 0.58920.1061 0.48150.0231b10.570.7916-2.02160.67900.1821 0.57990.0510b20.420.6213-2.0013 0.53610.1161 0.42180.0234输入M序列,30步,噪声方差0.5时: =12.556;输入M序列,30步,噪声方差0.1时: =2.5822;输入M序列,30步,噪声方差0.01时:=0.1706;(2)、输入均采用M序列,噪声选择均值为零,方差

16、为0.5、0.1和0.01的随机序列,辨识步长均为300步,辨识结果如表3-2-2。表中给出了三种情况下辨识参数结果即表中的估计值,估计值与真值的相对误差. 表3-2-2真值噪声方差为0.5噪声方差为0.1噪声方差为0.01估计值相对误差估计值相对误差估计值相对误差a11.3761.3660-0.02801.37500.00791.37290.0005a20.4830.4749-0.0701 0.48590.0292 0.4710-0.0068b10.570.6613-0.12490.58270.0582 0.57200.0051b20.420.4112-0.0823 0.43440.0983

17、 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) 侯媛彬,

18、 汪梅, 王立琦,系统辨识及其MATLAB仿真,科学出版社,2004年2) 方崇智,萧德云,过程辨识,清华大学出版社,1988年3) 贾秋玲,袁冬莉,栾云凤,基于MATLAB7.x/Simulink/Stateflow系统仿真、分析及设计,西北工业大学出版社,2006年4) 李言俊,张科,系统辨识理论及应用,国防工业出版社,2006年课程心得上完这门课的第一次课,使我懂得了:辨识就是在输入和输出数据的基础上,从一组给定的模型中,确定一个与所测系统等价的模型。了解了辨识的一些基本概念。知道了辨识的内容和步骤。我们要判断一个模型是否和原有系统等价或者近似,就好像我们要认识一个人一样,必须通过多种方

19、法,方式去测试他。这就需要我们给这模型充分的最优激励。这个形象的比喻让我记忆深刻。接着我们学习了随即过程的概念及相关知识,谱密度函数等内容,这些为学习白噪声,M序列等典型激励提供了基础。有了激励U(k)必然有相应的输出Z(k)与之对应,通过一批一批的数据U(k) 、Z(k),通过用Matlab编程,能够算出模型的参数。最后学习的是模型的辨识方法,辨识方法有很多,但根据模型形式可以分成两类。一类是非参数模型辨识方法,另一种是参数模型辨识方法。第一种方法又称经典辨识方法,不必事先确定模型具体结构,可适用于复杂的线性过程。第二种方法又称现代辨识方法,必须假定一种结构模型,通过极小化模型与过程之间的误

20、差准则函数来确定模型的参数。这种方法中我们主要学得是最小二乘类方法。这次作业选择了一个较简单的仿真实例,通过这次作业知道了一些函数和指令的使用方法。以后我想我会努力用一些时间来继续学习这两方面的知识内容。最后感谢张老师的辛勤教育与谆谆教诲!附录广义最小二乘递推算法的MATLAB仿真程序源代码:clear %清理工作间变量L=300; % M序列的周期y1=1;y2=1;y3=1;y4=0; %四个移位寄存器的输出初始值for i=1:L;%开始循环,长度为L x1=xor(y3,y4); %第一个移位寄存器的输入是第三个与第四个移位寄存器的输出的“或” x2=y1; %第二个移位寄存器的输入是

21、第一个移位寄存器的输出 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 %大循环结束,产生输入信号ufigure(1); %第一个图形stem(u),grid on %显示出

22、输入信号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(z1)=1,即取c1=0,c2=0endz(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%RG

23、LS广义最小二乘辨识c0=0.0001 0.0001 0.0001 0.0001; %直接给出被辨识参数的初始值,即一个充分小的实向量pf0=106*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; %把当前相对变化的列向量加入误差矩阵的最后一列

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论