参数辨识示例 报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参数辨识
参数辨识的步骤
飞行器气动参数辨识是一个系统工程,包括四部分:①试验设计,使试验能为辨识提供含有足够信息量且信息分布均匀的试验数据;②气动模型结果确定,即从候选模型集中,根据一定的准则和经验,选出最优的气动模型构式;③气动参数辨识,根据辨识准则和数据求取模型中待定参数,这是气动辨识定量研究的核心阶段;④模型检验,确认所得气动模型是否确实反映了飞行器动力学系统中气动力的本质属性。这四个部分环环相扣,缺一不可,要反复进行,直到对所得气动模型满意为止。
参数辨识的方法
参数辨识方法主要有最小二乘算法、极大似然法、集员辨识法、贝叶斯法、岭估计法、超椭球法和鲁棒辨识法等多种辨识方法。虽然目前参数辨识的领域己经发展了多种算法,但是用于气动参数估计的算法主要有:极大似然法(ML),广义Kalman滤波(EKF)法,模型估计法(EBM )、分割及多分割算法(PIA及MPIA)、最小二乘法,微分动态规划法等。
因为最小二乘法和极大似然法是两种经典的算法,目前己经发展得相当成熟。最小二乘法适于线性模型的参数辨识,可以用于飞行器系统辨识中很多的线性模型,如惯性仪表误差系数的辨识,线性时变离散系统初始状态的辨识及多项式曲线拟合等。目前最小二乘法已经广泛应用于工程实际中。而极大似然算法因其具有渐进一致性、估计的无偏性、良好的收敛特性等特点而被广泛应用于飞行器参数辨识领域。
最小二乘法大约是1975年高斯在其著名的星体运动轨道预报研究工作中提出来的。后来,最小二乘法就成了估计理论的奠基石。由于最小二乘法原理简单,编程容易,所以它颇受人们重视,应用相当广泛。
极大似然估计算法在实践中不断地被加以改进,这种改进主要表现在三个方
面,即算法的优化、是否考虑过程噪声以及灵敏度的计算等。极大似然法具有集中处理数据的特点,即对一段时间历程上的数据集中分析,直接得到所需的气动参数,此方法也具有较高的精度,其估计具有一致性和无偏性。但是,它也有缺点,主要是计算所需时间较长,易于进行集中处理而不适合在线实时处理。
递推最小二乘法
设时不变动态过程的数学模型为
11()()()()()A z z k B z u k v k --=+
式中()u k 和()z k 为系统的输入量和输出量;()v k 是噪声;11()()A z B z --和是多项式,定义为:
1211
1
2
12z ...z ...n n m
m A a z a z B b z b z b z
-------+++++()=1+()=
现在问题是如何利用系统的{}(),();1,...,u k z k k L =序列,估计多项式
11()()A z B z --和中的未知系数。定义:
[]
[]
1212,,...,,,,...,()(1),...,(),(1),...,()T
n m T
a a a
b b b h k z k z k n u k u k m θ==------
则可将数学模型化为一个标准的最小二乘格式
()()()T z k h k v k θ=+ 1,2,...,k L =
上式可写成一个线性方程组,形式如下:
L l l Z H V =+
其中
[][]
(1),(2),...,()(1),(2),...,()T
L T
L Z z z z L V v v v L ==
12(0)
(1)(0)(1)(1)(1)(2)
(1)
(2)(2)(1)()(1)
()()L T z z n u u m h z z n u u m h H z L z L n u L u L m h L ----⎡⎤⎡⎤
⎢⎥⎢
⎥----⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥
------⎣⎦
⎣
⎦
最小二乘的准则函数()J θ可取为:
()()()T L l L l J Z H Z H θθθ=--
极小化()J θ,可求出系统系数θ的估计值^
θ。下面给出最小二乘估计一般估值计算公式:
^
11()T l l l L H H H z θ-=
对应的方法叫做最小二乘法。
随着待估计的参数和观测数据的增多,最小二乘一次完成算法的计算量增加计算困难不利于在线辨识。现在把它化成递推算法,其格式为:
新的估计值^
()k θ=老的估计值^
(1)k θ-+修正项
这样的优点是:
(1)每一步的计算量比较小,因而能够用比较少的计算量完成较大的任务。 (2)具有跟踪时变参数的能力,能辨识含有时变参数的系数模型。 (3)在自适应控制系统和基本诊断目的的故障检测中,需要递推算法。 (4)在参数估计达到给定的精确度时算法可以给出收敛中止的判据。 示例:
一模型形式为
1122y a u a u e =++
取得3组实验数据为
12():1,1,3;():1,2,1;():0,1,2y k x k x k -
求出参数12,a a 的最小二乘估计。
该模型中,1210(,),(1,1,3),2112T T a a y θ⎡⎤
⎢⎥==Φ=-⎢⎥⎢⎥⎣⎦
,所以 606,055T T y ⎛⎫⎛⎫
ΦΦ=Φ= ⎪ ⎪⎝⎭⎝⎭
解正则方程组
T T y θΦΦ=Φ
即
12606055a a ⎛⎫⎛⎫⎛⎫= ⎪ ⎪ ⎪⎝⎭⎝⎭
⎝⎭ 可得参数的最小二乘估计为:121,1a a ==。
MATLAB 算例
通过上例我们可初步了解应用最小二乘法进行了解,下面通过MATLAB 编程实现递推最小二乘法求解系统参数辨识,这里选用单输入单输出系统
2y au bu c =++作为待辨识模型,要求对,,a b c 进行参数辨识,首先需要取得若干
组输入输出数据,故我们事先选定实际系统为20.2345 4.5678 5.1234y u u =-+,通过对系统进行测量我们得到以下初始数据。
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]u =
[ 0.7901,-3.0742,-6.4695,-9.3958,-11.8531,-13.8414,-15.3607,-16.4110,-16.9923,-17.1046,
-16.7479,-15.9222,-14.6275,-12.8638,-10.6311,-7.9294,-4.7587,-1.1190, 2.9897,7.5674]
y =加入随机误差,我们得到将要使用的初始数据。
u=[1.01 2.03 3.02 4.01 5 6.02 7.03 8.04 9.03 10.02
11.02 12.02 13.02 14.02 15.02 16.03 17.02 18.01 19.02 20.04];
y=[0.791 -3.072 -6.465 -9.398 -11.83 -13.414 -15.607 -16.10 -16.23 -17.046
-16.479 -15.222 -14.275 -12.638 -10.311 -7.294 -4.87 -1.90 2.97 7.74]
对该模型参数辨识采用递推最小二乘法,即RLS ( recurisive least square ),它是一种能够对模型参数进行在线实时估计的辨识方法。
其基本思想可以概括为:新的估计值^
()k θ=旧的估计值^
(1)k θ-+修正项
下面将批处理最小二乘法改写为递推形式即递推最小二乘参数估计的计算方法。 批处理最小二乘估计^
θ为^
1()T T Y θ-=ΦΦΦ,设k 时刻的批处理最小二乘估计为: