系统辨识之经典辨识法
- 格式:docx
- 大小:1.00 MB
- 文档页数:18
系统辨识根底复习资料知识点汇总:1.所谓系统,按通常的意义去理解,就是按某种相互依赖关系联系在一起的客体的集合。
2.所谓系统辨识,利用对未知系统的试验数据或在线运行数据〔输入/输出数据〕以及原理和原则建立系统的〔数学〕模型的科学。
3.系统辨识的步骤:〔1〕先验知识和建模目的的依据;〔2〕实验设计;〔3〕结构辨识;〔4〕参数估量;〔5〕模型适用性检验。
4.系统的数学模型,描述系统输入与输出之间数量关系的数学表达式称为系统的数学模型。
5. 目前最流行的操纵系统辅助工具是Matlab。
6.机理分析和系统辨识相结合建模方法也称为“灰箱问题〞。
7.机理建模这种建模方法也称为“白箱问题〞。
8.频谱覆盖宽、能量均匀分布是白噪声信号的特点。
9.最小二乘法辨识方法不属于系统辨识的经典方法。
10.关于多阶最小二乘法,描述错误的选项是计算简单,计算量小,只用五步根本的最小二乘法可获得较好的结果。
11.渐消记忆法是指对旧数据加上遗忘因子,按指数加权来使得旧数据的作用衰减。
12.脉冲响应数学模型属于非参数型。
13.检验模型的标准是模型的实际效果,检验应从不同的侧面检验其可靠性。
14.与周期测试信号相比,阶跃响应法不能够比拟精确地反映对象的动态特性。
15.闭环系统前向通道的阶次不是可辨识的。
16.使辨识系统可被辨识的X要求是辨识时间内系统的动态必须被输入信号延续鼓励。
17.观测数据内容不属于系统辨识的根本内容。
18.输入数据不属于系统辨识过程中的3大要素。
19.棕箱不属于按提供的实验信息分类的建模方法。
20.数学建模不属于现代操纵论的三大支柱。
21.不属于传递函数辨识的时域方法的是时间图索法。
22.关于递推算法收敛性的结论错误的选项是递推辅助变量法收敛于非真值。
23.设A为n×n矩阵,B为n×m矩阵,C为m×n矩阵,并且A,A+BC和I+CA-1B 都是非奇异矩阵,则以下等式横成立的是A+BC-1=A-1-A-1BI+CA-1B]-1CA-1。
系统辨识方学习总结一.系统辨识的定义关于系统辨识的定义,Zadeh是这样提出的:“系统辨识就是在输入和输出数据观测的基础上,在指定的一组模型类中确定一个与所测系统等价的模型”。
L.Ljung也给“辨识即是按规定准则在一类模型中选择一个与数据拟合得最好的模型。
出了一个定义:二.系统描述的数学模型按照系统分析的定义,数学模型可以分为时间域和频率域两种。
经典控制理论中微分方程和现代控制方法中的状态空间方程都是属于时域的范畴,离散模型中的差分方程和离散状态空间方程也如此。
一般在经典控制论中采用频域传递函数建模,而在现代控制论中则采用时域状态空间方程建模。
三.系统辨识的步骤与内容(1)先验知识与明确辨识目的这一步为执行辨识任务提供尽可能多的信息。
首先从各个方面尽量的了解待辨识的系统,例如系统飞工作过程,运行条件,噪声的强弱及其性质,支配系统行为的机理等。
对辨识目的的了解,常能提供模型类型、模型精度和辨识方法的约束。
(2)试验设计试验设计包括扰动信号的选择,采样方法和间隔的决定,采样区段(采样数据长度的设计)以及辨识方式(离线、在线及开环、闭环等的考虑)等。
主要涉及以下两个问题,扰动信号的选择和采样方法和采样间隔(3)模型结构的确定模型类型和结构的选定是决定建立数学模型质量的关键性的一步,与建模的目的,对所辨识系统的眼前知识的掌握程度密切相关。
为了讨论模型和类型和结构的选择,引入模型集合的概念,利用它来代替被识系统的所有可能的模型称为模型群。
所谓模型结构的选定,就是在指定的一类模型中,选择出具有一定结构参数的模型M。
在单输入单输出系统的情况下,系统模型结构就只是模型的阶次。
当具有一定阶次的模型的所有参数都确定时,就得到特定的系统模型M,这就是所需要的数学模型。
(4)模型参数的估计参数模型的类型和结构选定以后,下一步是对模型中的未知参数进行估计,这个阶段就称为模型参数估计。
(5)模型的验证一个系统的模型被识别出来以后,是否可以接受和利用,它在多大程度上反映出被识别系统的特性,这是必须经过验证的。
经典辨识方法报告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 =。
系统辨识课程综述作者姓名:王瑶专业名称:控制工程班级:研硕15-8班系统辨识课程综述摘要系统辨识是研究建立系统数学模型的理论与方法。
虽然数学建模有很长的研究历史,但是形成系统辨识学科的历史才几十年在这短斩的几十年里,系统辨识得到了充足的发展,一些新的辨识方法相继问世,其理论与应用成果覆盖了自然科学和社会科学的各个领域。
而人工神经网络的系统辨识方法的应用也越来越多,遍及各个领域。
本文简单介绍了系统辨识的基本原理,系统辨识的一些经典方法以及现代的系统辨识方法,其中着重介绍了基于神经网络的系统辨识方法:首先对神经网络系统便是方法与经典辨识法进行对比,显示出其优越性,然后再通过对改进后的算法具体加以说明,最后展望了神经网络系统辨识法的发展方向。
关键字:系统辨识;神经网络;辨识方法0引言辨识、状态估计和控制理论是现代控制理论三个相互渗透的领域。
辨识和状态估计离不开控制理论的支持,控制理论的应用又几乎不能没有辨识和状态估计技术。
随着控制过程复杂性的提高,控制理论的应用日益广泛,但其实际应用不能脱离被控对象的数学模型。
然而在大多数情况下,被控对象的数学模型是不知道的,或者在正常运行期间模型的参数可能发生变化,因此利用控制理论去解决实际问题时,首先需要建立被控对象的数学模型。
所以说系统辨识是自动化控制的一门基础学科。
图1.1 系统辨识、控制理论与状态估计三者之间的关系随着社会的进步 ,越来越多的实际系统变成了具有不确定性的复杂系统 ,经典的系统辨识方法在这些系统中应用 ,体现出以下的不足 :(1) 在某些动态系统中 ,系统的输入常常无法保证 ,但是最小二乘法的系统辨识法一般要求输入信号已知,且变化较丰富。
(2) 在线性系统中,传统的系统辨识方法比在非线性系统辨识效果要好。
(3) 不能同时确定系统的结构与参数和往往得不到全局最优解,是传统辨识方法普遍存在的两个缺点。
1系统辨识理论综述1.1系统辨识的基本原理根据L.A.Zadel的系统辨识的定义:系统辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。
系统辨识的常用方法系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型,是现代控制理论中的一个分支。
对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。
传统的系统辨识方法(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)对特殊的噪声模型有很好的性能, 具有很好的理论保证;但计算耗费大, 可能得到的是损失函数的局部极小值。
系统辨识作业一学院信息科学与工程学院专业控制科学与工程班级控制二班XX学号2021 年 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 a a aa(1-2) 面积法原那么上可以求出n为任意阶的个系数。
以n为3为例。
有:a3a(a) a2a(a) aa(a){ aa|a→∞ =aa|a→∞ = aa|a→∞ = 0a(a)|a→∞ = 1将式〔1〕中的y(t)移至右边,在[0,t]上积分,得a2a(a)a3 aa aa (1-4) 定义:a1(a) = ∫0a[1 − a(a)]aa (1-5) 由式〔1-3〕条件可知,当t→∞时,a aa (1-6)同理,定义a2aa (1-7) 由式〔1-,3〕条件可知,当t→∞时,a aa (1-8)因此,可得a a(a) = ∫0a[a a−1(a) − a a−1a(a)] dt (1-9)a a= a a(∞) (1-10)②当系统的传递函数存在零点时,传递函数如下:G〔s〕=kb s mmn +ba s mn-1-1s mn-1-1 ++LL ++a sbs1+1+1,〔n m〕〔1-11〕1a s n +其中,K h= ( )/ U0定义1G(s)=KP(s)其中,P(s) = b sa s n mn ++ba s mn-1-1s mn-1-1++LL ++a sbs11 +1+1 = +1 i=1 C s i i〔1-12〕m根据[1−h*(t)]的Laplace变换,求出一阶面积A1,确定L[h〔*1 t ]〕,并定义二阶面积A2 ,以此类推,得到i 阶面积A i 。
经典辨识方法报告1. 面积法辨识原理分子多项式为1的系统 11)(111++++=--s a s a s a s G n n n n ……………………………………………()由于系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取微分方程的系数来辨识系统的传递函数。
在求得系统的放大倍数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 n……………………………() 面积法原则上可以求出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 iim 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 s C 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 ii 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 =。
系统辨识在控制系统中的应用:探讨系统辨识在控制系统中的应用和实践引言控制系统是现代科学和工程领域中的一项重要技术,用于监测和调节各种物理过程和工业系统。
控制系统依赖于准确的模型来预测和优化系统的行为。
然而,在实际应用中,往往很难获得系统的准确模型,因为系统特性受到许多因素的影响,如外部干扰、非线性特性和不确定性。
为了解决这个问题,系统辨识技术应运而生。
系统辨识是从系统输入输出数据中推断系统动态行为和结构特性的过程。
它可以用于识别系统的数学模型,并可应用于控制系统的设计和优化。
系统辨识在控制系统中的应用领域广泛,包括航空航天、汽车工业、电力系统、化学工程等。
在本文中,我们将探讨系统辨识在控制系统中的应用和实践,并介绍一些常见的系统辨识方法和技术。
系统辨识方法和技术系统辨识方法和技术是通过收集系统输入输出数据来推断系统的数学模型和参数。
系统辨识的过程可以分为离线辨识和在线辨识两种方法。
离线辨识离线辨识是指在事先收集到系统输入输出数据后,通过离线计算来推断系统模型和参数。
离线辨识的主要步骤包括数据采集、数据预处理、模型结构选择、参数估计和模型验证。
数据采集是系统辨识的第一步,它需要收集系统在正常操作下的输入输出数据。
数据采集可以通过实验测试或模拟仿真来完成。
数据预处理是对采集到的数据进行清洗和优化,以减少噪声和非线性误差的影响。
常用的数据预处理方法包括滤波、插值和归一化。
模型结构选择是指选择适合系统的数学模型结构,如线性模型、非线性模型、时变模型等。
常用的模型结构选择方法包括特征选择、正则化和模型比较。
参数估计是指通过最小化损失函数来推断系统模型中的参数。
常用的参数估计方法包括最小二乘法、极大似然估计和最大后验估计。
模型验证是指通过对比辨识模型的预测结果和实际数据来评估模型的准确度和鲁棒性。
常用的模型验证方法包括残差分析、模型拟合度和模型预测性能。
在线辨识在线辨识是指在实时系统操作中,通过实时收集系统输入输出数据来推断系统模型和参数。
系统辨识作业一学院信息科学与工程学院专业控制科学与工程班级控制二班姓名学号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将式(1)中的y(t)移至右边,在[0,t]上积分,得2()3(1-4) 定义:1( ) = ∫0[1 − ()] (1-5) 由式(1-3)条件可知,当t→∞时,(1-6)同理,定义2(1-7)由式(1-,3)条件可知,当t→∞时,(1-8)因此,可得( ) = ∫0[ −1( ) − −1()] dt (1-9)= (∞) (1-10)② 当系统的传递函数存在零点时,传递函数如下:=kG(s)b s mmn +ba s mn-1-1s mn-1-1 ++LL ++a sbs11 +1+1,(n m)(1-11)a s n +其中,K h= ( )/ U0定义1G(s)=KP(s)其中,P(s) = n mn ++ba s mn-1-1s mn-1-1++LL ++a sbs11 +1+1 = +1 i 1 C s i i(1-12)m根据[1−h*(t)]的Laplace变换,求出一阶面积A1,确定L[h(*1 t ]),并定义二阶面积A2 ,以此类推,得到i 阶面积A i 。
进一步利用e−st 拉氏变换,得到L[1−h*(t ])=M s i i ,进而得到A i 的值:i=0A= 01−h*(t)(i 1)!−−t)i−1dt +tj−=20 A i−−j101−h*(t)−j!t) j dt(1-13) (根据A C i = i ,可得:+ −1 −1 + ⋯ + 1 + 1= (+ −1 −1 + ⋯ + 1+ 1)(1 + ∑∞=1 )。
比较上式两边s的各次幂,便可得到a, b, A之间的关系,如下:b1 A n A n−1 L A n m− +1−1 A n+1b2 A n+1 A n L A n m− +2A n+2 =−M L L L L Mb m A n m+ −1 A n m+ −2 L A n A n m+b1a1 110 LL 0 00 0b M2 AA12(1-14)a2 = A1ML L L L L Mb m A na n A n−1 A n−2 L A1 10由此可知,根据式(1-12)、(1-13)、(1-14)便可得到辨识传递函数的参数a, b。
1.2实验过程 1.2.1无零点模型系统假设系统的传递函数模型为G(s) = 2 1 ,为无零点的模型,利用10+6.5+1Matlab 编程,分别在没有噪声和有噪声两种情况下进行辨识,比较辨识结果。
1.没有噪声时,程序如下:clear;%==================获得原传递函数方程=======================%num=[1]; den=[10 6.5 1];%=====================产生阶跃采样序列======================%T=0.2; %采样周期 t=0:T:30; %采样时间 L=length(t); %数据长度h=step(num,den,t); %原传递函数的阶跃响应K=h(L) %系统增益%======================面积法求解参数======================%s1=0; for i=1:L s1=s1+(1-h(i))*T; F(i)=s1; enda1=s1; s2=0;for i=1:L s2=s2+(F(i)-a1*h(i))*T; end a2=s2;num1=[1]; den1=[a2 a1 1];disp('原传递函数为:')G1=tf(num,den)disp('通过辨识得到的传递函数为:')G2=tf(num1,den1)%=============原传递函数和辨识函数的阶跃响应对比图=============% step(G1,'b-',G2,'r-.')title('原系统与辨识后所得到系统阶跃响应对比') legend('原响应曲线','辨识响应曲线') (1)当采样周期T=0.2秒,采样时间t=30s时,行程序后得到原传递函数G1和辨识得到的传递函数G2如图1.1:图1.1原系统和辨识后系统的阶跃响应对比图如下:图1.2(2) 当采样周期T=0.2秒,采样时间t=50s 时,行程序后得到原传递函数G1和辨识得到的传递函数G2如下:图1.3原系统和辨识后系统的阶跃响应对比图如下:(3)当采样周期T=0.02秒,采样时间t=50s时,行程序后得到原传递函数G1 和辨识得到的传递函数G2如下:图1.5原系统和辨识后系统的阶跃响应对比图如下:2.有噪声的情况下,系统程序如下:主程序还是用面积法,在程序中添加以下代码:%产生期望为0,方差为0.01的噪声figure(1) w=randn(1,L); % 建立服从正态分布的随机矩阵。
w=w/std(w);w=w-mean(w); qw=0;fc=0.01;w=qw+sqrt(fc)*w;%=====================阶跃采样序列中加入白噪声==================%h=h+w; plot(t,w);(1)加入的噪声如下图所示:图1.7(2)当采样周期T=0.02s,采样时间t=50s时,辨识结果如下:图1.8原系统与辨识系统阶跃响应如图所示:结合上述无测量噪声和有测量噪声两种情况下的辨识结果,列出如下所示的表格:表1-1结果可知,在相同的采样周期下,适当的增加采样时间,可以提高辨识精度,尤其是对增益的提高有很大影响;而在相同的采样时间下,适当的减小采样时间,对于系统参数的辨识精度有很大的提高。
因此,可以发现合理采样时间和数据长度,可以提高辨识的精度,令辨识后的传递函数系数与原传递函数系数更接近,差距小,从而得到满意的辨识结果。
通过对比无测量噪声和有测量噪声两种情况下的辨识结果,我们可以发现在白噪声的情况下,曲线拟合较无噪声情况下要差,说明白噪声对于面积法辨识系统存在较大的干扰,会对辨识结果产生一定的影响。
1.2.2有零点模型系统17.52+7.5+1 假设系统的传递函数为G(s) =43+52+8+1,为有零点的模型,其中n=3,m=2, 用面积法需要求解~5,利用 Matlab 编程,分别在没有噪声和有噪声两种情况下进行辨识,比1较辨识结果。
(1)没有噪声时,程序如下:clear;%==================获得原传递函数方程=======================%num=[17.5 7.5 1]; den=[4 5 8 1];%=====================产生阶跃采样序列======================%T=0.02; %采样周期 t=0:T:100; %采样时间 L=length(t); %数据长度 y=step(num,den,t);k=y(L) %系统增益%======================面积法求解参数======================%sum1=0; for i=1:L-1;sum1=sum1+(1-(y(i)+y(i+1))/2)*T;A(i)=sum1; end A1=sum1 sum2=0; fori=1:L-1;sum2=sum2+(A(i)-A1*(y(i)+y(i+1))/2)*T;B(i)=sum2; end A2=sum2 sum3=0; for i=1:L-1;sum3=sum3+(B(i)-A2*(y(i)+y(i+1))/2)*T;C(i)=sum3; end A3=sum3 sum4=0;for i=1:L-1;sum4=sum4+(C(i)-A3*(y(i)+y(i+1))/2)*T;D(i)=sum4; end A4=sum4 sum5=0; fori=1:L-1; sum5=sum5+(D(i)-A4*(y(i)+y(i+1))/2)*T; endA5=sum5%==============根据所得A(i),利用公式求取a、b=================%M=(-1)*(inv([A3,A2;A4,A3]))*[A4;A5];b1=M(1,1); b2=M(2,1);N=[1 0 0;A1 1 0;A2 A1 1]*[b1;b2;0]+[A1;A2;A3];a1=N(1,1); a2=N(2,1); a3=N(3,1);%================根据所求a、b,得到辨识后传递函数==============%num1=[b2 b1 1]; den1=[a3 a2 a1 1];disp('原传递函数为:')G1=tf(num,den)disp('通过辨识得到的传递函数为:')G2=tf(num1,den1)%=============原传递函数和辨识函数的阶跃响应对比图=============%step(G1,'b-',G2,'r-.')title('原系统与辨识后所得到系统阶跃响应对比') legend('原响应曲线','辨识响应曲线') 当采样时间取0.02秒,数据长度为100时,辨识结果如下:图1.10原系统与辨识后的系统阶跃响应对比图:当采样时间为0.02,数据长度为400时,系统辨识结果如下:原系统与辨识后的系统阶跃响应对比图:图1-13当采样时间为0.2秒,数据长度为400时,系统辨识结果如下:图1-14 原系统与辨识后的系统阶跃响应对比图:综上所述,结果如表结果可知,对于存在有零点的系统来说,通过面积法辨识系统必须合理的选择分子分母的阶次,否则不能得出正确的辨识结果。