线性系统的系统辨识综述

2021-07-20 05:41昱,袁
探测与控制学报 2021年3期
关键词:传递函数建模状态

李 昱,袁 磊

(1.北京理工大学机电学院,北京 100081;2.北京特种车辆研究所,北京 100072)

0 引言

系统辨识是使用传递函数对所研究系统进行表征。在研究系统特性的过程中,掌握如何正确使用系统辨识工具十分重要。

目前对线性系统辨识的研究已经颇为深入。20世纪50年代末期便出现了传统的系统辨识,传统的系统辨识存在一定的局限性,仅适用于线性系统,对非线性系统的估计准确性较差[1]。近年来伴随着计算机硬件以及神经网络、遗传算法等理论的发展,系统辨识理论在非线性系统中又迎来了新的分析方法,这些方法统称为新型系统辨识方法[2-3]。

针对系统辨识参数计算算法的综述文章较多,但是针对在辨识过程中的系统模型结构建立以及选取的文章较少;同时,在建模过程中,模型结构正确地建立与合适地选取对计算的效率与最后结果的精度都有重要的影响[4-5]。本文着重对在线性系统辨识过程中的常用结构模型的形式、适用场景以及使用方法进行介绍与分析,同时介绍了适用于常用模型的计算算法,并使用系统辨识方法对实际问题进行了分析与求解。

1 系统辨识的概念及要素

系统辨识中“辨识”的定义[6]是1962年由美国著名控制理论专家Lotfi Aliasker Zadeh教授提出的:“辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。”

线性系统指的是同时满足叠加性与均匀性的系统,线性系统可用微分或者差分方程来表示。一般而言,线性系统的系统特性比较简单,处理起来较为容易,目前对线性系统辨识的研究较多,方法较为成熟。相对而言,非线性系统整体看来更加复杂,其中局部可以简化为线性系统处理。对非线性系统的辨识往往是将传统算法与神经网络、模糊逻辑、遗传算法等相结合[7],目前研究还处在发展的阶段。

系统辨识理论是现代控制理论的一个重要分支,系统辨识起源于现代控制理论的发展。在现代控制理论中,对于系统的设计和配置等都是在对系统动态特性掌握的前提下进行的,对系统动态特性的研究中,纯理论计算在现实条件下十分复杂甚至不可行,这时便需要利用实验数据直接拟合出特性相同或者相似的系统,从而代替原始系统,这种方法被称作系统辨识[8]。

理想条件下,一些相对简单的线性系统可以直接由物理学关系推导得出,例如在无误差以及环境干扰情况下的理想弹簧阻尼系统,任意两点间的速度、加速度等物理学关系可以由运动学方程组推导而出[9]。但现实条件下系统通常涉及到多个组成部分,每个部分之间的配合无法做到完全理想化,并且存在外界扰动,实际的传递关系更加复杂,物理学先验知识一般只能作为补充,利用系统辨识以及相关算法才可以得到更准确的数学表达式[10]。

系统辨识包含三个重要的因素:实验得到的系统输入输出作为辨识的数据基础;采用的适当的系统结构模型以最大化拟合的准确度;使用的参数计算算法以获得系统模型中的待定系数[11]。理想化的简单系统可以使用白箱法或直接计算法进行直接辨识,该方法是使用物理公式直接推导得出系统的传递函数;真实条件下的复杂系统可以使用黑箱法进行辨识,在只关注系统的输入输出而不关注系统的内部联系下找到等价系统的传递函数;将两种方法结合可以根据白箱法的系统特点得到关键参数(例如系统阶次等)为黑箱法的模型构建提供依据,称作灰箱法。在涉及到黑箱法的辨识中,最重要的两个步骤是辨识系统模型结构的选取与模型中参数的计算[12-13]。

2 模型结构与计算算法

2.1 线性系统建模的模型结构

2.1.1线性非参数化模型

线性非参数化模型,亦或直接辨识估计法,分为冲击响应直接辨识以及频率响应直接辨识,适用于简单系统在受到脉冲输入的实验条件下在时域与频域进行的系统辨识。

在时域下,一个线性系统可以用脉冲响应来描述[14]。该系统的性质为:

(1)

式(1)中,脉冲响应系数gk是使用相关分析法直接从输入/输出数据中估计得出的[15]。

线性系统的频率响应是其脉冲响应的傅里叶变换。输入和输出之间的关系为:

y(t)=G(z)u(t)+v(t)

(2)

系统的频率响应可以使用频谱分析法直接估计[16]。

线性非参数化模型结构简单,模型中没有需要调试的参数,计算量小,适用于一些简单的线性系统在受到脉冲输入时的系统辨识。在文献[17]中,对冲击响应下的磁悬浮轴承进行仿真辨识,将轴承与转子分别进行了简化,并在低转速下将系统中各部分视作刚体建模,最后得出准确的辨识结果。文献[18]对轴承在不同类型的冲击响应下进行系统辨识,建立系统模型并着重使用改进的相关分析算法对参数进行估计,并验证了该算法的可行性。因此在研究轴承一类简单的系统受到冲击响应下的系统特性,使用直接辨识估计法可以得到理想的结果。

2.1.2线性参数化模型

线性参数化模型的适用范围广泛,模型种类较多且较为复杂,依据不同的实际情况,前人设计出了多种模型结构,每种结构适用于不同特性的系统。

比较常见的线性参数化模型有:输入输出模型(传递函数模型)、状态空间模型、过程数学模型和多项式模型[19]。

1)传递函数模型

传递函数模型以传递函数的形式对系统进行表示,形式为:

(3)

该模型适用于连续时间与离散时间系统。由式(3)可知,系统的输入输出传递关系完全由Num/Den决定,因此,根据极点与零点的个数以及各项系数便可确定系统的传递函数。系统阶次可以通过系统的结构配合、物理学先验知识进行初步确定,对于参数的估计可以使用工具变量法(instrumental variable method,IV)[20]、状态变量滤波器法(state variable filter method,SVF)、广义泊松矩函数法(generalized poisson moment method,GPMF)以及子空间状态估计法(subspace state estimation method,N4SID)[21]进行。

在线性参数化模型中,传递函数模型的结构较为简单,在该模型中,需要调试的参数有零点以及极点的个数,对于一些简单或者理想化的系统,使用传递函数模型更加快捷方便。文献[22]对冰箱的内部温度的动态平衡状态进行研究,利用传递函数模型对其进行建模,集成和发展了冰箱负荷计算的传递函数模型,简化了计算过程。文献[23]对人体脉搏系统进行研究,将脉搏信号看作是一线性时不变系统在准周期脉冲序列激励下的输出,并建立了到脉搏系统的传递函数。仿真结果表明,该模型可以较真实地模拟人体脉搏信号。在简单的单输入单输出系统的辨识中,使用传递函数模型进行数学建模的准确度较高。

2)状态空间模型

状态空间模型以状态空间表达式[24]的形式对系统进行表示,形式如下:

(4)

和传递模型一样,该模型也适用于连续时间与离散时间系统。对于状态空间模型而言,最重要的参数是模型阶次,也就是状态向量x的维数。同样,系统的阶次可由先验知识进行初步确定[25],对于状态空间模型,参数矩阵的估计常用N4SID(子空间状态估计法)和PEM(最小误差估计法)来计算[26]。

状态空间模型在建模的过程中引入了对多个信号的矩阵表示,维数上更高,对于多输入多输出的系统而言,可以更好地进行表示。文献[27]在对汽车悬架系统特性的研究中,分别选取车身多个部位进行测量,利用状态空间模型对该系统进行建模,建立了4个输入3个输出模型,通过建模及仿真,得到了可以有效地研究汽车振动特性的方法。文献[28]研究了双率系统的系统辨识,经过推导得出该系统可被视作线性时不变多变量系统,研究该系统时搭建了状态空间模型,并证明了其可靠性。在研究多变量系统时,系统每个输入对应于每个输出均存在一个传递关系,使用状态空间模型可以使用矩阵的形式对系统的输入输出以及系统特性进行更有效地表示。

3)过程数学模型

过程数学模型用增量K、延迟Td和一个或多个时间常量来描述一个系统,形式如下:

(5)

式(5)中,e-sTd为系统延迟项,1+Tns为系统零点项,该模型是传递函数模型的简化。在工业过程中,针对典型的控制系统,使用过程数学模型表征系统特性准确度较高。

4)多项式模型

多项式模型以多项式的形式对系统进行表示,其中包括四个子模型:①自回归各态历经模型(autoregressive exogenous,ARX models);②有外源变量的随机预测数学模型(ARMAX models);③输出误差模型(output-error models);④时间序列预测模型(box-jenkins models)。

四种子模型均是多项式的形式,差别在于参数部分的表示有所不同,与传递函数模型以及状态空间模型不同的是其只适用于离散时间系统。

对于ARX模型来说,该模型是Matlab系统参数辨识中最经常使用到的参数模型,常用的模型结构为:

(6)

该模型需要调试的参数为极点个数、零点个数,以及系统的纯延时大小,对于没有时延的系统,可以将延时参数设置为1。模型参数可使用ARX以及IV算法进行估计。ARMAX、OE和BJ模型则是在ARX模型的基础上,引入了扰动而来的。

ARMAX模型的基本结构为:

(7)

OE模型的基本结构为:

(8)

BJ模型的基本结构为:

(9)

对于ARMAX、OE和BJ模型,参数的估计通常使用误差估计方法。上述四个子模型是多项式模型的四种不同的表述形式,其基本结构为:

(10)

多项式模型的优点:其一可以通过逐步叠加高次项来进行逼近,且往往项数越高,结果越贴近原始模型;其二,通过选择不同的复杂度子模型,既可以对简单系统进行表达又可以对复杂系统准确表征。文献[29]对阻尼器进行动力学建模,该阻尼器拥有多个组件并以不同方式相连,在建模时使用到了多项式模型,并在仿真后进行了模型验证以及误差分析,建立了一个12阶多项式参数模型;同样在文献[30]中,对磁流变阻尼器进行了研究,认为高次多项式拟合容易导致拟合曲线的两端出现剧烈地振荡,并且最后使用了分段三次多项式来表征系统并消除了振荡;在文献[31]中使用多项式模型对传感器的动态特性进行了建模并完成系统辨识;文献[32]在进行BDI指数预测时使用了ARMA以及ARMAX模型;文献[33]在进行径流短期预测中使用了ARMAX模型;文献[34]同样使用ARMAX模型对稳压设备进行建模。

对于以上各模型来说,不同的模型结构在传递函数的表达方式上存在差异,其本质都是为了用数学公式的形式表示出系统特性。例如传递函数模型与状态空间模型可以相互转化,过程数学模型则是对传递函数模型进行简化而来,而多项式模型中的四个子模型均是对基本结构进行不同程度地简化。其根本目的都是为了表达出系统的传递关系,不同点在于多项式模型等相对复杂的模型结构对于复杂的系统表征更加准确,相对来说系统拟合度更高,但计算量也相应增大。因此,根据不同实际情况选择合适的系统模型十分关键。

通过对上述各模型结构的理论分析以及学者们在系统辨识实验中的经验汇总,表1对线性系统辨识的模型结构相关特性做出归纳。

表1 常用传递函数模型结构特点Tab.1 Characteristics of commonly used transfer function model structures

2.2 模型参数的计算算法

线性系统常用的传统参数估计算法经过多年的发展研究已经颇为深入,这里只简单介绍一下上述涉及到的几种算法[35]。

2.2.1工具变量法(instrument variable)

工具变量法,亦或辅助变量法(auxiliary variable)是一种最小二乘参数估计法的延伸,其定义如下:

(11)

在收敛不到真值θ的情形下,可以用一个辅助向量z(t),使在N→∞时,辅助变量趋于(即收敛于)真值θ0。辅助变量法的关键在于如何构造一个满足上述条件的辅助变量,也就是说辅助变量应当与噪声v(t)不相关,而与φ(t)强相关。因此常见的一种选择是由输入激励和一个确定性系统产生的输出组成[36]。工具变量法与最小二乘法一样,作为最普适的估计算法,在系统模型的参数估计过程中有着频繁的应用。

2.2.2预测误差法(prediction error estimate)

PEM采用数值优化方法来最小化代价函数VN(G,H),定义如下:

(12)

式(12)中,e(t)为模型的测量输出与预测输出之差,e(t)为向量;代价函数VN(G,H)为标量值,下标N表示代价函数是数据样本个数的函数,N越大,代价函数越精确。预测误差法在状态空间模型以及多项式模型的参数估计中应用频繁。

2.2.3子空间辨识法(N4SID)

子空间辨识法可应用于多输入多输出模型,对于给定的一个未知的单入单出或多入多出系统,假定输入测量值为u,输出测量值为y,在系统可能存在噪声的情况下,估计出系统的状态空间模型。其直接利用输入输出数据的行与列估计出广义观测矩阵以及卡尔曼状态序列,利用最小二乘法求出系统的状态空间表达式[37]。子空间估计法对多输入多输出模型的估计效果较好,例如在状态空间模型中的应用十分广泛。

3 实际应用中不同线性系统辨识方法对比

在实际应用中,通过已知系统的特性、复杂度等情况可以先排除一些不适用或计算精度不高的方法。例如在简单的两物体钢性接触条件下可以首先使用传递函数模型,而在复杂的多物体系统中,可以首先使用多项式模型,在多输入多输出系统中,状态空间模型则更适用[38-39]。

为了验证并对比不同方法在实际应用中的区别以及适用性,本文对实际问题进行了实验与仿真分析。实验内容如下:已知某型炮弹及引信是通过螺纹刚性连接,获得了炮弹在弹底受到的轴向冲击与引信部位产生的轴向响应的相关数据,对炮弹底部到引信部位的响应传递进行系统辨识,以求得其弹底到引信的传递函数。

仿真部分使用的软件为Matlab 2019b,本文调用了Matlab 2019b中内置系统辨识工具箱,其中上述算法的相关函数已整合为库函数供用户直接调用,并且可以选择性使用内置的UI程序进行交互。由于计算量不高,分别使用了多种辨识方法进行计算,并对结果进行对比[40-42]。

已有数据是在1×10-5s的采样间隔下,记录的1 204组输入输出数据。使用Matlab 2019b软件对收集的数据进行处理与分析,根据数据点绘制的时间-响应图像如图1所示。

图1 时间-响应图像Fig.1 Time-response graph

仿真结果中,u1为弹体受到的冲击加速度,y1为引信体受到的冲击加速度。在引信弹体系统中,引信各部分以及弹体各部分间使用螺纹连接,系统的输入振动以波的形式通过弹体结构以及螺纹传递给引信结构,实验中将该系统视为线性系统,将输入输出数据导入Matlab进行系统辨识。鉴于对传感器固定方式及引信内部结构没有了解,遂使用黑箱法,即在不考虑物理学先验知识的前提下进行辨识。由于系统的输入为振动信号,因此选择使用线性参数化辨识模型作为系统的模型结构,即将收集到的传感器数据经过预处理后分别使用传递函数模型、状态空间模型、过程数学模型以及多项式模型进行系统辨识,通过对模型中的自定义参数进行设置来得到不同拟合度的曲线,然后选择性地在图像中展示了几种不同拟合度的结果,图中标有数字序号的代表仿真计算出的响应曲线。实验中将70%的拟合度定为可接受的拟合度,在这个数值附近或大于这个数值,则认为传递函数表达式可以较为准确地表征原始系统。为方便观察辨识曲线的差异,对不同辨识方法的结果曲线均取前30%进行放大与原曲线进行对比。

图2为根据实验输入输出数据点绘制的引信部位实际响应的加速度-时间图像。下文使用不同系统辨识模型对弹体引信进行系统辨识,得到的拟合度数据为仿真结果相对实际响应的准确程度。

图2 实际响应曲线Fig.2 Actual response curve

图3为使用传递函数模型对系统进行建模的仿真结果。结果显示仿真曲线与实际模型曲线有一定的差异,拟合度最高在72%左右,该表达式分母为五阶,分子为三阶,拟合度满足要求且表达式简洁,故使用传递函数模型表征系统较为合适。

图3 传递函数模型仿真结果Fig.3 Simulation results of transfer function model

图4为使用状态空间模型对系统进行建模的仿真结果,从辩识结果可以看出,实线仿真曲线与实际模型响应曲线差别较小,该曲线是在将模型阶次设置在30次附近时所得,拟合度可以达到71%左右,该拟合度相对较高,但是30阶模型得到的系数矩阵的规模达到了30×30,过于复杂,故适用性不高。

图4 状态空间模型仿真结果Fig.4 Simulation results of state space model

图5为使用过程数学模型对系统进行建模的仿真结果。经过仿真,得到过程数学模型的最大拟合度在58%左右,虽然得出的传递函数表达式简洁,但是曲线拟合度低于70%,故认为此模型不适用于该实验。

图5 过程数学模型仿真结果 Fig.5 Simulation results of process model

图6为使用多项式模型中的ARX子模型对系统进行建模的仿真结果。图中四条曲线中有三条拟合度较高,其中实线拟合度超过了90%。由图像可以得到结论:该系统在ARX模型建模下,随着对极点零点数目配置的提高,其拟合度会逐渐上升,最终达到94%左右,此时拟合度完全满足要求,但该传递函数多项式项数达到了300项以上,计算量庞大且表达式繁琐,故不推荐采用此方法。

图6 ARX模型仿真结果Fig.6 Simulation results of ARX model

图7为使用多项式模型中的ARMAX子模型对系统进行建模的仿真结果。使用ARMAX模型仿真出的传递函数拟合度在70%左右,但在零点极点个数达到上百个时,计算速度明显慢于ARX模型,故ARMAX模型同样不适用于该系统。

图7 ARMAX模型仿真结果Fig.7 Simulation results of ARMAX model

图8为使用多项式模型中的OE子模型对系统进行建模的结果,可以看到,当使用OE模型仿真时,模型阶次设置为10次时,拟合度最高达到80%左右。传递函数的项数为11项,相对于之前的ARX以及ARMX模型在80%拟合度时,计算量最小;相对于传递函数模型拟合度更高,表达式也比较简洁,因此OE模型对于炮弹引信振动响应系统的辨识来说也是一种适用的方法。

图8 OE模型仿真结果Fig.8 Simulation results of OE model

图9为使用多项式模型中的BJ子模型对系统进行建模的仿真结果。BJ模型在模型阶数达到30上下时,拟合度可以达到80%左右,此时多项式项数在60项左右。模型简洁程度要次于OE模型。综上所述,本研究中不同模型的拟合度和表达式复杂度如表2所示。

表2 传递函数拟合度Tab.2 Transfer functions’ fitting degree

图9 BJ模型仿真结果Fig.9 Simulation results of BJ model

从以上仿真结果可以看到,在弹体引信模型的系统辨识研究中,使用传递函数模型和OE模型获取系统传递函数,可以做到在传递函数表达式简洁的同时,达到相对较高的拟合度,故选该模型来计算系统传递函数比较合适。

4 结论

系统辨识作为系统特性研究中的重要手段,近几年来发展迅速,特别是针对线性系统的辨识方法已经发展成熟。在辨识的过程中,需要根据不同实际情况对辨识方法进行选择以便得到更好的拟合函数,系统模型的选择和参数辨识算法的选择在这个过程中至关重要,合适的模型算法可以更轻松地得到拟合度高的函数。

本文详细介绍了线性系统的辨识模型,并归纳总结了不同模型的特点与适用范围。在简单系统受到脉冲输入的实验条件下(如瞬时冲击)可首先使用线性非参数化模型;在简单系统受到非脉冲输入条件(如振动)可以首先使用传递函数模型;在多输入多输出系统的辨识中,可以使用状态空间模型以及子空间辨识算法;在已知传递函数符合传递函数模型且模型中部分阶次项系数已知时,可采用过程数学模型;在复杂系统阶次较高或对系统结构已知不多时,建议首先尝试多项式模型。最后,本文开展了基于实际应用的系统辨识算法研究,结果表明,研究炮弹引信系统或结构及特性相似的系统时,可以首先尝试使用传递函数以及OE方法进行建模。

猜你喜欢
传递函数建模状态
多尺度土壤入渗特性的变异特征和传递函数构建
长江上游低山丘陵区土壤水分特征曲线传递函数研究
物理建模在教与学实践中的应用
在经历中发现在探究中建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
智珠二则
生命的另一种状态
基于快速傅里叶变换的SmaartLive音频测量基本原理(节选)
“牛顿第一定律”练习