非线性系统辨识matlab实现.doc

约37页DOC格式手机打开展开

非线性系统辨识matlab实现,非线性系统辨识matlab实现全文37页 约23000字论述翔实摘 要本文介绍了基于matlab的使用最小二乘法进行参数辨识的设计与仿真方法。系统辨识就是通过对研究对象进行振动测试,量测研究对象在人工激励下的输出响应,或正常运行状态下的输入/输出数据,加以必要的分析、计算,识别出对象的动力学方程(数学模型)的理论和方法...
编号:10-22690大小:606.50K
分类: 论文>数学/物理论文

内容介绍

此文档由会员 痴狂少年 发布

非线性系统辨识Matlab实现

全文37页 约23000字 论述翔实

摘 要
本文介绍了基于MATLAB的使用最小二乘法进行参数辨识的设计与仿真方法。系统辨识就是通过对研究对象进行振动测试,量测研究对象在人工激励下的输出响应,或正常运行状态下的输入/输出数据,加以必要的分析、计算,识别出对象的动力学方程(数学模型)的理论和方法。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据中,辨识就是利用数学方法从数据中提炼出对象的数学模型。线性系统的模型辨识和参数估计,人们已经进行了深入的研究,并总结出一套成熟的方法。在现实中非线性是普遍存在的,而非线性系统的研究要比线性系统复杂的多,这里主要研究最小二乘法在非线性系统的研究,给出改进算法并用Matlab仿真。本设计涉及非线性系统、现代控制和Matlab等。首先简述参数辨识的概念和最小二乘法的基本原理.然后介绍如何采用MATLAB建立系统的仿真对象模型和运用MATLAB的M语言编写最小二乘递推算法.最后结合实例给出相应的仿真结果和分析。本文的仿真方法克服了传统编程语言仿真时繁杂、难度高、周期长的缺点。

关键词: MATLAB、白噪声、系统建模、系统辨识

Matlab realization of The nonlinear system recognizition

Abstract

This article introduced carries on the design and the simulation method based onMATLAB use least squares method which the parameter recognizes. The system recognizes is throughcarries on the vibration test to the research object, the research object under manual drive output response, or under the normal operation condition input/output data, performs the essential analysis, the computation, distinguishes the object the dynamic equation (mathematical model) theory and method. This is because the object dynamic characteristic was considered inevitably displays in its change input output data, recognizes is uses mathematics method to refine the object from the data the mathematical model. The linear system model recognizes with the parameter estimated that, the people have already conducted the thorough research, and summarizes set of mature methods. In the reality Central Africa linearity is the universal existence, but the nonlinear system research needs compared to linear system complex many, here mainly to study least squares method in the nonlinear system research, produces the improvement algorithm and uses the Matlab simulation. This design involves the nonlinear system, the modern control and Matlab and so on. First summarizes the concept which the parameter recognizes and the least squares method base wooden principle Then introduced how uses the MATLAB establishment system the simulation object model and is smallest using the MATLAB M language compilation two rides the recursion algorithm Finally unifies the example to produce the corresponding simulation result and the analysis. This article simulation method has overcome when the tradition programming language simulation numerous and diverse, the difficulty is high, the cyclical long shortcoming.
Key words:matlab, white noise, system modeling, the system recognizes




目 录
摘要
Abstract
1 绪论 1
1.1论文研究的目的和意义 1
1.2研究的国内外动态和趋势 1
1.3 主要研究内容 2
2 系统辨识的介绍 3
2.1 系统辨识概 3
2.2 系统辨识的内容和步骤 5
2.3系统辨识的方法 6
2.4系统辨识的应用 7
2.5 系统辨别的噪声干扰 8
2.6 最小二乘法的介绍 8
2.6.1 起源 8
2.6.2 最小二乘法概念 9
3 MATLAB简介 12
3.1 MATLAB概述 12
3.2 MATLAB技术的主要特点 13
4 非线性系统辨识 15
4.1 非线性系统辨识的概述 15
4.2 非线性系统参数估计的特点 15
4.3 非线性解耦问题对系统的影响 15
4.4 深入研究的非线性问题 16
5 系统程序设计 17
5.1白噪声产生程序 17
5.2 最小二乘一次完成算法辨识程序 18
6 结论 27
参考文献
致谢

非线性系统辨识Matlab实论

1 绪论

1.1论文研究的目的和意义
人类认识客观世界和改造世界的历史进程,总是由低级到高级,由简单到复杂,由表及里的纵深发展过程。在控制领域方面也是一样,最先研究的控制系统都是线性的。例如,瓦特蒸汽机调节器、液面高度的调节等。这是由于受到人类对自然现象认识的客观水平和解决实际问题的能力的限制,因为对线性系统的物理描述和数学求解是比较容易实现的事情,而且已经形成了一套完善的线性理论和分析研究方法。在现实中非线性是普遍存在的,而非线性系统的研究要比线性系统复杂的多,这里主要研究最小二乘法在非线性系统的研究,给出改进算法并用Matlab仿真。在系统辨识领域中,最小二乘法是一种得到广泛应用的估计方法,可用于动态,静态,线性,非线性系统。在使用最小二乘法进行参数估计时,为了实现实时控制,必须优化成参数递推算法,即最小二乘递推算法。线性系统的模型辨识和参数估计,人们已经进行了深入的研究,并总结出一套成熟的方法。这种辨识方法主要用于在线辨识。对于一个简单的系统,可以通过分析其过程的运动规律,应用一些已知的定理和原理,建立数学模型,即所谓的“白箱建模”。但对于比较复杂的生产过程,该建模方法有很大的局限性。由于过程的输入输出信号一般总是可以测量的,而且过程的动态特性必然表现在这些输入输出数据中,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。这种建模方法就称为系统辨识。把辨识建模称作“黑箱建模”。社会科学和自然科学的各个领域有很多学者在研究有关线性和非线性的辨识问题。
1.2研究的国内外动态和趋势
对于线性系统的模型辨识和参数估计,早在20世纪60年代初期,Zadeh就给出了系统辨识的定义,人们已经进行了深入的研究,并总结出一套成熟的方法:最小二乘法辨识方法、最大似然辨识方法,剃度辨识等等。这些理论和方法已在工程实际中得到了广泛的应用。研究辨识非线性系统模型及控制的理论和方法,进而对系统进行辨识、补偿或控制。若能够通过辨识得到其较准确的模型,则是控制问题的关键。但是,对于非线性系统来说,除极少数情况外,目前还没一套可行的通用方法,而且每种方法只能针对某一类问题有效,不能普遍适用。所以,可以这么说,我们对非线性控制系统的认识和处理,基本上还是处于初级阶段。因此,一个真实系统的非线性因素常常被我们所忽略了,或者被用各种线性关系所代替了。这就是线性系统理论发展迅速并趋于完善,而非线性系统理论长期得不到重视和发展的主要原因。工业生产的过程是复杂的,我们建立起来的模型也是不完善的。就是理论非常复杂的现代控制理论,其控制的效果也往往不尽人意,甚至在一些方面还不及传统的PID控制。70年代,人们除了加强对生产过程的建模、系统辨识、自适应控制等方面的研究外,开始打破传统的控制思想的观念,试图面向工业开发出一种对各种模型要求低、在线计算方便、控制综合效果好的新型算法。
1.3 主要研究内容
人类认识客观世界和改造世界的历史进程,总是由低级到高级,由简单到复杂,由表及里的纵深发展过程。在控制领域方面也是一样,最先研究的控制系统都是线性的。例如,瓦特蒸汽机调节器、液面高度的调节等。这是由于受到人类对自然现象认识的客观水平和解决实际问题的能力的限制,因为对线性系统的物理描述和数学求解是比较容易实现的事情,而且已经形成了一套完善的线性理论和分析研究方法。线性系统的模型辨识和参数估计,人们已经进行了深入的研究,并总结出一套成熟的方法。在现实中非线性是普遍存在的,而非线性系统的研究要比线性系统复杂的多,这里主要研究最小二乘法在非线性系统的研究,给出改进算法并用Matlab仿真。
早期的MATLAB是用FORTRAN语言编写的,尽管功能十分简单,但由于是免费的软件,还是吸引了大批使用者。经过了几年的校际流传,在JOHN LITTLE的推动下,于1984年成立了MATHWORKS公司,并正式推出了MATLAB。从这时起,MATLAB的核心采用C语言编写,功能也越来越强。它不仅具有数值计算功能,而且还具有符号计算、图形处理等功能。
以后,MATLAB版本不断更新。于1992年推出了具有划时代意义的4.0版本,并于1993年推出了其微机版本,使其应用范围越来越广。






















2 系统辨识的介绍

2.1 系统辨识概
系统是通过模型来表达的,因此系统辨识也称为模型辨识[1]。模型有如下一些表现形式:
(1)“直觉”模型。它指过程的特性以非线性解析的形式直接储存在人脑中,靠人的直觉控制过程的进行。
(2)物理模型。它是根据相似原理把时间过程加以缩小的复制品,或是实际过程的一种物理模拟。
(3)图表模型。它以图形或表格的形式来表现过程的特性。
(4)数学模型。它用数学结构的形式来反映实际过程的行为特性。
系统模型的建立分为机理建模、系统分析和系统辨识相结合的建模方法。1、机理建模是一种常用的建模方法,是根据系统的结果,分析系统运动的规律,利用已知的响应的定律、定理或原理,如化学动力学原理、生物学定律、牛顿定理、能量平衡方程和传热传质原理等推导出描述系统的数学模型,建立的模型可能是线性的或非线性的,这类建模有时也成为白箱建模。2、系统辨识是一种利用系统的输入输出数据建模的方法,是黑箱建模问题,即使对系统的结构和参数一无所知,也可以通过多次测量得到的系统的输入输出的数据来求得系统的模型,是对实际系统的一个合适的近似。在这方面线性系统的建模理论已成熟,有关科学的专业知识要求不变,获得的模型较简单。3、机理建模和辨识建模结合的方法使用于系统的运动机理不是完全未知的情况,称之为灰色建模。利用已知的运动机理和经验确定系统的结构和参数。
辨识问题包括模型结构辨识和参数估计。所谓的参数估计或点估计问题,即设X为一知参数,可以视为参数空间的X中的一个点,测量y是一个随机向量,其分量依赖于参数x。即根据y的一组样本对参数x的估计就称为参数估计问题。而系统的辨识是研究如何获得必要的系统输入输出的数据,以及如何从获得的数据构造一个相对真实地反映客观对象的数学模型,辨识就是在输入和输出的基础上由规定的一类系统模型中确定一个系统模型,使之于被测系统等价[12]。
系统辨识就是通过对研究对象进行振动测试,量测研究对象在人工激励下的输出响应,或正常运行状态下的输入/输出数据,加以必要的分析、计算,识别出对象的动力学方程(数学模型)的理论和方法。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据中,辨识就是利用数学方法从数据中提炼出对象的数学模型。目前,系统辨识理论研究己经取得大量研究成果,其应用领域也早就超出了控制工程的范畴,活跃在各个学科领域[10]。一切客观存在的事物及其运动形态都可以通称为系统(System)或过程(Process)。系统中包含着不同的交互作用,在受到外部激励作用时,能够产生信号响应(反应),我们研究(关心)的外部激励信号称为输入,而其余的信号称为干扰;系统的响应称为输出,系统本身的含义比较广泛,可以是某种工程系统、生物学系统、工业生产系统、经济或社会系统等。系统在现代科学中起着重要的作用,许多问题都可以在系统的框架结构内得到解决。
当我们研究一个系统时,我们需要对系统进行观测以了解系统内各个变量之间是如何相互作用的。在这种意义上来说,我们可以把各变量间的相互关系称为系统的模型,即把关于系统本质的部分信息用某种描述形式来表示[2]。它用来描述系统的运动规律,是分析系统动态特性、预报系统动态响应的有力工具。模型的形式是多样的,可以用不同的数学公式来描述。对某些系统,可以用数字表格和/或图形来描述其性质,称之为图表模型,也即非参数模型。例如对线性系统来说,其性质可以用脉冲响应、阶跃响应、频响函数来描述。但为了进一步研究和应用,我们必须给系统引入像代数方程、微分方程、差分方程、状态方程等形式的数学表达式来描述系统各个变量间的关系、反映系统的行为特性,这些模型称之为数学模型(解析模型)。我们可以进一步对数学模型分类,如连续、离散模型,集中、分布参数模型,线性、非线性模型,确定性、随机性模型等等。
现在数学模型已经应用于工程和物理学的各个领域,事实上,工程中最主要的问题也就是如何依靠数学模型来指导设计任务,其它方面则可用于模拟、预测。
建模的需要正在许多学科内兴起。建立所研究对象的数学模型,主要有两条途径:一条途径是将所研究的系统分解为若干个子系统,各个子系统的特性通常己经掌握,从而可以分别确定各个子系统的数学模型。实质上就是借助于已知的子系统的机理,或借助于己有的规律和经验,确定各个子系统的变量之间的关系,从而建立其数学模型。将这些子系统在数学上联系起来,就得出整个系统的数学模型,这就是机理分析法。在机理分析法建模过程中,不必要对实际系统进行任何实验,然而,上述机理建模工作并不总是可能的。因为人们对所研究系统的机理,其知识往往是不完全的;或者系统特性的变化方式是不可预计的,或者按照推理建模要花费很长时间,所建立起来的数学模型又过分复杂。在这些情况下,可以采用另一条在实验基础建立数学模型的途径,即对于一个己经存在的对象,
通过观测其输入、输出信号,来获取该对象的数学模型。这种建模的途径就称为系统辨识。在大多数情况下,为了建立一个系统的模型,往往是机理建模和实验建模相互结合。
由于系统辨识方法不破坏研究对象的原有结构,因此在以下几类系统的研究中就显得特别重要:(1)某些内部结构非常复杂的系统,例如社会经济系统。这类系统的内部不但变量数目众多,而且相互关系也错综复杂。我们即使打开这类黑箱,也往往只能从某一个局部来观察它们,采用不打开黑箱的方法,反而有利于从整体角度、从综合全局的角度来考察问题。(2)某些打开黑箱会严重干扰本身结构的系统。例如生物系统。到目前为止,我们打开这类黑箱的办法主要还是解剖,因此这类黑箱的结构就会受到严重的破坏,所观察到的内部结构与黑箱未打开时的结构可能大不相同。(3)至今人们尚无法直接观察和控制内部结构的系统。例如地球内部的结构,迄今我们还不能直接观察地心深部的情况。一些关于地球深部构造的模型,乃是人们通过对地球表面的一些输入输出变量的观测(如地磁、地变形、超声波等)来研究地球后得到的推理。
从机理上建立对象的模型,要求对于该建模对象中所发生的各种过程都要有充分的了解。这意味着建模人员应当具备建模对象内部机理的专门知识。但是,即使是在自然科学领域中,要求对建模对象的机理能完全掌握是很困难的。对事物的认识水平比较接近于这种要求的是电路系统和力学系统,即使这样,在利用推理方法建立这类系统的模型时,还需要进行许多简化和假设。为了保证所获得的结论是可靠的,用推理所建立的模型还必须要借助实验的结果来证实。推理模型中的一些参数,也要靠实验数据来确定。而对一些复杂的过程,如热工化工过程、生物医学系统、环境生态系统、社会经济系统等,目前人们对这些过程的机理的认识还不完善,因此对建模对象的模型结构形式往往亦难于确切判定。在这种情况下建模工作就必须更多地依赖实验观测的方法。当然,在采用实验方法建
模的过程中,我们不应当放弃运用己有的关于建模对象的内部机理知识和一些验前信息,相反,应该尽可能多的掌握验前知识。然后进行实验分析,通过观测大量的输入输出信号,按照一定方法对观察数据进行分析和处理,从而建立所研究对象的数学模型。
通过评价系统输入和输出信号,可以用计算机对过程进行分析或辨识,这种辨识的结果通常为数学模型,可以用此数学模型对系统的静、动力特性进行研究和预测。建立系统数学模型的重要性如下:
(1)用于控制系统的设计和分析。因为现代最优控制算法的设计只有在精确数学模型的基础上才能实现。利用辨识方法获得系统的数学模型后,就可以设计出比较合理的控制系统或分析原有控制系统的性能,以便提出改进。
(2) 系统仿真。用系统辨识得到对象的数学模型后,可以借此来了解系统的内部特征以及在给定输入信号下的响应,研究系统的动态特性是否符合设计标准。
(3) 用于系统预测。对于天气、水文、人口、能源等问题,常常需要对其发展状况进行预报预测,辨识用于预报的基本思想是,在模型结构确定的情况下,建立时变模型,并预侧时变模型的参数,然后进行预报。
(4) 用于监测系统参数并实现损伤识别和故障诊断。许多生产过程以及大型结构、设备,希望经常监测和检测可能出现的故障,以便及时排除,避免事故发生。这就意味着必须不断地收集信息,推断系统动态特性的变化,然后根据结构动态特性的变化来判断是否有故障发生、故障的位置及严重程度等。
实际的控制应用不能脱离被控系统的数学模型,在利用控制理论去解决实际问题时,通常需要先建立被控系统的数学模型。
系统建模的方法有两种:机理分析法和辨识。机理分析法通常需要通过分析对象的运动规律,运用一些已知的定律、定理和原理建立对象的数学模型,这种方法也称为理论建模。但是实际系统的激励往往难以精确描述,或者过于复杂不便于处理,所以常使用辨识的方法进行建模。
L.A.Zadeh给辨识下的定义是:“辨识就是在输入输出数据的基础上,从一组给定的模型类中,确定一个与所测系统的等价的模型”,系统辨识并不只是期望获得一个物理系统的确切的数学描述,而以把关于实际系统的本质部分的信息简缩成有用的描述形式,此模型能够描述原来被辨识系统的动态本质特征为目的,从这个意义上讲,所辨识的模型可以是一个“黑箱”。
辨识自上而下包括结构辨识和参数辨识两个过程,结构辨识主要是利用先验知识确定模型的结构,如线性系统的阶数或神经网络的层数和节点数等。在模型结构确定之后,利用各种优化技术来对模型中的各参数进行寻优,使建立的模型能真实地反映原来系统的动态特征,经过多次的反复,直到得到满意的模型。
2.2 系统辨识的内容和步骤

部分参考文献

[15] 高峰.基于多ANN结构的复杂系统辨识和控制.博士论文,1995
[16] 侯媛彬.一类非线性动态系统建模与控制研究.博士论文,1997
[17] 侯媛彬.降低一类神经网络灵敏度的理论和方法的研究. 西安公路交通大学学报,1998
[18] Carrol S M and Dickinson B W.Construction of Neural Nets Using Radon Transform. Proc.UCNN 1989
[19] Lippmann R P.An Introduction to Computing with Neural Nets.IEEE ASSP Magzaine 1987