参数辨识引言系统辨识主要有两大部分组成,一个是系统模型的辨识,它主要解决在对某一系统的模型不确定或完全未知的情况下,如何根据该系统对特定输入的响应来得到一个数学模型,并用此模型代替这一真实系统的问题;另一个是参数辨识,它主要解决当系统模型己知的条件下,确定模型中的一些未知参数的问题。参数辨识方法目前己经被用于飞行器气动参数辨识。飞行器气动辨识是一个系统工程,包括四部分:①试验设计,使试验能为辨识提供含有足够信息量且信息分布均匀的试验数据;②气动模型结果确定,即从候选模型集中,根据一定的准则和经验,选出最优的气动模型构式;③气动参数辨识,根据辨识准则和数据求取模型中待定参数,这是气动辨识定量研究的核心阶段;④模型检验,确认所得气动模型是否确实反映了飞行器动力学系统中气动力的本质属性。这四个部分环环相扣,缺一不可,要反复进行,直到对所得气动模型满意为止。气动参数辨识,以飞机试验数据分析为例,目前在工程上通常采用近似方法,数据处理效率低、处理结果精度差。在飞行试验测试手段日益发展的今天,从传感器信号调节、数据采集,到数据记录和处理,都已经具备了精度高、速度快的特点,如何准确、迅速地将真实的飞机气动特性从繁多地试验数据结果中分离出来,从而确定飞机的气动模型,已经成为从事飞行试验数据处理分析人员急需解决的问题。因此,研究飞机参数辨识方法来确定飞机气动参数,寻求一种准确、迅速的将真实的飞机气动特性从试验结果中分离出来的方法,对缩短数据处理时间和减少飞行试验周期等具有较大的应用价值。参数辨识的方法参数辨识方法主要有最小二乘算法、极大似然法、集员辨识法、贝叶斯法、岭估计法、超椭球法和鲁棒辨识法等多种辨识方法。虽然目前参数辨识的领域己经发展了多种算法,但是用于气动参数估计的算法主要有:极大似然法(ML),广义Kalman滤波(EKF)法,模型估计法(EBM)、分割及多分割算法(PIA及MPIA)、最小二乘法,微分动态规划法等。因为最小二乘法和极大似然法是两种经典的算法,目前己经发展得相当成熟,本文主要采用了这两种算法。最小二乘法适于线性模型的参数辨识,可以用于飞行器系统辨识中很多的线性模型,如惯性仪表误差系数的辨识,线性时变离散系统初始状态的辨识及多项式曲线拟合等。目前最小二乘法已经广泛应用于工程实际中。而极大似然算法因其具有渐进一致性、估计的无偏性、良好的收敛特性等特点而被广泛应用于飞行器参数辨识领域。最小二乘法大约是1975年高斯在其著名的星体运动轨道预报研究工作中提出来的。后来,最小二乘法就成了估计理论的奠基石。由于最小二乘法原理简单,编程容易,所以它颇受人们重视,应用相当广泛。长期以来,极大似然估计算法在实践中不断地被加以改进,这种改进主要表现在三个方面,即算法的优化、是否考虑过程噪声以及灵敏度的计算等。极大似然法具有集中处理数据的特点,即对一段时间历程上的数据集中分析,直接得到所需的气动参数,此方法也具有较高的精度,其估计具有一致性和无偏性。但是,它也有缺点,主要是计算所需时间较长,易于进行集中处理而不适合在线实时处理。1969年Taylor和Tliff采用修正的Gauss-Newton(MNR)法作为优化算法进行辨识工作,1983年Jatcgaonker和Plaetschke对MNR算法及极小搜索方法进行了比较研究,研究结果表明MNR算法的收敛速度最快,三十多年的应用也证明了MNR算法的有效性。对ML估计方法改进的另一方面在于灵敏度的计算,早期的工作是基于解析的方法,人为地推导灵敏度方程,其过程是非常繁琐的,为此Jategaonker等人发展了有限差分法,避免了人为选择摄动量的大小,但是其计算的精度还有待于进一步的提高。国内,崔平远等给出了基于正交试验的灵敏度递推计算方法,1992年李乃宏等给出了最佳摄动的确定方法,并且对Fisher信息阵的奇异问题也做了一定的研究。综上所述,最小二乘法和极大似然算法经过几十年的实践应用已经比较成熟,在飞行器气动参数辨识方面得到了广泛的应用。系统辨识的原理和方法系统辨识的基本原理1、系统辨识的定义和基本要素1978年瑞典著名学者L.Ljung给出系统辨识的定义:“辨识有三个要素即数据、模型类和准则,辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型。”该定义强调了系统辨识的三个基本要素,其中数据是指系统的输入输出数据,模型类则定义了模型的基本结构类型,准则即为评价模型与输入输出数据拟合程度的量度标准。2、系统辨识的等价准则等价准则也称为误差准则,是系统辨识问题中的基本要素之一,是用来衡量模型接近实际程度的标准,通常被定义为辨识模型与实际对象模型的误差的范函。这里所说的误差可以是输出误差、输入误差或广义误差。3、辨识的内容和步骤系统辨识的主要内容和包括四个方面:实验设计、模型结构辨识、模型参数辨识和模型验证。系统辨识的基本环节如下图所示。常用参数模型参数模型类是指利用有限的参数束表示对象的模型,常用的模型有:ARX模型、ARMAX模型、BJ模裂、输出误差模型和状态空间模型。其中ARX模型、ARMAX模型和BJ模犁可以用如下的一般参数模型表示:()()()()()()()()BqCqAqytutnketFqDq其中12121112111111()1...;()...;()1...;()1...;()1...;nananbnbncncndndnfnfAqaqaqaqBqbbqbqCqcqaqDqdqaqFqfqfq;na,nb,nc,nd和nf分别为相应的多项式的阶次,nk为对象的纯时延,e(t)为零均值白噪声。状态空间模型适用于描述多变量系统,其形式可以表示为:(1)()()()()()()xtAxtButytCxtDutvt时域极大似然法根据试验数据求取系统数学模型中的待定参数,就是所谓的参数估计问题。参数估计包括准则和算法两部分。准则用以判断计算所得参数是否是待定参数的真值,最能满足准则要求的参数就作为待辨识参数的真值的最好估计。有了准则,参数估计问题就化为求某准则函数达极值的优化计算问题。目的在参数辨识的众多准则和算法中应用最广泛的准则是极大似然准则,最常用的算法是牛顿一拉夫逊算法。极大似然概念是费歇尔(R.A.Fisher)引入的,他认为若系统模型是正确的,则有关系统中未知参数的信息全部包含于似然函数之中。对于给定观测量Z,参数估计的极大似然法就是选取参数^使似然函数L达极大值。^max(|)|lZ对给定的一组与参数有关的观测矢量组Z,可以取给定下Z的条件概率(|)pZ为似然函数。因此,极大似然估计也就是选取使Z出现的条件概率达极大值:^max(|)|z由于对数是单调函数,也可以取似然函数为ln(|)pZ。这一基本概念适用于线性和非线性系统,有过程噪声和观测噪声的情况。对给定的观测系统12,,...,,,(1,2,...,)NNiZzzzziN是观测矢量,似然函数定义为给定参数下观测量的联合概率密度。当观测量是独立的,联合概率密度为给定参数下每个观测量的概率密度的乘积;但如果观测量是相关的,则似然函数就是各观测量条件概率的乘积。极大似然算法步骤及框图给出了极大似然参数辨识用于动力学系统的计算框图如下图。各框的具体内容如下:1.输入初始数据:(1)参数的初估值0,状态初值0X:(2)待估计参数的上限和下限值;(3)动力学系统试验的观测量和控制输入的实测值,iiZU(N个实测数据点);2.观测量的模型输出计算:利用1l次迭代所得的^1i,求得iY。3.准则函数J1的计算:利用模型输出iY和实测数据iZ,求得J1。4.协方差矩阵计算:利用模型输出iY和实测数据iZ,求得^R。5.待辨识参数增量的计算:用中心差分法计算出灵敏度矩阵,利用^,,iiZYR,求得。6.计算新的:1iii检验所得i中是否有某个元素所给的上、下限。框图中状态初值0X可取为0t时刻的实测值,或取由实测值0()Zt从观测方程算出的状态初值0X。参数初值0可取过去试验结果或理论计算结果,上限和下限按待辨识参数的物理意义结合实际情况给定。收敛指标根据辨识精度要求事先给定,一般可取0.01。含遗忘因子的递推最小二乘法设时不变动态过程的数学模型为11()()()()()AzzkBzukvk式中()uk和()zk为系统的输入量和输出量;()vk是噪声;11()()AzBz和是多项式,定义为:12111212z...z...nnmmAazazBbzbzbz()=1+()=现在问题是如何利用系统的(),();1,...,ukzkkL序列,估计多项式11()()AzBz和中的未知系数。定义:1212,,...,,,,...,()(1),...,(),(1),...,()TnmTaaabbbhkzkzknukukm则可将数学模型化为一个标准的最小二乘格式()()()Tzkhkvk1,2,...,kL上式可写成一个线性方程组,形式如下:LllZHV其中(1),(2),...,()(1),(2),...,()TLTLZzzzLVvvvL12(0)(1)(0)(1)(1)(1)(2)(1)(2)(2)(1)()(1)()()LTzznuumhzznuumhHzLzLnuLuLmhL最小二乘的准则函数()J可取为:()()()TLlLlJZHZH极小化()J,可求出系统系数的估计值^。下面给出最小二乘估计一般估值计算公式:^11()TlllLHHHz对应的方法叫做最小二乘法。随着待估计的参数和观测数据的增多,最小二乘一次完成算法的计算量增加计算困难不利于在线辨识。现在把它化成递推算法,其格式为:新的估计值^()k=老的估计值^(1)k+修正项这样的优点是:(1)每一步的计算量比较小,因而能够用比较少的计算量完成较大的任务。(2)具有跟踪时变参数的能力,能辨识含有时变参数的系数模型。(3)在自适应控制系统和基本诊断目的的故障检测中,需要递推算法。(4)在参数估计达到给定的精确度时算法可以给出收敛中止的判据。在递推算法中,理论上随着观测数据的增加,算法应给出的参数向量的更精确的估计,但是在实际应用中往往会发现其结果与真值之问的误差越来越大。随着迭代的增加,增益矩阵趋于零,这就引起了“数据饱和”现象。为了克服“数据饱和”现象,可以采用降低老数据置信度的方法来修改算法。而遗忘因子算法可以有效地克服“数据饱和”现象,并可以用于时变参数系统的辨识。遗忘因子方法的中心思想是:使用遗忘因子给历史数据加权,达到人为地强调当前数据的作用。它考虑估计准则:2^^^1()()(1)(1)LlJaJzLhL因此,遗忘因子法的递推方程为:1^^^1(1)(1)(1)TllLKLzLhLa其中(1)(1)()(1)()(1)1(1)(1)(())()(1)()(1)lThLKLPLahLPLhLhLPLIPLPLaahLPLhL1()()TLLPLHH在计算时初始数据的选取可以简单的选为:^000;;0.95~0.99;0;PCIaL试飞数据预处理由于飞机系统本身及飞行条件的复杂性,传感器和数据采集系统的非理想性,飞行试验设计的不完善性等众多因素的影响,就使得飞行实测数据中不可避免地含有不确定的随机误差,这些误差会导致参数估计有一定的偏差,甚至使估计过程发散或收敛到错误值。因此,在使用飞行实测数据进行参数辨识之前,必须对实测数据进行预处理,以消除测量过程中所引入的各种误差。数据预处理的过程一般包括:数据从电量到物理量的转换、数据野值的识别、剔除与补正、数据加密与采样时刻校正、传感器安装