系统辨识及自适应控制系统算法仿真实现郭金虎【摘要】系统辨识及自适应控制理论在系统建模和控制工程中都得到了广泛应用。本文结合增广最小二乘法和加权最小方差控制算法,将虚拟仪器技术应用于系统辨识及自适应控制中,通过与Matlab的程序接口调用Matlab子程序对系统响应信号进行计算辨识与控制。系统采用Lab-VIEW和Matlab的混合编程,实现了动态显示和交互分析的有机结合。结果表明,辨识参数误差较小,达到了自适应的控制要求。该仿真可用于工程研究,也可用于教学实验。【关键词】系统辨识;自适应控制;算法仿真;1引言与传统的控制方法相比,自适应控制方法显著的特点是不仅能控制一个已知系统,而且还能控制一个完全未知系统或部分未知系统。传统的控制方法如PID控制、状态反馈控制、最优控制等,其控制对象只能是一个己知系统,即参数已知、状态已知。它的控制策略、控制规律往往是建立在已知系统的基础上,而自适应控制的控制策略、控制规律建立在未知系统基础上,它还能有效地消除模型化误差等的影响。当控制对象的参数不全部己知,或者在运行变化过程中变化时,控制器必须能够自动地适应这种不确定性,这就涉及到自适应控制的辨识问题,系统建立数学模型中最重要的手段是系统在己知结构前提下的参数辨识方法,自适应控制系统要求系统进行在线参数辨识,可见实现参数辨识具有实际应用价值,能够紧密结合工业过程控制,针对比较实际的模型研究,针对性强,有较强的实用性。2系统辨识原理及其实现在系统辨识领域中,最小二乘法是一种基本的估计方法。最小二乘法可用于动态系统,也可用于静态系统;可用于线性系统,也可用于非线性系统;可用于离线估计,也可用于在线估计。在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。但最小二乘法具有两方面的缺陷,一是当模型噪声是有色噪声时,最小二乘估计不是无偏、一致估计;二是随着数据的增长,将出现所谓的“数据饱和”现象。针对这两个问题,出现了相应的辨识算法,如遗忘因子法、限定记忆法、偏差补偿法、增广最小二乘、广义最小二乘、辅助变量法、二步法及多级最小二乘法等。其中,最小二乘的一次完成算法是最基本的,也是应用最广泛的一种方法,其余的方法都是以最小二乘原理为基础推导出来的。本设计采用的是增广最小二乘法。考虑随机模型的参数估计问题时,首先考虑单输入单输出系统SISO,如图1所示。1Nqk1Gqukvkzkyk--图1SISO辨识系统的结构把待辨识的系统看做“黑箱”,它只考虑系统的输入输出特性,而不强调系统的内部机理。图1中,输入uk和输出yk是可以观测的;1Gq是系统模型,用来描述系统的输入输出特性;1Nq是噪声模型,vk是白噪声,ek是有色噪声,根据图1可以表示为1vkNqk(2-1)111BqGqAq;111CqNqDq(2-2)且有:112121nnAqaqaqaq(2-3)112121mmBqbqbqbq(2-4)112121hhCqcqcqcq(2-5)112121llDqdqdqdq(2-6)若SISO系统采用平均滑动模型,即:11DqAq;111AqykBqukCqk(2-7)若假定模型阶次n,m,l已经确定,则这类问题的辨识可用增广最小乘法,以便获得满意的结果。根据加权最小二乘参数估计递推算法,可以得到:ˆˆˆ11TkkKkykhkk(2-8)1111TKkPkhkhkPkhkk(2-9)1TPkIKkhkPk(2-10)如果11k,即所有采样数据都是等同加权时,增广最小二乘递推算法可写为ˆˆˆ11TkkKkykhkk(2-11)1111TKkPkhkhkPkhk(2-12)1TPkIKkhkPk(2-13)另外,可以用下式作为递推算法的停机标准:ˆˆ1ˆ1maxiiiikkk,是适当小的数(2-14)它意味着当所有的参数估计值变化不大时,即可停机。增广最小二乘递推算法,扩充了最小二乘法的参数向量和数据向量hk的维数,把噪声模型的辨识同时考虑进去,因此被称为增广最小二乘法。最小二乘法的许多结论对它都是适用的,但最小二乘法只能获得模型的参数估计。如果噪声模型必须用1Czk表示时,只能用增广最小二乘法,方可获得无偏估计,这是最小二乘法所不能代替的。增广最小二乘法辨识实例如下。数学对象为111dkkkAqyqBquCq(2-15)且有:11211.50.7Aqqq2-16)1110.5Bqq(2-17)11211.50.9Cqqq(2-18)模型结构选用如下形式:1.510.720.51dykykykqukuk1.510.92kkk(2-19)式中,1;1d或2;0kdy,3,2sgnsin225k。辨识所用的输入信号不能随意选择,否则可能造成不能辨识。目前常用的信号有:①随机序列(如白噪声)。②伪随机序列(如M序列或逆M序列)。③离散序列,通常指对含有n种频率(各频率不能满足整数倍关系)的正线组合信号进行采样处理获得的离散序列。系统辨识中,常把移位寄存器产生的M序列的逻辑0和逻辑1变换成a和a的序列作为系统的激励信号。本次设计采用的M序列作为辨识输入信号。3自适应控制原理及其实现在飞行器控制和许多工业过程控制中,控制对象的参数往往随工作环境的改变而变化,用常规的PID控制器来控制这一类控制对象,往往难以收到良好的控制效果。这是因为PID控制器很难适应参数随时间变化的情况。自校正控制适用于结构已知但参数未知而恒定的随机系统,也适用于结构已知但参数缓慢变化的随机系统。自校正控制既能完成调节任务,也能完成伺服跟踪任务。典型的自校正调节器的方框图,如图2所示。控制对象参数估计值调节器干扰yuˆ图2自校正调节器方框图它由控制对象、参数估计器和调节器3部分组成。参数估计器根据对象输出y和输入u的观测序列来估计被控对象的参数θ,将得到的参数估值θ送到调节器,调节器按事先已经选好的系统性能指标函数及送来的参数估值θ,对调节器的参数进行调整,保证系统运行的性能指标达到最优或接近最优状态。自校正控制系统的性能指标,根据控制系统的性质和对控制系统的要求,可有各种不同的形式,用的最普遍的为最小方差控制和极点配置控制。在设计中使用的是最小方差控制,它的目标函数为误差二次型,自校正控制的目的是保证这个二次型目标函数达到极小值。自校正控制用在线辨识的方法,估计被控对象的参数,然后计算出最优控制信号,使系统处于最优的工作状态。整个自校正控制过程的算法比较简单,便于工程实现,在许多领域都得到了应用,有着广阔的应用前景。采用加权最小方差控制,其目标函数为22kdkdkJEPyQyu(3-1)通过计算公式得:dPCAFqGA(3-2)kdkkdPyGCBFuCF(3-3)00kkkdBFCbpuGyCRy(3-4)2222kkkdkdkJEGyCBFuCRyEFEu(3-5)由于参数估计模型选得不同,最小方差自校正控制可分为显示和隐式两种。本次设计选用的是显示设计。显示自校正控制算法如下:①采样读取yk的观测值和uk值。②按递推最小二乘法或别的递推算法估计系统模型参数。③计算1Fq和1Gq的系数。④计算最优控制uk。当采样次数加1,即1kk时,重复上述计算步骤。4软件设计及其仿真测控领域中存在大量的建立系统数学模型问题。而对系统进行模型辨识经常要涉及大量的数据运算,测量仪器显然无能为力。于是,传统的方法是以特定设备尤其是特定软件对系统进行分析计算,这样显然很不方便。当前虚拟仪器已成为新兴的趋势,其“软件即仪器”的思想充分利用计算机丰富的软硬件资源,突破传统仪器在数据的处理、表达、传送、存储等方面的限制,达到传统仪器无法比拟的效果。软件设计包括参数传递与算法实现两部分。①参数传递LabVIEW函数子模板中,有一个重要的节点—脚本节点。此节点允许LabVIEW用户执行外部脚本。Matlab支持了两种数据接口(ImportingandEx-portingData)功能,使得用户可以十分方便地与其他的应用程序交换数据和信息。Matlab的数据接口如下:a)ASCII码的文本数据文件。b)Matlab定义的MAT型数据,即所谓的MAT文件。有很多种方式向Matlab系统输入数据,实际运用中用户应根据具体的数据量、数据格式来选择一种最佳的数据输入方式。常用的输入方法有:直接列表键入输入数据、创建一个输入数据M文件、装载一个已经存在的ASCII码数据文件、低层IO函数、使用MEX文件输入数据、开发一个专门的数据转换程序。本设计中,Matlab脚本节点的数据输入采用的是装载一个已经存在的ASCII码数据文件的方法。②算法实现LabVIEW实现控制信号类型的选择,对象模型的参数设定,最优预报d步的参数设定以及辨识结果和自适应控制结果的观察;Matlab脚本节点实现了系统参数辨识和自适应控制算法,实现了仿真对象模型的建立。M序列作为辨识所用的输入信号,加入白噪声作为干扰信号。5结语自适应控制技术目前广泛应用于许多领域,如机器人操作,飞机、导弹、火箭和飞船的控制,化工过程,工业过程,动力系统船舰驾驶,生物工程以及武器系统,并逐步渗透到经济管理、交通、通信等领域。可见,随着控制系统要求的不断提高,自适应理论及技术应用的前景十分广阔。本文利用虚拟仪器的智能化程度高、测试性能优越的特点,结合Matlab强大的运算能力,设计辨识系统可给人们提供更好的辨识环境和结果。通过LabVIEW与Matlab相结合的辨识及自适应设计,在虚拟仪器设计中充分利用专用计算软件,运用LabVIEW图形化编程,可以有效地对复杂算法进行仿真,且具有形象、直观、便于应用和易于理解等优于传统文本式编程语言的特点,对于提升系统整体性能具有较大的优越性和很高的效率。