APP下载

基于MATLAB系统辨识工具的系统辨识

2016-12-17中国长江三峡集团枢纽管理局吴凡李伟雄

河北农机 2016年11期
关键词:输入输出工具箱界面

中国长江三峡集团枢纽管理局 吴凡 李伟雄

基于MATLAB系统辨识工具的系统辨识

中国长江三峡集团枢纽管理局吴凡李伟雄

辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型。该文通过一个加热模型,介绍了在MATLAB环境下利用MATLAB系统辨识工具箱可视化操作,实现系统辨识的全过程。MATLAB系统辨识工具箱具有功能丰富、可扩展性好、使用方便、操作直观等特点。通过实际使用案例也证实工具箱的有效和可靠,可作为辨识研究和教学的辅助工具。

加热系统;系统辨识;可视化;MATLAB辨识工具箱

引言

在系统控制设计中,控制器参数的确定方法主要有工程方法和理论方法。工程方法不用建模,但存在调试困难、不容易达到到最佳效果的缺点。理论方法可克服这些缺点,但在系统辨识工具出现以前建立数学模型是一件难事,限制了理论法的应用。

系统辨识理论是通过考察输入输出数据建立动态系统模型的学科技术,是联系控制理论和数学模型的抽象世界与实际应用的现实世界的接口。MATLAB系统辨识工具箱的出现,为这一理论的应用提供了有力工具。应用系统辨识工具不需要对系统做任何分析,只需要记录在人为输入作用下的输出响应,或正常运行时的输入、输出记录的数据,就能建立动态系统的数学模型(“黑箱法”)。对于已知描述系统的数学方程形式(常微分或差分方程)的情况,也可以用此工具计算数学方程的各项系数,由此确定系统模型(“灰箱法”),这使得建模工作变得简单易行。因此,理论法将成为今后控制工程设计的主导方法。

1 辨识简介

对于一个系统,在输入、输出数据的基础上,从一组给定模型类中,确定一个与所测系统等价的模型,这种方法叫作辨识。系统测得数据用h(k)表示,输出用z(k)表示,辨识模型的输出估计为z^(k),实际输出与它的偏差为z(k)。辨识就是通过某种算法,利用模型输出与实际输出间的误差不断纠正模型参数,最终得到最优模型的过程。

2 基于MATLAB辨识工具箱加热系统的辨识

2.1系统参数模型的确定

SISO系统分为确定性模型和随机模型,由于加热系统会受到随机扰动的影响,其模型应为随机模型,随机模型的表示形式为:A(z-1)y(k)=z-dB(z-1)u(k)+c(z-1)ζ(k)(1)

式中,分别为系统的输入、输出和系统随机扰动,根据系统参数和控制量取值的不同,可将模型分为自回归模型(AR模型)、滑动平均模型(MA模型)、自回归滑动平均模型(ARMA模型)、带控制量的自回归模型(CAR模型也称ARX模型)、带控制量的自回归滑动平均模型(CARMA模型或称为ARMAX模型)和带控制量的自回归积分滑动平均模型(CARIMA模型或称为ARIMAX)。

该次对加热系统采用的为ARX模型,其表达式为:A(z-1)y(k) =z-dB(z-1)u(k)+ζ(k)(2)

2.2辨识输入/输出数据的获取

系统的基本模型确定后,我们就要获得输入输出信号,这里我们通过实验选取了一组阀控对称缸的输入输出数据。

3 基于MATLAB辨识工具箱的加热系统辨识过程

3.1辨识所针对的实际问题

有一个加热的系统,其加热原理是在其入口处采用网状电阻丝对其内空气进行加热,原理如同吹风机,此系统的输入为供给电阻丝的能量,系统输出时加热系统出口处空气的温度。这是典型的线性SISO系统,此系统包含1000个输入输出数据,现在要根据系统的输入输出数据找出描述系统特性的最佳模型。

3.2加热系统的辨识过程

(1)导入数据:由于此例子是MATLAB自带的,所以软件的数据包中已经存在,此数据在MATLAB中的名称为dryer2,因此我们只需在MATLAB Command Window窗口中输入如下指令:load dryer2,输入指令后,系统就会出现如图1所示的界面,可以看到在Workspacec窗口中出现了两组数据u2和y2,这两组数据正是上面所说加热系统的输入和输出数据u2为输入,y2为输出。

图1 数据加载界面

(2)导入数据到系统辨识工具箱GUI:在GUI图形界面中点击Import data(输入数据)>time domain date(时域数据)会弹出数据输入对话框,在对话框的input栏输入u2,在output栏输入y2,这里的两个输入栏是用来输入上面所说的系统输入和输出信号;Data name中输入的是辨识数据名称,默认为mydata,这里为了区分,我们就取数据名称为data;Statingtime输入框输入的是辨识的起始时间,也就是x轴(时间轴)的起始坐标,一般取0;samping interval输入的是采样间隔(单位s),这里的间隔时间要由具体的实验情况而定,此例的采样间隔设为0.08s,所有输入好后界面如图2所示。

图2 数据输入对话框

(3)数据属性输入完成后点击import按钮,系统返回到便是工具箱GUI界面,如图3所示,可以看到刚才设置的名为data的辨识数据已经被导入GUI中。

图3 data数据导入界面

(4)数据画图表即预处理。数据画图即将导入的数据生成图标,数据预处理包括对前面导入的data数据进行去偏移,以及将数据分成估计模型数据和验证模型数据两部分。

勾选GUI界面的time polt图框会弹出原始数据的图表界面,如图4所示,可以看到输入输出信号是有偏差的,点击GUI界面的preprocess(预处理)>remove mean(移除平局值),可以得到如图5所示的偏差消除后的输出数据,此时的数据平均值为0。与此同时,在GUI界面的数据方框中会出现一组datad数据,将图框中的数据拖入Workingdata方框中,如图7所示,此时数据处理的第一步已经完成。

图4 原始输入输出数据

图5 偏差消除后数据

(5)模型估计和验证:点击Estimate>polynomial models(多项式模型即线性模型)会弹出模型参数输入界面,在模型参数界面的structure(结构)参数栏选择ARX:[na nb nk]选项,在orders(阶数)参数栏输入(1:10 1:10 1:10),即模型三个变量的阶数为1~10阶,然后点击estimate按钮弹出图6所示的ARX参数模型界面,其中红、蓝、绿三条是不同算法下的吻合度最高的模型。

图6 ARX参数模型

其中红色表示的是用最小二乘法得到的模型,它也是符合度最高的模型,点击红色部分,然后点击insert按钮,模型就会自动加入GUI界面的import models中,然后勾选model output框,就会弹出模型输出曲线界面,如图7所示,估计输出与验证数据输出重合度达到89.78%,说明估计模型比较符合实际。

图7 ARX592模型输出

4 结论

该文讨论了MATLAB系统辨识仿真工具箱GUI模块的系统辨识过程。通过工具箱GUI模块可以非常方便地对“黑箱”系统进行系统辨识,不需要太多的编程,辨识的效率非常高。通过加热系统的整个辨识过程,我们看到了MATLAB系统辨识工具箱GUI功能的人性化,它将成为我们求解位置模型的好帮手。

[1]庞中华,崔红.系统辨识与自适应控制[M].北京:北京航空航天大学出版社,2009.8.

[2]方崇智,萧德云.过程辨识[M].北京:清华大学出版社, 1988,8.

[3]LjungL.ConvergenceAnalysisofParametric IdentificationMethods[J].IEEETrans.onAutomaticControl, 1978,AC-23:770-783.

猜你喜欢

输入输出工具箱界面
国企党委前置研究的“四个界面”
Camtasia Studio高清视频输入输出原理及方法
铁路信号系统安全输入输出平台
会“叫”的工具箱和工具
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
输入输出理论在大学英语听说课堂中的教学探索
基于MATLAB优化工具箱优化西洋参总皂苷提取工艺
输入输出视角下高职英语教学研究
电子显微打开材料界面世界之门
机械加工机床工具箱的优化设计