上机实习Ⅰ:系统辨识方法初识
- 格式:docx
- 大小:106.40 KB
- 文档页数:10
系统辨识第1讲《系统辨识》第1讲要点●引⾔课程名称:系统辨识(System Identification)现代控制论:辨识、状态估计和控制理论什么是辨识(Identification)?System Identification系统辩识,⼜译为“系统识别”和“系统同定”,⽬前尚⽆公认的统⼀定义。
《中国⼤百科全书》中记述为:系统辩识是根据系统的输⼊/输出时间函数,确定系统⾏为的数学模型,是现代控制理论的⼀个分⽀(中国⼤百科⾃动控制卷486-488页)。
(1) 辨识是研究建⽴系统或⽣产过程数学模型的⼀种理论和⽅法。
(2) 辨识是从含有噪声的测量数据(输⼊、输出数据)中提取被研究对象数学模型的⼀种统计⽅法。
(3) 辨识模型是对象输⼊输出特性在某种准则意义下的⼀种近似。
近似的程度取决于⼈们对系统先验知识的认识和对数据集性质的了解程度,以及所选⽤的辨识⽅法是否合理。
(4) 辨识技术帮助⼈们在表征被研究的对象、现象或系统、过程的复杂因果关系时,尽可能准确地确⽴它们之间的定量依存关系。
(5) 辨识是⼀种实验统计的建模⽅法。
通俗地说,系统辩识是研究怎样利⽤对未知系统的试验数据或在线运⾏数据(输⼊/输出数据)建⽴描述系统的数学模型的科学。
钱学森把系统⼴义概括为“依⼀定顺序相互联系着的⼀组事物”。
“系统辩识”是“系统分析”和“控制系统设计”的逆问题。
基于实际系统的复杂性,描述其特性的数学模型具有“近似性”和“⾮唯⼀性”;辩识⽅法亦有多样性。
没有绝对好的数学模型和绝对好的辩识⽅法。
什么是较好的模型?依据辩识的不同⽬的,有不同答案。
⼀般说,能够满⾜⽬的要求的,⽐较简单的模型,是较好的模型。
●课程内容第⼀部分:理论教学(共54学时)第1章辨识的⼀些基本概念(3学时)内容:系统和模型概念、建模⽅法、辨识定义、辨识问题的表达形式、辨识算法的基本原理、误差准则、辨识的内容和步骤、辨识的应⽤。
第 2 章随机信号的描述与分析(3学时)内容:随机过程的基本知识、相关函数、协⽅差函数、谱密度函数、线性过程在随机输⼊下的响应、⽩噪声及其产⽣⽅法、M序列及其性质。
《系统辨识基础》第1讲要点●引言课程名称:系统辨识基础Fundamentals of System Identification辨识(Identification)?(1) 辨识是研究建立系统或生产过程数学模型的一种理论和方法。
(2) 辨识是种从含有噪声的测量数据中提取被研究对象数学模型的一种统计方法。
(3) 辨识模型是对象输入输出特性在某种准则意义下的一种近似。
近似的程度取决于人们对系统先验知识的认识和对数据集性质的了解程度,以及所选用的辨识方法是否合理。
(4) 辨识技术帮助人们在表征被研究的对象、现象或系统、过程的复杂因果关系时,尽可能准确地确立它们之间的定量依存关系。
(5) 辨识是一种实验统计的建模方法。
●课程内容Part I 理论教学(课内48学时)第1章辨识的一些基本概念(3讲)内容:系统和模型概念、建模方法、辨识定义、辨识问题的表达形式、辨识算法的基本原理、误差准则、辨识的内容和步骤、辨识的应用。
参考书:《过程辨识》§1.1-§1.8第2章随机信号的描述与分析(3讲)内容:随机过程的基本知识、相关函数、协方差函数、谱密度函数、线性过程在随机输入下的响应、白噪声及其产生方法、M序列及其性质。
参考书:《过程辨识》§2.1-§2.3,§2.5-§2.6第3章过程的数学描述(1讲)内容:连续系统的输入输出模型、离散系统的输入输出模型、数学模型之间的等价变换、噪声模型及其分类。
参考书:《过程辨识》§3.1,§3.3-§3.4第4章经典的辨识方法(4讲)内容:Levy法、相关分析法、实验一辅导。
参考书:《过程辨识》§4.1,§4.4-§4.5第5章最小二乘参数辨识方法(7讲)内容:最小二乘法的基本概念、最小二乘问题的提法、最小二乘问题的解、最小二乘参数估计的收敛性、最小二乘参数估计的几何解析、最小二乘参数估计的统计性质、最小二乘参数估计的递推算法、最小二乘递推算法的几种变形。
实验一 离散模型的参数辨识一、实验目的1. 掌握随机序列的产生方法。
2. 掌握最小二乘估计算法的基本原理。
3. 掌握最小二乘递推算法。
二、实验内容1. 基于Box--Jinkins 模型模拟一个动态过程,动态过程取为各种不同的情况,输入信号采用M 序列,实验者可尝试不同周期的M 序列。
信噪比、观测数据长度也由实验者取为各种不同情况。
2. 模拟生成输入输出数据。
3. 根据仿真过程的噪声特性,选择一种模型参数估计算法,如RLS 、RIV 、RELS 、RGLS 、COR-LS 、STAA 、RML 或MLS 等,估计出模型的参数。
三、实验器材计算机 1台四、实验原理最小二乘法是一种经典的有效的数据处理方法。
它是1795年高斯(K.F.Guass )在预测行星和彗星运动的轨道时提出并实际使用的。
最小二乘法也是一种根据实验数据进行参数估计的主要方法。
这种方法容易被理解,而且由于存在唯一解,所以也比较容易实现。
它在统计学文献中还被称为线性回归法,在某些辨识文献中还被称为方程误差法。
正如各个学科都用到系统辨识技术建立模型一样,最小二乘法也用于很多场合进行参数估计,虽然不一定是直接运用,但很多算法是以最小二乘为基础的。
在系统辨识和参数估计领域中,最小二乘法是一种最基本的估计方法。
它可用于动态系统,也可用于静态系统;可用于线性系统,也可用于非线性系统;可用于离线估计,也可用于在线估计。
在随机的环境下利用最小二乘法时,并不要求知道观测数据的概率统计信息,而用这种方法所获得的估计结果,却有相当好的统计性质。
在系统辨识和参数估计领域中,应用最广泛的估计方法是最小二乘法和极大似然法,而其他的大多数算法都与最小二乘法有关。
最小二乘法采用的模型为11()()()()()A z y k B z u k e k --=+最小二乘估计是在残差二乘方准则函数极小意义下的最优估计,即按照准则函数ˆˆˆˆ()()min T T J ee Y Y ΦθΦθ==--= 来确定估计值ˆθ。
经典辨识方法报告1. 面积法辨识原理分子多项式为1的系统 11)(111++++=--s a sa s a s G n n nn Λ……………………………………………()由于系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取微分方程的系数来辨识系统的传递函数。
在求得系统的放大倍数K 后,要先得到无因次阶跃响应y(t)(设τ=0)。
大多数自衡的工业过程对象的y(t)可以用下式描述来近似1)()()()(a 111=++++--t y dtt dy a dt t y d a dt t y d n n n nK ……………………………() 面积法原则上可以求出n 为任意阶的各系数。
以n=3为例,注意到1|)(,0|)(d |)(d |)(d 23====∞→∞→∞→∞→t t t t t y dtt y dt t y dt t y …………………………() 将式()的y(t)项移至右边,在[0,t]上积分,得⎰-=++t dt t y t y a dtt dy a dt t y d a 01223)](1[)()()(…………………………………() 定义⎰-=tdt t y t F 01)](1[)(……………………………………………………………()则由式()给出的条件可知,在t →∞⎰∞-=01)](1[a dt t y ……………………………………………………………()将式a 1y(t)移到等式右边,定义 )()]()([)()(a 201123t F dt t y a t F t y a dtt dy t =-=+⎰…………………………………()利用初始条件()当t →∞时)(a 22∞=F …………………………………………………………………… ()同理有a 3=F 3(∞)以此类推,若n ≥2,有a n =F n (∞)分子、分母分别为m 阶和n 阶多项式的系统当传递函数的形式如下所示时111111)()(11)(u h K m n s a s a s a s b s b s b K s G n n n n m m m m ∞=≥++++++++=----ΛΛ…………………………………定义∑∞=----+=++++++++==1111111111)()(1)(i ii m m m m n n nn s c s b s b s b s a s a s a s P s P Ks G ΛΛ………………………………由于⎰∞--=-0**)](1[)](1[dte t h t h L st …………………………………………则)](1[*t h -的Laplace 变换为: ∑∑∞=∞=-+=-=-111*1)(11)](1[i iii i i s C sC s sP s t h L ……………………………………定义一阶面积1A 为:11110011lim )](*1[lim )](*1[c sC sC t h L dt t h A i ii i i i s s =+=-=-=∑∑⎰∞=∞=-→∞→………令 )1(1)]([1*1s c s t h L +=……………………………………………………………定义二阶面积为:2122**0012)1)(1()]()([limc s c s c sc dtd h h A i i i i i i is t=++=-=∑∑⎰⎰∞=∞=-→∞τττ…同理,令 )...1(1)]([11221*1---++++=i i i s c s c s c s t h L ……………………………………定义i 阶面积为i i c A =。
1请叙述系统辨识的大体原理(方框图),步骤和大体方式 概念:系统辨识就是从对系统进行观察和测量所取得的信息重提取系统数学模型的一种理论和方式。
辨识概念:辨识有三个要素——数据、模型类和准则。
辨识就是依照一个准则在一组模型类当选择一个与数据拟合得最好的模型辨识的三大要素:输入输出数据、模型类、等价准则 大体原理:步骤:对一种给定的辨识方式,从实验设计到取得最终模型,一般要经历如下一些步骤:按照辨识的目的,利用先验知识,初步肯定模型结构;收集数据;然后进行模型参数和结构辨识;最后通过验证取得最终模型。
大体方式:按照数学模型的形式:非参数辨识——经典辨识,脉冲响应、阶跃响应、频率响应、相关分析、谱分析法。
参数辨识——现代辨识方式(最小二乘法等) 2随机语言的描述白噪声是最简单的随机进程,均值为零,谱密度为非零常数的平稳随机进程。
白噪声进程(一系列不相关的随机变量组成的理想化随机进程) 相关函数: 谱密度: 白噪声序列,白噪声序列是白噪声进程的离散形式。
若是序列 知足: 相关函数: 则称为白噪声序列。
谱密度:M 序列是最长线性移位寄放器序列,是伪随机二位式序列的一种形式。
M 序列的循环周期 M 序列的可加性:所有M 序列都具有移位可加性辨识输入信号要求具有白噪声的统计特性 M 序列具有近似的白噪声性质,即 M 序列“净扰动”小,幅度、周期、易控制,实现简单。
3两种噪声模型的形式是什么第一种含噪声的被辨识系统数学模型0011()()()()nnii i i y k ay k i b u k i v k ===-+-+∑∑,式中,噪声序列v(k)通常假定为均值为零独立同散布的平稳随机序列,且与输入的序列u(k)彼此统计独立. 上式写成:0()()()Ty k k v k ψθ=+。
其中,()()()()()()()=1212T k y k y k y k n u k u k u k n ψ------⎡⎤⎣⎦,,,,,,,)()(2τδστ=W R +∞<<∞-=ωσω2)(W S )}({kW ,2,1,0,)(2±±==l l R l W δσ2)()(σωω==∑∞-∞=-l l j W W e l R S ⎩⎨⎧≠=≈+=⎰,00,Const )()(1)(0ττττTMdt t M t M T R bit)12(-=P PN第二种含噪声的被辨识系统数学模型:它与第一种的区别仅在于噪声的状况不同,第二种被辨识系统如下图所示:ξ(k)为噪声序列,假设为零均值独立同散布的平稳随即序列,且 ()()()y k x k k ξ=+ 由由以上两式可推导出0011()()()()nnii i i y k ay k i b u k i v k ===-+-+∑∑,式中01()()()ni i v k k a k i ξξ==--∑4论述最小二乘辨识方式的原理、数学模型和推导 数学模型:推导进程:含噪声的数学模型为:0011()()()()nnii i i y k ay k i b u k i v k ===-+-+∑∑式中,噪声序列v(k)通常假定为均值为零独立同散布的平稳随机序列,且与输入的序列u(k)彼此统计独立. 上式写成:0()()()Ty k k v k ψθ=+0θ是被辨识系统的真实参数向量(2n 维,n 为系统的阶数)。
论文系统辨识姿态角控制1.系统辨识概述辨识、状态估计和控制理论是现代控制理论三个相互渗透的领域。
辨识和状态估计离不开控制理论的支持,控制理论的应用又几乎不能没有辨识和状态估计技术。
随着控制过程复杂性的提高,控制理论的应用日益广泛,但其实际应用不能脱离被控对象的数学模型。
然而在大多数情况下,被控对象的数学模型是不知道的,或者在正常运行期间模型的参数可能发生变化,因此利用控制理论去解决实际问题时,首先需要建立被控对象的数学模型。
系统辨识正是适应这一需要而形成的,他是现代控制理论中一个很活跃的分支。
社会科学和自然科学领域已经投入相当多的人力去观察、研究有关的系统辨识问题。
系统辨识是建模的一种方法,不同的学科领域,对应着不同的数学模型。
从某种意义上来说,不同学科的发展过程就是建立他的数学模型的过程。
辨识问题可以归结为用一个模型来表示可观系统(或将要改造的系统)本质特征的一种演算,并用这个模型吧对客观系统的理解表示成有用的形式。
当然可以刻有另外的描述,辨识有三个要素:数据,模型类和准则。
辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型。
总而言之,辨识的实质就是从一组模型类中选择一个模型,按照某种准则,使之能最好地拟合所关心的实际过程的静态或动态特性。
通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。
对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。
对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。
而系统辨识所研究的问题恰好是这些问题的逆问题。
通常,预先给定一个模型类{}M(即给定一类已知结构的模型),一类输入信号u和等价准则(,)JLyyM(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择是误差函数J达到最小的模型,作为辨识所要求的结果。
系统辨识的常用方法系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型,是现代控制理论中的一个分支。
对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。
传统的系统辨识方法(1)脉冲响应脉冲响应一般是指系统在输入为单位冲激函数时的输出(响应)。
对于连续时间系统来说,冲激响应一般用函数h(t)来表示.对于无随机噪声的确定性线性系统,当输入信号为一脉冲函数δ(t)时,系统的输出响应 h(t)称为脉冲响应函数。
辨识脉冲响应函数的方法分为直接法、相关法和间接法。
①直接法:将波形较理想的脉冲信号输入系统,按时域的响应方式记录下系统的输出响应,可以是响应曲线或离散值。
②相关法:由著名的维纳—霍夫方程得知:如果输入信号u(t)的自相关函数R(t)是一个脉冲函数kδ(t), 则脉冲响应函数在忽略一个常数因子意义下等于输入输出的互相关函数,即 h(t)=(1/k)Ruy(t)。
实际使用相关法辨识系统的脉冲响应时,常用伪随机信号作为输入信号,由相关仪或数字计算机可获得输入输出的互相关函数Ruy(t),因为伪随机信号的自相关函数 R(t)近似为一个脉冲函数,于是h(t)=(1/k)Ruy(t).这是比较通用的方法。
也可以输入一个带宽足够宽的近似白噪声信号,得到h (t)的近似表示。
③间接法:可以利用功率谱分析方法,先估计出频率响应函数H(ω),然后利用傅里叶逆变换将它变换到时域上,于是便得到脉冲响应h(t)。
(2)最小二乘法最小二乘法(LS)是一种经典的数据处理方法, 但由于最小二乘估计是非一致的、有偏差的, 因而为了克服它的不足, 形成了一些以最小二乘法为基础的辨识方法:广义最小二乘法(GLS)、辅助变量法(IVA)和增广矩阵法(EM),以及将一般的最小二乘法与其它方法相结合的方法,有相关分析——-最小二乘两步法(COR —LS)和随机逼近算法.(3)极大似然法极大似然法(ML)对特殊的噪声模型有很好的性能,具有很好的理论保证;但计算耗费大, 可能得到的是损失函数的局部极小值。
上机实习Ⅰ:系统辨识方法初识12自动化许天野12350068指导老师:王国利摘要:系统辨识、状态估计和控制理论是现代控制论中相互渗透的三个领域。
控制理论的应用离不开系统辨识技术,实际中,许多控制系统的模型在工作中是变化的,为了实现自适应控制,需要系统辨识技术不断更新模型参数。
通过学习使用MATLAB软件,初步体验系统辨识方法。
关键字:系统辨识,控制理论,MATLAB。
Practice 1:Practice the method of System identification Abstract: System identification, State estimation and The Principle of Automatic Control are three different disciplines of the modern control theory, which are interpenetrated with one another. In practice, the model of system is changing all the time. To control adaptively, the system model should be update its parameters, by the method of System identification. By learning the using of MATLAB, we are supposed to practice the method of system identification.Key Words: System identification, System identification, MATLAB目录一、引言 (3)1.1介绍 (3)1.2实验目的 (3)二、实验内容和方法 (3)2.1实验内容 (3)2.2实验步骤 (3)2.2.1输入信号选择 (4)2.2.2 数据收集 (4)2.2.3 实验步骤 (4)三、实验结果 (5)四、实验分析探究 (7)4.1分析 (7)4.2探究 (7)4.3结果分析 (10)一、引言1.1介绍在自然科学和社会科学的许多领域中,人们越来越重视对系统进行定量的系统分析、系统综合、仿真、控制和预测。
将被控对象模型化,是开展工作的前提和基础。
基于传递函数的经典控制理论分析前需要确定模型的各个参数,忽略工作中的变化,适用于精度要求不高的情况下。
而实际中许多控制系统内部参数是未知的,而且工作中有可能会变化,这就需要系统辨识来确定模型参数。
通常为机理分析法和测试法相结合来辨识,对于系统机理已知的部分采用机理分析法,机理未知的部分采用测试法。
1.2实验目的本次实验通过使用MATLAB 仿真系统辨识的过程,以此熟悉系统辨识的基本过程与MATLAB 系统工具箱的使用,对系统辨识有更深的理解。
二、实验内容和方法2.1实验内容(1)通过系统的模型获取仿真试验数据(2)利用相关分析法来辨识系统的脉冲响应函数(3)对所获得的非参数模型进行检验,同时,分别对各种噪声模型的实验结果进行比对对于参数模型的辨识,通过选取各种不同的参数模型,进行系统的结构辨识,在此基础上应用各种参数估计算法来估计模型的参数,并对所估计的模型进行检验。
2.2实验步骤已知系统传递函数为3243211548765()125410865s s sG ss s s s-+-+=++++,实验借助这个已知模型,利用matlab仿真其响应,作为实验数据采集后,利用matlab系统辨识工具箱辨识出近似的系统模型,并且验证辨识出的模型和原来模型的对比。
根据这个思想,我设计进行一下实验。
2.2.1输入信号选择本实验的系统辨识是基于线性系统模型的,所以输入信号要尽量选择近似于线性,幅值在一定的范围内是线性的。
同时,输入信号要足够大以至于输出信号最大程度地由输入信号决定,抑制噪声和量化误差的作用。
所以这次试验采用正弦扫频信号和阶跃信号作为输入信号。
正弦信号周期为从t0~tf,频率为f0~f f,内的线性扫频信号。
2.2.2 数据收集实验数据收集必须有足够高的频率以收集到所有关注频率范围内的输入输出信号样本。
根据香农采样定理,采样信号的频率至少大于两倍的原始信号。
本实验中我们采用了100Hz 的采样信号进行采样。
部分代码如下:f0 = 0;ff = 2;dt = 1/100; %采样频率为100Hztmax = 20; %时间范围t = (0:dt:tmax)'; %所有采样时间点2.2.3 实验步骤1.用matlab建立一个如下的四阶系统2.产生输入激励信号(扫频,阶跃)u1/u2,激励系统产生输出,y1/y2。
w = 2*pi*(f0 + (ff-f0)*t/tmax);u1 = sin(w.*t/2); %扫频信号u2 = ones(size(u1)); %阶跃信号y1 = lsim(sys, u1, t); %两种激励下的相应y2 = lsim(sys, u2, t);3.画出两种输入输出信号的波形。
subplot(211) %分图显示plot(t, u1, t, y1); %扫频信号激励下的波形legend('u1', 'y1') %图标ylabel('Swept Frequency')gridsubplot(212)plot(t, u2, t, y2); %阶跃信号激励下的波形legend('u2', 'y2')ylabel('Step Response')xlabel('Time, Seconds')grid4.使用merge()函数对这两组数据进行融合,确定阶数之后,再使用n4sid()函数进行系统辨识。
如果阶数不确定,可以多试几次,以确定最接近的结果。
data = merge(iddata(y1, u1, dt), iddata(y2, u2, dt));%数据融合order = 4; %辨识前确定阶数id_sys = n4sid(data, order, 'focus', 'simulation');id_sys = d2c(id_sys);tf(id_sys)5.将辨识出的系统函数进行零极点图、时域波形对比。
figure(2)pzmap(sys,id_sys) %零极点图对比legend('Original System', 'Identified System')figure(3)[y_sys, t_sys] = step(sys, t);[y_id, t_id] =step(id_sys,t); %阶跃响应下的对比plot(t_sys,y_sys, t_id,y_id);legend('Original System', 'Identified System')ylabel('Step Response')xlabel('Time, Seconds')grid三、实验结果1、两种不同的激励信号下,系统产生的相应波形。
2、辨识出的系统模型和原始系统模型的零极点图对比:辨识出的零极点图和原图十分相近,说明辨识效果非常好。
3、辨识得出的系统和原始系统的阶跃响应波形对比:02468101214161820-2-1012S w e p t F r e q u e n c y2468101214161820-0.500.51Time, SecondsS t e p R e s p o n se-4-3-2-11234From u1T o y 1两者非常相近,说明辨识结果很好。
四、 实验分析探究4.1分析本次实验中,以一个确定的传递函数产生的输出信号作为系统辨识的采样数据,利用了Matlab 的系统辨识工具箱,得到了很好的效果。
在系统辨识的步骤中,关于系统的阶数实验前已经已知,如果实际中要求得辨识函数,还需要去试探。
4.2探究1、如果使用斜坡函数作为激励信号的话,系统辨识工具箱得出的结果是否也如此准确呢?将阶跃信号换成斜坡输入信号:u2 = ones(size(u1)); for i=1:2000u2(i+1,1)=u2(i+1,1)+i; end得出的结果:2468101214161820-0.6-0.4-0.200.20.40.60.811.2Time, SecondsS t e p R e s p o n s e在输出跟随输入这个方面,斜坡响应的误差更明显一些。
2468101214161820-2-1012S w e p t F r e q u e n c y2468101214161820-10000100020003000Time, SecondsS t e p R e s p o n seFrom u1T o y 1结果依然很令人满意。
可以看出,在改变输入激励信号之后,系统工具箱仍能给出满意的辨识结果。
2、如果在辨识之前,设定系统的阶数为3阶,结果会如何呢?Ordor=3 结果如下:Time, SecondsS t e p R e s p o n s e-10-5510From u1T o y 1显然和原传递函数相差很远。
4.3结果分析1、选择系统输入信号时,应选取线性幅值有界的信号,使得系统尽量工作在线性状态下。
这次试验选择了正弦扫频信号和阶跃信号作为输入,得出的结果非常精准。
后面探究证明,在斜坡函数激励下,也能得到很好的结果。
2、在实验过程中,需要估计系统的参数,应多次尝试,以得到最好的结果。
3、辨识结果的验证可以用单位阶跃函数来实现,因为单位阶跃函数在实际中很容易实现,并且结果简单易观察。
4、采样频率最少不低于被采样系统的最高频率的两倍。
要得到更加精确的结果,可以适当加大采样频率。
2468101214161820-0.6-0.4-0.200.20.40.60.811.21.4Time, SecondsS t e p R e s p o n s e。